(struct adapter_name_cb_node *)user_data;
gchar *adapter_name = g_strdup(name);
- DBG("Name: %s", name);
-
data->cb(adapter_name, data->user_data);
g_free(adapter_name);
return BT_SUCCESS;
}
+int bt_adapter_unset_name_changed_cb(void)
+{
+ DBG("");
+
+ if (initialized == false)
+ return BT_ERROR_NOT_INITIALIZED;
+
+ if (default_adapter == NULL)
+ return BT_ERROR_ADAPTER_NOT_FOUND;
+
+ if (!adapter_name_node)
+ return BT_SUCCESS;
+
+ bluez_adapter_unset_alias_changed_cb(default_adapter);
+
+ g_free(adapter_name_node);
+ adapter_name_node = NULL;
+
+ return BT_SUCCESS;
+}
+
int bt_adapter_get_visibility(bt_adapter_visibility_mode_e *mode,
int *duration)
{
static void handle_adapter_alias_changed(GVariant *changed_properties,
struct _bluez_adapter *adapter)
{
- const gchar *alias = NULL;
+ gchar *alias = NULL;
gboolean variant_found = g_variant_lookup(changed_properties,
- "Alias", "s", alias);
+ "Alias", "s", &alias);
if (!variant_found)
return;
adapter->alias_cb(adapter,
alias,
adapter->alias_cb_data);
+
+ g_free(alias);
}
static void handle_adapter_discovering_changed(GVariant *changed_properties,
return 0;
}
+static void adapter_name_changed(char *device_name, void *user_data)
+{
+ DBG("device name changed: %s", device_name);
+}
+
+static int set_adapter_name_callback(const char *p1, const char *p2)
+{
+ int err;
+
+ err = bt_adapter_set_name_changed_cb(adapter_name_changed, NULL);
+ if (err != BT_SUCCESS) {
+ ERROR("bt_adapter_set_name_changed_cb error: %d", err);
+ return 0;
+ }
+
+ return 0;
+}
+
+static int unset_adapter_name_callback(const char *p1, const char *p2)
+{
+ int err;
+
+ err = bt_adapter_unset_name_changed_cb();
+ if (err != BT_SUCCESS) {
+ ERROR("bt_adapter_unset_name_changed_cb error: %d", err);
+ return 0;
+ }
+
+ return 0;
+}
+
static int set_adapter_visibility(const char *p1, const char *p2)
{
bt_adapter_visibility_mode_e mode;
{"set_adapter_name", set_adapter_name,
"Usage: set_adapter_name\n\tSet local adapter name"},
+ {"set_adapter_name_callback", set_adapter_name_callback,
+ "Usage: set_adapter_name_callback\n\tSet adapter changed callback"},
+
+ {"unset_adapter_name_callback", unset_adapter_name_callback,
+ "Usage: unset_adapter_name_callback\n\tUnset adapter changed callback"},
+
{"set_adapter_visibility", set_adapter_visibility,
"Usage: set_adapter_visibility 1 <1-3, No, Limit, Discoverable> duration\n\tSet adapter visibility"},