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),
48 int allowed_by_reporter;
49 int default_by_reporter;
50 int required_by_reporter;
59 typedef GHashTable problem_data_t;
61 problem_data_t *problem_data_new(
void);
63 static inline void problem_data_free(problem_data_t *problem_data)
67 g_hash_table_destroy(problem_data);
70 void problem_data_add_basics(problem_data_t *pd);
72 void problem_data_add_current_process_data(problem_data_t *pd);
74 void problem_data_add(problem_data_t *problem_data,
78 void problem_data_add_text_noteditable(problem_data_t *problem_data,
81 void problem_data_add_text_editable(problem_data_t *problem_data,
85 void problem_data_add_file(problem_data_t *pd,
const char *name,
const char *path);
87 static inline struct problem_item *problem_data_get_item_or_NULL(problem_data_t *problem_data,
const char *key)
89 return (
struct problem_item *)g_hash_table_lookup(problem_data, key);
91 char *problem_data_get_content_or_NULL(problem_data_t *problem_data,
const char *key);
93 char *problem_data_get_content_or_die(problem_data_t *problem_data,
const char *key);
111 int problem_data_send_to_abrt(problem_data_t* problem_data);
115 void problem_data_load_from_dump_dir(problem_data_t *problem_data,
struct dump_dir *dd,
char **excluding);
117 problem_data_t *create_problem_data_from_dump_dir(
struct dump_dir *dd);
119 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.