Fixed bugs about managing networks at test app
authorsaerome.kim <saerome.kim@samsung.com>
Mon, 13 Mar 2017 01:48:26 +0000 (10:48 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 17 Jul 2017 02:09:10 +0000 (11:09 +0900)
 - add_mesh_network
 - select_mesh_network
 - remove_mesh_network

Signed-off-by: saerome.kim <saerome.kim@samsung.com>
include/mesh.h
test/mesh_device.c
test/mesh_network.c

index a0d1b71..d389769 100644 (file)
@@ -487,13 +487,13 @@ int mesh_deinitialize(mesh_h handle);
  * @see #MESH_EVENT_STATION_DISJOINED
  *
  * @param[out] event_type The event identification
- * @param[out] param parameter data pointer
+ * @param[out] event parameter data pointer
  *
  * @pre The callback must be registered with mesh_enable()
  *
  * @see mesh_enable()
  */
-typedef void (*mesh_event_cb)(mesh_event_e event_type, void* param);
+typedef void (*mesh_event_cb)(mesh_event_e event_type, mesh_event_data_s* event);
 
 /**
  * @brief Enable the mesh service.
index a2eee8d..a510ad7 100644 (file)
@@ -28,7 +28,7 @@
 #include "common.h"
 
 extern mesh_h mesh;
-extern void event_cb(mesh_event_e event_type, void* param);
+extern void event_cb(mesh_event_e event_type, mesh_event_data_s* event);
 
 static int run_mesh_create(MManager *mm, struct menu_data *menu)
 {
index 5a695db..79846b3 100644 (file)
@@ -99,6 +99,17 @@ void saved_mesh_netwrok_cb(mesh_network_h network, void* user_data)
        }
 }
 
+static gboolean _mesh_lookup_by_id(gpointer key, gpointer value, gpointer user_data)
+{
+       int k = (int)key;
+       int id = (int)user_data;
+
+       if (k == id)
+               return TRUE;
+
+       return FALSE;
+}
+
 static int run_mesh_scan(MManager *mm, struct menu_data *menu)
 {
        int ret;
@@ -340,24 +351,19 @@ static int run_add_network(MManager *mm, struct menu_data *menu)
        int ret;
        int idx = 1;
        mesh_network_h net = NULL;
-       msg("Add Network Configuration");
+       msg("Add a Network Configuration among scan results");
 
        if (strlen(network_idx))
                idx = (unsigned short)strtol(network_idx, NULL, 10);
 
-       if (g_hash_saved_net_list) {
-               net = g_hash_table_lookup(g_hash_saved_net_list, GINT_TO_POINTER(idx));
-               if (NULL != net) {
-                       msg("Already added");
+       if (g_hash_scan_net_list) {
+               net = g_hash_table_lookup(g_hash_scan_net_list, GINT_TO_POINTER(idx));
+               if (NULL == net) {
+                       msg("Failed to find candidate network");
                        return RET_FAILURE;
                }
        }
 
-       if (NULL == net) {
-               msg("Failed to get existing network from scan list");
-               return RET_FAILURE;
-       }
-
        ret = mesh_add_mesh_network(mesh, net);
        if (ret != 0) {
                msg("Failed to mesh_add_mesh_network: [%s(0x%X)]",
@@ -371,40 +377,16 @@ static int run_add_network(MManager *mm, struct menu_data *menu)
 static int run_add_new_network(MManager *mm, struct menu_data *menu)
 {
        int ret;
-       int chan;
-       unsigned short _mesh_channel = 1;
+       int _mesh_channel = 1;
        mesh_network_h net = NULL;
+
        msg("Add New Network Configuration");
 
        if (strlen(mesh_channel))
                _mesh_channel = (unsigned short)strtol(mesh_channel, NULL, 10);
 
-       if (g_hash_scan_net_list) {
-
-               char *_meshid = NULL;
-               int _channel;
-
-               GList *values = g_hash_table_get_values(g_hash_scan_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);
-                       if (0 == g_strcmp0(_meshid, meshid) && _channel == _mesh_channel) {
-                               msg("Already added");
-                               return RET_FAILURE;
-                       }
-                       iter_list = g_list_next(iter_list);
-               }
-
-               g_list_free(values);
-       }
-
        mesh_network_new_with(&net, meshid, NULL, _mesh_channel, 0, 0);
        ret = mesh_add_mesh_network(mesh, net);
-       mesh_network_get_channel(net, &chan);
-       msg("channel = %d %d", _mesh_channel, chan);
        mesh_network_destroy(net);
        if (ret != 0) {
                msg("Failed to mesh_add_mesh_network: [%s(0x%X)]",
@@ -421,15 +403,15 @@ static int run_select_network(MManager *mm, struct menu_data *menu)
        int ret;
        int idx = 1;
        mesh_network_h net = NULL;
-       msg("Select Save Network Configuration");
+       msg("Select Saved Network Configuration");
 
        if (strlen(network_idx))
                idx = (unsigned short)strtol(network_idx, NULL, 10);
 
-       if (g_hash_scan_net_list) {
-               net = g_hash_table_lookup(g_hash_scan_net_list, GINT_TO_POINTER(idx));
+       if (g_hash_saved_net_list) {
+               net = g_hash_table_find(g_hash_saved_net_list, _mesh_lookup_by_id, GINT_TO_POINTER(idx));
                if (NULL == net) {
-                       msg("Failed to g_hash_table_lookup");
+                       msg("Failed to g_hash_table_find");
                        return RET_FAILURE;
                }
        }
@@ -444,27 +426,16 @@ static int run_select_network(MManager *mm, struct menu_data *menu)
        return RET_SUCCESS;
 }
 
-static gboolean _mesh_lookup_by_id(gpointer key, gpointer value, gpointer user_data)
-{
-       int k = (int)key;
-       int id = (int)user_data;
-
-       if (k == id)
-               return TRUE;
-
-       return FALSE;
-}
-
 static int run_remove_network(MManager *mm, struct menu_data *menu)
 {
        int ret;
        int idx = 1;
        mesh_network_h net = NULL;
-       msg("Remove Save Network Configuration");
+       msg("Remove Saved Network Configuration");
 
        if (strlen(network_idx))
                idx = (unsigned short)strtol(network_idx, NULL, 10);
-
+#if 0
        if (g_hash_saved_net_list) {
 
                char *_meshid = NULL;
@@ -477,13 +448,13 @@ static int run_remove_network(MManager *mm, struct menu_data *menu)
                        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);
+                       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));