summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-01-28 09:43:53 -0800
committerMikko Ylinen <mikko.ylinen@intel.com>2014-09-23 21:29:47 +0300
commitd09615e22c2511c8f6404152e80d569e695f8195 (patch)
treea83a54d8492cd48cfb7be936de013054b95fc138
parent7c830fb36836b73e0b031a0d52e060922c252583 (diff)
downloadbluez-d09615e22c2511c8f6404152e80d569e695f8195.tar.gz
bluez-d09615e22c2511c8f6404152e80d569e695f8195.tar.bz2
bluez-d09615e22c2511c8f6404152e80d569e695f8195.zip
plugins/service: Add Device property
-rw-r--r--plugins/service.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/plugins/service.c b/plugins/service.c
index 69bae8f7..128ad7cf 100644
--- a/plugins/service.c
+++ b/plugins/service.c
@@ -150,6 +150,18 @@ static const char *data_get_state(struct service_data *data)
return "unknown";
}
+static gboolean get_device(const GDBusPropertyTable *property,
+ DBusMessageIter *iter, void *user_data)
+{
+ struct service_data *data = user_data;
+ struct btd_device *dev = btd_service_get_device(data->service);
+ const char *path = btd_device_get_path(dev);
+
+ dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path);
+
+ return TRUE;
+}
+
static gboolean get_state(const GDBusPropertyTable *property,
DBusMessageIter *iter, void *user_data)
{
@@ -205,6 +217,7 @@ static gboolean get_local_uuid(const GDBusPropertyTable *property,
}
static const GDBusPropertyTable service_properties[] = {
+ { "Device", "o", get_device, NULL, NULL },
{ "State", "s", get_state, NULL, NULL },
{ "RemoteUUID", "s", get_remote_uuid, NULL, remote_uuid_exists },
{ "LocalUUID", "s", get_local_uuid, NULL, local_uuid_exists },