summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2011-09-27 18:04:15 -0300
committerDenis Kenzior <denkenz@gmail.com>2011-09-27 23:36:23 -0500
commite73244a4a3bd8f6fae1c9a1e82b99ae1d3da740b (patch)
treed8fa71425ec6823c2c9e3ab64f1330a8e0c5e8cc
parent9667db0b142908bf95d570edf6fd482256d881ae (diff)
downloadofono-e73244a4a3bd8f6fae1c9a1e82b99ae1d3da740b.tar.bz2
sap: retrigger bluetooth GetProperties call
When plugging a SAP capable modem, GetProperties need to be called again to fetch the SAP Server devices from BlueZ.
-rw-r--r--plugins/bluetooth.c6
-rw-r--r--plugins/bluetooth.h1
-rw-r--r--plugins/sap.c2
3 files changed, 9 insertions, 0 deletions
diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c
index 274d25b3..573c7c83 100644
--- a/plugins/bluetooth.c
+++ b/plugins/bluetooth.c
@@ -900,6 +900,12 @@ static void bluetooth_unref(void)
g_hash_table_destroy(adapter_address_hash);
}
+void bluetooth_get_properties()
+{
+ g_hash_table_foreach(adapter_address_hash,
+ (GHFunc) get_adapter_properties, NULL);
+}
+
int bluetooth_register_uuid(const char *uuid, struct bluetooth_profile *profile)
{
bluetooth_ref();
diff --git a/plugins/bluetooth.h b/plugins/bluetooth.h
index 6cde7bc8..936659c8 100644
--- a/plugins/bluetooth.h
+++ b/plugins/bluetooth.h
@@ -52,6 +52,7 @@ struct server;
typedef void (*ConnectFunc)(GIOChannel *io, GError *err, gpointer user_data);
+void bluetooth_get_properties();
int bluetooth_register_uuid(const char *uuid,
struct bluetooth_profile *profile);
void bluetooth_unregister_uuid(const char *uuid);
diff --git a/plugins/sap.c b/plugins/sap.c
index 169bb7f5..b679ce5f 100644
--- a/plugins/sap.c
+++ b/plugins/sap.c
@@ -66,6 +66,8 @@ int bluetooth_sap_client_register(struct bluetooth_sap_driver *sap,
sap_hw_modem = modem;
sap_hw_driver = sap;
+ bluetooth_get_properties();
+
return 0;
}