extern "C" {
#endif
-// TODO
-#define WIFI_AWARE_HANDLE_LOCK
-#define WIFI_AWARE_HANDLE_UNLOCK
-
-typedef struct {
- int client_id;
- wifi_aware_enabled_cb enabled_cb;
- void *enabled_cb_data;
- GHashTable *peer_map;
-} wifi_aware_s;
-
const char *_wifi_aware_convert_error_type_to_string(wifi_aware_error_e err);
-int _wifi_aware_handle_create(wifi_aware_h *wifi_aware);
+bool _wifi_aware_is_initialized();
int _wifi_aware_init();
-void _add_enabled_callback(wifi_aware_h wifi_aware, wifi_aware_enabled_cb callback, void *user_data);
-int _wifi_aware_enable_request(wifi_aware_h wifi_aware);
-int _wifi_aware_is_enabled(wifi_aware_h wifi_aware);
-int _wifi_aware_disable_request(wifi_aware_h wifi_aware);
+void _add_enabled_callback(wifi_aware_enabled_cb callback, void *user_data);
+int _wifi_aware_enable_request();
+int _wifi_aware_is_enabled();
+int _wifi_aware_disable_request();
-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_create(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);
{
wifi_aware_peer_s *peer_handle = (wifi_aware_peer_s *)g_try_malloc0(sizeof(wifi_aware_peer_s));
RET_VAL_IF(peer_handle == NULL, WIFI_AWARE_ERROR_OUT_OF_MEMORY, "g_try_malloc0 failed");
- peer_handle->client_id = -1;
++
+ peer_handle->id = peer_id;
*peer = peer_handle;
return WIFI_AWARE_ERROR_NONE;
}
__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),
+ __get_client_id(),
+ pub_sub_id,
_wifi_aware_peer_get_id(peer),
message, len,
__send_message_reply,