}
}
+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;
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)]",
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)]",
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;
}
}
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;
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));