[gobject-introspection] scanner: Add a test for G_TYPE_ARRAY and (element-type uint)



commit 134f2bc9a37af3427371500090d563c8b5e9acd5
Author: Colin Walters <walters verbum org>
Date:   Mon Sep 13 18:05:35 2010 -0400

    scanner: Add a test for G_TYPE_ARRAY and (element-type uint)
    
    Similar to TelepathyGlib.

 tests/scanner/Regress-1.0-expected.gir |   14 ++++++++++++++
 tests/scanner/regress.c                |   27 +++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 7831411..499008a 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -585,6 +585,20 @@ case.</doc>
       <field name="string">
         <type name="utf8" c:type="char*"/>
       </field>
+      <glib:signal name="sig-with-array-prop">
+        <doc xml:whitespace="preserve">This test signal is like TelepathyGlib's</doc>
+        <return-value transfer-ownership="none">
+          <type name="none"/>
+        </return-value>
+        <parameters>
+          <parameter name="object" transfer-ownership="none">
+            <doc xml:whitespace="preserve">numbers</doc>
+            <array name="GLib.Array">
+              <type name="guint"/>
+            </array>
+          </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 5e95457..c8d8fe6 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -1798,6 +1798,13 @@ regress_test_obj_default_matrix (RegressTestObj *obj, const char *somestr)
   return 42;
 }
 
+enum {
+  REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_PROP,
+  N_REGRESS_TEST_OBJ_SIGNALS
+};
+
+static guint regress_test_obj_signals[N_REGRESS_TEST_OBJ_SIGNALS] = { 0 };
+
 static void
 regress_test_obj_class_init (RegressTestObjClass *klass)
 {
@@ -1830,6 +1837,26 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
                    1     /* n_params */,
                    param_types);
 
+  /**
+   * RegressTestObj::sig-with-array-prop:
+   * @self: an object
+   * @arr: (type GArray) (element-type uint): numbers
+   *
+   * This test signal is like TelepathyGlib's
+   *  TpChannel:: group-members-changed-detailed:
+   */
+  regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_PROP] =
+    g_signal_new ("sig-with-array-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_ARRAY);
+
   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;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]