source: trunk/third/glib2/glib/gerror.h @ 18159

Revision 18159, 2.3 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18158, which included commits to RCS files with non-trunk default branches.
Line 
1/* gerror.h - Error reporting system
2 *
3 *  Copyright 2000 Red Hat, Inc.
4 *
5 * The Gnome Library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public License as
7 * published by the Free Software Foundation; either version 2 of the
8 * License, or (at your option) any later version.
9 *
10 * The Gnome Library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with the Gnome Library; see the file COPYING.LIB.  If not,
17 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 *   Boston, MA 02111-1307, USA.
19 */
20
21#ifndef __G_ERROR_H__
22#define __G_ERROR_H__
23
24#include <glib/gquark.h>
25
26G_BEGIN_DECLS
27
28typedef struct _GError GError;
29
30struct _GError
31{
32  GQuark       domain;
33  gint         code;
34  gchar       *message;
35};
36
37GError*  g_error_new           (GQuark         domain,
38                                gint           code,
39                                const gchar   *format,
40                                ...) G_GNUC_PRINTF (3, 4);
41
42GError*  g_error_new_literal   (GQuark         domain,
43                                gint           code,
44                                const gchar   *message);
45
46void     g_error_free          (GError        *error);
47GError*  g_error_copy          (const GError  *error);
48
49gboolean g_error_matches       (const GError  *error,
50                                GQuark         domain,
51                                gint           code);
52
53/* if (err) *err = g_error_new(domain, code, format, ...), also has
54 * some sanity checks.
55 */
56void     g_set_error           (GError       **err,
57                                GQuark         domain,
58                                gint           code,
59                                const gchar   *format,
60                                ...) G_GNUC_PRINTF (4, 5);
61
62/* if (dest) *dest = src; also has some sanity checks.
63 */
64void     g_propagate_error     (GError       **dest,
65                                GError        *src);
66
67/* if (err && *err) { g_error_free(*err); *err = NULL; } */
68void     g_clear_error         (GError       **err);
69
70
71G_END_DECLS
72
73#endif /* __G_ERROR_H__ */
74
Note: See TracBrowser for help on using the repository browser.