|
1 /* -*- mode: C; c-file-style: "gnu" -*- */ |
|
2 /* dbus-macros.h generic macros |
|
3 * |
|
4 * Copyright (C) 2002 Red Hat Inc. |
|
5 * |
|
6 * Licensed under the Academic Free License version 2.1 |
|
7 * |
|
8 * This program is free software; you can redistribute it and/or modify |
|
9 * it under the terms of the GNU General Public License as published by |
|
10 * the Free Software Foundation; either version 2 of the License, or |
|
11 * (at your option) any later version. |
|
12 * |
|
13 * This program is distributed in the hope that it will be useful, |
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
16 * GNU General Public License for more details. |
|
17 * |
|
18 * You should have received a copy of the GNU General Public License |
|
19 * along with this program; if not, write to the Free Software |
|
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 * |
|
22 */ |
|
23 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) |
|
24 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." |
|
25 #endif |
|
26 |
|
27 #ifndef DBUS_MACROS_H |
|
28 #define DBUS_MACROS_H |
|
29 |
|
30 #ifdef __cplusplus |
|
31 # define DBUS_BEGIN_DECLS extern "C" { |
|
32 # define DBUS_END_DECLS } |
|
33 #else |
|
34 # define DBUS_BEGIN_DECLS |
|
35 # define DBUS_END_DECLS |
|
36 #endif |
|
37 |
|
38 #ifndef TRUE |
|
39 # define TRUE 1 |
|
40 #endif |
|
41 #ifndef FALSE |
|
42 # define FALSE 0 |
|
43 #endif |
|
44 |
|
45 #ifndef NULL |
|
46 # ifdef __cplusplus |
|
47 # define NULL (0L) |
|
48 # else /* !__cplusplus */ |
|
49 # define NULL ((void*) 0) |
|
50 # endif /* !__cplusplus */ |
|
51 #endif |
|
52 |
|
53 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) |
|
54 #define DBUS_GNUC_DEPRECATED __attribute__((__deprecated__)) |
|
55 #else |
|
56 #define DBUS_GNUC_DEPRECATED |
|
57 #endif |
|
58 |
|
59 /* Normally docs are in .c files, but there isn't a .c file for this. */ |
|
60 /** |
|
61 * @defgroup DBusMacros Utility macros |
|
62 * @ingroup DBus |
|
63 * @brief #TRUE, #FALSE, #NULL, and so on |
|
64 * |
|
65 * Utility macros. |
|
66 * |
|
67 * @{ |
|
68 */ |
|
69 |
|
70 /** |
|
71 * @def DBUS_BEGIN_DECLS |
|
72 * |
|
73 * Macro used prior to declaring functions in the D-Bus header |
|
74 * files. Expands to "extern "C"" when using a C++ compiler, |
|
75 * and expands to nothing when using a C compiler. |
|
76 * |
|
77 * Please don't use this in your own code, consider it |
|
78 * D-Bus internal. |
|
79 */ |
|
80 /** |
|
81 * @def DBUS_END_DECLS |
|
82 * |
|
83 * Macro used after declaring functions in the D-Bus header |
|
84 * files. Expands to "}" when using a C++ compiler, |
|
85 * and expands to nothing when using a C compiler. |
|
86 * |
|
87 * Please don't use this in your own code, consider it |
|
88 * D-Bus internal. |
|
89 */ |
|
90 /** |
|
91 * @def TRUE |
|
92 * |
|
93 * Expands to "1" |
|
94 */ |
|
95 /** |
|
96 * @def FALSE |
|
97 * |
|
98 * Expands to "0" |
|
99 */ |
|
100 /** |
|
101 * @def NULL |
|
102 * |
|
103 * A null pointer, defined appropriately for C or C++. |
|
104 */ |
|
105 /** |
|
106 * @def DBUS_GNUC_DEPRECATED |
|
107 * |
|
108 * Tells gcc to warn about a function or type if it's used. |
|
109 * Code marked in this way should also be enclosed in |
|
110 * @code |
|
111 * #ifndef DBUS_DISABLE_DEPRECATED |
|
112 * deprecated stuff here |
|
113 * #endif |
|
114 * @endcode |
|
115 * |
|
116 * Please don't use this in your own code, consider it |
|
117 * D-Bus internal. |
|
118 */ |
|
119 |
|
120 /** @} */ |
|
121 |
|
122 #endif /* DBUS_MACROS_H */ |