From: saerome.kim Date: Mon, 13 Mar 2017 05:24:20 +0000 (+0900) Subject: Fixed bugs about managing mesh networks X-Git-Tag: submit/tizen/20170828.225740~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b0347373f0ecf861e8fbac570d1ca00937a84cda;p=platform%2Fcore%2Fapi%2Fwifi-mesh.git Fixed bugs about managing mesh networks - added show scanned network list when calling mesh_add_network() - added show configuraed network list when calling mesh_select_network or mesh_remove_network - mesh_get_joined_mesh_network Signed-off-by: saerome.kim --- diff --git a/src/mesh.c b/src/mesh.c index cda3cb5..187ab75 100644 --- a/src/mesh.c +++ b/src/mesh.c @@ -98,8 +98,6 @@ EXPORT_API int mesh_network_new_with(mesh_network_h* network, const char *meshid net->data_rate = data_rate; *network = (mesh_network_h)net; - LOGE("KSR"); - return MESH_ERROR_NONE; } diff --git a/src/mesh_dbus.c b/src/mesh_dbus.c index d578b43..d4fd8c3 100644 --- a/src/mesh_dbus.c +++ b/src/mesh_dbus.c @@ -668,10 +668,10 @@ int _mesh_get_joined_mesh_network(mesh_h handle, mesh_network_h* _network) NULL, &error); if (variant) { - int len; + //int len; char *meshid = NULL; char *bssid = NULL; - int channel; + int channel = -1; unsigned int result; g_variant_get(variant, "(ssiu)", meshid, bssid, &channel, &result); @@ -680,17 +680,23 @@ int _mesh_get_joined_mesh_network(mesh_h handle, mesh_network_h* _network) if (MESH_ITNL_ERR_NONE != result) return (int)result; - len = strlen(meshid); - LOGE("meshid=%s len=%d", meshid, len); - memcpy(g_joined_network.meshid, meshid, len > 32 ? 32 : len); - len = strlen(bssid); - LOGE("bssid=%s len=%d", bssid, len); - memcpy(g_joined_network.bssid, bssid, len > 32 ? 32 : len); + if (meshid) { + //len = strlen(meshid); + //LOGE("meshid=%s len=%d", meshid, len); + memcpy(g_joined_network.meshid, meshid, MAX_MESHID_LEN); + } + if (bssid) { + //len = strlen(bssid); + //LOGE("bssid=%s len=%d", bssid, len); + memcpy(g_joined_network.bssid, bssid, MAX_BSSID_LEN); + } g_joined_network.channel = channel; g_joined_network.rssi = -1; *_network= &g_joined_network; + LOGE("meshid=%s bssid=%s", meshid, bssid); + } else if (error) { LOGE("Failed DBus call [%s]", error->message); g_error_free(error); diff --git a/test/main.c b/test/main.c index 29cfcc5..c9090a7 100644 --- a/test/main.c +++ b/test/main.c @@ -166,6 +166,11 @@ OUT: if (g_hash_saved_net_list) g_hash_table_remove_all(g_hash_saved_net_list); + if (mesh) { + mesh_disable(mesh); + mesh_deinitialize(mesh); + } + g_main_loop_unref(mainloop); msg("******* Bye bye *******"); diff --git a/test/mesh_network.c b/test/mesh_network.c index 79846b3..f2fb252 100644 --- a/test/mesh_network.c +++ b/test/mesh_network.c @@ -110,6 +110,67 @@ static gboolean _mesh_lookup_by_id(gpointer key, gpointer value, gpointer user_d return FALSE; } +static int run_show_saved_network(MManager *mm, struct menu_data *menu) +{ + int i = 0; + char *_meshid = NULL; + int _channel = 1; + + GList *values = NULL; + GList *iter_list = NULL; + + if (NULL == g_hash_saved_net_list) { + return RET_FAILURE; + } + + msg("Saved Mesh Network Configuratios : "); + values = g_hash_table_get_values(g_hash_saved_net_list); + iter_list = values; + + while (iter_list != NULL) { + mesh_network_h _net = iter_list->data; + mesh_network_get_meshid(_net, &_meshid); + mesh_network_get_channel(_net, &_channel); + msgb("[%d] meshid=%s channel=%d", ++i, _meshid, _channel); + iter_list = g_list_next(iter_list); + } + + g_list_free(values); + + return RET_SUCCESS; +} + +static int run_show_scanned_network(MManager *mm, struct menu_data *menu) +{ + int i = 0; + char *_meshid = NULL; + int _channel = 1; + + GList *values = NULL; + GList *iter_list = NULL; + + if (NULL == g_hash_scan_net_list) { + msgp("There is not any scan result.. do scan first"); + return RET_FAILURE; + } + + msg("Scan Results : "); + values = g_hash_table_get_values(g_hash_scan_net_list); + iter_list = values; + + while (iter_list != NULL) { + mesh_network_h _net = iter_list->data; + mesh_network_get_meshid(_net, &_meshid); + mesh_network_get_channel(_net, &_channel); + msgb("[%d] meshid=%s channel=%d", ++i, _meshid, _channel); + iter_list = g_list_next(iter_list); + } + + g_list_free(values); + + return RET_SUCCESS; +} + static int run_mesh_scan(MManager *mm, struct menu_data *menu) { int ret; @@ -212,6 +273,9 @@ static int run_mesh_disable(MManager *mm, struct menu_data *menu) static int run_get_joined_mesh_network(MManager *mm, struct menu_data *menu) { int ret; + char *_meshid = NULL; + char *_bssid = NULL; + int _channel = -1; mesh_network_h network = NULL; msg("Get Joined Mesh Network Information"); @@ -222,8 +286,13 @@ static int run_get_joined_mesh_network(MManager *mm, struct menu_data *menu) mesh_error_to_string(ret), ret); return RET_FAILURE; } - mesh_network_destroy(network); + mesh_network_get_meshid(network, &_meshid); + msgp("meshid = %s", _meshid); + mesh_network_get_bssid(network, &_bssid); + msgp("bssid = %s", _bssid); + mesh_network_get_channel(network, &_channel); + msgp("channel = %d", _channel); return RET_SUCCESS; } @@ -397,7 +466,6 @@ static int run_add_new_network(MManager *mm, struct menu_data *menu) return RET_SUCCESS; } - static int run_select_network(MManager *mm, struct menu_data *menu) { int ret; @@ -435,26 +503,6 @@ static int run_remove_network(MManager *mm, struct menu_data *menu) if (strlen(network_idx)) idx = (unsigned short)strtol(network_idx, NULL, 10); -#if 0 - if (g_hash_saved_net_list) { - - char *_meshid = NULL; - int _channel; - - GList *values = g_hash_table_get_values(g_hash_saved_net_list); - GList *iter_list = values; - - while (iter_list != NULL) { - mesh_network_h _net = iter_list->data; - mesh_network_get_meshid(_net, &_meshid); - mesh_network_get_channel(_net, &_channel); - msgb("meshid=%s channel=%d", _meshid, _channel); - iter_list = g_list_next(iter_list); - } - - g_list_free(values); - } -#endif if (g_hash_saved_net_list) { net = g_hash_table_find(g_hash_saved_net_list, _mesh_lookup_by_id, GINT_TO_POINTER(idx)); @@ -551,10 +599,10 @@ struct menu_data menu_mesh_network[] = { { "11", "enable softap", NULL, run_enable_softap, NULL }, { "12", "disable softap", NULL, run_disable_softap, NULL }, { "13", "Get Saved Mesh Network", NULL, run_get_saved_network, NULL }, - { "14", "add network", menu_add_network, NULL, NULL }, + { "14", "add network", menu_add_network, run_show_scanned_network, NULL }, { "15", "add new network", menu_add_new_network, NULL, NULL }, - { "16", "select network", menu_select_network, NULL, NULL }, - { "17", "remove network", menu_remove_network, NULL, NULL }, + { "16", "select network", menu_select_network, run_show_saved_network, NULL }, + { "17", "remove network", menu_remove_network, run_show_saved_network, NULL }, { "18", "get mesh station information", NULL, run_get_station_information, NULL }, { "19", "get mesh path information", NULL, run_get_mpath_information, NULL }, { NULL, NULL, },