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,
__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,
__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,
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;
} 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;
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;
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,
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);
}
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)
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");
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);
}
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)
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()
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);
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);
&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;
}
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,