From: Arron Wang Date: Wed, 12 Mar 2014 12:14:47 +0000 (+0800) Subject: Add nfc power status changed callback support X-Git-Tag: accepted/tizen/generic/20140317.083658~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=81ee37c64a73ac23603473bef5b5391b376c6e5c;p=platform%2Fcore%2Fconnectivity%2Fnfc-manager-neard.git Add nfc power status changed callback support Change-Id: Ie81f54fa7117b46aa927baeac1a84c20e98489b3 --- diff --git a/client/include/net_nfc_neard.h b/client/include/net_nfc_neard.h index c122223..85acd5d 100644 --- a/client/include/net_nfc_neard.h +++ b/client/include/net_nfc_neard.h @@ -7,6 +7,9 @@ net_nfc_error_e net_nfc_neard_set_active(int state, net_nfc_client_manager_set_active_completed callback, void *user_data); +void net_nfc_neard_set_activated(net_nfc_client_manager_activated callback, + void *user_data); +void net_nfc_neard_unset_activated(void); net_nfc_error_e net_nfc_neard_initialize(void); void net_nfc_neard_deinitialize(void); diff --git a/client/net_nfc_client_manager.c b/client/net_nfc_client_manager.c index db6b2fa..427d88d 100644 --- a/client/net_nfc_client_manager.c +++ b/client/net_nfc_client_manager.c @@ -173,14 +173,12 @@ API void net_nfc_client_manager_set_activated( { RET_IF(NULL == callback); - activated_func_data.callback = callback; - activated_func_data.user_data = user_data; + net_nfc_neard_set_activated(callback, user_data); } API void net_nfc_client_manager_unset_activated(void) { - activated_func_data.callback = NULL; - activated_func_data.user_data = NULL; + net_nfc_neard_unset_activated(); } API net_nfc_error_e net_nfc_client_manager_set_active(int state, diff --git a/client/net_nfc_neard.c b/client/net_nfc_neard.c index 1df119a..a50b4c9 100644 --- a/client/net_nfc_neard.c +++ b/client/net_nfc_neard.c @@ -14,6 +14,10 @@ typedef struct _net_nfc_client_cb { net_nfc_client_manager_set_active_completed active_cb; void *active_ud; + + /* callback for power status changed */ + net_nfc_client_manager_activated activated_cb; + void *activated_ud; } net_nfc_client_cb; static net_nfc_client_cb client_cb; @@ -102,6 +106,9 @@ static void _adapter_property_changed_cb(char *name, char *property, nfc_adapter_powered = false; else nfc_adapter_powered = true; + + if (client_cb.activated_cb != NULL) + client_cb.activated_cb(nfc_adapter_powered, client_cb.activated_ud); } } @@ -173,6 +180,19 @@ net_nfc_error_e net_nfc_neard_set_active(int state, return NET_NFC_OK; } +void net_nfc_neard_set_activated(net_nfc_client_manager_activated callback, + void *user_data) +{ + client_cb.activated_cb = callback; + client_cb.activated_ud = user_data; +} + +void net_nfc_neard_unset_activated(void) +{ + client_cb.activated_cb = NULL; + client_cb.activated_ud = NULL; +} + net_nfc_error_e net_nfc_neard_cb_init(void) { if (neardal_set_cb_adapter_added(