summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-01-08 14:23:24 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2019-01-08 16:36:04 +0100
commitafb9ea9687db1ca95ff169016e605f04e650cdfb (patch)
tree333fa7612a8c990fc45552c15cfd747190b14043
parent9110ae909e8a48e5880cfc6ad4adebde7898a4ad (diff)
downloadvala-afb9ea9687db1ca95ff169016e605f04e650cdfb.tar.gz
gio-2.0: Make DBusInterface[GS]etPropertyFunc usable
These delegates don't place their target at the end, but their error parameter. Vala does not support that at this point. Introduced with 1df2c050ba29c84026a14e7ee23fa6bcd00b1044 See https://gitlab.gnome.org/GNOME/vala/issues/728
-rw-r--r--vapi/gio-2.0.vapi6
-rw-r--r--vapi/metadata/Gio-2.0-custom.vala4
-rw-r--r--vapi/metadata/Gio-2.0.metadata5
3 files changed, 7 insertions, 8 deletions
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index 7c75ed664..7084bf0e5 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -4775,12 +4775,14 @@ namespace GLib {
[Version (since = "2.28")]
public delegate bool CancellableSourceFunc (GLib.Cancellable? cancellable = null);
[CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
- public delegate GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name) throws GLib.Error;
+ [Version (since = "2.26")]
+ public delegate GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, out GLib.Error error);
[CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
[Version (since = "2.26")]
public delegate void DBusInterfaceMethodCallFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string method_name, GLib.Variant parameters, owned GLib.DBusMethodInvocation invocation);
[CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
- public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error;
+ [Version (since = "2.26")]
+ public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value, out GLib.Error error);
[CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
[Version (since = "2.26")]
public delegate GLib.DBusMessage? DBusMessageFilterFunction (GLib.DBusConnection connection, owned GLib.DBusMessage message, bool incoming);
diff --git a/vapi/metadata/Gio-2.0-custom.vala b/vapi/metadata/Gio-2.0-custom.vala
index d4965a1ba..b3cb7b95d 100644
--- a/vapi/metadata/Gio-2.0-custom.vala
+++ b/vapi/metadata/Gio-2.0-custom.vala
@@ -182,10 +182,6 @@ namespace GLib {
public delegate void TaskReadyCallback (GLib.Object? source_object, GLib.Task task);
[CCode (has_target = false, cname = "GSourceFunc")]
public delegate bool TaskSourceFunc (Task task);
- [CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
- public delegate GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name) throws GLib.Error;
- [CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
- public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error;
[CCode (cheader_filename = "gio/gio.h", has_target = false, cname = "GSettingsBindGetMapping")]
public delegate bool SettingsBindGetMappingShared (GLib.Value value, GLib.Variant variant, void* user_data);
diff --git a/vapi/metadata/Gio-2.0.metadata b/vapi/metadata/Gio-2.0.metadata
index 33aff2c90..d27471064 100644
--- a/vapi/metadata/Gio-2.0.metadata
+++ b/vapi/metadata/Gio-2.0.metadata
@@ -326,8 +326,9 @@ LoadableIcon
.load.type nullable
// Bug #666798: GIR parser should detect delegate types which throw errors
-DBusInterfaceGetPropertyFunc skip
-DBusInterfaceSetPropertyFunc skip
+// Issue #728: Support non-default error parameter position
+DBusInterfaceGetPropertyFunc.error out unowned=false
+DBusInterfaceSetPropertyFunc.error out unowned=false
// Bug #666799: symbols with moved-to annotations should be deprecated at the old locations
app_info*#function skip