summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-database.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2007-06-22 01:36:06 +0000
committerMarcel Holtmann <marcel@holtmann.org>2007-06-22 01:36:06 +0000
commitb8020a613062f229b737174e934e75d96ba607d2 (patch)
tree65a1b45cde427d8e5a9e3e83044a696dc301a715 /hcid/dbus-database.c
parent1a2e7943da42619730e442d1ff6ab08b9c2c621d (diff)
Improve local connection handling
Diffstat (limited to 'hcid/dbus-database.c')
-rw-r--r--hcid/dbus-database.c21
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;