diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2007-06-22 01:36:06 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2007-06-22 01:36:06 +0000 |
commit | b8020a613062f229b737174e934e75d96ba607d2 (patch) | |
tree | 65a1b45cde427d8e5a9e3e83044a696dc301a715 /hcid/dbus-database.c | |
parent | 1a2e7943da42619730e442d1ff6ab08b9c2c621d (diff) |
Improve local connection handling
Diffstat (limited to 'hcid/dbus-database.c')
-rw-r--r-- | hcid/dbus-database.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/hcid/dbus-database.c b/hcid/dbus-database.c index 8ee04c36..2f904956 100644 --- a/hcid/dbus-database.c +++ b/hcid/dbus-database.c @@ -461,6 +461,27 @@ dbus_bool_t database_init(DBusConnection *conn, const char *path) NULL, NULL); } +DBusHandlerResult database_message(DBusConnection *conn, + DBusMessage *msg, void *data) +{ + DBusMethodVTable *current; + + for (current = database_methods; + current->name && current->message_function; current++) { + if (!dbus_message_is_method_call(msg, DATABASE_INTERFACE, + current->name)) + continue; + + if (dbus_message_has_signature(msg, current->signature)) { + debug("%s: %s.%s()", dbus_message_get_path(msg), + DATABASE_INTERFACE, current->name); + return current->message_function(conn, msg, data); + } + } + + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; +} + void set_sdp_server_enable(void) { sdp_server_enable = 1; |