summaryrefslogtreecommitdiff
path: root/tests/scanner
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-09-14 11:19:11 -0400
committerColin Walters <walters@verbum.org>2010-09-14 11:19:11 -0400
commit303255d484165f7d2e3e3ad298168da43edcbd2e (patch)
tree73a93abdc943567214574975955726fd4c8b202b /tests/scanner
parente2195f648dfc92fd57049f12a4944682c8e0fb1d (diff)
downloadgobject-introspection-303255d484165f7d2e3e3ad298168da43edcbd2e.tar.gz
scanner: Handle G_TYPE_HASH_TABLE
Our Type creation from GType names didn't know how to handle the GObject boxeds for GHashTable, GArray etc.
Diffstat (limited to 'tests/scanner')
-rw-r--r--tests/scanner/Regress-1.0-expected.gir15
-rw-r--r--tests/scanner/regress.c21
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 499008a2..192a7ae2 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -599,6 +599,21 @@ case.</doc>
</parameter>
</parameters>
</glib:signal>
+ <glib:signal name="sig-with-hash-prop">
+ <doc xml:whitespace="preserve">This test signal is like TelepathyGlib's
+TpAccount::status-changed</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="GLib.HashTable">
+ <type name="utf8"/>
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ </parameters>
+ </glib:signal>
<glib:signal name="test">
<return-value transfer-ownership="none">
<type name="none"/>
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index c8d8fe65..1a7ea2ce 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -1800,6 +1800,7 @@ regress_test_obj_default_matrix (RegressTestObj *obj, const char *somestr)
enum {
REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_PROP,
+ REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_HASH_PROP,
N_REGRESS_TEST_OBJ_SIGNALS
};
@@ -1857,6 +1858,26 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
1,
G_TYPE_ARRAY);
+ /**
+ * RegressTestObj::sig-with-hash-prop:
+ * @self: an object
+ * @hash: (element-type utf8 GObject.Value):
+ *
+ * This test signal is like TelepathyGlib's
+ * TpAccount::status-changed
+ */
+ regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_HASH_PROP] =
+ g_signal_new ("sig-with-hash-prop",
+ G_TYPE_FROM_CLASS (gobject_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_HASH_TABLE);
+
gobject_class->set_property = regress_test_obj_set_property;
gobject_class->get_property = regress_test_obj_get_property;
gobject_class->dispose = regress_test_obj_dispose;