00001 #ifndef GO_ERROR_INFO_H 00002 #define GO_ERROR_INFO_H 00003 00004 #include <goffice/app/goffice-app.h> 00005 #include <glib.h> 00006 00007 G_BEGIN_DECLS 00008 00009 typedef enum { 00010 GO_WARNING = 1, 00011 GO_ERROR 00012 } GOSeverity; 00013 00014 GOErrorInfo *go_error_info_new_str (char const *msg); 00015 GOErrorInfo *go_error_info_new_printf (char const *msg_format, ...) G_GNUC_PRINTF (1, 2); 00016 GOErrorInfo *go_error_info_new_vprintf (GOSeverity severity, 00017 char const *msg_format, 00018 va_list args); 00019 GOErrorInfo *go_error_info_new_str_with_details (char const *msg, GOErrorInfo *details); 00020 GOErrorInfo *go_error_info_new_str_with_details_list (char const *msg, GSList *details); 00021 GOErrorInfo *go_error_info_new_from_error_list (GSList *errors); 00022 GOErrorInfo *go_error_info_new_from_errno (void); 00023 void go_error_info_add_details (GOErrorInfo *error, GOErrorInfo *details); 00024 void go_error_info_add_details_list (GOErrorInfo *error, GSList *details); 00025 void go_error_info_free (GOErrorInfo *error); 00026 void go_error_info_print (GOErrorInfo *error); 00027 char const*go_error_info_peek_message (GOErrorInfo *error); 00028 GSList *go_error_info_peek_details (GOErrorInfo *error); 00029 GOSeverity go_error_info_peek_severity (GOErrorInfo *error); 00030 00031 #define GO_INIT_RET_ERROR_INFO(ret_error) \ 00032 G_STMT_START { \ 00033 g_assert (ret_error != NULL); \ 00034 *ret_error = NULL; \ 00035 } G_STMT_END 00036 00037 G_END_DECLS 00038 00039 #endif /* GO_ERROR_INFO_H */