Move publish_id and subscribe_id to wifi_aware_session_s as pub_sub_id
authorCheoleun Moon <chleun.moon@samsung.com>
Tue, 3 Mar 2020 07:03:43 +0000 (16:03 +0900)
committerCheoleun Moon <chleun.moon@samsung.com>
Tue, 3 Mar 2020 07:03:43 +0000 (16:03 +0900)
src/include/wifi-aware-private.h
src/wifi-aware-data-path.c
src/wifi-aware-private.c

index c391d67..12ed62b 100644 (file)
@@ -41,7 +41,7 @@ int _wifi_aware_disable_request();
 int _wifi_aware_session_handle_create(wifi_aware_session_type_e session_type, wifi_aware_session_h *session_handle);
 void _wifi_aware_session_handle_destroy(wifi_aware_session_h session_handle);
 wifi_aware_session_type_e _wifi_aware_session_get_type(wifi_aware_session_h session_handle);
-uint16_t _wifi_aware_session_get_pubsub_id(wifi_aware_session_h session);
+uint16_t _wifi_aware_session_get_pub_sub_id(wifi_aware_session_h session);
 
 int _wifi_aware_publish_handle_create(wifi_aware_publish_h *publish);
 void _wifi_aware_publish_request_set_default_values(wifi_aware_publish_h publish);
