summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikkel Kamstrup Erlandsen <mikkel.kamstrup@canonical.com>2011-10-27 01:50:35 +0200
committerJürg Billeter <j@bitron.ch>2012-08-02 10:51:10 +0200
commit3c6341be64bded0c7c8d40395dc65181a4da8527 (patch)
tree0d634c007332ad2b1c772b1e7ddb3a30ba4e0cac
parent7c830f0f57e26209e0726090297216241208a3db (diff)
downloadvala-3c6341be64bded0c7c8d40395dc65181a4da8527.tar.gz
D-Bus: Support fd passing with GFileDescriptorBased
Fixes bug 662815.
-rw-r--r--codegen/valagdbusmodule.vala7
1 files changed, 6 insertions, 1 deletions
diff --git a/codegen/valagdbusmodule.vala b/codegen/valagdbusmodule.vala
index 262e7c07a..acbde076a 100644
--- a/codegen/valagdbusmodule.vala
+++ b/codegen/valagdbusmodule.vala
@@ -102,7 +102,8 @@ public class Vala.GDBusModule : GVariantModule {
if (type is ObjectType) {
if (type.data_type.get_full_name () == "GLib.UnixInputStream" ||
type.data_type.get_full_name () == "GLib.UnixOutputStream" ||
- type.data_type.get_full_name () == "GLib.Socket") {
+ type.data_type.get_full_name () == "GLib.Socket" ||
+ type.data_type.get_full_name () == "GLib.FileDescriptorBased") {
return true;
}
}
@@ -138,6 +139,10 @@ public class Vala.GDBusModule : GVariantModule {
var result = new CCodeFunctionCall (new CCodeIdentifier ("g_socket_get_fd"));
result.add_argument (expr);
return result;
+ } else if (type.data_type.get_full_name () == "GLib.FileDescriptorBased") {
+ var result = new CCodeFunctionCall (new CCodeIdentifier ("g_file_descriptor_based_get_fd"));
+ result.add_argument (expr);
+ return result;
}
}