Add wifi_aware_unset_service_discovered_cb
authorCheoleun Moon <chleun.moon@samsung.com>
Tue, 25 Feb 2020 09:51:43 +0000 (18:51 +0900)
committerCheoleun Moon <chleun.moon@samsung.com>
Tue, 25 Feb 2020 09:51:43 +0000 (18:51 +0900)
include/wifi-aware.h
src/include/wifi-aware-private.h
src/wifi-aware-private.c
src/wifi-aware.c
test/wifi-aware-test.c

index fe9d184..fe34204 100644 (file)
@@ -513,7 +513,7 @@ int wifi_aware_session_update_subscribe(wifi_aware_session_h session,
  * @return     0 on success, otherwise a negative error value
  * @retval     #WIFI_AWARE_ERROR_NONE
  */
-typedef void(*wifi_aware_discovery_result_cb)(wifi_aware_session_h session,
+typedef void(*wifi_aware_service_discovered_cb)(wifi_aware_session_h session,
                wifi_aware_peer_h peer,
                unsigned char *service_specific_info, size_t service_specific_info_len,
                void *user_data);
@@ -527,8 +527,8 @@ typedef void(*wifi_aware_discovery_result_cb)(wifi_aware_session_h session,
  * @return     0 on success, otherwise a negative error value
  * @retval     #WIFI_AWARE_ERROR_NONE
  */
-int wifi_aware_set_discovery_result_cb(wifi_aware_session_h session,
-               wifi_aware_discovery_result_cb callback, void *user_data);
+int wifi_aware_set_service_discovered_cb(wifi_aware_session_h session,
+               wifi_aware_service_discovered_cb callback, void *user_data);
 
 /**
  * @brief
index f99fd76..4406a87 100644 (file)
@@ -63,10 +63,6 @@ void _wifi_aware_publish_set_match_filter(wifi_aware_publish_h publish,
                unsigned char *match_filter, size_t len);
 void _wifi_aware_publish_set_enable_termination_event(wifi_aware_publish_h publish, bool enable);
 void _wifi_aware_publish_set_enable_ranging(wifi_aware_publish_h publish,      bool enable);
-int _wifi_aware_publish_request(wifi_aware_session_h session, wifi_aware_publish_h publish,
-               wifi_aware_published_cb callback, void *user_data);
-int _wifi_aware_update_publish_request(wifi_aware_session_h session, wifi_aware_publish_h publish,
-               wifi_aware_published_cb callback, void *user_data);
 wifi_aware_publish_request_s *_wifi_aware_publish_get_request(wifi_aware_publish_h publish_handle);
 unsigned int _wifi_aware_session_get_publish_id(wifi_aware_session_h session);
 
@@ -81,17 +77,22 @@ void _wifi_aware_subscribe_set_service_specific_info(wifi_aware_subscribe_h subs
 void _wifi_aware_subscribe_set_match_filter(wifi_aware_subscribe_h subscribe,
                unsigned char *match_filter, size_t len);
 void _wifi_aware_subscribe_set_enable_termination_event(wifi_aware_subscribe_h subscribe, bool enable);
+wifi_aware_subscribe_request_s *_wifi_aware_subscribe_get_request(wifi_aware_subscribe_h subscribe_handle);
+unsigned int _wifi_aware_session_get_subscribe_id(wifi_aware_session_h session);
+
+int _wifi_aware_publish_request(wifi_aware_session_h session, wifi_aware_publish_h publish,
+               wifi_aware_published_cb callback, void *user_data);
+int _wifi_aware_update_publish_request(wifi_aware_session_h session, wifi_aware_publish_h publish,
+               wifi_aware_published_cb callback, void *user_data);
 int _wifi_aware_subscribe_request(wifi_aware_session_h session, wifi_aware_subscribe_h subscribe,
                wifi_aware_subscribed_cb callback, void *user_data);
 int _wifi_aware_update_subscribe_request(wifi_aware_session_h session, wifi_aware_subscribe_h subscribe,
                wifi_aware_subscribed_cb callback, void *user_data);
-wifi_aware_subscribe_request_s *_wifi_aware_subscribe_get_request(wifi_aware_subscribe_h subscribe_handle);
-unsigned int _wifi_aware_session_get_subscribe_id(wifi_aware_session_h session);
-
 int _wifi_aware_session_cancel(wifi_aware_session_h session);
 
-void _wifi_aware_set_discovery_result_cb(wifi_aware_session_h session,
-               wifi_aware_discovery_result_cb callback, void *user_data);
+void _wifi_aware_set_service_discovered_cb(wifi_aware_session_h session,
+               wifi_aware_service_discovered_cb callback, void *user_data);
+void _wifi_aware_unset_service_discovered_cb(wifi_aware_session_h session);
 
 int _wifi_aware_send_message(wifi_aware_session_h session, wifi_aware_peer_h peer,
                unsigned char *message, size_t len,
index b4cc59b..fd6a36b 100644 (file)
@@ -76,7 +76,7 @@ typedef struct {
        wifi_aware_subscribed_cb subscribed_cb;
        void *subscribed_cb_data;
 
-       wifi_aware_discovery_result_cb discovered_cb;
+       wifi_aware_service_discovered_cb discovered_cb;
        void *discovered_cb_data;
        guint discovered_signal_id;
 
@@ -228,13 +228,9 @@ static wifi_aware_subscribe_s *__session_get_subscribe_config(wifi_aware_session
        return session->subscribe_config;
 }
 
-static void __session_deregister_signals(wifi_aware_session_h session_handle)
+static void __session_deregister_signals(wifi_aware_session_h session)
 {
-       wifi_aware_session_s *session = (wifi_aware_session_s *)session_handle;
-       if (session->discovered_signal_id > 0)
-               wifi_aware_gdbus_deregister_signal(session->discovered_signal_id);
-       if (session->received_signal_id > 0)
-               wifi_aware_gdbus_deregister_signal(session->received_signal_id);
+       _wifi_aware_unset_service_discovered_cb(session);
 }
 
 static void __enable_request_reply(GObject *src, GAsyncResult *res, gpointer user_data)
@@ -909,8 +905,8 @@ static void __service_discovered_cb(GDBusConnection *connection,
        __wifi_aware_discovered_cb(session, peer, specific_info, specific_info_len);
 }
 
-void _wifi_aware_set_discovery_result_cb(wifi_aware_session_h session,
-               wifi_aware_discovery_result_cb callback, void *user_data)
+void _wifi_aware_set_service_discovered_cb(wifi_aware_session_h session,
+               wifi_aware_service_discovered_cb callback, void *user_data)
 {
        __WIFI_AWARE_FUNC_ENTER__;
        RET_IF(!__is_subscribe_session(session), "This session is not for Subscribe");
@@ -923,6 +919,19 @@ void _wifi_aware_set_discovery_result_cb(wifi_aware_session_h session,
                                __service_discovered_cb, session);
 }
 
+void _wifi_aware_unset_service_discovered_cb(wifi_aware_session_h session)
+{
+       __WIFI_AWARE_FUNC_ENTER__;
+       RET_IF(!__is_subscribe_session(session), "This session is not for Subscribe");
+
+    wifi_aware_session_s *handle = (wifi_aware_session_s *)session;
+       handle->discovered_cb = NULL;
+       handle->discovered_cb_data = NULL;
+       if (handle->discovered_signal_id > 0)
+               wifi_aware_gdbus_deregister_signal(handle->discovered_signal_id);
+       handle->discovered_signal_id = 0;
+}
+
 wifi_aware_message_s *__create_message_data(wifi_aware_session_h session,
                wifi_aware_send_message_result_cb cb, void *user_data)
 {
index 5fd1ac0..4d73b97 100644 (file)
@@ -489,14 +489,27 @@ API int wifi_aware_session_update_subscribe(wifi_aware_session_h session,
        return WIFI_AWARE_ERROR_NONE;
 }
 
-API int wifi_aware_set_discovery_result_cb(wifi_aware_session_h session,
-               wifi_aware_discovery_result_cb callback, void *user_data)
+API int wifi_aware_set_service_discovered_cb(wifi_aware_session_h session,
+               wifi_aware_service_discovered_cb callback, void *user_data)
 {
        __WIFI_AWARE_FUNC_ENTER__;
        CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
        RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
 
-       _wifi_aware_set_discovery_result_cb(session, callback, user_data);
+       _wifi_aware_set_service_discovered_cb(session, callback, user_data);
+
+       __WIFI_AWARE_FUNC_EXIT__;
+       return WIFI_AWARE_ERROR_NONE;
+}
+
+API int wifi_aware_unset_service_discovered_cb(wifi_aware_session_h session,
+               wifi_aware_service_discovered_cb callback, void *user_data)
+{
+       __WIFI_AWARE_FUNC_ENTER__;
+       CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
+       RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
+
+       _wifi_aware_unset_service_discovered_cb(session);
 
        __WIFI_AWARE_FUNC_EXIT__;
        return WIFI_AWARE_ERROR_NONE;
index 9fb0179..065d48f 100644 (file)
@@ -538,7 +538,7 @@ static void __subscribed_cb(wifi_aware_session_h session,
                printf("Subscirbe Request fails. Error: %s\n", __print_error(error));
 }
 
-static void __discovery_result_cb(wifi_aware_session_h session,
+static void __service_discovered_cb(wifi_aware_session_h session,
                wifi_aware_peer_h peer,
                unsigned char *service_specific_info, size_t service_specific_info_len,
                void *user_data)
@@ -610,8 +610,8 @@ void test_subscribe()
        ret = wifi_aware_subscribe_create(&g_subscribe_handle);
        __print_result(ret, "wifi_aware_subscribe_create");
 
-       ret = wifi_aware_set_discovery_result_cb(g_wifi_aware_session, __discovery_result_cb, NULL);
-       __print_result(ret, "wifi_aware_set_discovery_result_cb");
+       ret = wifi_aware_set_service_discovered_cb(g_wifi_aware_session, __service_discovered_cb, NULL);
+       __print_result(ret, "wifi_aware_set_service_discovered_cb");
 
        __set_subscribe_config(g_subscribe_handle);