From 3246337cce46bc96f9f1907f3b4226a2a48c2ac2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrg=20Billeter?= Date: Wed, 21 Mar 2007 09:54:31 +0000 Subject: [PATCH] implement marshalling support support signals with interface parameters MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2007-03-21 Jürg Billeter * vala/valainterface.vala: implement marshalling support * vala/valacodegenerator.vala: support signals with interface parameters svn path=/trunk/; revision=250 --- vala/ChangeLog | 5 +++++ vala/vala/valacodegenerator.vala | 2 +- vala/vala/valainterface.vala | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/vala/ChangeLog b/vala/ChangeLog index dc7cd7d..3bb9dea 100644 --- a/vala/ChangeLog +++ b/vala/ChangeLog @@ -1,3 +1,8 @@ +2007-03-21 Jürg Billeter + + * vala/valainterface.vala: implement marshalling support + * vala/valacodegenerator.vala: support signals with interface parameters + 2007-03-20 Raffaele Sandrini * vapi/glib-2.0.vala: add extended runtime type support diff --git a/vala/vala/valacodegenerator.vala b/vala/vala/valacodegenerator.vala index e569abd..3262f84 100644 --- a/vala/vala/valacodegenerator.vala +++ b/vala/vala/valacodegenerator.vala @@ -1704,7 +1704,7 @@ public class Vala.CodeGenerator : CodeVisitor { return "gpointer"; } else if (t.data_type == null) { return "void"; - } else if (t.data_type is Class) { + } else if (t.data_type is Class || t.data_type is Interface) { return "GObject *"; } else if (t.data_type is Struct) { if (((Struct) t.data_type).is_reference_type ()) { diff --git a/vala/vala/valainterface.vala b/vala/vala/valainterface.vala index e380d31..c496d5d 100644 --- a/vala/vala/valainterface.vala +++ b/vala/vala/valainterface.vala @@ -270,6 +270,18 @@ public class Vala.Interface : DataType { this.type_cname = type_cname; } + public override string get_marshaller_type_name () { + return "OBJECT"; + } + + public override string get_get_value_function () { + return "g_value_get_object"; + } + + public override string get_set_value_function () { + return "g_value_set_object"; + } + public override string get_type_id () { if (type_id == null) { type_id = get_upper_case_cname ("TYPE_"); -- 2.7.4