From: Seonah Moon Date: Tue, 30 Aug 2022 09:21:31 +0000 (+0900) Subject: Remove duplicated codes X-Git-Tag: submit/tizen/20220905.023906^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_7.0_unified;p=platform%2Fcore%2Fapi%2Fsoftap.git Remove duplicated codes Change-Id: Id772486404f3bfe072fd71b660002b37ccc6bf58 --- diff --git a/packaging/capi-network-softap.spec b/packaging/capi-network-softap.spec index cf54ef4..13f3555 100644 --- a/packaging/capi-network-softap.spec +++ b/packaging/capi-network-softap.spec @@ -1,6 +1,6 @@ Name: capi-network-softap Summary: Softap Framework -Version: 0.1.0 +Version: 0.1.1 Release: 1 Group: System/Network License: Apache-2.0 diff --git a/src/softap.c b/src/softap.c index 0d1adcb..eaeeed3 100755 --- a/src/softap.c +++ b/src/softap.c @@ -386,6 +386,16 @@ static void __handle_softap_off(GDBusConnection *connection, const gchar *sender DBG("-"); } +static void __invoke_disabled_cb_with_reason(__softap_h *sa, softap_disabled_cause_e code) +{ + if (sa == NULL || sa->disabled_cb == NULL) { + ERR("sa or sa->disabled_cb is NULL"); + return; + } + + sa->disabled_cb(SOFTAP_ERROR_NONE, code, sa->disabled_user_data); +} + static void __handle_low_battery_mode(GDBusConnection *connection, const gchar *sender_name, const gchar *object_path, const gchar *interface_name, const gchar *signal_name, @@ -393,28 +403,7 @@ static void __handle_low_battery_mode(GDBusConnection *connection, const gchar * { DBG("+"); SOFTAP_LOCK; - - if (user_data == NULL) { - ERR("parameter(user_data) is NULL"); - SOFTAP_UNLOCK; - return; - } - - __softap_h *sa = (__softap_h *)user_data; - softap_disabled_cb dcb = NULL; - void *data = NULL; - softap_disabled_cause_e code = SOFTAP_DISABLED_BY_LOW_BATTERY; - - dcb = sa->disabled_cb; - if (dcb == NULL) { - SOFTAP_UNLOCK; - return; - } - - data = sa->disabled_user_data; - - dcb(SOFTAP_ERROR_NONE, code, data); - + __invoke_disabled_cb_with_reason((__softap_h *)user_data, SOFTAP_DISABLED_BY_LOW_BATTERY); SOFTAP_UNLOCK; DBG("-"); } @@ -425,28 +414,7 @@ static void __handle_flight_mode(GDBusConnection *connection, const gchar *sende { DBG("+"); SOFTAP_LOCK; - - if (user_data == NULL) { - ERR("parameter(user_data) is NULL"); - SOFTAP_UNLOCK; - return; - } - - __softap_h *sa = (__softap_h *)user_data; - softap_disabled_cb dcb = NULL; - void *data = NULL; - softap_disabled_cause_e code = SOFTAP_DISABLED_BY_FLIGHT_MODE; - - dcb = sa->disabled_cb; - if (dcb == NULL) { - SOFTAP_UNLOCK; - return; - } - - data = sa->disabled_user_data; - - dcb(SOFTAP_ERROR_NONE, code, data); - + __invoke_disabled_cb_with_reason((__softap_h *)user_data, SOFTAP_DISABLED_BY_FLIGHT_MODE); SOFTAP_UNLOCK; DBG("-"); } @@ -459,26 +427,16 @@ static void __handle_security_type_changed(GDBusConnection *connection, const gc DBG("+"); SOFTAP_LOCK; - if (user_data == NULL) { - ERR("parameter(user_data) is NULL"); - SOFTAP_UNLOCK; - return; - } - __softap_h *sa = (__softap_h *)user_data; - softap_security_type_changed_cb scb = NULL; - void *data = NULL; - int security_type; - - scb = sa->security_type_changed_cb; - if (scb == NULL) { + if (sa == NULL || sa->security_type_changed_cb == NULL) { + ERR("sa or callback is NULL"); SOFTAP_UNLOCK; return; } + int security_type = 0; g_variant_get(parameters, "(i)", &security_type); - data = sa->security_type_user_data; - scb((softap_security_type_e)security_type, data); + sa->security_type_changed_cb((softap_security_type_e)security_type, sa->security_type_user_data); SOFTAP_UNLOCK; return; @@ -491,26 +449,16 @@ static void __handle_ssid_visibility_changed(GDBusConnection *connection, const DBG("+"); SOFTAP_LOCK; - if (user_data == NULL) { - ERR("parameter(user_data) is NULL"); + __softap_h *sa = (__softap_h *)user_data; + if (sa == NULL || sa->ssid_visibility_changed_cb == NULL) { + ERR("sa or callback is NULL"); SOFTAP_UNLOCK; return; } - __softap_h *sa = (__softap_h *)user_data; - softap_ssid_visibility_changed_cb scb = NULL; - void *data = NULL; int visible = 0; - - scb = sa->ssid_visibility_changed_cb; - if (scb == NULL) { - SOFTAP_UNLOCK; - DBG("-"); - return; - } g_variant_get(parameters, "(i)", &visible); - data = sa->ssid_visibility_user_data; - scb(visible, data); + sa->ssid_visibility_changed_cb(visible, sa->ssid_visibility_user_data); SOFTAP_UNLOCK; DBG("-"); @@ -523,25 +471,14 @@ static void __handle_passphrase_changed(GDBusConnection *connection, const gchar DBG("+"); SOFTAP_LOCK; - if (user_data == NULL) { - ERR("parameter(user_data) is NULL"); - SOFTAP_UNLOCK; - return; - } - __softap_h *sa = (__softap_h *)user_data; - softap_passphrase_changed_cb pcb = NULL; - void *data = NULL; - - pcb = sa->passphrase_changed_cb; - if (pcb == NULL) { + if (sa == NULL || sa->passphrase_changed_cb == NULL) { + ERR("sa or callback is NULL"); SOFTAP_UNLOCK; return; } - data = sa->passphrase_user_data; - - pcb(data); + sa->passphrase_changed_cb(sa->passphrase_user_data); SOFTAP_UNLOCK; DBG("-"); @@ -815,6 +752,47 @@ static bool __get_ssid_from_vconf(const char *path, char *ssid, unsigned int siz return true; } +int __handle_dbus_error(GError *error) +{ + if (!error) + return SOFTAP_ERROR_NONE; + + ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); + return (error->code == G_DBUS_ERROR_ACCESS_DENIED) ? + SOFTAP_ERROR_PERMISSION_DENIED : SOFTAP_ERROR_OPERATION_FAILED; +} + +int _softap_enable_dhcp(softap_h softap, char *rangestart, char *rangestop) +{ + GVariant *parameters; + GError *error = NULL; + guint result; + + __softap_h *sa = (__softap_h *)softap; + GDBusProxy *proxy = sa->client_bus_proxy; + + if (rangestart == NULL && rangestop == NULL) + parameters = g_dbus_proxy_call_sync(proxy, "enable_dhcp", + NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); + else + parameters = g_dbus_proxy_call_sync(proxy, "enable_dhcp_with_range", + g_variant_new("(ss)", rangestart, rangestop), + G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); + + result = __handle_dbus_error(error); + if (result != SOFTAP_ERROR_NONE) { + g_error_free(error); + sa->dhcp_enabled = FALSE; + return result; + } + + g_variant_get(parameters, "(u)", &result); + g_variant_unref(parameters); + + sa->dhcp_enabled = TRUE; + return SOFTAP_ERROR_NONE; +} + API int softap_create(softap_h *softap) { DBG("+"); @@ -1281,16 +1259,12 @@ API int softap_foreach_connected_clients(softap_h softap, softap_connected_clien NULL, G_DBUS_CALL_FLAGS_NONE, -1, sa->cancellable, &error); - if (error) { - ERR("g_dbus_proxy_call_sync is failed and error is %s\n", error->message); - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - ret = SOFTAP_ERROR_PERMISSION_DENIED; - else - ret = SOFTAP_ERROR_OPERATION_FAILED; - + ret = __handle_dbus_error(error); + if (ret != SOFTAP_ERROR_NONE) { g_error_free(error); return ret; } + g_variant_get(result, "(a(a{sv}))", &outer_iter); while (g_variant_iter_loop(outer_iter, "(@a{sv})", &station)) { @@ -1750,14 +1724,8 @@ API int softap_get_passphrase(softap_h softap, char **passphrase) parameters = g_dbus_proxy_call_sync(proxy, "get_passphrase", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - if (error) { - ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); - - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - ret = SOFTAP_ERROR_PERMISSION_DENIED; - else - ret = SOFTAP_ERROR_OPERATION_FAILED; - + ret = __handle_dbus_error(error); + if (ret != SOFTAP_ERROR_NONE) { g_error_free(error); return ret; } @@ -1790,14 +1758,8 @@ API int softap_push_wps_button(softap_h softap) parameters = g_dbus_proxy_call_sync(proxy, "push_wps_button", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - if (error) { - ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); - - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - ret = SOFTAP_ERROR_PERMISSION_DENIED; - else - ret = SOFTAP_ERROR_OPERATION_FAILED; - + ret = __handle_dbus_error(error); + if (ret != SOFTAP_ERROR_NONE) { g_error_free(error); return ret; } @@ -1833,14 +1795,8 @@ API int softap_set_wps_pin(softap_h softap, const char *wps_pin) parameters = g_dbus_proxy_call_sync(proxy, "set_wps_pin", g_variant_new("(s)", wps_pin), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - if (error) { - ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); - - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - ret = SOFTAP_ERROR_PERMISSION_DENIED; - else - ret = SOFTAP_ERROR_OPERATION_FAILED; - + ret = __handle_dbus_error(error); + if (ret != SOFTAP_ERROR_NONE) { g_error_free(error); return ret; } @@ -1981,35 +1937,7 @@ API int softap_enable_dhcp(softap_h softap) CHECK_FEATURE_SUPPORTED(SUPPORTED_FEATURE_SOFTAP); _retvm_if(softap == NULL, SOFTAP_ERROR_INVALID_PARAMETER, "parameter(softap) is NULL\n"); - - __softap_h *sa = (__softap_h *)softap; - GError *error = NULL; - GVariant *parameters = NULL; - GDBusProxy *proxy = sa->client_bus_proxy; - guint result; - - parameters = g_dbus_proxy_call_sync(proxy, "enable_dhcp", - NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - - if (error) { - ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - result = SOFTAP_ERROR_PERMISSION_DENIED; - else - result = SOFTAP_ERROR_OPERATION_FAILED; - - g_error_free(error); - sa->dhcp_enabled = FALSE; - - return result; - } - - g_variant_get(parameters, "(u)", &result); - g_variant_unref(parameters); - - sa->dhcp_enabled = TRUE; - - return SOFTAP_ERROR_NONE; + return _softap_enable_dhcp(softap, NULL, NULL); } API int softap_disable_dhcp(softap_h softap) @@ -2022,23 +1950,18 @@ API int softap_disable_dhcp(softap_h softap) GError *error = NULL; GVariant *parameters = NULL; GDBusProxy *proxy = sa->client_bus_proxy; - guint result; + guint ret; parameters = g_dbus_proxy_call_sync(proxy, "disable_dhcp", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - if (error) { - ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - result = SOFTAP_ERROR_PERMISSION_DENIED; - else - result = SOFTAP_ERROR_OPERATION_FAILED; - + ret = __handle_dbus_error(error); + if (ret != SOFTAP_ERROR_NONE) { g_error_free(error); - return result; + return ret; } - g_variant_get(parameters, "(u)", &result); + g_variant_get(parameters, "(u)", &ret); g_variant_unref(parameters); sa->dhcp_enabled = FALSE; @@ -2064,14 +1987,9 @@ API int softap_is_dhcp_enabled(softap_h softap, bool *dhcp_enabled) parameters = g_dbus_proxy_call_sync(proxy, "get_dhcp_state", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - if (error) { - ERR("g_dbus_proxy_call_sync failed becuase %s\n", error->message); - - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - ret = SOFTAP_ERROR_PERMISSION_DENIED; - else - ret = SOFTAP_ERROR_OPERATION_FAILED; - } + ret = __handle_dbus_error(error); + if (ret != SOFTAP_ERROR_NONE) + g_error_free(error); if (parameters != NULL) { g_variant_get(parameters, "(b)", &enabled); @@ -2095,34 +2013,5 @@ API int softap_enable_dhcp_with_range(softap_h softap, char *rangestart, char *r _retvm_if(rangestop == NULL, SOFTAP_ERROR_INVALID_PARAMETER, "parameter(rangestop) is NULL\n"); - GVariant *parameters; - GError *error = NULL; - guint result; - - __softap_h *sa = (__softap_h *)softap; - GDBusProxy *proxy = sa->client_bus_proxy; - - parameters = g_dbus_proxy_call_sync(proxy, "enable_dhcp_with_range", - g_variant_new("(ss)", rangestart, rangestop), - G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); - if (error) { - ERR("g_dbus_proxy_call_sync failed because %s\n", error->message); - - if (error->code == G_DBUS_ERROR_ACCESS_DENIED) - result = SOFTAP_ERROR_PERMISSION_DENIED; - else - result = SOFTAP_ERROR_OPERATION_FAILED; - - g_error_free(error); - sa->dhcp_enabled = FALSE; - - return result; - } - - g_variant_get(parameters, "(u)", &result); - g_variant_unref(parameters); - - sa->dhcp_enabled = TRUE; - - return SOFTAP_ERROR_NONE; + return _softap_enable_dhcp(softap, rangestart, rangestop); }