void test_initiator() { JNXLOG(NULL,"test_linking"); session_service *service = session_service_create(linking_test_procedure, unlinking_test_procedure); session *os; session_state e = session_service_create_session(service,&os); JNXCHECK(session_service_session_is_linked(service,&os->session_guid) == 0); //Lets generate the guid of some remote session jnx_guid h; jnx_guid_create(&h); peerstore *store = peerstore_init(local_peer_for_user("initiator_bob",10,interface), 0); get_broadcast_ip(&baddr,interface); printf("%s\n", baddr); discovery_service *ds = discovery_service_create(1234, AF_INET, baddr, store); discovery_service_start(ds,BROADCAST_UPDATE_STRATEGY); int remote_peers = 0; jnx_guid **active_guids; peer *local = peerstore_get_local_peer(store); peer *remote_peer = NULL; while(!remote_peers) { int num_guids = peerstore_get_active_guids(store,&active_guids); int i; for(i=0;i<num_guids;i++) { jnx_guid *guid = active_guids[i]; peer *p = peerstore_lookup(store,guid); if(peers_compare(p,local) != 0) { printf("Found a remote peer! Breaking!\n"); remote_peers = 1; remote_peer = p; break; } } } JNXCHECK(session_is_active(os) == 0); session_service_link_sessions(service,E_AM_INITIATOR, ds,&(*os).session_guid,local,remote_peer); JNXCHECK(session_is_active(os) == 1); printf("-------------------------------------\n"); session_message_write(os,"Hello Ballface! what's going on!"); printf("-------------------------------------\n"); printf("Sessions linked - now going to unlink\n"); session_service_unlink_sessions(service,E_AM_INITIATOR, ds,&(*os).session_guid); JNXCHECK(session_is_active(os) == 0); JNXCHECK(session_service_session_is_linked(service,&os->session_guid) == 0); }
void unpair_session_from_gui(void *gui_context) { gui_context_t *context = (gui_context_t *) gui_context; app_context_t *act = (app_context_t *) context->args; context->is_active = 0; session_state r = session_service_unlink_sessions( act->session_serv, E_AM_RECEIVER, act, &context->s->session_guid); JNXCHECK(r == SESSION_STATE_OKAY); JNXCHECK(session_service_session_is_linked( context->session_serv, &context->s->session_guid) == 0); }