135 #ifndef LIBREPORT_PROBLEM_REPORT_H 136 #define LIBREPORT_PROBLEM_REPORT_H 146 #define PR_SEC_SUMMARY "summary" 147 #define PR_SEC_DESCRIPTION "description" 161 struct problem_report;
162 typedef struct problem_report problem_report_t;
183 typedef FILE problem_report_buffer;
188 #define problem_report_buffer_printf(buf, fmt, ...)\ 189 fprintf((buf), (fmt), ##__VA_ARGS__) 201 problem_report_buffer *problem_report_get_buffer(
const problem_report_t *
self,
202 const char *section_name);
213 const char *problem_report_get_summary(
const problem_report_t *
self);
224 const char *problem_report_get_description(
const problem_report_t *
self);
236 const char *problem_report_get_section(
const problem_report_t *
self,
237 const char *section_name);
245 GList *problem_report_get_attachments(
const problem_report_t *
self);
252 void problem_report_free(problem_report_t *
self);
258 enum problem_formatter_section_flags {
259 PFFF_REQUIRED = 1 << 0,
269 struct problem_formatter;
270 typedef struct problem_formatter problem_formatter_t;
277 problem_formatter_t *problem_formatter_new(
void);
284 void problem_formatter_free(problem_formatter_t *
self);
315 int problem_formatter_add_section(problem_formatter_t *
self,
const char *name,
int flags);
325 int problem_formatter_load_string(problem_formatter_t*
self,
const char *fmt);
335 int problem_formatter_load_file(problem_formatter_t*
self,
const char *path);
346 int problem_formatter_generate_report(
const problem_formatter_t *
self, problem_data_t *data, problem_report_t **report);
368 #endif // LIBREPORT_PROBLEM_REPORT_H
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