wifi_aware_subscribe_h subscribe, int client_id, GAsyncReadyCallback cb);
int wifi_aware_gdbus_followup(wifi_aware_session_h session,
- int client_id, unsigned int peer_id,
+ int client_id, unsigned int pub_sub_id, unsigned int peer_id,
unsigned char *message, size_t len,
GAsyncReadyCallback cb, void *user_data);
#ifdef __cplusplus
int _wifi_aware_session_handle_create(wifi_aware_h wifi_aware,
wifi_aware_session_type_e session_type, wifi_aware_session_h *session_handle);
int _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);
int _wifi_aware_publish_handle_create(wifi_aware_publish_h *publish);
void _wifi_aware_publish_request_set_default_values(wifi_aware_publish_h publish);
return params;
}
-static GVariant *__create_followup_request_param(int client_id, unsigned int peer_id,
- unsigned char *message, size_t len)
+static GVariant *__create_followup_request_param(int client_id, unsigned int pub_sub_id,
+ unsigned int peer_id, unsigned char *message, size_t len)
{
GVariantBuilder *builder = NULL;
GVariant *params = NULL;
g_variant_builder_add(builder, "{sv}", "message_len", g_variant_new("q", len));
g_variant_builder_add(builder, "{sv}", "message", __pack_byte_array(message, len));
- params = g_variant_new("(iua{sv})", client_id, peer_id, builder);
+ params = g_variant_new("(iuua{sv})", client_id, pub_sub_id, peer_id, builder);
g_variant_builder_unref(builder);
return params;
}
}
int wifi_aware_gdbus_followup(wifi_aware_session_h session,
- int client_id, unsigned int peer_id,
+ int client_id, unsigned int pub_sub_id, unsigned int peer_id,
unsigned char *message, size_t len,
GAsyncReadyCallback cb, void *user_data)
{
GVariant *params = NULL;
int ret = WIFI_AWARE_ERROR_NONE;
- params = __create_followup_request_param(client_id, peer_id,
+ params = __create_followup_request_param(client_id, pub_sub_id, peer_id,
message, len);
DBUS_DEBUG_VARIANT(params);
__WIFI_AWARE_FUNC_ENTER__;
RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
+ unsigned int pub_sub_id = 0;
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);
+
return wifi_aware_gdbus_followup(
session,
__session_get_client_id(session),
+ pub_sub_id,
_wifi_aware_peer_get_id(peer),
message, len,
__send_message_reply,