~ubuntu-branches/ubuntu/utopic/glib2.0/utopic

« back to all changes in this revision

Viewing changes to glib/gerror.h

Tags: upstream-2.12.12
ImportĀ upstreamĀ versionĀ 2.12.12

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
26
G_BEGIN_DECLS
 
27
 
 
28
typedef struct _GError GError;
 
29
 
 
30
struct _GError
 
31
{
 
32
  GQuark       domain;
 
33
  gint         code;
 
34
  gchar       *message;
 
35
};
 
36
 
 
37
GError*  g_error_new           (GQuark         domain,
 
38
                                gint           code,
 
39
                                const gchar   *format,
 
40
                                ...) G_GNUC_PRINTF (3, 4);
 
41
 
 
42
GError*  g_error_new_literal   (GQuark         domain,
 
43
                                gint           code,
 
44
                                const gchar   *message);
 
45
 
 
46
void     g_error_free          (GError        *error);
 
47
GError*  g_error_copy          (const GError  *error);
 
48
 
 
49
gboolean 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
 */
 
56
void     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
 */
 
64
void     g_propagate_error     (GError       **dest,
 
65
                                GError        *src);
 
66
 
 
67
/* if (err && *err) { g_error_free(*err); *err = NULL; } */
 
68
void     g_clear_error         (GError       **err);
 
69
 
 
70
 
 
71
G_END_DECLS
 
72
 
 
73
#endif /* __G_ERROR_H__ */
 
74