[vala] D-Bus: Add get_dbus_name helper method
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] D-Bus: Add get_dbus_name helper method
- Date: Mon, 14 Sep 2009 21:44:42 +0000 (UTC)
commit a6ef48797ef3277c0bb58aa4c9e6fbd577f25569
Author: Jürg Billeter <j bitron ch>
Date: Mon Sep 14 21:55:08 2009 +0200
D-Bus: Add get_dbus_name helper method
codegen/valadbusclientmodule.vala | 25 +++++----------
codegen/valadbusmodule.vala | 9 +++++
codegen/valadbusservermodule.vala | 63 +++++++++++++++---------------------
3 files changed, 43 insertions(+), 54 deletions(-)
---
diff --git a/codegen/valadbusclientmodule.vala b/codegen/valadbusclientmodule.vala
index 1ab4bac..c5f25f4 100644
--- a/codegen/valadbusclientmodule.vala
+++ b/codegen/valadbusclientmodule.vala
@@ -845,11 +845,7 @@ internal class Vala.DBusClientModule : DBusModule {
public override void visit_interface (Interface iface) {
base.visit_interface (iface);
- var dbus = iface.get_attribute ("DBus");
- if (dbus == null) {
- return;
- }
- string dbus_iface_name = dbus.get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
if (dbus_iface_name == null) {
return;
}
@@ -1143,12 +1139,7 @@ internal class Vala.DBusClientModule : DBusModule {
}
public override TypeRegisterFunction create_interface_register_function (Interface iface) {
- var dbus = iface.get_attribute ("DBus");
- if (dbus == null) {
- return new InterfaceRegisterFunction (iface, context);
- }
-
- string dbus_iface_name = dbus.get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
if (dbus_iface_name == null) {
return new InterfaceRegisterFunction (iface, context);
}
@@ -1350,7 +1341,7 @@ internal class Vala.DBusClientModule : DBusModule {
}
void handle_signals (Interface iface, CCodeBlock block) {
- string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
CCodeIfStatement clastif = null;
foreach (Signal sig in iface.get_signals ()) {
@@ -1463,7 +1454,7 @@ internal class Vala.DBusClientModule : DBusModule {
string generate_dbus_proxy_method (Interface iface, Method m) {
string proxy_name = "%sdbus_proxy_%s".printf (iface.get_lower_case_cprefix (), m.name);
- string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
CCodeDeclaration cdecl;
@@ -1557,7 +1548,7 @@ internal class Vala.DBusClientModule : DBusModule {
string generate_async_dbus_proxy_method (Interface iface, Method m) {
string proxy_name = "%sdbus_proxy_%s_async".printf (iface.get_lower_case_cprefix (), m.name);
- string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
CCodeDeclaration cdecl;
@@ -1702,7 +1693,7 @@ internal class Vala.DBusClientModule : DBusModule {
string generate_finish_dbus_proxy_method (Interface iface, Method m) {
string proxy_name = "%sdbus_proxy_%s_finish".printf (iface.get_lower_case_cprefix (), m.name);
- string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
CCodeDeclaration cdecl;
@@ -1762,7 +1753,7 @@ internal class Vala.DBusClientModule : DBusModule {
string generate_dbus_proxy_property_get (Interface iface, Property prop) {
string proxy_name = "%sdbus_proxy_get_%s".printf (iface.get_lower_case_cprefix (), prop.name);
- string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
var owned_type = prop.get_accessor.value_type.copy ();
owned_type.value_owned = true;
@@ -1909,7 +1900,7 @@ internal class Vala.DBusClientModule : DBusModule {
string generate_dbus_proxy_property_set (Interface iface, Property prop) {
string proxy_name = "%sdbus_proxy_set_%s".printf (iface.get_lower_case_cprefix (), prop.name);
- string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name");
+ string dbus_iface_name = get_dbus_name (iface);
var array_type = prop.set_accessor.value_type as ArrayType;
diff --git a/codegen/valadbusmodule.vala b/codegen/valadbusmodule.vala
index 87f60b5..1e9cb1f 100644
--- a/codegen/valadbusmodule.vala
+++ b/codegen/valadbusmodule.vala
@@ -49,6 +49,15 @@ internal class Vala.DBusModule : GAsyncModule {
base (codegen, next);
}
+ public string? get_dbus_name (TypeSymbol symbol) {
+ var dbus = symbol.get_attribute ("DBus");
+ if (dbus == null) {
+ return null;
+ }
+
+ return dbus.get_string ("name");
+ }
+
bool get_basic_type_info (string signature, out BasicTypeInfo basic_type) {
foreach (BasicTypeInfo info in basic_types) {
if (info.signature == signature) {
diff --git a/codegen/valadbusservermodule.vala b/codegen/valadbusservermodule.vala
index d29f27e..46bf7bf 100644
--- a/codegen/valadbusservermodule.vala
+++ b/codegen/valadbusservermodule.vala
@@ -1145,11 +1145,7 @@ internal class Vala.DBusServerModule : DBusClientModule {
}
}
- var dbus = sym.get_attribute ("DBus");
- if (dbus == null) {
- return result;
- }
- string dbus_iface_name = dbus.get_string ("name");
+ string dbus_iface_name = get_dbus_name (sym);
if (dbus_iface_name == null) {
return result;
}
@@ -1350,11 +1346,7 @@ internal class Vala.DBusServerModule : DBusClientModule {
}
void handle_signals (ObjectTypeSymbol sym, CCodeBlock block) {
- var dbus = sym.get_attribute ("DBus");
- if (dbus == null) {
- return;
- }
- string dbus_iface_name = dbus.get_string ("name");
+ string dbus_iface_name = get_dbus_name (sym);
if (dbus_iface_name == null) {
return;
}
@@ -1403,38 +1395,35 @@ internal class Vala.DBusServerModule : DBusClientModule {
handle_method ("org.freedesktop.DBus.Introspectable", "Introspect", generate_dbus_introspect (sym), block, ref clastif);
- var dbus = sym.get_attribute ("DBus");
- if (dbus != null) {
- string dbus_iface_name = dbus.get_string ("name");
- if (dbus_iface_name != null) {
- bool need_property_get = false;
- bool need_property_set = false;
- foreach (Property prop in sym.get_properties ()) {
- if (prop.binding != MemberBinding.INSTANCE
- || prop.overrides || prop.access != SymbolAccessibility.PUBLIC) {
- continue;
- }
- if (!is_dbus_visible (prop)) {
- continue;
- }
- if (prop.get_accessor != null) {
- need_property_get = true;
- }
- if (prop.set_accessor != null) {
- need_property_set = true;
- }
+ string dbus_iface_name = get_dbus_name (sym);
+ if (dbus_iface_name != null) {
+ bool need_property_get = false;
+ bool need_property_set = false;
+ foreach (Property prop in sym.get_properties ()) {
+ if (prop.binding != MemberBinding.INSTANCE
+ || prop.overrides || prop.access != SymbolAccessibility.PUBLIC) {
+ continue;
}
-
- if (need_property_get) {
- handle_method ("org.freedesktop.DBus.Properties", "Get", generate_dbus_property_get_wrapper (sym, dbus_iface_name), block, ref clastif);
+ if (!is_dbus_visible (prop)) {
+ continue;
}
- if (need_property_set) {
- handle_method ("org.freedesktop.DBus.Properties", "Set", generate_dbus_property_set_wrapper (sym, dbus_iface_name), block, ref clastif);
+ if (prop.get_accessor != null) {
+ need_property_get = true;
}
- handle_method ("org.freedesktop.DBus.Properties", "GetAll", generate_dbus_property_get_all_wrapper (sym, dbus_iface_name), block, ref clastif);
+ if (prop.set_accessor != null) {
+ need_property_set = true;
+ }
+ }
- handle_methods (sym, dbus_iface_name, block, ref clastif);
+ if (need_property_get) {
+ handle_method ("org.freedesktop.DBus.Properties", "Get", generate_dbus_property_get_wrapper (sym, dbus_iface_name), block, ref clastif);
}
+ if (need_property_set) {
+ handle_method ("org.freedesktop.DBus.Properties", "Set", generate_dbus_property_set_wrapper (sym, dbus_iface_name), block, ref clastif);
+ }
+ handle_method ("org.freedesktop.DBus.Properties", "GetAll", generate_dbus_property_get_all_wrapper (sym, dbus_iface_name), block, ref clastif);
+
+ handle_methods (sym, dbus_iface_name, block, ref clastif);
}
var resultblock = new CCodeBlock ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]