if (dev_property_callback_flags ^ DEV_PROP_FLAG_AUTH)
bluez_device_unset_trusted_changed_cb(device);
+
+ if (dev_property_callback_flags ^ DEV_PROP_FLAG_PANU_CONNECT)
+ bluez_device_network_unset_connected_changed_cb(device);
}
static void foreach_device_property_callback(GList *list, unsigned int flag)
return BT_SUCCESS;
}
+
+int bt_panu_unset_connection_state_changed_cb(void)
+{
+ GList *list;
+ DBG("");
+
+ if (initialized == false)
+ return BT_ERROR_NOT_INITIALIZED;
+
+ if (default_adapter == NULL)
+ return BT_ERROR_ADAPTER_NOT_FOUND;
+
+ if (!panu_state_node)
+ return BT_SUCCESS;
+
+ dev_property_callback_flags &= ~DEV_PROP_FLAG_PANU_CONNECT;
+
+ list = bluez_adapter_get_devices(default_adapter);
+ foreach_device_property_callback(list, DEV_PROP_FLAG_PANU_CONNECT);
+
+ g_free(panu_state_node);
+ panu_state_node = NULL;
+
+ return BT_SUCCESS;
+}
return 0;
}
+static int panu_unset_state_changed(const char *p1, const char *p2)
+{
+ int ret;
+
+ ret = bt_panu_unset_connection_state_changed_cb();
+ if (ret != BT_SUCCESS) {
+ ERROR("unset_panu_connected_callback error: %d", ret);
+ return 0;
+ }
+
+ return 0;
+}
+
static int panu_connect(const char *p1, const char *p2)
{
int ret;
{"panu_set_state_changed", panu_set_state_changed,
"Usage: panu_set_state_changed\n\tset panu state changed callback"},
+ {"panu_unset_state_changed", panu_unset_state_changed,
+ "Usage: panu_unset_state_changed\n\tunset panu state changed callback"},
+
{"panu_connect", panu_connect,
"Usage: panu_connect 70:F9:27:64:DF:65\n\tconnect address for panu"},