index 868cdc4..cd51fee 100644 (file)
@@ -261,7 +261,7 @@ int _wifi_aware_data_path_open(wifi_aware_data_path_h data_path,
        switch (ndp->security_type) {
        case WIFI_AWARE_SECURITY_TYPE_OPEN:
                return wifi_aware_gdbus_ndp_open(data_path,
-                               _wifi_aware_session_get_pubsub_id(ndp->session),
+                               _wifi_aware_session_get_pub_sub_id(ndp->session),
                                _wifi_aware_peer_get_id(ndp->peer),
                                ndp->role,
                                ndp->specific_info,
@@ -269,7 +269,7 @@ int _wifi_aware_data_path_open(wifi_aware_data_path_h data_path,
                                __data_path_open_reply);
        case WIFI_AWARE_SECURITY_TYPE_PSK:
                return wifi_aware_gdbus_ndp_psk(data_path,
-                               _wifi_aware_session_get_pubsub_id(ndp->session),
+                               _wifi_aware_session_get_pub_sub_id(ndp->session),
                                _wifi_aware_peer_get_id(ndp->peer),
                                ndp->role,
                                ndp->specific_info,
@@ -278,7 +278,7 @@ int _wifi_aware_data_path_open(wifi_aware_data_path_h data_path,
                                __data_path_open_reply);
        case WIFI_AWARE_SECURITY_TYPE_PMK:
                return wifi_aware_gdbus_ndp_pmk(data_path,
-                               _wifi_aware_session_get_pubsub_id(ndp->session),
+                               _wifi_aware_session_get_pub_sub_id(ndp->session),
                                _wifi_aware_peer_get_id(ndp->peer),
                                ndp->role,
                                ndp->specific_info,
@@ -304,7 +304,7 @@ int _wifi_aware_data_path_close(wifi_aware_data_path_h data_path)
        wifi_aware_data_path_s *ndp = (wifi_aware_data_path_s *)data_path;
        ret = wifi_aware_gdbus_ndp_close(data_path,
                                __data_path_get_ndp_id(data_path),
-                               _wifi_aware_session_get_pubsub_id(ndp->session),
+                               _wifi_aware_session_get_pub_sub_id(ndp->session),
                                _wifi_aware_peer_get_id(ndp->peer));
        __data_path_close(data_path);
        return ret;
index 8f822c1..f591df4 100644 (file)
@@ -61,16 +61,15 @@ typedef struct {
 } wifi_aware_s;
 
 typedef struct {
-       uint16_t publish_id;
     wifi_aware_publish_request_s req;
 } wifi_aware_publish_s;
 
 typedef struct {
-       uint16_t subscribe_id;
     wifi_aware_subscribe_request_s req;
 } wifi_aware_subscribe_s;
 
 typedef struct {
+       uint16_t pub_sub_id;
        wifi_aware_session_type_e session_type;
        wifi_aware_publish_s *publish_config;
        wifi_aware_subscribe_s *subscribe_config;
@@ -213,12 +212,6 @@ static int __is_subscribe_session(wifi_aware_session_h session_handle)
        return session->session_type == WIFI_AWARE_SESSION_SUBSCRIBE;
 }
 
-static wifi_aware_publish_s *__session_get_publish_config(wifi_aware_session_h session_handle)
-{
-       wifi_aware_session_s *session = (wifi_aware_session_s *)session_handle;
-       return session->publish_config;
-}
-
 static wifi_aware_subscribe_s *__session_get_subscribe_config(wifi_aware_session_h session_handle)
 {
        wifi_aware_session_s *session = (wifi_aware_session_s *)session_handle;
@@ -266,18 +259,16 @@ static void __session_add_published_callback(wifi_aware_session_h session,
     handle->published_cb_data = user_data;
 }
 
-static int __is_published(wifi_aware_publish_h publish)
+static int __is_published(wifi_aware_session_h session)
 {
-       RET_VAL_IF(publish == NULL, 0, "wifi_aware_publish_h is NULL");
-       wifi_aware_publish_s *handle = (wifi_aware_publish_s *)publish;
-       return handle->publish_id > 0;
+    wifi_aware_session_s *handle = (wifi_aware_session_s *)session;
+       return handle->session_type == WIFI_AWARE_SESSION_PUBLISH && handle->pub_sub_id > 0;
 }
 
-static void __wifi_aware_publish_set_id(wifi_aware_publish_h publish, uint16_t publish_id)
+static void __session_set_pub_sub_id(wifi_aware_session_h session, uint16_t pub_sub_id)
 {
-       RET_IF(publish == NULL, "wifi_aware_publish_h is NULL");
-       wifi_aware_publish_s *handle = (wifi_aware_publish_s *)publish;
-       handle->publish_id = publish_id;
+    wifi_aware_session_s *handle = (wifi_aware_session_s *)session;
+       handle->pub_sub_id = pub_sub_id;
 }
 
 static void __wifi_aware_publish_invoke_callback(wifi_aware_session_h session,
@@ -349,7 +340,7 @@ static void __publish_request_reply(GObject *src, GAsyncResult *res, gpointer us
        error = __get_dbus_result(src, res, &publish_id);
 
        __session_set_requested(session, false);
-       __wifi_aware_publish_set_id(__session_get_publish_config(session), publish_id);
+       __session_set_pub_sub_id(session, publish_id);
        __wifi_aware_publish_invoke_callback(session, error);
 }
 
@@ -361,11 +352,10 @@ static void __session_add_subscribed_callback(wifi_aware_session_h session,
     handle->subscribed_cb_data = user_data;
 }
 
-static int __is_subscribed(wifi_aware_subscribe_h subscribe)
+static int __is_subscribed(wifi_aware_session_h session)
 {
-       RET_VAL_IF(subscribe == NULL, 0, "wifi_aware_subscribe_h is NULL");
-       wifi_aware_subscribe_s *handle = (wifi_aware_subscribe_s *)subscribe;
-       return handle->subscribe_id > 0;
+    wifi_aware_session_s *handle = (wifi_aware_session_s *)session;
+       return handle->session_type == WIFI_AWARE_SESSION_SUBSCRIBE && handle->pub_sub_id > 0;
 }
 
 static void __wifi_aware_subscribe_invoke_callback(wifi_aware_session_h session, wifi_aware_error_e error)
@@ -377,12 +367,6 @@ static void __wifi_aware_subscribe_invoke_callback(wifi_aware_session_h session,
                handle->subscribed_cb(session, error, handle->subscribed_cb_data);
 }
 
-static void __wifi_aware_subscribe_set_id(wifi_aware_subscribe_h subscribe, uint16_t subscribe_id)
-{
-       wifi_aware_subscribe_s *handle = (wifi_aware_subscribe_s *)subscribe;
-       handle->subscribe_id = subscribe_id;
-}
-
 wifi_aware_subscribe_request_s *_wifi_aware_subscribe_get_request(wifi_aware_subscribe_h subscribe)
 {
        RET_VAL_IF(subscribe == NULL, NULL, "wifi_aware_subscribe_h is NULL");
@@ -403,7 +387,7 @@ static void __subscribe_request_reply(GObject *src, GAsyncResult *res, gpointer
        error = __get_dbus_result(src, res, &subscribe_id);
 
        __session_set_requested(session, false);
-       __wifi_aware_subscribe_set_id(__session_get_subscribe_config(session), subscribe_id);
+       __session_set_pub_sub_id(session, subscribe_id);
        __wifi_aware_subscribe_invoke_callback(session, error);
 }
 
@@ -412,7 +396,7 @@ uint16_t _wifi_aware_session_get_publish_id(wifi_aware_session_h session)
        RET_VAL_IF(session == NULL, 0, "wifi_aware_session_h is NULL");
        RET_VAL_IF(!__is_publish_session(session), 0,
                        "This session is not for Publish");
-       return __session_get_publish_config(session)->publish_id;
+       return _wifi_aware_session_get_pub_sub_id(session);
 }
 
 uint16_t _wifi_aware_session_get_subscribe_id(wifi_aware_session_h session)
@@ -420,12 +404,13 @@ uint16_t _wifi_aware_session_get_subscribe_id(wifi_aware_session_h session)
        RET_VAL_IF(session == NULL, 0, "wifi_aware_session_h is NULL");
        RET_VAL_IF(!__is_subscribe_session(session), 0,
                        "This session is not for Subscribe");
-       return __session_get_subscribe_config(session)->subscribe_id;
+       return _wifi_aware_session_get_pub_sub_id(session);
 }
 
-uint16_t _wifi_aware_session_get_pubsub_id(wifi_aware_session_h session)
+uint16_t _wifi_aware_session_get_pub_sub_id(wifi_aware_session_h session)
 {
-       return 0;
+    wifi_aware_session_s *handle = (wifi_aware_session_s *)session;
+       return handle->pub_sub_id;
 }
 
 static int __wifi_aware_create()
@@ -563,7 +548,6 @@ int _wifi_aware_publish_handle_create(wifi_aware_publish_h *publish)
 void _wifi_aware_publish_request_set_default_values(wifi_aware_publish_h publish)
 {
     wifi_aware_publish_s *handle = (wifi_aware_publish_s *)publish;
-       handle->publish_id = 0;
        handle->req.ttl = 0;
        handle->req.publish_type = WIFI_AWARE_PUBLISH_TYPE_UNSOLICITED;
        //memset(req->specific_info[WIFI_AWARE_MAX_SERVICE_SPECIFIC_INFO_LEN], 0, WIFI_AWARE_MAX_SERVICE_SPECIFIC_INFO_LEN);
@@ -713,7 +697,6 @@ void _wifi_aware_subscribe_set_default_values(
                wifi_aware_subscribe_h subscribe)
 {
     wifi_aware_subscribe_s *handle = (wifi_aware_subscribe_s *)subscribe;
-       handle->subscribe_id = 0;
        handle->req.ttl = 0;
        handle->req.subscribe_type = WIFI_AWARE_SUBSCRIBE_TYPE_PASSIVE;
        //memset(req->specific_info[WIFI_AWARE_MAX_SERVICE_SPECIFIC_INFO_LEN], 0, WIFI_AWARE_MAX_SERVICE_SPECIFIC_INFO_LEN);
@@ -946,8 +929,9 @@ static void __service_discovered_cb(GDBusConnection *connection,
                        &sub_id, &peer_id,
                        specific_info, &specific_info_len);
 
-       if (sub_id == 0 || subscribe_config->subscribe_id != sub_id) {
-               WIFI_AWARE_LOGE("Invalid subscribe ID (%u:%u)", subscribe_config->subscribe_id, sub_id);
+       uint16_t session_pub_sub_id = _wifi_aware_session_get_pub_sub_id(session);
+       if (sub_id == 0 || session_pub_sub_id != sub_id) {
+               WIFI_AWARE_LOGE("Invalid subscribe ID (%u:%u)", session_pub_sub_id, sub_id);
                return;
        }
 
@@ -1106,9 +1090,7 @@ int _wifi_aware_send_message(wifi_aware_session_h session,
        wifi_aware_message_s *message_data = __create_message_data(session, callback, user_data);
        RET_VAL_IF(message == NULL, WIFI_AWARE_ERROR_OUT_OF_MEMORY, "__create_cb_data fails");
 
-       pub_sub_id = __is_publish_session(session) ?
-               _wifi_aware_session_get_publish_id(session) :
-               _wifi_aware_session_get_subscribe_id(session);
+       pub_sub_id = _wifi_aware_session_get_pub_sub_id(session);
 
        return wifi_aware_gdbus_followup(
                        session,