summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orlenko <zxteam@gmail.com>2010-10-10 21:59:20 +1100
committerAlexander Orlenko <zxteam@gmail.com>2010-10-10 21:59:20 +1100
commit788d6554613da5da1577d24485ae414037b444c0 (patch)
tree93c88fada450da5fedf2b20fa9b8068aaf2f54da
parent51f655b61a70ec0c0d479048d15e324fe035bcbb (diff)
downloadbluez-tools-788d6554613da5da1577d24485ae414037b444c0.tar.gz
GObjects updated
-rw-r--r--src/lib/bluez/device.c28
-rw-r--r--src/lib/bluez/device.h1
2 files changed, 29 insertions, 0 deletions
diff --git a/src/lib/bluez/device.c b/src/lib/bluez/device.c
index 8824593..7cc6bc0 100644
--- a/src/lib/bluez/device.c
+++ b/src/lib/bluez/device.c
@@ -55,6 +55,7 @@ struct _DevicePrivate {
gboolean legacy_pairing;
gchar *name;
gboolean paired;
+ GPtrArray *services;
gboolean trusted;
gchar **uuids;
};
@@ -75,6 +76,7 @@ enum {
PROP_LEGACY_PAIRING, /* readonly */
PROP_NAME, /* readonly */
PROP_PAIRED, /* readonly */
+ PROP_SERVICES, /* readonly */
PROP_TRUSTED, /* readwrite */
PROP_UUIDS /* readonly */
};
@@ -108,6 +110,7 @@ static void device_dispose(GObject *gobject)
g_free(self->priv->alias);
g_free(self->priv->icon);
g_free(self->priv->name);
+ g_ptr_array_unref(self->priv->services);
g_strfreev(self->priv->uuids);
/* Proxy free */
@@ -179,6 +182,10 @@ static void device_class_init(DeviceClass *klass)
pspec = g_param_spec_boolean("Paired", NULL, NULL, FALSE, G_PARAM_READABLE);
g_object_class_install_property(gobject_class, PROP_PAIRED, pspec);
+ /* array{object} Services [readonly] */
+ pspec = g_param_spec_boxed("Services", NULL, NULL, G_TYPE_PTR_ARRAY, G_PARAM_READABLE);
+ g_object_class_install_property(gobject_class, PROP_SERVICES, pspec);
+
/* boolean Trusted [readwrite] */
pspec = g_param_spec_boolean("Trusted", NULL, NULL, FALSE, G_PARAM_READWRITE);
g_object_class_install_property(gobject_class, PROP_TRUSTED, pspec);
@@ -325,6 +332,13 @@ static void device_post_init(Device *self, const gchar *dbus_object_path)
self->priv->paired = FALSE;
}
+ /* array{object} Services [readonly] */
+ if (g_hash_table_lookup(properties, "Services")) {
+ self->priv->services = g_value_dup_boxed(g_hash_table_lookup(properties, "Services"));
+ } else {
+ self->priv->services = g_ptr_array_new();
+ }
+
/* boolean Trusted [readwrite] */
if (g_hash_table_lookup(properties, "Trusted")) {
self->priv->trusted = g_value_get_boolean(g_hash_table_lookup(properties, "Trusted"));
@@ -392,6 +406,10 @@ static void _device_get_property(GObject *object, guint property_id, GValue *val
g_value_set_boolean(value, device_get_paired(self));
break;
+ case PROP_SERVICES:
+ g_value_set_boxed(value, device_get_services(self));
+ break;
+
case PROP_TRUSTED:
g_value_set_boolean(value, device_get_trusted(self));
break;
@@ -601,6 +619,13 @@ const gboolean device_get_paired(Device *self)
return self->priv->paired;
}
+const GPtrArray *device_get_services(Device *self)
+{
+ g_assert(DEVICE_IS(self));
+
+ return self->priv->services;
+}
+
const gboolean device_get_trusted(Device *self)
{
g_assert(DEVICE_IS(self));
@@ -670,6 +695,9 @@ static void property_changed_handler(DBusGProxy *dbus_g_proxy, const gchar *name
self->priv->name = g_value_dup_string(value);
} else if (g_strcmp0(name, "Paired") == 0) {
self->priv->paired = g_value_get_boolean(value);
+ } else if (g_strcmp0(name, "Services") == 0) {
+ g_ptr_array_unref(self->priv->services);
+ self->priv->services = g_value_dup_boxed(value);
} else if (g_strcmp0(name, "Trusted") == 0) {
self->priv->trusted = g_value_get_boolean(value);
} else if (g_strcmp0(name, "UUIDs") == 0) {
diff --git a/src/lib/bluez/device.h b/src/lib/bluez/device.h
index 98cb3a6..c4f6e2f 100644
--- a/src/lib/bluez/device.h
+++ b/src/lib/bluez/device.h
@@ -78,6 +78,7 @@ const gchar *device_get_icon(Device *self);
const gboolean device_get_legacy_pairing(Device *self);
const gchar *device_get_name(Device *self);
const gboolean device_get_paired(Device *self);
+const GPtrArray *device_get_services(Device *self);
const gboolean device_get_trusted(Device *self);
void device_set_trusted(Device *self, const gboolean value);
const gchar **device_get_uuids(Device *self);