mirror of git://git.sysmocom.de/ofono
dundee: Add mechanism to store bluetooth devices
This patch adds a hash that will store every known bluetooth device that implements DUN service.
This commit is contained in:
parent
953e74a945
commit
f0c85c9c55
|
@ -32,6 +32,25 @@
|
||||||
#define DUN_DT_PROFILE_PATH "/bluetooth/profile/dun_dt"
|
#define DUN_DT_PROFILE_PATH "/bluetooth/profile/dun_dt"
|
||||||
|
|
||||||
static GDBusClient *bluez;
|
static GDBusClient *bluez;
|
||||||
|
static GHashTable *registered_devices;
|
||||||
|
|
||||||
|
struct bluetooth_device {
|
||||||
|
char *path;
|
||||||
|
char *address;
|
||||||
|
char *name;
|
||||||
|
};
|
||||||
|
|
||||||
|
static void bluetooth_device_destroy(gpointer user_data)
|
||||||
|
{
|
||||||
|
struct bluetooth_device *bt_device = user_data;
|
||||||
|
|
||||||
|
DBG("%s", bt_device->path);
|
||||||
|
|
||||||
|
g_free(bt_device->path);
|
||||||
|
g_free(bt_device->address);
|
||||||
|
g_free(bt_device->name);
|
||||||
|
g_free(bt_device);
|
||||||
|
}
|
||||||
|
|
||||||
static void proxy_added(GDBusProxy *proxy, void *user_data)
|
static void proxy_added(GDBusProxy *proxy, void *user_data)
|
||||||
{
|
{
|
||||||
|
@ -62,6 +81,9 @@ int __dundee_bluetooth_init(void)
|
||||||
g_dbus_client_set_connect_watch(bluez, connect_handler, NULL);
|
g_dbus_client_set_connect_watch(bluez, connect_handler, NULL);
|
||||||
g_dbus_client_set_proxy_handlers(bluez, proxy_added, NULL, NULL, NULL);
|
g_dbus_client_set_proxy_handlers(bluez, proxy_added, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
registered_devices = g_hash_table_new_full(g_str_hash, g_str_equal,
|
||||||
|
g_free, bluetooth_device_destroy);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,4 +92,5 @@ void __dundee_bluetooth_cleanup(void)
|
||||||
DBG("");
|
DBG("");
|
||||||
|
|
||||||
g_dbus_client_unref(bluez);
|
g_dbus_client_unref(bluez);
|
||||||
|
g_hash_table_destroy(registered_devices);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue