NFC_DBG("power completed %d", neard_adapter->powered);
powered = (neard_adapter->powered) ? true : false;
- if (vconf_set_bool(VCONFKEY_NFC_STATE, powered) != 0)
- NFC_DBG("vconf_set_bool failed ");
if (powered == true) {
if (nfc_adapter_polling == false) {
net_nfc_manager_quit();
}
+static void _adapter_property_changed_cb(char *name, char *property,
+ void *value, void *user_data)
+{
+ bool powered;
+
+ if (!g_strcmp0(property, "Powered")) {
+ if ((int *) value == 0)
+ powered = false;
+ else
+ powered = true;
+
+ NFC_DBG("power changed %d", powered);
+ if (vconf_set_bool(VCONFKEY_NFC_STATE, powered) != 0)
+ NFC_DBG("vconf_set_bool failed ");
+ }
+}
+
static bool net_nfc_neard_nfc_support(void)
{
char **adapters = NULL;
neard_adapter->powered) != 0)
NFC_ERR("VCONFKEY_NFC_STATE set to %d failed",
neard_adapter->powered);
+
+ if (neardal_set_cb_adapter_property_changed(
+ _adapter_property_changed_cb, NULL) != NEARDAL_SUCCESS)
+ NFC_ERR("Failed to register property changed cb");
}
if (adapters)
adapters = NULL;
neard_adapter = NULL;
- neardal_destroy();
return true;
}