X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=examples%2Fchatpp.cc;h=97f8740639836591beabb294b8b5c851df1e0a5e;hb=e2cae2e00c821190a72c227c27fc37b8b3ab35f8;hp=c94cf2bb3d2aea82b1df805a126736708ad809be;hpb=43ed5b9a5d739c50317d5d24898de07526a9297f;p=meshlink diff --git a/examples/chatpp.cc b/examples/chatpp.cc index c94cf2bb..97f87406 100644 --- a/examples/chatpp.cc +++ b/examples/chatpp.cc @@ -61,10 +61,17 @@ static void parse_command(meshlink::mesh *mesh, char *buf) { return; } + mesh->stop(); + if(!mesh->join(arg)) fprintf(stderr, "Could not join using invitation: %s\n", meshlink::strerror()); else fprintf(stderr, "Invitation accepted!\n"); + + if(!mesh->start()) { + fprintf(stderr, "Could not restart MeshLink: %s\n", meshlink::strerror()); + exit(1); + } } else if(!strcasecmp(buf, "kick")) { if(!arg) { fprintf(stderr, "/kick requires an argument!\n"); @@ -187,14 +194,15 @@ int main(int argc, char *argv[]) { if(argc > 2) nick = argv[2]; - ChatMesh* mesh = meshlink::open(confbase, nick, "chatpp"); + ChatMesh mesh; + mesh.open(confbase, nick, "chatpp", DEV_CLASS_STATIONARY); - if(!mesh) { + if(!mesh.isOpen()) { fprintf(stderr, "Could not open MeshLink: %s\n", meshlink::strerror()); return 1; } - if(!mesh->start()) { + if(!mesh.start()) { fprintf(stderr, "Could not start MeshLink: %s\n", meshlink::strerror()); return 1; } @@ -202,12 +210,12 @@ int main(int argc, char *argv[]) { printf("Chat started.\nType /help for a list of commands.\n"); while(fgets(buf, sizeof buf, stdin)) - parse_input(mesh, buf); + parse_input(&mesh, buf); printf("Chat stopping.\n"); - mesh->stop(); - meshlink::close(mesh); + mesh.stop(); + mesh.close(); return 0; }