summaryrefslogtreecommitdiff
path: root/src/hsd-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/hsd-manager.c')
-rw-r--r--src/hsd-manager.c38
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),