libreport  2.1.3
A tool to inform users about various problems on the running system
workflow.h
00001 /*
00002     Copyright (C) 2011  ABRT team
00003     Copyright (C) 2010  RedHat Inc
00004 
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation; either version 2 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License along
00016     with this program; if not, write to the Free Software Foundation, Inc.,
00017     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00018 */
00019 #ifndef LIBREPORT_WORKFLOW_H
00020 #define LIBREPORT_WORKFLOW_H
00021 
00022 #include <glib.h>
00023 #include "event_config.h"
00024 #include "config_item_info.h"
00025 
00026 typedef struct workflow workflow_t;
00027 
00028 extern GHashTable *g_workflow_list;
00029 
00030 workflow_t *new_workflow(const char *name);
00031 workflow_t *get_workflow(const char *name);
00032 void free_workflow(workflow_t *w);
00033 
00034 void load_workflow_description_from_file(workflow_t *w, const char *filename);
00035 config_item_info_t *workflow_get_config_info(workflow_t *w);
00036 const char *wf_get_name(workflow_t *w);
00037 GList *wf_get_event_list(workflow_t *w);
00038 const char *wf_get_screen_name(workflow_t *w);
00039 const char *wf_get_description(workflow_t *w);
00040 const char *wf_get_long_desc(workflow_t *w);
00041 
00042 void wf_set_screen_name(workflow_t *w, const char* screen_name);
00043 void wf_set_description(workflow_t *w, const char* description);
00044 void wf_set_long_desc(workflow_t *w, const char* long_desc);
00045 void wf_add_event(workflow_t *w, event_config_t *ec);
00046 GHashTable *load_workflow_config_data_from_list(GList *wf_names, const char *path);
00047 
00048 #endif