[vala] Add GValue support for interfaces with non-GObject class prerequisite
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] Add GValue support for interfaces with non-GObject class prerequisite
- Date: Tue, 27 Apr 2010 11:02:04 +0000 (UTC)
commit 60cb8fb63c2938d47a03503702f602815111615c
Author: Luca Bruno <lethalman88 gmail com>
Date: Mon Apr 26 14:51:58 2010 +0200
Add GValue support for interfaces with non-GObject class prerequisite
Fixes bug 615904.
vala/valainterface.vala | 32 ++++++++++++++++++++++++++++----
1 files changed, 28 insertions(+), 4 deletions(-)
---
diff --git a/vala/valainterface.vala b/vala/valainterface.vala
index 54890cf..e88d44f 100644
--- a/vala/valainterface.vala
+++ b/vala/valainterface.vala
@@ -508,19 +508,43 @@ public class Vala.Interface : ObjectTypeSymbol {
}
public override string? get_marshaller_type_name () {
- return "OBJECT";
+ foreach (DataType prerequisite in prerequisites) {
+ string type_name = prerequisite.data_type.get_marshaller_type_name ();
+ if (type_name != null) {
+ return type_name;
+ }
+ }
+ return null;
}
public override string? get_get_value_function () {
- return "g_value_get_object";
+ foreach (DataType prerequisite in prerequisites) {
+ string get_value_func = prerequisite.data_type.get_get_value_function ();
+ if (get_value_func != null) {
+ return get_value_func;
+ }
+ }
+ return null;
}
public override string? get_set_value_function () {
- return "g_value_set_object";
+ foreach (DataType prerequisite in prerequisites) {
+ string set_value_func = prerequisite.data_type.get_set_value_function ();
+ if (set_value_func != null) {
+ return set_value_func;
+ }
+ }
+ return null;
}
public override string? get_take_value_function () {
- return "g_value_take_object";
+ foreach (DataType prerequisite in prerequisites) {
+ string take_value_func = prerequisite.data_type.get_take_value_function ();
+ if (take_value_func != null) {
+ return take_value_func;
+ }
+ }
+ return null;
}
public override string? get_type_id () {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]