00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <config.h>
00025 #include "dbus-glib.h"
00026 #include "dbus-glib-lowlevel.h"
00027 #include "dbus-gtest.h"
00028 #include "dbus-gutils.h"
00029 #include "dbus-gobject.h"
00030 #include <string.h>
00031
00032 #include <libintl.h>
00033 #define _(x) dgettext (GETTEXT_PACKAGE, x)
00034 #define N_(x) x
00035
00036
00052 void
00053 dbus_g_connection_flush (DBusGConnection *connection)
00054 {
00055 dbus_connection_flush (DBUS_CONNECTION_FROM_G_CONNECTION (connection));
00056 }
00057
00066 DBusGConnection*
00067 dbus_g_connection_ref (DBusGConnection *gconnection)
00068 {
00069 DBusConnection *c;
00070
00071 c = DBUS_CONNECTION_FROM_G_CONNECTION (gconnection);
00072 dbus_connection_ref (c);
00073 return gconnection;
00074 }
00075
00076
00083 void
00084 dbus_g_connection_unref (DBusGConnection *gconnection)
00085 {
00086 DBusConnection *c;
00087
00088 c = DBUS_CONNECTION_FROM_G_CONNECTION (gconnection);
00089 dbus_connection_unref (c);
00090 }
00091
00092
00110 DBusGMessage*
00111 dbus_g_message_ref (DBusGMessage *gmessage)
00112 {
00113 DBusMessage *c;
00114
00115 c = DBUS_MESSAGE_FROM_G_MESSAGE (gmessage);
00116 dbus_message_ref (c);
00117 return gmessage;
00118 }
00119
00126 void
00127 dbus_g_message_unref (DBusGMessage *gmessage)
00128 {
00129 DBusMessage *c;
00130
00131 c = DBUS_MESSAGE_FROM_G_MESSAGE (gmessage);
00132 dbus_message_unref (c);
00133 }
00134
00152 GQuark
00153 dbus_g_error_quark (void)
00154 {
00155 static GQuark quark = 0;
00156 if (quark == 0)
00157 quark = g_quark_from_static_string ("g-exec-error-quark");
00158 return quark;
00159 }
00160
00177 gboolean
00178 dbus_g_error_has_name (GError *error, const char *name)
00179 {
00180 g_return_val_if_fail (error != NULL, FALSE);
00181
00182 if (error->domain != DBUS_GERROR
00183 || error->code != DBUS_GERROR_REMOTE_EXCEPTION)
00184 return FALSE;
00185
00186 return !strcmp (dbus_g_error_get_name (error), name);
00187 }
00188
00202 const char *
00203 dbus_g_error_get_name (GError *error)
00204 {
00205 g_return_val_if_fail (error != NULL, NULL);
00206 g_return_val_if_fail (error->domain == DBUS_GERROR, NULL);
00207 g_return_val_if_fail (error->code == DBUS_GERROR_REMOTE_EXCEPTION, NULL);
00208
00209 return error->message + strlen (error->message) + 1;
00210 }
00211
00218 GType
00219 dbus_connection_get_g_type (void)
00220 {
00221 static GType our_type = 0;
00222
00223 if (our_type == 0)
00224 our_type = g_boxed_type_register_static ("DBusConnection",
00225 (GBoxedCopyFunc) dbus_connection_ref,
00226 (GBoxedFreeFunc) dbus_connection_unref);
00227
00228 return our_type;
00229 }
00230
00237 GType
00238 dbus_message_get_g_type (void)
00239 {
00240 static GType our_type = 0;
00241
00242 if (our_type == 0)
00243 our_type = g_boxed_type_register_static ("DBusMessage",
00244 (GBoxedCopyFunc) dbus_message_ref,
00245 (GBoxedFreeFunc) dbus_message_unref);
00246
00247 return our_type;
00248 }
00249
00256 GType
00257 dbus_g_connection_get_g_type (void)
00258 {
00259 static GType our_type = 0;
00260
00261 if (our_type == 0)
00262 our_type = g_boxed_type_register_static ("DBusGConnection",
00263 (GBoxedCopyFunc) dbus_g_connection_ref,
00264 (GBoxedFreeFunc) dbus_g_connection_unref);
00265
00266 return our_type;
00267 }
00268
00275 GType
00276 dbus_g_message_get_g_type (void)
00277 {
00278 static GType our_type = 0;
00279
00280 if (our_type == 0)
00281 our_type = g_boxed_type_register_static ("DBusGMessage",
00282 (GBoxedCopyFunc) dbus_g_message_ref,
00283 (GBoxedFreeFunc) dbus_g_message_unref);
00284
00285 return our_type;
00286 }
00287
00305 DBusConnection*
00306 dbus_g_connection_get_connection (DBusGConnection *gconnection)
00307 {
00308 return DBUS_CONNECTION_FROM_G_CONNECTION (gconnection);
00309 }
00310
00320 DBusMessage*
00321 dbus_g_message_get_message (DBusGMessage *gmessage)
00322 {
00323 return DBUS_MESSAGE_FROM_G_MESSAGE (gmessage);
00324 }
00325
00326 #ifdef DBUS_BUILD_TESTS
00327
00333 gboolean
00334 _dbus_glib_test (const char *test_data_dir)
00335 {
00336 DBusError err;
00337 GError *gerror = NULL;
00338
00339 dbus_error_init (&err);
00340 dbus_set_error_const (&err, DBUS_ERROR_NO_MEMORY, "Out of memory!");
00341
00342 dbus_set_g_error (&gerror, &err);
00343 g_assert (gerror != NULL);
00344 g_assert (gerror->domain == DBUS_GERROR);
00345 g_assert (gerror->code == DBUS_GERROR_NO_MEMORY);
00346 g_assert (!strcmp (gerror->message, "Out of memory!"));
00347
00348 dbus_error_init (&err);
00349 g_clear_error (&gerror);
00350
00351 return TRUE;
00352 }
00353
00354 #endif