19#ifndef LIBREPORT_WORKFLOW_H
20#define LIBREPORT_WORKFLOW_H
23#include "event_config.h"
24#include "config_item_info.h"
30typedef struct workflow workflow_t;
32extern GHashTable *g_workflow_list;
34workflow_t *new_workflow(
const char *name);
35workflow_t *get_workflow(
const char *name);
36void free_workflow(workflow_t *w);
38void load_workflow_description_from_file(workflow_t *w,
const char *filename);
39config_item_info_t *workflow_get_config_info(workflow_t *w);
40const char *wf_get_name(workflow_t *w);
46GList *wf_get_event_list(workflow_t *w);
52GList *wf_get_event_names(workflow_t *w);
54const char *wf_get_screen_name(workflow_t *w);
55const char *wf_get_description(workflow_t *w);
56const char *wf_get_long_desc(workflow_t *w);
57int wf_get_priority(workflow_t *w);
59void wf_set_screen_name(workflow_t *w,
const char* screen_name);
60void wf_set_description(workflow_t *w,
const char* description);
61void wf_set_long_desc(workflow_t *w,
const char* long_desc);
63void wf_set_priority(workflow_t *w,
int priority);
70int wf_priority_compare(
const workflow_t *first,
const workflow_t *second);
80GHashTable *load_workflow_config_data_from_list(GList *wf_names,
const char *path);
89GHashTable *libreport_load_workflow_config_data(
const char* directory);