| From: Antonio Ospite <ospite-aNJ+ML1ZbiP93QAQaVx+gl6hYfS7NtTn@public.gmane.org> |
| Subject: [PATCH BlueZ v2 1/3] manager: add a btd_manager_get_default_adapter_address_str() call |
| Date: Wed, 18 Apr 2012 11:38:09 +0200 |
| |
| Add a new btd_* call to get the default adapter address as a string, |
| meant to be used by _external_ plugins, this is to avoid to make public |
| these symbols: |
| |
| manager_get_default_adapter |
| adapter_get_address |
| bt_malloc |
| ba2str |
| --- |
| |
| Alternatively a version without the _str prefix can be used which |
| returns a bdaddr_t, but I have to make ba2str a global symbol so I can |
| make the conversion to string in the plugin itself. |
| |
| Let me know how do you like that. |
| |
| |
| src/manager.c | 21 +++++++++++++++++++++ |
| src/manager.h | 1 + |
| 2 files changed, 22 insertions(+) |
| |
| diff --git a/src/manager.c b/src/manager.c |
| index 6244516..fbd5ef8 100644 |
| --- a/src/manager.c |
| +++ b/src/manager.c |
| @@ -270,6 +270,27 @@ struct btd_adapter *manager_get_default_adapter(void) |
| return manager_find_adapter_by_id(default_adapter_id); |
| } |
| |
| +char *btd_manager_get_default_adapter_address_str(void) |
| +{ |
| + struct btd_adapter *adapter; |
| + bdaddr_t adapter_bdaddr; |
| + char *str; |
| + |
| + adapter = manager_get_default_adapter(); |
| + if (adapter == NULL) { |
| + return NULL; |
| + } |
| + |
| + adapter_get_address(adapter, &adapter_bdaddr); |
| + |
| + str = bt_malloc(18); |
| + if (str == NULL) |
| + return NULL; |
| + |
| + ba2str(&adapter_bdaddr, str); |
| + return str; |
| +} |
| + |
| static void manager_remove_adapter(struct btd_adapter *adapter) |
| { |
| uint16_t dev_id = adapter_get_dev_id(adapter); |
| diff --git a/src/manager.h b/src/manager.h |
| index 264cd25..7df882e 100644 |
| --- a/src/manager.h |
| +++ b/src/manager.h |
| @@ -36,6 +36,7 @@ const char *manager_get_base_path(void); |
| struct btd_adapter *manager_find_adapter(const bdaddr_t *sba); |
| struct btd_adapter *manager_find_adapter_by_id(int id); |
| struct btd_adapter *manager_get_default_adapter(void); |
| +char *btd_manager_get_default_adapter_address_str(void); |
| void manager_foreach_adapter(adapter_cb func, gpointer user_data); |
| GSList *manager_get_adapters(void); |
| struct btd_adapter *btd_manager_register_adapter(int id, gboolean up); |
| -- |
| 1.7.10 |
| |