summaryrefslogtreecommitdiffstats
path: root/hcid/device.c
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2008-03-13 12:34:10 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2008-03-13 12:34:10 +0000
commit81cfb0fc353b88658aec4c1ee0eb6cc5f851df41 (patch)
tree3107427069c2a64b7b2494b8661995ce9bcc362f /hcid/device.c
parent25e819828847f241fe0f77565edf0dffad5700c9 (diff)
cleanup: removed device's static D-Bus connection reference
Diffstat (limited to 'hcid/device.c')
-rw-r--r--hcid/device.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/hcid/device.c b/hcid/device.c
index 5e129ab5..0f1ab4a4 100644
--- a/hcid/device.c
+++ b/hcid/device.c
@@ -711,18 +711,6 @@ int get_encryption_key_size(uint16_t dev_id, const bdaddr_t *baddr)
return size;
}
-static DBusConnection *connection = NULL;
-
-gboolean device_init(DBusConnection *conn)
-{
- /* FIXME: It's not necessary keep a connection reference */
- connection = dbus_connection_ref(conn);
- if (connection == NULL)
- return FALSE;
-
- return TRUE;
-}
-
static void device_free(struct device *device)
{
g_slist_foreach(device->uuids, (GFunc) g_free, NULL);
@@ -857,8 +845,8 @@ static DBusSignalVTable device_signals[] = {
{ NULL, NULL }
};
-struct device *device_create(struct adapter *adapter,
- const gchar *address, GSList *uuids)
+struct device *device_create(DBusConnection *conn, struct adapter *adapter,
+ const gchar *address, GSList *uuids)
{
struct device *device;
@@ -872,13 +860,13 @@ struct device *device_create(struct adapter *adapter,
debug("Creating device %s", device->path);
- if (dbus_connection_create_object_path(connection, device->path,
+ if (dbus_connection_create_object_path(conn, device->path,
device, device_unregister) == FALSE) {
device_free(device);
return NULL;
}
- dbus_connection_register_interface(connection, device->path,
+ dbus_connection_register_interface(conn, device->path,
DEVICE_INTERFACE, device_methods, device_signals, NULL);
device->address = g_strdup(address);
@@ -888,9 +876,9 @@ struct device *device_create(struct adapter *adapter,
return device;
}
-void device_destroy(struct device *device)
+void device_destroy(struct device *device, DBusConnection *conn)
{
debug("Removing device %s", device->path);
- dbus_connection_destroy_object_path(connection, device->path);
+ dbus_connection_destroy_object_path(conn, device->path);
}