// 1. check network state
// 2. if it is connected, read detail info
ret = sa_network_get_state(&conn_state, &conn_type);
+
if (ret == SA_ERROR_NONE) {
_D("Device Network : T[%s] S[%s]", __print_connection_type(conn_type), __print_connection_state(conn_state));
if (conn_state == SA_NETWORK_STATE_CONNECTED) {
ret = sa_network_set_connection(network);
}
}
+
return ret;
}
sa_error_e ret = SA_ERROR_NONE;
_D("start setup-adaptor");
-
//Check Config file
if (SA_FILE_STATE_EXIST == sa_inputfile_get_config_state()) {
- // Register callback to receive file change event
+ // Waiting for booting
sleep(10);
+ // Register callback to receive file change event
ret = sa_inputfile_register_cb(__monitor_file_state_cb);
- if (ret != SA_ERROR_NONE) {
+ if (ret == SA_ERROR_NONE) {
+ // Keep checking callback from input
+ while(1) {
+ sleep(1);
+ }
+ } else {
_E("__init_event_listener error [%d]", ret);
- }
+ }
} else {
_D("config file is not existed, setup-adaptor exit");
}
- while(1) {
- sleep(1);
- }
-
return 0;
}
\ No newline at end of file
return 0;
}
+static int __init_wifi_handle(wifi_manager_h *wifi) {
+
+ int err_code = 0;
+
+ err_code = wifi_manager_initialize(&wifi);
+ if (err_code == WIFI_MANAGER_ERROR_NONE ||
+ err_code == WIFI_MANAGER_ERROR_ALREADY_INITIALIZED) {
+ _D(" Create handle for wiri");
+ } else {
+ _E("create wifi handle error [%s]", __print_wifi_error(err_code));
+ return -1;
+ }
+
+ return 0;
+}
+
static int __connect_wifi(sa_wifi_s *info)
{
int rv = 0;
bool state = false;
sa_error_e ret = SA_ERROR_UNKNOWN;
sa_network_state_e file_state = NETWORK_WIFI_STATE_DEACTIVATED;
+ wifi_manager_h wifi = NULL;
if (info == NULL) {
return -1;
}
- // if wifi is already connected, it would be diconnected
- __set_setup_network_wifi_state(NETWORK_WIFI_STATE_DEACTIVATED);
-
- while(NETWORK_WIFI_STATE_CONNECTED != __get_setup_network_wifi_state()) {
+ if (!__init_wifi_handle(&wifi)) {
+ // if wifi is already connected, it would be diconnected
+ __set_setup_network_wifi_state(NETWORK_WIFI_STATE_DEACTIVATED);
- _D("Enter while [%d]", __get_setup_network_wifi_state());
+ while(NETWORK_WIFI_STATE_CONNECTED != __get_setup_network_wifi_state()) {
- // check wifi state whether it is activated or not
- switch(__get_setup_network_wifi_state()) {
- case NETWORK_WIFI_STATE_DEACTIVATED:
- _D("deativated state");
- rv = wifi_manager_is_activated(wifi_handle, &state);
- if (rv != WIFI_MANAGER_ERROR_NONE) {
- _D("Fail to get Wi-Fi device state [%s]", __print_wifi_error(rv));
- ret = SA_ERROR_UNKNOWN;
- break;
- }
-
- if (state == FALSE) {
- _D("ativating state");
- rv = wifi_manager_activate(wifi_handle, __activated_callback, NULL);
- __set_setup_network_wifi_state(NETWORK_WIFI_STATE_ACTIVATING);
- if (rv == WIFI_MANAGER_ERROR_NONE ||
- rv == CONNECTION_ERROR_NOW_IN_PROGRESS ||
- rv == WIFI_MANAGER_ERROR_ALREADY_EXISTS) {
- ;
+ _D("Enter while [%d]", __get_setup_network_wifi_state());
+ // check wifi state whether it is activated or not
+ switch(__get_setup_network_wifi_state()) {
+ case NETWORK_WIFI_STATE_DEACTIVATED:
+ _D("deativated state");
+ rv = wifi_manager_is_activated(wifi, &state);
+ if (rv != WIFI_MANAGER_ERROR_NONE) {
+ _D("Fail to get Wi-Fi device state [%s]", __print_wifi_error(rv));
+ ret = SA_ERROR_UNKNOWN;
+ break;
+ }
+
+ if (state == FALSE) {
+ _D("ativating state");
+ rv = wifi_manager_activate(wifi, __activated_callback, NULL);
+ __set_setup_network_wifi_state(NETWORK_WIFI_STATE_ACTIVATING);
+ if (rv == WIFI_MANAGER_ERROR_NONE ||
+ rv == CONNECTION_ERROR_NOW_IN_PROGRESS ||
+ rv == WIFI_MANAGER_ERROR_ALREADY_EXISTS) {
+ ;
+ } else {
+ _D("First activate Wi-Fi device [%s]", __print_wifi_error(rv));
+ break;
+ }
+ rv = wifi_manager_activate(wifi, __activated_callback, NULL);
+ if (rv == WIFI_MANAGER_ERROR_NONE ||
+ rv == CONNECTION_ERROR_NOW_IN_PROGRESS ||
+ rv == WIFI_MANAGER_ERROR_ALREADY_EXISTS) {
+ ;
+ } else {
+ _D("First activate Wi-Fi device [%s]", __print_wifi_error(rv));
+ break;
+ }
} else {
- _D("First activate Wi-Fi device [%s]", __print_wifi_error(rv));
+ _D("Already Activated");
+ __set_setup_network_wifi_state(NETWORK_WIFI_STATE_ACTIVATED);
+ }
+ break;
+ case NETWORK_WIFI_STATE_ACTIVATED:
+ _D("ativated state");
+
+ rv = wifi_manager_scan(wifi, __scan_request_callback, NULL);
+ __set_setup_network_wifi_state(NETWORK_WIFI_STATE_SCANNING);
+ _D("scanning state");
+ if (rv != WIFI_MANAGER_ERROR_NONE) {
+ _D("Scan request failed [%s]", __print_wifi_error(rv));
+ ret = SA_ERROR_UNKNOWN;
break;
+ } else {
+ _D("scan request succeeded");
}
- } else {
- _D("Already Activated");
- __set_setup_network_wifi_state(NETWORK_WIFI_STATE_ACTIVATED);
- }
- break;
- case NETWORK_WIFI_STATE_ACTIVATED:
- _D("ativated state");
-
- rv = wifi_manager_scan(wifi_handle, __scan_request_callback, NULL);
- __set_setup_network_wifi_state(NETWORK_WIFI_STATE_SCANNING);
- _D("scanning state");
- if (rv != WIFI_MANAGER_ERROR_NONE) {
- _D("Scan request failed [%s]", __print_wifi_error(rv));
- ret = SA_ERROR_UNKNOWN;
break;
- } else {
- _D("scan request succeeded");
- }
- break;
- case NETWORK_WIFI_STATE_SCANNED:
- // connecting
- _D("scanned state");
- __set_setup_network_wifi_state(NETWORK_WIFI_STATE_CONNECTING);
- __set_setup_network_wifi_password(info->password);
- _D("connecting state");
- rv = wifi_manager_foreach_found_ap(wifi_handle, __found_connect_ap_callback, info->ssid);
-
- if (rv != WIFI_MANAGER_ERROR_NONE) {
- _D("Fail to connect (can't get AP list) [%s]", __print_wifi_error(rv));
- ret = SA_ERROR_UNKNOWN;
+ case NETWORK_WIFI_STATE_SCANNED:
+ // connecting
+ _D("scanned state");
+ __set_setup_network_wifi_state(NETWORK_WIFI_STATE_CONNECTING);
+ __set_setup_network_wifi_password(info->password);
+ _D("connecting state");
+ rv = wifi_manager_foreach_found_ap(wifi, __found_connect_ap_callback, info->ssid);
+
+ if (rv != WIFI_MANAGER_ERROR_NONE) {
+ _D("Fail to connect (can't get AP list) [%s]", __print_wifi_error(rv));
+ ret = SA_ERROR_UNKNOWN;
+ break;
+ }
break;
+ default:
+ break;
}
- break;
- default:
- break;
- }
- sleep(1);
+ sleep(1);
+ }
}
return ret;
return SA_ERROR_INVALID_PARAMETER;
}
- if (!__get_setup_network_initialized()) {
+ /*if (!__get_setup_network_initialized()) {
if(__start_setup_network()) {
_E("not ready to use network api due to async reply from network api");
}
- }
+ }*/
// first priority is wifi
if (info->wifi != NULL) {