diff options
author | Wim Taymans <wtaymans@redhat.com> | 2014-08-07 22:25:15 +0200 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2014-08-07 22:25:15 +0200 |
commit | 9957550cc9c0cfb30c4781852f0d5ef4336eaddb (patch) | |
tree | c4f64178c58870f57f24dadcb7ab7dd72d308c3f /src/hsd-manager.c | |
parent | c0885c29f573a552605387c1d0e760ddd6311ed4 (diff) |
Signal state change
Improve properties
Small cleanups
Diffstat (limited to 'src/hsd-manager.c')
-rw-r--r-- | src/hsd-manager.c | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/src/hsd-manager.c b/src/hsd-manager.c index 7a10264..2ef38ca 100644 --- a/src/hsd-manager.c +++ b/src/hsd-manager.c @@ -28,7 +28,7 @@ static GDBusNodeInfo *introspection_data = NULL; /* Introspection data for the service we are exporting */ static const gchar introspection_xml[] = "<node>" - " <interface name='org.freedesktop.HeadsetManager'>" + " <interface name='" HSD_MANAGER_INTERFACE "'>" " <method name='GetDevices'>" " <arg type='a(oa{sv})' name='devices' direction='out'/>" " </method>" @@ -66,9 +66,13 @@ manager_get_devices (HsdManager *m, GVariant *parameters, GDBusMethodInvocation *invocation) { + GVariant *var; + g_debug ("manager GetDevices"); - g_dbus_method_invocation_return_dbus_error (invocation, - "org.freedesktop.Headset.Error.NotImplemented", "no such method"); + + var = g_variant_new_array (G_VARIANT_TYPE ("(oa{sv})"), NULL, 0); + g_dbus_method_invocation_return_value ( + invocation, g_variant_new_tuple (&var, 1)); } static void @@ -79,7 +83,7 @@ manager_register (HsdManager *m, { g_debug ("manager Register"); g_dbus_method_invocation_return_dbus_error (invocation, - "org.freedesktop.Headset.Error.NotImplemented", "no such method"); + HSD_MANAGER_INTERFACE ".Error.NotImplemented", "no such method"); } static void @@ -90,7 +94,7 @@ manager_unregister (HsdManager *m, { g_debug ("manager Unregister"); g_dbus_method_invocation_return_dbus_error (invocation, - "org.freedesktop.Headset.Error.NotImplemented", "no such method"); + HSD_MANAGER_INTERFACE ".Error.NotImplemented", "no such method"); } static void @@ -105,15 +109,19 @@ manager_method_call (GDBusConnection *connection, { HsdManager *m = user_data; - if (g_strcmp0 (method_name, "GetDevices") == 0) { - manager_get_devices (m, connection, parameters, invocation); - } else if (g_strcmp0 (method_name, "Register") == 0) { - manager_register (m, connection, parameters, invocation); - } else if (g_strcmp0 (method_name, "Unregister") == 0) { - manager_unregister (m, connection, parameters, invocation); + if (g_strcmp0 (interface_name, HSD_MANAGER_INTERFACE) == 0) { + if (g_strcmp0 (method_name, "GetDevices") == 0) { + manager_get_devices (m, connection, parameters, invocation); + } else if (g_strcmp0 (method_name, "Register") == 0) { + manager_register (m, connection, parameters, invocation); + } else if (g_strcmp0 (method_name, "Unregister") == 0) { + manager_unregister (m, connection, parameters, invocation); + } else + g_dbus_method_invocation_return_dbus_error (invocation, + HSD_MANAGER_INTERFACE ".Error.NotImplemented", "no such method"); } else - g_dbus_method_invocation_return_dbus_error (invocation, - "org.freedesktop.Headset.Error.NotImplemented", "no such method"); + g_dbus_method_invocation_return_dbus_error (invocation, + HSD_SERVICE ".Error.NotImplemented", "no such interface"); } static const GDBusInterfaceVTable manager_interface_vtable = @@ -172,7 +180,7 @@ hsd_manager_add_headset (HsdManager *manager, HsdHeadset *headset, GError **erro g_dbus_connection_emit_signal (conn, NULL, "/", - HSD_MANAGER_INTERFACE_SERVICE, + HSD_MANAGER_INTERFACE, "DeviceAdded", g_variant_new ("(oa{sv})", headset->device, @@ -196,7 +204,7 @@ hsd_manager_remove_headset (HsdManager *manager, HsdHeadset *headset, GError **e g_dbus_connection_emit_signal (conn, NULL, "/", - HSD_MANAGER_INTERFACE_SERVICE, + HSD_MANAGER_INTERFACE, "DeviceRemoved", g_variant_new ("(o)", headset->device), |