[vala] gio-2.0: Fix GDBusProxy::g-properties-changed binding
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] gio-2.0: Fix GDBusProxy::g-properties-changed binding
- Date: Tue, 25 Jan 2011 12:56:56 +0000 (UTC)
commit fe751a8b7a42cdc42e01c279ce373df72b5d18ad
Author: Jürg Billeter <j bitron ch>
Date: Tue Jan 25 13:56:14 2011 +0100
gio-2.0: Fix GDBusProxy::g-properties-changed binding
vala/valacodewriter.vala | 4 ++++
vapi/gio-2.0.vapi | 2 +-
vapi/packages/gio-2.0/gio-2.0.metadata | 1 +
vapigen/valagidlparser.vala | 11 +++++++++++
4 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index 62f1d07..49806e0 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -864,6 +864,10 @@ public class Vala.CodeWriter : CodeVisitor {
ccode_params.append_printf ("%sarray_length = false", separator);
separator = ", ";
}
+ if (param.array_null_terminated && param.variable_type is ArrayType) {
+ ccode_params.append_printf ("%sarray_null_terminated = true", separator);
+ separator = ", ";
+ }
if (param.array_length_type != null && param.variable_type is ArrayType) {
ccode_params.append_printf ("%sarray_length_type = \"%s\"", separator, param.array_length_type);
separator = ", ";
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index 7f899fd..f3b83f4 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -482,7 +482,7 @@ namespace GLib {
public string g_name_owner { owned get; }
[NoAccessorMethod]
public string g_object_path { owned get; construct; }
- public virtual signal void g_properties_changed (GLib.Variant changed_properties, string[] invalidated_properties);
+ public virtual signal void g_properties_changed (GLib.Variant changed_properties, [CCode (array_length = false, array_null_terminated = true)] string[] invalidated_properties);
public virtual signal void g_signal (string sender_name, string signal_name, GLib.Variant parameters);
}
[CCode (cheader_filename = "gio/gio.h")]
diff --git a/vapi/packages/gio-2.0/gio-2.0.metadata b/vapi/packages/gio-2.0/gio-2.0.metadata
index 3260a3c..754f92b 100644
--- a/vapi/packages/gio-2.0/gio-2.0.metadata
+++ b/vapi/packages/gio-2.0/gio-2.0.metadata
@@ -93,6 +93,7 @@ GDBusMethodInfo.out_args is_array="1"
GDBusNodeInfo.annotations is_array="1"
GDBusNodeInfo.interfaces is_array="1"
GDBusNodeInfo.nodes is_array="1"
+GDBusProxy::g_properties_changed.invalidated_properties no_array_length="1" array_null_terminated="1"
g_dbus_proxy_call async="1"
g_dbus_proxy_call.parameters nullable="1"
g_dbus_proxy_call_finish transfer_ownership="1"
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index 81978d1..fdcfdad 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -2766,6 +2766,17 @@ public class Vala.GIdlParser : CodeVisitor {
p.variable_type = param_type;
p.direction = ParameterDirection.IN;
}
+ } else if (nv[0] == "no_array_length") {
+ if (eval (nv[1]) == "1") {
+ p.no_array_length = true;
+ }
+ } else if (nv[0] == "array_length_type") {
+ p.array_length_type = eval (nv[1]);
+ } else if (nv[0] == "array_null_terminated") {
+ if (eval (nv[1]) == "1") {
+ p.no_array_length = true;
+ p.array_null_terminated = true;
+ }
} else if (nv[0] == "is_out") {
if (eval (nv[1]) == "1") {
p.direction = ParameterDirection.OUT;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]