int curses_ui() { int err; err = ui_init(); if (err == -1) { return (-1); } file_list.dir_name = malloc(MAXPATHLEN + 1); if (!file_list.dir_name) { mvwprintw(main_win, 0, 1, "ERROR: Can't initialize dir_name."); wrefresh(main_win); return (-1); } err = first_run_file_list(main_win); if (err == -1) { mvwprintw(main_win, 0, 1, "ERROR: Can't initialize file list."); wrefresh(main_win); return (-1); } sock_fd = get_client_socket(); err = pthread_create(&receiver_thread, rcv_attr, ui_socket_receiver, rcv_arg); if (err != 0) { mvwprintw(main_win, 0, 1, "ERROR: receiver thread"); wrefresh(main_win); return (-1); } show_files(main_win); curses_loop(); // wait for receiver_thread if alive if (pthread_kill(receiver_thread, 0) == 0) { printw("UI: waiting for receiver_thread.."); refresh(); pthread_join(receiver_thread, NULL); } free_dir_list(); free(file_list.dir_name); ui_cleanup(); return (0); }
int main(int argc, char **argv) { bool noCurses = false; char *slash = strrchr(argv[0], '/'); debug = true; if(!strcmp(slash ? slash + 1 : argv[0], "reader")) noCurses = true; load_dump(&dump, argv[1], argv[2], argv[3], argv[4]); article_file_str = argv[1]; if(!noCurses) { handler = search_handler; curses_loop(); } else { debug("calling reader_loop"); reader_loop(); } return 0; }
int main(int argc, char **argv) { GapIO *io; int xpos = 0; int opt; int lp_mode = 0; int mode = DISPLAY_QUAL | DISPLAY_CUTOFFS; extern char *optarg; contig_t *c; int cnum = 0; int read_only = 1; while ((opt = getopt(argc, argv, "hl:dcCx:e")) != -1) { switch (opt) { case '?': case 'h': usage(); return 0; case 'd': mode |= DISPLAY_DIFFS; break; case 'c': mode |= DISPLAY_CUTOFFS; break; case 'C': mode &= ~DISPLAY_CUTOFFS; break; case 'l': lp_mode = atoi(optarg); break; case 'x': cnum = atoi(optarg)-1; break; case 'e': read_only = 0; break; default: if (opt == ':') fprintf(stderr, "Missing parameter\n"); else fprintf(stderr, "Unknown option '%c'\n", opt); usage(); return 1; } } if (optind == argc) { usage(); return 1; } if (NULL == (io = gio_open(argv[optind], read_only, 0))) { fprintf(stderr, "Unable to open db: %s\n", argv[1]); return 1; } optind++; if (optind != argc) { xpos = atoi(argv[optind]); } io->contig_num = cnum; gio_read_contig(io, cnum, &c); cache_incr(io, c); #ifdef TEST_MODE //test_mode(io, &c, xpos); test_mode2(io, &c, xpos); //benchmark(io, &c); //test_mode3(io, arr(GCardinal, io->contig_order, cnum), xpos); #endif if (lp_mode) { print_output(io, &c, xpos, lp_mode, mode); gio_close(io); } else { init_curses(); curses_loop(io, &c, xpos, mode); endwin(); if (io->cache && io->debug_level > 0) { fputs("\n=== cache ===", stderr); HacheTableStats(io->cache, stderr); } gio_close(io); } if (!lp_mode) { printf("\n\n\tg_view:\tShort Read Alignment Viewer, version 1.2.11"SVN_VERS"\n"); printf("\n\tAuthor:\tJames Bonfield ([email protected])\n"); printf("\t\t2007-2011, Wellcome Trust Sanger Institute\n\n"); } return 0; }