From 83a6632160cc24de958206623264772e532b254a Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 13 May 2010 14:24:32 +0200 Subject: Add initial support for LookupService helper method --- src/manager.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/manager.c') diff --git a/src/manager.c b/src/manager.c index 6561a78c..b806ba29 100644 --- a/src/manager.c +++ b/src/manager.c @@ -413,6 +413,25 @@ static DBusMessage *disable_technology(DBusConnection *conn, return NULL; } +static DBusMessage *lookup_service(DBusConnection *conn, + DBusMessage *msg, void *data) +{ + const char *pattern, *path; + int err; + + DBG("conn %p", conn); + + dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &pattern, + DBUS_TYPE_INVALID); + + err = __connman_service_lookup(pattern, &path); + if (err < 0) + return __connman_error_failed(msg, -err); + + return g_dbus_create_reply(msg, DBUS_TYPE_STRING, &path, + DBUS_TYPE_INVALID); +} + static DBusMessage *connect_service(DBusConnection *conn, DBusMessage *msg, void *data) { @@ -596,6 +615,7 @@ static GDBusMethodTable manager_methods[] = { G_DBUS_METHOD_FLAG_ASYNC }, { "DisableTechnology", "s", "", disable_technology, G_DBUS_METHOD_FLAG_ASYNC }, + { "LookupService", "s", "o", lookup_service, }, { "ConnectService", "a{sv}", "o", connect_service, G_DBUS_METHOD_FLAG_ASYNC }, { "ConnectProvider", "a{sv}", "o", connect_provider, -- cgit v1.2.3