diff options
Diffstat (limited to 'glib/dbus-gmain.c')
| -rw-r--r-- | glib/dbus-gmain.c | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c index 046c493c..08f8aef4 100644 --- a/glib/dbus-gmain.c +++ b/glib/dbus-gmain.c @@ -27,6 +27,9 @@  #include <dbus/dbus-glib-lowlevel.h>  #include "dbus-gtest.h"  #include "dbus-gutils.h" +#include "dbus-gvalue.h" +#include "dbus-gvalue-utils.h" +#include <string.h>  #include <libintl.h>  #define _(x) dgettext (GETTEXT_PACKAGE, x) @@ -709,6 +712,8 @@ dbus_g_bus_get (DBusBusType     type,    DBusError derror;    g_return_val_if_fail (error == NULL || *error == NULL, NULL); + +  dbus_g_value_types_init ();    dbus_error_init (&derror); @@ -738,6 +743,30 @@ dbus_g_bus_get (DBusBusType     type,  gboolean  _dbus_gmain_test (const char *test_data_dir)  { +  GType rectype; +  GType gtype; + +  g_type_init (); +  dbus_g_value_types_init (); + +  rectype = dbus_g_type_get_collection ("GArray", G_TYPE_UINT); +  g_assert (rectype != G_TYPE_INVALID); +  g_assert (!strcmp (g_type_name (rectype), "GArray+guint")); + +  gtype = dbus_gtype_from_signature ("au", TRUE); +  g_assert (gtype == rectype); + +  rectype = dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING); +  g_assert (rectype != G_TYPE_INVALID); +  g_assert (!strcmp (g_type_name (rectype), "GHashTable+gchararray+gchararray")); + +  gtype = dbus_gtype_from_signature ("a{ss}", TRUE); +  g_assert (gtype == rectype); + +  gtype = dbus_gtype_from_signature ("o", FALSE); +  g_assert (gtype == G_TYPE_OBJECT); +  gtype = dbus_gtype_from_signature ("o", TRUE); +  g_assert (gtype == DBUS_TYPE_G_PROXY);    return TRUE;  }  | 
