Add pub_sub_id as dbus parameter to identify sending message
authorSeonah Moon <seonah1.moon@samsung.com>
Tue, 25 Feb 2020 11:32:31 +0000 (20:32 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Tue, 25 Feb 2020 11:32:31 +0000 (20:32 +0900)
src/include/wifi-aware-gdbus.h
src/include/wifi-aware-private.h
src/wifi-aware-gdbus.c
src/wifi-aware-private.c

index e556c2d..6baec82 100644 (file)
@@ -71,7 +71,7 @@ int wifi_aware_gdbus_update_subscribe(wifi_aware_session_h session,
                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
index 4406a87..2d9c6c2 100644 (file)
@@ -50,6 +50,7 @@ int _wifi_aware_disable_request(wifi_aware_h wifi_aware);
 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);
index 3adae10..424e6df 100644 (file)
@@ -345,8 +345,8 @@ static GVariant *__create_update_subscribe_request_param(int client_id,
        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;
@@ -355,7 +355,7 @@ static GVariant *__create_followup_request_param(int client_id, unsigned int pee
        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;
 }
@@ -599,7 +599,7 @@ int wifi_aware_gdbus_update_subscribe(wifi_aware_session_h session,
 }
 
 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)
 {
@@ -607,7 +607,7 @@ int wifi_aware_gdbus_followup(wifi_aware_session_h session,
        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);
 
index fd6a36b..227d911 100644 (file)
@@ -990,11 +990,18 @@ int _wifi_aware_send_message(wifi_aware_session_h session,
        __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,