[gobject-introspection] Add GInitiallyUnknowned subclass to Everything for testing floating references



commit f05406e92beede4357d74233d51aa3db45d709ae
Author: Tomeu Vizoso <tomeu vizoso collabora co uk>
Date:   Sat May 22 14:08:45 2010 +0200

    Add GInitiallyUnknowned subclass to Everything for testing floating references

 gir/Everything-1.0-expected.gir |   23 +++++++++++++++++++++++
 gir/everything.c                |   30 ++++++++++++++++++++++++++++++
 gir/everything.h                |   19 +++++++++++++++++++
 3 files changed, 72 insertions(+), 0 deletions(-)
---
diff --git a/gir/Everything-1.0-expected.gir b/gir/Everything-1.0-expected.gir
index 4a15787..bcd71b2 100644
--- a/gir/Everything-1.0-expected.gir
+++ b/gir/Everything-1.0-expected.gir
@@ -138,6 +138,29 @@ and/or use gtk-doc annotations.  -->
               c:identifier="TEST_FLAG3"
               glib:nick="flag3"/>
     </bitfield>
+    <class name="TestFloating"
+           c:type="TestFloating"
+           parent="GObject.InitiallyUnowned"
+           glib:type-name="TestFloating"
+           glib:get-type="test_floating_get_type"
+           glib:type-struct="TestFloatingClass">
+      <constructor name="new" c:identifier="test_floating_new">
+        <return-value transfer-ownership="full">
+          <type name="TestFloating" c:type="TestFloating*"/>
+        </return-value>
+      </constructor>
+      <field name="parent_instance">
+        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+      </field>
+    </class>
+    <record name="TestFloatingClass"
+            c:type="TestFloatingClass"
+            glib:is-gtype-struct-for="TestFloating">
+      <field name="parent_class">
+        <type name="GObject.InitiallyUnownedClass"
+              c:type="GInitiallyUnownedClass"/>
+      </field>
+    </record>
     <interface name="TestInterface"
                c:type="EverythingTestInterface"
                glib:type-name="EverythingTestInterface"
diff --git a/gir/everything.c b/gir/everything.c
index 08a8992..a603cc5 100644
--- a/gir/everything.c
+++ b/gir/everything.c
@@ -2180,6 +2180,36 @@ test_wi_802_1x_static_method (int x)
   return 2*x;
 }
 
+/* floating gobject */
+G_DEFINE_TYPE(TestFloating, test_floating, G_TYPE_INITIALLY_UNOWNED);
+
+static void
+test_floating_finalize(GObject *object)
+{
+  g_assert(!g_object_is_floating (object));
+
+  G_OBJECT_CLASS(test_floating_parent_class)->finalize(object);
+}
+
+static void
+test_floating_class_init (TestFloatingClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  gobject_class->finalize = test_floating_finalize;
+}
+
+static void
+test_floating_init (TestFloating *obj)
+{
+}
+
+TestFloating *
+test_floating_new (void)
+{
+  return g_object_new (TEST_TYPE_FLOATING, NULL);
+}
+
+
 /**
  * test_torture_signature_0:
  * @x:
diff --git a/gir/everything.h b/gir/everything.h
index 3b9e264..509e1c0 100644
--- a/gir/everything.h
+++ b/gir/everything.h
@@ -396,6 +396,25 @@ gboolean     test_wi_802_1x_get_testbool (TestWi8021x *obj);
 void         test_wi_802_1x_set_testbool (TestWi8021x *obj, gboolean v);
 int          test_wi_802_1x_static_method (int x);
 
+/* floating gobject */
+#define TEST_TYPE_FLOATING           (test_floating_get_type ())
+#define TEST_FLOATING(object)        (G_TYPE_CHECK_INSTANCE_CAST ((object), TEST_TYPE_FLOATING, TestFloating))
+#define TEST_IS_FLOATING(object)     (G_TYPE_CHECK_INSTANCE_TYPE ((object), TEST_TYPE_FLOATING))
+#define TEST_FLOATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_FLOATING, TestFloatingClass))
+
+typedef struct
+{
+  GInitiallyUnowned parent_instance;
+} TestFloating;
+
+typedef struct
+{
+  GInitiallyUnownedClass parent_class;
+} TestFloatingClass;
+
+GType        test_floating_get_type (void);
+TestFloating* test_floating_new (void);
+
 /* Function signature torture tests */
 void test_torture_signature_0 (int        x,
                                double     *y,



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