From 4abb85a242d714eeb85c6af362183e45e9d6c3cc Mon Sep 17 00:00:00 2001 From: Seonah Moon Date: Wed, 19 Feb 2020 21:07:35 +0900 Subject: [PATCH] Remove disable_cb() change disable function to sync --- include/wifi-aware.h | 16 +------------ src/include/wifi-aware-gdbus.h | 2 +- src/include/wifi-aware-private.h | 4 ---- src/wifi-aware-gdbus.c | 26 ++++++++++++++------- src/wifi-aware-private.c | 50 +--------------------------------------- src/wifi-aware.c | 5 +--- test/wifi-aware-test.c | 10 +------- 7 files changed, 23 insertions(+), 90 deletions(-) diff --git a/include/wifi-aware.h b/include/wifi-aware.h index ae89988..ba1477a 100644 --- a/include/wifi-aware.h +++ b/include/wifi-aware.h @@ -383,27 +383,13 @@ int wifi_aware_enable(wifi_aware_h wifi_aware, wifi_aware_enabled_cb callback, void *user_data); /** - * @brief - * @since_tizen 6.0 - * @param[in] error - * @param[in] user_data - * @return 0 on success, otherwise a negative error value - * @retval #WIFI_AWARE_ERROR_NONE - */ -typedef void(*wifi_aware_disabled_cb)(wifi_aware_error_e error, void *user_data); - -/** * @brief Disable Wi-Fi Aware functions. - * @remark If Wi-Fi Aware has not been enabled, an error is immediately returend without invoking the callback. * @since_tizen 6.0 * @param[in] wifi_aware The handle for the Wi-Fi aware - * @param[in] callback The result of disable request is asynchrously delivered - * @param[in] user_data User data * @return 0 on success, otherwise a negative error value * @retval #WIFI_AWARE_ERROR_NONE */ -int wifi_aware_disable(wifi_aware_h wifi_aware, - wifi_aware_disabled_cb callback, void *user_data); +int wifi_aware_disable(wifi_aware_h wifi_aware); /** * @brief This callback delivers the result of a Publish request. diff --git a/src/include/wifi-aware-gdbus.h b/src/include/wifi-aware-gdbus.h index 22278d1..4cecab4 100644 --- a/src/include/wifi-aware-gdbus.h +++ b/src/include/wifi-aware-gdbus.h @@ -57,7 +57,7 @@ guint wifi_aware_gdbus_register_signal(wifi_aware_signal_e signal, int wifi_aware_gdbus_enable(wifi_aware_h wifi_aware, wifi_aware_enable_request_s *req, GAsyncReadyCallback cb); -int wifi_aware_gdbus_disable(wifi_aware_h wifi_aware, int client_id, GAsyncReadyCallback cb); +int wifi_aware_gdbus_disable(wifi_aware_h wifi_aware, int client_id); int wifi_aware_gdbus_publish(wifi_aware_publish_h publish, int client_id, GAsyncReadyCallback cb); int wifi_aware_gdbus_cancel_publish(wifi_aware_publish_h publish, int client_id); int wifi_aware_gdbus_update_publish(wifi_aware_publish_h publish, int client_id, GAsyncReadyCallback cb); diff --git a/src/include/wifi-aware-private.h b/src/include/wifi-aware-private.h index da4c714..92bccb6 100644 --- a/src/include/wifi-aware-private.h +++ b/src/include/wifi-aware-private.h @@ -35,8 +35,6 @@ typedef struct { int client_id; wifi_aware_enabled_cb enabled_cb; void *enabled_cb_data; - wifi_aware_disabled_cb disabled_cb; - void *disabled_cb_data; GHashTable *peer_map; } wifi_aware_s; @@ -47,8 +45,6 @@ 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); - -void _add_disabled_callback(wifi_aware_h wifi_aware, wifi_aware_disabled_cb callback, void *user_data); int _wifi_aware_disable_request(wifi_aware_h wifi_aware); int _wifi_aware_publish_handle_create(wifi_aware_h wifi_aware, wifi_aware_publish_h *publish); diff --git a/src/wifi-aware-gdbus.c b/src/wifi-aware-gdbus.c index 789f5e3..3de117e 100644 --- a/src/wifi-aware-gdbus.c +++ b/src/wifi-aware-gdbus.c @@ -367,21 +367,31 @@ int wifi_aware_gdbus_enable(wifi_aware_h wifi_aware, return ret; } -int wifi_aware_gdbus_disable(wifi_aware_h wifi_aware, int client_id, GAsyncReadyCallback cb) +// Should this need to be unified? +// It is the same as __handle_cancel_*_reply(). +static int __handle_disable_reply(GVariant *reply) +{ + int error; + g_variant_get(reply, "(i)", &error); + WIFI_AWARE_LOGI("Reply for Disable %d", error); + return error; +} + +int wifi_aware_gdbus_disable(wifi_aware_h wifi_aware, int client_id) { __WIFI_AWARE_FUNC_ENTER__; int ret = WIFI_AWARE_ERROR_NONE; + GVariant *reply = NULL; - ret = __wifi_aware_dbus_method_call_async( + ret = __wifi_aware_dbus_method_call_sync( WIFI_AWARE_DISCOVERY_INTERFACE, WIFI_AWARE_DISCOVERY_PATH, - "Disable", g_variant_new("(i)", client_id), cb, wifi_aware); + "Disable", g_variant_new("(i)", client_id), &reply); - if (ret != WIFI_AWARE_ERROR_NONE) { - WIFI_AWARE_LOGE("wifi_aware_dbus_method_call_async() failed"); - __WIFI_AWARE_FUNC_EXIT__; - return ret; - } + RET_VAL_IF(ret != WIFI_AWARE_ERROR_NONE, ret, "Disable failed"); + + ret = __handle_disable_reply(reply); + g_variant_unref(reply); __WIFI_AWARE_FUNC_EXIT__; return ret; diff --git a/src/wifi-aware-private.c b/src/wifi-aware-private.c index db0328c..cc5228f 100644 --- a/src/wifi-aware-private.c +++ b/src/wifi-aware-private.c @@ -204,44 +204,6 @@ static void __enable_request_reply(GObject *src, GAsyncResult *res, gpointer use aware->enabled_cb(error, aware->enabled_cb_data); } -static wifi_aware_error_e __parse_disable_reply(GVariant *reply, wifi_aware_s *aware) -{ - int ret; - wifi_aware_error_e error; - - g_variant_get(reply, "(i)", &ret); - error = _wifi_aware_convert_nan_manager_error(ret); - if (error == WIFI_AWARE_ERROR_NONE) - aware->client_id = -1; // reset client_id - - return error; -} - -static void __disable_request_reply(GObject *src, GAsyncResult *res, gpointer user_data) -{ - GDBusConnection *conn = NULL; - GError *dbus_error = NULL; - GVariant *reply = NULL; - wifi_aware_s *aware = (wifi_aware_s *)user_data; - wifi_aware_error_e error = WIFI_AWARE_ERROR_NONE; - - WIFI_AWARE_LOGI("Reply for Disable Request"); - - conn = G_DBUS_CONNECTION(src); - reply = g_dbus_connection_call_finish(conn, res, &dbus_error); - - if (dbus_error != NULL) { - WIFI_AWARE_LOGE("Disable Request failure: %s", dbus_error->message); - error = _wifi_aware_convert_error_string_to_enum(dbus_error->message); - g_error_free(dbus_error); - } - - error = __parse_disable_reply(reply, aware); - - if (aware->disabled_cb) - aware->disabled_cb(error, aware->enabled_cb_data); -} - static void __add_published_callback(wifi_aware_publish_h publish, wifi_aware_published_cb callback, void *user_data) { @@ -429,20 +391,10 @@ int _wifi_aware_is_enabled(wifi_aware_h wifi_aware) return (aware->client_id >= 0 ? 1 : 0); } -void _add_disabled_callback(wifi_aware_h wifi_aware, - wifi_aware_disabled_cb callback, void *user_data) -{ - wifi_aware_s *aware = (wifi_aware_s *)wifi_aware; - aware->disabled_cb = callback; - aware->disabled_cb_data = user_data; -} - int _wifi_aware_disable_request(wifi_aware_h wifi_aware) { wifi_aware_s *aware = (wifi_aware_s *)wifi_aware; - return wifi_aware_gdbus_disable(wifi_aware, - aware->client_id, - __disable_request_reply); + return wifi_aware_gdbus_disable(wifi_aware, aware->client_id); } int _wifi_aware_publish_handle_create(wifi_aware_h wifi_aware, wifi_aware_publish_h *publish) diff --git a/src/wifi-aware.c b/src/wifi-aware.c index 5eedd7f..68d8b33 100644 --- a/src/wifi-aware.c +++ b/src/wifi-aware.c @@ -84,8 +84,7 @@ API int wifi_aware_enable(wifi_aware_h wifi_aware, return WIFI_AWARE_ERROR_NONE; } -API int wifi_aware_disable(wifi_aware_h wifi_aware, - wifi_aware_disabled_cb callback, void *user_data) +API int wifi_aware_disable(wifi_aware_h wifi_aware) { int ret = WIFI_AWARE_ERROR_NONE; @@ -96,8 +95,6 @@ API int wifi_aware_disable(wifi_aware_h wifi_aware, WIFI_AWARE_ERROR_INVALID_OPERATION, "_wifi_aware_is_enabled"); - _add_disabled_callback(wifi_aware, callback, user_data); - ret = _wifi_aware_disable_request(wifi_aware); RET_VAL_IF(ret != WIFI_AWARE_ERROR_NONE, ret, "_wifi_aware_disable_request"); diff --git a/test/wifi-aware-test.c b/test/wifi-aware-test.c index 0d24620..b1ec3f9 100644 --- a/test/wifi-aware-test.c +++ b/test/wifi-aware-test.c @@ -329,14 +329,6 @@ void test_enable() __print_result(ret, "wifi_aware_enable"); } -static void __disabled_cb(wifi_aware_error_e error, void *user_data) -{ - if (error == WIFI_AWARE_ERROR_NONE) - printf("Wi-Fi Aware is disabled\n"); - else - printf("Wi-Fi Aware is not disabled. Error: %s\n", __print_error(error)); -} - void test_disable() { int ret = 0; @@ -344,7 +336,7 @@ void test_disable() RET_IF_LOOP_IS_NULL(); RET_IF_HANDLE_IS_NULL(); - ret = wifi_aware_disable(g_wifi_aware_handle, __disabled_cb, NULL); + ret = wifi_aware_disable(g_wifi_aware_handle); __print_result(ret, "wifi_aware_disable"); } -- 2.7.4