void NrnBBSCallbackItem::execute() { char buf[256]; sprintf(buf, "nrnbbs_notifying %s", s_.string()); if (nrnbbs_take(buf)) { (*cb_)(s_.string()); } }
int main(int argc, const char** argv){ #ifdef WIN32 setneuronhome(argv[0]); #endif if (!neuronhome()) { printf("no NEURONHOME\n"); return 1; } // printf("started hel2mos\n"); char buf[256]; sprintf(buf, "%s/lib/helpdict", neuronhome()); String sf(buf); InputFile* f = InputFile::open(sf); if (f == nil) { printf("Can't open %s\n", sf.string()); return 1; } const char* st; int flen = f->read(st); shelp = new CopyString(st, flen); f->close(); nrnbbs_connect(); nrnbbs_post("ochelp running"); start(); nrnbbs_notify("ochelp", help); #ifdef WIN32 nrnbbs_notify("neuron closed", help); #else nrnbbs_notify("neuron closed", quit); #endif help(""); nrnbbs_wait(&quit_); stop(); nrnbbs_take("ochelp running"); nrnbbs_disconnect(); return 0; }