summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-02-07 16:04:32 +0200
committerMikko Ylinen <mikko.ylinen@intel.com>2014-09-23 21:29:47 +0300
commit9770dbd83a39f4511d55df26016d2ff955f04031 (patch)
tree219116c741fc3fdf521c6a36cfdf7e6c28cfb526
parentd09615e22c2511c8f6404152e80d569e695f8195 (diff)
downloadbluez-9770dbd83a39f4511d55df26016d2ff955f04031.tar.gz
bluez-9770dbd83a39f4511d55df26016d2ff955f04031.tar.bz2
bluez-9770dbd83a39f4511d55df26016d2ff955f04031.zip
plugins/service: Add Version property
-rw-r--r--plugins/service.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/service.c b/plugins/service.c
index 128ad7cf..c2584c07 100644
--- a/plugins/service.c
+++ b/plugins/service.c
@@ -216,11 +216,32 @@ static gboolean get_local_uuid(const GDBusPropertyTable *property,
return TRUE;
}
+static gboolean version_exists(const GDBusPropertyTable *property,
+ void *user_data)
+{
+ struct service_data *data = user_data;
+ uint16_t version = btd_service_get_version(data->service);
+
+ return version != 0x0000;
+}
+
+static gboolean get_version(const GDBusPropertyTable *property,
+ DBusMessageIter *iter, void *user_data)
+{
+ struct service_data *data = user_data;
+ uint16_t version = btd_service_get_version(data->service);
+
+ dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &version);
+
+ return TRUE;
+}
+
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 },
+ { "Version", "q", get_version, NULL, version_exists },
{ }
};