135#ifndef LIBREPORT_PROBLEM_REPORT_H
136#define LIBREPORT_PROBLEM_REPORT_H
146#define PR_SEC_SUMMARY "summary"
147#define PR_SEC_DESCRIPTION "description"
161struct problem_report;
162typedef struct problem_report problem_report_t;
183typedef FILE problem_report_buffer;
188#define problem_report_buffer_printf(buf, fmt, ...)\
189 fprintf((buf), (fmt), ##__VA_ARGS__)
201problem_report_buffer *problem_report_get_buffer(
const problem_report_t *self,
202 const char *section_name);
213const char *problem_report_get_summary(
const problem_report_t *self);
224const char *problem_report_get_description(
const problem_report_t *self);
236const char *problem_report_get_section(
const problem_report_t *self,
237 const char *section_name);
245GList *problem_report_get_attachments(
const problem_report_t *self);
252void problem_report_free(problem_report_t *self);
258enum problem_formatter_section_flags {
259 PFFF_REQUIRED = 1 << 0,
269struct problem_formatter;
270typedef struct problem_formatter problem_formatter_t;
277problem_formatter_t *problem_formatter_new(
void);
284void problem_formatter_free(problem_formatter_t *self);
315int problem_formatter_add_section(problem_formatter_t *self,
const char *name,
int flags);
325int problem_formatter_load_string(problem_formatter_t* self,
const char *fmt);
335int problem_formatter_load_file(problem_formatter_t* self,
const char *path);
346int problem_formatter_generate_report(
const problem_formatter_t *self, problem_data_t *data, problem_report_t **report);
int prs_shortbt_max_frames
generate only max top frames in short_backtrace
size_t prs_shortbt_max_text_size
short bt only if it is bigger then this