discovery saves result in struct

clean-up works now

FossilOrigin-Name: b748ddb215a807c4634de1492c35aadfd4df7054b43bf73627b3ee67b224e0aa
This commit is contained in:
7u83@mail.ru
2018-03-31 06:37:18 +00:00
parent 370994b0b4
commit 48aa62b5be
10 changed files with 72 additions and 6 deletions

View File

@ -74,6 +74,8 @@ int cw_select_ac(mavl_t local_cfg, struct cw_DiscoveryResult * dis)
cw_ktv_add(dis->prio_ip, key, CW_TYPE_SYSPTR, (uint8_t *) (&ipval),
sizeof(ipval));
cw_ktv_add(dis->prio_ac, key, CW_TYPE_SYSPTR, (uint8_t *)(&remote_cfg),
sizeof(remote_cfg));
i++;
en++;
} while (1);
@ -97,10 +99,20 @@ void cw_discovery_free_results(struct cw_DiscoveryResult * dis)
}
static void result_del(void * data)
{
mavl_t todelete = *((void**)data);
mavl_destroy(todelete);
/*mavl_t*/
}
int cw_discovery_init_results(struct cw_DiscoveryResult *dis)
{
dis->results = mlist_create(NULL, NULL, sizeof(void *));
dis->results = mlist_create(NULL, result_del, sizeof(void *));
if (dis->results==NULL)
goto errX;
dis->prio_ac=cw_ktv_create();

View File

@ -164,6 +164,9 @@ int main (int argc, char **argv)
cw_run_discovery(conn, "255.255.255.255",NULL, &dis);
cw_dbg_ktv_dump(dis.prio_ip, DBG_INFO, "=== IP list ===", "IP", "=== END IP List ===");
{
mavliter_t i;
mavliter_init(&i, dis.prio_ip);
@ -172,14 +175,24 @@ int main (int argc, char **argv)
char ipstr[100];
char *rk;
cw_KTV_t *val;
mavl_t cfg;
val = mavliter_get(&i);
rk = val->key;
val = val->val.ptr;
val->type->to_str(val, ipstr, 100);
printf("PTRVAL(%s): %s - %s\n", rk, val->key, ipstr);
cfg = cw_ktv_get_sysptr(dis.prio_ac,rk,NULL);
cw_dbg_ktv_dump(cfg,DBG_INFO,"----- dump of remote","dmp","endof of remote -------");
}
}
cw_discovery_free_results(&dis);
return (EXIT_SUCCESS);
}