Signal for DHCP start point has been added.
And undefine TIZEN_DA for extension APIs.
Change-Id: I64ab4d0f9a6b2feef1f541893c35a2d476790f52
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
WIFI_MANAGER_ROAM_SUCCESS, /**< Wi-Fi Roaming is successful. */
} wifi_manager_roam_e;
-#if defined TIZEN_DA
/**
* @brief Enumeration for the Wi-Fi DHCP state.
* @since_tizen 7.5
*/
typedef enum {
- WIFI_MANAGER_DHCP_STATE_FAILED = -1, /* DHCP Fail */
- WIFI_MANAGER_DHCP_STATE_SUCCESS = 0, /* DHCP Success */
+ WIFI_MANAGER_DHCP_STATE_UNKNOWN = 0, /* Unknown state */
+ WIFI_MANAGER_DHCP_STATE_STARTED = 1, /* DHCP is running */
+ WIFI_MANAGER_DHCP_STATE_FINISHED = 2, /* DHCP is finished */
} wifi_manager_dhcp_state_e;
/**
WIFI_MANAGER_PS_MODE_DEFAULT_ON,
WIFI_MANAGER_PS_MODE_DYNAMIC,
} wifi_manager_power_save_mode_e;
-#endif /* TIZEN_DA */
/**
* @brief The Wi-Fi netlink scan handle.
*/
int wifi_manager_unset_roaming_cb(wifi_manager_h wifi);
-#if defined TIZEN_DA
/**
* @brief Called when the DHCP state is changed.
+ * @details The following error codes can be received: \n
+ * #WIFI_MANAGER_ERROR_NONE Successful \n
+ * #WIFI_MANAGER_ERROR_DHCP_FAILED DHCP failed \n
* @since_tizen 7.5
* @param[in] state The DHCP state
- * @param[in] lease_time The DHCP lease time
+ * @param[in] error_code The error code
* @param[in] user_data The user data passed from the callback registration function
- * @see wifi_manager_dhcp_set_event_cb()
- * @see wifi_manager_dhcp_unset_event_cb()
+ * @see wifi_manager_set_dhcp_state_changed_cb()
+ * @see wifi_manager_unset_dhcp_state_changed_cb()
*/
-
-typedef void(*wifi_manager_dhcp_event_cb)(wifi_manager_dhcp_state_e state, int lease_time, void *user_data);
+typedef void(*wifi_manager_dhcp_event_cb)(wifi_manager_dhcp_state_e state,
+ wifi_manager_error_e error_code, void *user_data);
/**
* @brief set DHCP event callback
* @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
* @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
*/
-int wifi_manager_dhcp_set_event_cb(wifi_manager_h wifi, wifi_manager_dhcp_event_cb callback, void *user_data);
+int wifi_manager_set_dhcp_state_changed_cb(wifi_manager_h wifi, wifi_manager_dhcp_event_cb callback, void *user_data);
/**
* @brief unset DHCP event callback
* @retval #WIFI_MANAGER_ERROR_PERMISSION_DENIED Permission Denied
* @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
*/
-int wifi_manager_dhcp_unset_event_cb(wifi_manager_h wifi);
+int wifi_manager_unset_dhcp_state_changed_cb(wifi_manager_h wifi);
/**
* @brief Gets power-save state.
* @retval #WIFI_MANAGER_ERROR_NOT_SUPPORTED Not supported
*/
int wifi_manager_set_power_save_mode(wifi_manager_h wifi, wifi_manager_power_save_mode_e ps_mode);
-#endif /* TIZEN_DA */
/**
* @}
Name: capi-network-wifi-manager
Summary: Network Wi-Fi library in TIZEN C API
-Version: 1.3.22
+Version: 1.3.23
Release: 0
Group: System/Network
License: Apache-2.0
}
//LCOV_EXCL_START
-#if defined TIZEN_DA
static void __net_set_power_save_state_reply(GObject *source_object, GAsyncResult *res, gpointer user_data)
{
__NETWORK_FUNC_ENTER__;
__NETWORK_FUNC_EXIT__;
}
-#endif /* TIZEN_DA */
//LCOV_EXCL_STOP
static char *__net_make_group_name(unsigned char *raw_ssid,
}
//LCOV_EXCL_START
-#if defined TIZEN_DA
int _net_dbus_get_power_save_state(network_info_s *network_info, unsigned int *ps_state)
{
__NETWORK_FUNC_ENTER__;
__NETWORK_FUNC_EXIT__;
return Error;
}
-#endif /* TIZEN_DA */
int _net_dbus_reset_wifi_config(network_info_s *network_info)
{
int _net_dbus_get_vconf_value(network_info_s *network_info,
const char *key, const char *type, int *ret, int *int_value, char **str_value);
-#if defined TIZEN_DA
int _net_dbus_get_power_save_state(network_info_s *network_info, unsigned int *ps_state);
int _net_dbus_set_power_save_state(network_info_s *network_info, net_wifi_power_save_state_e ps_state);
int _net_dbus_get_power_save_mode(network_info_s *network_info, unsigned int *ps_mode);
int _net_dbus_set_power_save_mode(network_info_s *network_info, net_wifi_power_save_mode_e ps_mode);
-#endif /* TIZEN_DA */
int _net_dbus_reset_wifi_config(network_info_s *network_info);
#ifdef __cplusplus
NET_EVENT_WIFI_DPP_REMOVED,
NET_EVENT_WIFI_DPP_EVENT_IND, /* TODO: Make this in detail */
NET_EVENT_WIFI_ROAM_STATE_IND,
-#if defined TIZEN_DA
NET_EVENT_WIFI_TIMEOUT_RSP,
NET_EVENT_WIFI_DHCP_STATE_IND,
-#endif /* TIZEN_DA */
} net_event_e;
typedef struct {
guint subscribe_id_connman_scanstarted;
guint subscribe_id_connman_roaming;
guint subscribe_id_netconfig_wifi;
-#if defined TIZEN_DA
guint subscribe_id_connman_dhcp;
-#endif /* TIZEN_DA */
char interface_name[NET_WLAN_IF_NAME_LEN];
char mac_address[WIFI_MAC_ADDR_LEN + 1];
}
//LCOV_EXCL_START
-#if defined TIZEN_DA
int net_wifi_get_power_save_state(network_info_s *network_info, unsigned int *ps_state)
{
__NETWORK_FUNC_ENTER__;
__NETWORK_FUNC_EXIT__;
return Error;
}
-#endif /* TIZEN_DA */
int net_wifi_reset_wifi_config(network_info_s *network_info)
{
int net_wifi_set_country_code(network_info_s *network_info, const char *country);
int net_wifi_get_country_code(network_info_s *network_info, char **country);
-#if defined TIZEN_DA
typedef enum {
WIFI_POWER_SAVE_OFF = 0x00,
WIFI_POWER_SAVE_ON,
int net_wifi_get_power_save_mode(network_info_s *network_info, unsigned int *ps_mode);
int net_wifi_set_power_save_mode(network_info_s *network_info, net_wifi_power_save_mode_e ps_mode);
-#endif /* TIZEN_DA */
int net_wifi_reset_wifi_config(network_info_s *network_info);
/**
#define SIGNAL_SCAN_DONE "ScanDone"
#define SIGNAL_SCAN_CHANGED "ScanChanged"
#define SIGNAL_ROAMING_STATE_CHANGED "RoamingStateChanged"
-#if defined TIZEN_DA
#define SIGNAL_DHCP_CHANGED "DhcpChanged"
-#endif /* TIZEN_DA */
#define CONNMAN_WIFI_TECHNOLOGY_PREFIX CONNMAN_PATH "/technology/wifi"
return NET_ERR_NONE;
}
-#if defined TIZEN_DA
static int __net_handle_dhcp_changed(network_info_s *network_info, GVariant *param)
{
__NETWORK_FUNC_ENTER__;
const char *key = NULL;
- int value = 0;
+ const gchar *value = NULL;
+ int err = NET_ERR_UNKNOWN;
+ int dhcp_started = 0;
GVariant *var;
net_event_info_s *event_data = NULL;
g_variant_get(param, "(sv)", &key, &var);
- if (g_strcmp0(key, "DHCP_SUCCESS") == 0 || g_strcmp0(key, "DHCP_FAIL") == 0) {
- if (g_variant_is_of_type(var, G_VARIANT_TYPE_INT32))
- value = g_variant_get_int32(var);
+ if (g_strcmp0(key, "DHCP_STARTED") == 0) {
+ err = NET_ERR_NONE;
+ dhcp_started = 1;
+ } else if (g_strcmp0(key, "DHCP_SUCCESS") == 0) {
+ err = NET_ERR_NONE;
+ dhcp_started = 0;
+ } else if (g_strcmp0(key, "DHCP_FAIL") == 0) {
+ err = NET_ERR_CONNECTION_DHCP_FAILED;
+ dhcp_started = 0;
+ } else {
+ goto done;
+ }
- WIFI_LOG(WIFI_INFO, "Key:[%s] value:[%d]", key, value);
+ if (g_variant_is_of_type(var, G_VARIANT_TYPE_STRING))
+ value = g_variant_get_string(var, NULL);
- event_data->Event = NET_EVENT_WIFI_DHCP_STATE_IND;
- event_data->Error = NET_ERR_NONE;
- event_data->Datalength = sizeof(gint);
- event_data->Data = &value;
+ WIFI_LOG(WIFI_INFO, "Key:[%s] value:[%s] ifname:[%s]",
+ key, value, network_info->interface_name);
- if (network_info->event_callback)
- network_info->event_callback(event_data, network_info->user_data);
- }
+ if (g_strcmp0(network_info->interface_name, value) != 0)
+ goto done;
+ event_data->Event = NET_EVENT_WIFI_DHCP_STATE_IND;
+ event_data->Error = err;
+ event_data->Datalength = sizeof(int *);
+ event_data->Data = &dhcp_started;
+
+ if (network_info->event_callback)
+ network_info->event_callback(event_data, network_info->user_data);
+
+done:
g_free(event_data);
g_free((gchar *)key);
__NETWORK_FUNC_EXIT__;
return NET_ERR_NONE;
}
-#endif /* TIZEN_DA */
static void __net_connman_manager_signal_filter(GDBusConnection *conn,
const gchar *name, const gchar *path, const gchar *interface,
__net_handle_scan_done(network_info, param);
else if (g_strcmp0(sig, SIGNAL_ROAMING_STATE_CHANGED) == 0)
__net_handle_roaming_changed(network_info, param);
-#if defined TIZEN_DA
else if (g_strcmp0(sig, SIGNAL_DHCP_CHANGED) == 0)
__net_handle_dhcp_changed(network_info, param);
-#endif /* TIZEN_DA */
}
static void __net_netconfig_signal_filter(GDBusConnection *conn,
network_info,
NULL);
-#if defined TIZEN_DA
/* Create connman service dhcp connection */
network_info->subscribe_id_connman_dhcp = g_dbus_connection_signal_subscribe(
network_info->connection,
__net_connman_manager_signal_filter,
network_info,
NULL);
-#endif /* TIZEN_DA */
/* LCOV_EXCL_START */
if (network_info->subscribe_id_connman_state == 0 ||
g_p_dpp_current = NULL;
}
-#if defined TIZEN_DA
-static void __dhcp_state_cb(wifi_manager_handle_s *wifi_handle, int lease_time)
+static void __dhcp_state_cb(wifi_manager_handle_s *wifi_handle, net_event_e err, int dhcp_started)
{
wifi_manager_dhcp_state_e state;
- if (lease_time > 0)
- state = WIFI_MANAGER_DHCP_STATE_SUCCESS;
+ if (dhcp_started)
+ state = WIFI_MANAGER_DHCP_STATE_STARTED;
else
- state = WIFI_MANAGER_DHCP_STATE_FAILED;
+ state = WIFI_MANAGER_DHCP_STATE_FINISHED;
if (wifi_handle->dhcp_event_cb)
- wifi_handle->dhcp_event_cb(state, lease_time, wifi_handle->dhcp_event_user_data);
+ wifi_handle->dhcp_event_cb(state,
+ __convert_to_ap_error_type(err), wifi_handle->dhcp_event_user_data);
}
-#endif /* TIZEN_DA */
static void __roaming_state_changed_cb(wifi_manager_handle_s *wifi_handle,
net_roam_event_info_s *roam_event_info)
__connected_cb(wifi_handle, result);
break;
+#endif /* TIZEN_DA */
case NET_EVENT_WIFI_DHCP_STATE_IND:
{
- int *lease_time = (int *)event_cb->Data;
- __dhcp_state_cb(wifi_handle, *lease_time);
+ net_event_e err = event_cb->Error;
+ int *dhcp_started = (int *)event_cb->Data;
+ __dhcp_state_cb(wifi_handle, err, *dhcp_started);
}
break;
-#endif /* TIZEN_DA */
//LCOV_EXCL_STOP
default:
break;
}
//LCOV_EXCL_START
-#if defined TIZEN_DA
int _wifi_get_power_save_state(wifi_manager_h wifi, wifi_manager_power_save_state_e *ps_state)
{
int rv = 0;
return WIFI_MANAGER_ERROR_NONE;
}
-#endif /* TIZEN_DA */
int _wifi_reset_wifi_config(wifi_manager_h wifi)
{
void *dpp_event_user_data;
wifi_manager_roaming_state_changed_cb roaming_state_changed_cb;
void *roaming_state_changed_user_data;
-#if defined TIZEN_DA
wifi_manager_dhcp_event_cb dhcp_event_cb;
void *dhcp_event_user_data;
-#endif /* TIZEN_DA */
network_info_s *network_info;
char interface_name[NET_WLAN_IF_NAME_LEN];
int _wifi_set_country_code(wifi_manager_h wifi, const char *country);
int _wifi_get_country_code(wifi_manager_h wifi, char **country);
-#if defined TIZEN_DA
int _wifi_get_power_save_state(wifi_manager_h wifi, wifi_manager_power_save_state_e *ps_state);
int _wifi_set_power_save_state(wifi_manager_h wifi, wifi_manager_power_save_state_e ps_state);
int _wifi_get_power_save_mode(wifi_manager_h wifi, wifi_manager_power_save_mode_e *ps_mode);
int _wifi_set_power_save_mode(wifi_manager_h wifi, wifi_manager_power_save_mode_e ps_mode);
-#endif /* TIZEN_DA */
int _wifi_reset_wifi_config(wifi_manager_h wifi);
#ifdef __cplusplus
}
//LCOV_EXCL_START
-#if defined TIZEN_DA
static int __wifi_set_dhcp_event_cb(wifi_manager_h wifi,
void *callback, void *user_data)
{
return WIFI_MANAGER_ERROR_NONE;
}
-EXPORT_API int wifi_manager_dhcp_set_event_cb(wifi_manager_h wifi,
+EXPORT_API int wifi_manager_set_dhcp_state_changed_cb(wifi_manager_h wifi,
wifi_manager_dhcp_event_cb callback, void *user_data)
{
__NETWORK_CAPI_FUNC_ENTER__;
return __wifi_set_dhcp_event_cb(wifi, callback, user_data);
}
-EXPORT_API int wifi_manager_dhcp_unset_event_cb(wifi_manager_h wifi)
+EXPORT_API int wifi_manager_unset_dhcp_state_changed_cb(wifi_manager_h wifi)
{
__NETWORK_CAPI_FUNC_ENTER__;
__NETWORK_CAPI_FUNC_EXIT__;
return rv;
}
-#endif /* TIZEN_DA */
//LCOV_EXCL_STOP
printf("Fail to get operation mode\n");
}
-#if defined TIZEN_DA
int wman_test_get_power_save_state(wifi_manager_h wifi)
{
int rv;
return 1;
}
-#endif /* TIZEN_DA */
int wman_test_get_country_code(wifi_manager_h wifi);
int wman_test_check_supported_security_type(wifi_manager_h wifi);
void wman_test_print_connection_mode(wifi_manager_ap_h ap);
-#if defined TIZEN_DA
int wman_test_get_power_save_state(wifi_manager_h wifi);
int wman_test_set_power_save_state(wifi_manager_h wifi);
int wman_test_get_power_save_mode(wifi_manager_h wifi);
int wman_test_set_power_save_mode(wifi_manager_h wifi);
-#endif /* TIZEN_DA */
+
printf(", cur_bssid: %s, dst_bssid: %s\n", cur_bssid, dst_bssid);
}
-#if defined TIZEN_DA
-static void __test_dhcp_changed_callback(wifi_manager_dhcp_state_e state, int lease_time, void *user_data)
+static void __test_dhcp_changed_callback(wifi_manager_dhcp_state_e state, wifi_manager_error_e error_code, void *user_data)
{
- if (state == WIFI_MANAGER_DHCP_STATE_SUCCESS)
- printf("[%s] DHCP state changed callback, state : Success, lease time : %d\n", (char *)user_data, lease_time);
- else
- printf("[%s] DHCP state changed callback, state : Fail\n", (char *)user_data);
+ printf("[%s] DHCP state changed callback, state : %d, error : %s\n",
+ (char *)user_data, state, wman_test_strerror(error_code));
}
-#endif /* TIZEN_DA */
int wman_test_init(void)
{
wifi_manager_tdls_set_discovered_cb(wifi, __test_tdls_discover_callback, "1");
wifi_manager_set_module_state_changed_cb(wifi, __test_get_wifi_module_state_callback, "1");
wifi_manager_set_roaming_cb(wifi, __test_roaming_state_changed_callback, "1");
-#if defined TIZEN_DA
- wifi_manager_dhcp_set_event_cb(wifi, __test_dhcp_changed_callback, "1");
-#endif /* TIZEN_DA */
+ wifi_manager_set_dhcp_state_changed_cb(wifi, __test_dhcp_changed_callback, "1");
} else {
printf("[1] Wifi init failed [%s]\n", wman_test_strerror(rv));
wifi_manager_tdls_set_state_changed_cb(wifi2, __test_tdls_state_callback, "2");
wifi_manager_tdls_set_discovered_cb(wifi, __test_tdls_discover_callback, "2");
wifi_manager_set_module_state_changed_cb(wifi, __test_get_wifi_module_state_callback, "2");
-#if defined TIZEN_DA
- wifi_manager_dhcp_set_event_cb(wifi2, __test_dhcp_changed_callback, "2");
-#endif /* TIZEN_DA */
+ wifi_manager_set_dhcp_state_changed_cb(wifi2, __test_dhcp_changed_callback, "2");
} else {
printf("[2] Wifi init failed [%s]\n", wman_test_strerror(rv));
return -1;
printf("^ - Set country code\n");
printf("& - Get country code\n");
printf("* - Check available security type\n");
-#if defined TIZEN_DA
printf("( - Get power-save state\n");
printf(") - Set power-save state\n");
printf("- - Get power-save mode\n");
printf("= - Set power-save mode\n");
-#endif /* TIZEN_DA */
printf("[ - Get Interval of Auto Scan\n");
printf("] - Set Interval of Auto Scan\n");
printf("; - Remove All Wi-Fi configurations\n");
case '*':
rv = wman_test_check_supported_security_type(wifi);
break;
-#if defined TIZEN_DA
case '(':
rv = wman_test_get_power_save_state(wifi);
break;
case '=':
rv = wman_test_set_power_save_mode(wifi);
break;
-#endif /* TIZEN_DA */
case '[':
rv = wman_test_get_autoscan_interval(wifi);
break;