[gobject-introspection: 1/2] [everything] Add alternative boxed constructors
- From: Johan Dahlin <johan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection: 1/2] [everything] Add alternative boxed constructors
- Date: Wed, 10 Mar 2010 15:01:37 +0000 (UTC)
commit ab2da23f4793016bfe4b2b327ddf6e10a94ea907
Author: Johan Dahlin <johan gnome org>
Date: Tue Mar 9 12:28:22 2010 -0300
[everything] Add alternative boxed constructors
gir/Everything-1.0-expected.gir | 36 ++++++++++++++++++++++++++++++++++++
gir/everything.c | 34 ++++++++++++++++++++++++++++++++++
gir/everything.h | 4 ++++
3 files changed, 74 insertions(+), 0 deletions(-)
---
diff --git a/gir/Everything-1.0-expected.gir b/gir/Everything-1.0-expected.gir
index 6bf6c8b..a284c44 100644
--- a/gir/Everything-1.0-expected.gir
+++ b/gir/Everything-1.0-expected.gir
@@ -31,6 +31,42 @@ and/or use gtk-doc annotations. -->
<type name="TestBoxed" c:type="TestBoxed*"/>
</return-value>
</constructor>
+ <constructor name="new_alternative_constructor1"
+ c:identifier="test_boxed_new_alternative_constructor1">
+ <return-value transfer-ownership="full">
+ <type name="TestBoxed" c:type="TestBoxed*"/>
+ </return-value>
+ <parameters>
+ <parameter name="i" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_alternative_constructor2"
+ c:identifier="test_boxed_new_alternative_constructor2">
+ <return-value transfer-ownership="full">
+ <type name="TestBoxed" c:type="TestBoxed*"/>
+ </return-value>
+ <parameters>
+ <parameter name="i" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ <parameter name="j" transfer-ownership="none">
+ <type name="int" c:type="int"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_alternative_constructor3"
+ c:identifier="test_boxed_new_alternative_constructor3">
+ <return-value transfer-ownership="full">
+ <type name="TestBoxed" c:type="TestBoxed*"/>
+ </return-value>
+ <parameters>
+ <parameter name="s" transfer-ownership="full">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </constructor>
<method name="copy" c:identifier="test_boxed_copy">
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="TestBoxed*"/>
diff --git a/gir/everything.c b/gir/everything.c
index 6796088..3957d06 100644
--- a/gir/everything.c
+++ b/gir/everything.c
@@ -1,4 +1,5 @@
#include <string.h>
+#include <stdlib.h>
#include "everything.h"
#include <gio/gio.h>
@@ -1257,6 +1258,39 @@ test_boxed_new (void)
}
TestBoxed *
+test_boxed_new_alternative_constructor1 (int i)
+{
+ TestBoxed *boxed = g_slice_new0(TestBoxed);
+ boxed->priv = g_slice_new0(TestBoxedPrivate);
+ boxed->priv->magic = 0xdeadbeef;
+ boxed->some_int8 = i;
+
+ return boxed;
+}
+
+TestBoxed *
+test_boxed_new_alternative_constructor2 (int i, int j)
+{
+ TestBoxed *boxed = g_slice_new0(TestBoxed);
+ boxed->priv = g_slice_new0(TestBoxedPrivate);
+ boxed->priv->magic = 0xdeadbeef;
+ boxed->some_int8 = i + j;
+
+ return boxed;
+}
+
+TestBoxed *
+test_boxed_new_alternative_constructor3 (char *s)
+{
+ TestBoxed *boxed = g_slice_new0(TestBoxed);
+ boxed->priv = g_slice_new0(TestBoxedPrivate);
+ boxed->priv->magic = 0xdeadbeef;
+ boxed->some_int8 = atoi(s);
+
+ return boxed;
+}
+
+TestBoxed *
test_boxed_copy (TestBoxed *boxed)
{
TestBoxed *new_boxed = test_boxed_new();
diff --git a/gir/everything.h b/gir/everything.h
index be4f6c6..04c27d7 100644
--- a/gir/everything.h
+++ b/gir/everything.h
@@ -216,6 +216,10 @@ struct _TestBoxed
GType test_boxed_get_type (void);
TestBoxed *test_boxed_new (void);
+TestBoxed *test_boxed_new_alternative_constructor1 (int i);
+TestBoxed *test_boxed_new_alternative_constructor2 (int i, int j);
+TestBoxed *test_boxed_new_alternative_constructor3 (char *s);
+
TestBoxed *test_boxed_copy (TestBoxed *boxed);
gboolean test_boxed_equals (TestBoxed *boxed,
TestBoxed *other);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]