(char *)user_data, state, wman_test_strerror(error_code));
}
-int wman_test_init(void)
+int wman_test_init(const char *ifname)
{
- int rv = wifi_manager_initialize(&wifi);
+ int rv;
+
+ if (wifi || wifi2) {
+ printf("Already initialized\n");
+ return -1;
+ }
+
+ if (!ifname)
+ rv = wifi_manager_initialize(&wifi);
+ else
+ rv = wifi_manager_initialize_with_interface_name(&wifi, ifname);
if (rv == WIFI_MANAGER_ERROR_NONE) {
wifi_manager_set_device_state_changed_cb(wifi, __test_device_state_callback, "1");
return -1;
}
- rv = wifi_manager_initialize(&wifi2);
+ if (!ifname)
+ rv = wifi_manager_initialize(&wifi2);
+ else
+ rv = wifi_manager_initialize_with_interface_name(&wifi2, ifname);
if (rv == WIFI_MANAGER_ERROR_NONE) {
wifi_manager_set_device_state_changed_cb(wifi2, __test_device_state_callback, "2");
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));
+ wifi_manager_deinitialize(wifi);
+ wifi = NULL;
return -1;
}
return -1;
}
+ wifi = NULL;
+
rv = wifi_manager_deinitialize(wifi2);
if (rv != WIFI_MANAGER_ERROR_NONE) {
return -1;
}
+ wifi2 = NULL;
+
printf("Wifi deinit succeeded\n");
return 1;
}
+int wman_test_init_with_ifname(void)
+{
+ int rv;
+ char ifname[33] = { 0, };
+
+ printf("Input interface name: ");
+ rv = scanf(" %32[^\n]s", ifname);
+ if (rv < 1)
+ return -1;
+
+ rv = wman_test_init(ifname);
+
+ return rv;
+}
+
gboolean test_thread(GIOChannel *source, GIOCondition condition, gpointer data)
{
int rv;
printf("Options..\n");
printf(LOG_BLUE "[Public APIs]\n" LOG_END);
printf(LOG_GREEN "1 - Wi-Fi init and set callbacks\n" LOG_END);
+ printf(": - Wi-Fi init and set callbacks with interface name\n");
printf("2 - Wi-Fi deinit(unset callbacks automatically)\n");
printf(LOG_GREEN "3 - Activate Wi-Fi device\n" LOG_END);
printf("4 - Deactivate Wi-Fi device\n");
switch (a[0]) {
/* Public API */
case '1':
- rv = wman_test_init();
+ rv = wman_test_init(NULL);
+ break;
+ case ':':
+ rv = wman_test_init_with_ifname();
break;
case '2':
rv = wman_test_deinit();