summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-device.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-02-22 17:43:28 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-02-22 17:43:28 +0000
commit579685eea2ea30d4453f91751b67bfcbdd81a030 (patch)
treefa0ed445894d3337c838689fdeb3a277faf419c8 /hcid/dbus-device.c
parentfd2a9fef009566777f5cae6ac68817d7555fdeab (diff)
Fix error messages for not implemented services
Diffstat (limited to 'hcid/dbus-device.c')
-rw-r--r--hcid/dbus-device.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/hcid/dbus-device.c b/hcid/dbus-device.c
index d49394e4..54646b80 100644
--- a/hcid/dbus-device.c
+++ b/hcid/dbus-device.c
@@ -917,17 +917,20 @@ DBusHandlerResult msg_func_device(DBusConnection *conn, DBusMessage *msg, void *
struct hci_dbus_data *dbus_data = data;
const char *method;
const char *signature;
+ const char *iface;
uint32_t error = BLUEZ_EDBUS_UNKNOWN_METHOD;
- DBusHandlerResult ret = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
method = dbus_message_get_member(msg);
signature = dbus_message_get_signature(msg);
+ iface = dbus_message_get_interface(msg);
syslog(LOG_INFO, "[%s,%d] path:%s, method:%s", __PRETTY_FUNCTION__, __LINE__, dbus_message_get_path(msg), method);
+ if (strcmp(DEVICE_INTERFACE, iface))
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
if (dbus_data->path_id == DEVICE_ROOT_ID) {
/* Device is down(path unregistered) or the path is wrong */
- ret = DBUS_HANDLER_RESULT_HANDLED;
error = BLUEZ_EDBUS_UNKNOWN_PATH;
goto failed;
}
@@ -937,8 +940,6 @@ DBusHandlerResult msg_func_device(DBusConnection *conn, DBusMessage *msg, void *
if (strcmp(handlers->name, method))
continue;
- ret = DBUS_HANDLER_RESULT_HANDLED;
-
if (!strcmp(handlers->signature, signature)) {
reply = handlers->handler_func(msg, data);
error = 0;
@@ -962,5 +963,5 @@ failed:
dbus_message_unref(reply);
}
- return ret;
+ return DBUS_HANDLER_RESULT_HANDLED;
}