bool TrexStatelessDpCanQuit::handle(TrexStatelessDpCore *dp_core){ if ( dp_core->are_all_ports_idle() ){ /* if all ports are idle quit now */ set_quit(true); } return (true); }
int set_init() { fs_file fin; char *name; Array items; int i; if (sets) set_quit(); sets = array_new(sizeof (struct set)); curr = 0; /* * First, load the sets listed in the set file, preserving order. */ if ((fin = fs_open(SET_FILE, "r"))) { while (read_line(&name, fin)) { struct set *s = array_add(sets); if (!set_load(s, name)) array_del(sets); free(name); } fs_close(fin); } /* * Then, scan for any remaining set description files, and add * them after the first group in alphabetic order. */ if ((items = fs_dir_scan("", is_unseen_set))) { array_sort(items, cmp_dir_items); for (i = 0; i < array_len(items); i++) { struct set *s = array_add(sets); if (!set_load(s, DIR_ITEM_GET(items, i)->path)) array_del(sets); } fs_dir_free(items); } return array_len(sets); }
static int set_action(int i) { audio_play(AUD_MENU, 1.0f); switch (i) { case GUI_BACK: set_quit(); return goto_state(&st_title); break; case GUI_PREV: first -= SET_STEP; do_init = 0; return goto_state(&st_set); break; case GUI_NEXT: first += SET_STEP; do_init = 0; return goto_state(&st_set); break; case GUI_NULL: return 1; break; default: if (set_exists(i)) { set_goto(i); return goto_state(&st_start); } } return 1; }
int set_init() { fs_file fin; char *name; Array items; int i; if (sets) set_quit(); sets = array_new(sizeof (struct set)); curr = 0; /* * First, load the sets listed in the set file, preserving order. */ if ((fin = fs_open(SET_FILE, "r"))) { while (read_line(&name, fin)) { struct set *s = array_add(sets); if (!set_load(s, name)) array_del(sets); free(name); } fs_close(fin); } //senquack - added error reporting after getting random errors opening set files: #ifdef GCWZERO else { log_printf("Error opening sets file %s\n", SET_FILE); log_printf(fs_error()); } #endif //GCWZERO /* * Then, scan for any remaining set description files, and add * them after the first group in alphabetic order. */ if ((items = fs_dir_scan("", is_unseen_set))) { array_sort(items, cmp_dir_items); for (i = 0; i < array_len(items); i++) { struct set *s = array_add(sets); if (!set_load(s, DIR_ITEM_GET(items, i)->path)) array_del(sets); } fs_dir_free(items); } return array_len(sets); }