22 #ifndef LIBREPORT_PROBLEM_DATA_H_
23 #define LIBREPORT_PROBLEM_DATA_H_
25 #include "libreport_types.h"
34 CD_FLAG_BIN = (1 << 0),
35 CD_FLAG_TXT = (1 << 1),
36 CD_FLAG_ISEDITABLE = (1 << 2),
37 CD_FLAG_ISNOTEDITABLE = (1 << 3),
39 CD_FLAG_LIST = (1 << 4),
40 CD_FLAG_UNIXTIME = (1 << 5),
46 CD_FLAG_BIGTXT = (1 << 6),
54 int allowed_by_reporter;
55 int default_by_reporter;
56 int required_by_reporter;
65 typedef GHashTable problem_data_t;
67 problem_data_t *problem_data_new(
void);
69 static inline void problem_data_free(problem_data_t *problem_data)
73 g_hash_table_destroy(problem_data);
76 void problem_data_add_basics(problem_data_t *pd);
78 void problem_data_add_current_process_data(problem_data_t *pd);
80 void problem_data_add(problem_data_t *problem_data,
84 void problem_data_add_text_noteditable(problem_data_t *problem_data,
87 void problem_data_add_text_editable(problem_data_t *problem_data,
91 void problem_data_add_file(problem_data_t *pd,
const char *name,
const char *path);
93 static inline struct problem_item *problem_data_get_item_or_NULL(problem_data_t *problem_data,
const char *key)
95 return (
struct problem_item *)g_hash_table_lookup(problem_data, key);
97 char *problem_data_get_content_or_NULL(problem_data_t *problem_data,
const char *key);
99 char *problem_data_get_content_or_die(problem_data_t *problem_data,
const char *key);
117 int problem_data_send_to_abrt(problem_data_t* problem_data);
121 void problem_data_load_from_dump_dir(problem_data_t *problem_data,
struct dump_dir *dd,
char **excluding);
123 problem_data_t *create_problem_data_from_dump_dir(
struct dump_dir *dd);
125 problem_data_t *create_problem_data_for_reporting(
const char *dump_dir_name);
void problem_data_get_osinfo(problem_data_t *problem_data, map_string_t *osinfo)
Loads key value pairs from os_info item in to the osinfo argument.
struct dump_dir * create_dump_dir_from_problem_data(problem_data_t *problem_data, const char *base_dir_name)
Saves the problem data object.