23
24
#include "fr-error.h"
27
28
fr_error_quark (void)
29
30
static GQuark quark;
32
quark = g_quark_from_static_string ("file-roller-error");
33
quark = g_quark_from_static_string ("FrError");
39
G_DEFINE_BOXED_TYPE (FrError,
46
fr_error_new (FrErrorType type,
52
error = g_new0 (FrError, 1);
53
fr_error_set (error, type, status, gerror);
60
fr_error_copy (FrError *error)
63
return fr_error_new (error->type, error->status, error->gerror);
70
fr_error_free (FrError *error)
74
g_clear_error (&error->gerror);
80
fr_error_set (FrError *error,
86
error->status = status;
87
if (gerror != error->gerror) {
88
g_clear_error (&error->gerror);
90
error->gerror = g_error_copy (gerror);
96
fr_error_take_gerror (FrError *error,
99
if (gerror != error->gerror) {
100
g_clear_error (&error->gerror);
101
error->gerror = gerror;
107
fr_error_clear_gerror (FrError *error)
109
g_clear_error (&error->gerror);
114
fr_clear_error (FrError **error)
116
if ((error == NULL) || (*error == NULL))
119
fr_error_free (*error);