int menu_entry_iterate(unsigned action) { const char *label = NULL; menu_file_list_cbs_t *cbs = NULL; menu_list_t *menu_list = menu_list_get_ptr(); if (!menu_list) return -1; if (action != MENU_ACTION_NOOP || menu_entries_needs_refresh() || menu_display_update_pending()) menu_display_fb_set_dirty(); cbs = (menu_file_list_cbs_t*)menu_list_get_last_stack_actiondata(menu_list); menu_list_get_last_stack(menu_list, NULL, &label, NULL, NULL); if (cbs && cbs->action_iterate) return cbs->action_iterate(label, action); return -1; }
int menu_entries_deferred_push(file_list_t *list, file_list_t *menu_list) { unsigned type = 0; const char *path = NULL; const char *label = NULL; menu_file_list_cbs_t *cbs = NULL; driver_t *driver = driver_get_ptr(); menu_list_get_last_stack(driver->menu->menu_list, &path, &label, &type); if (!strcmp(label, "Main Menu")) return menu_entries_push_list(driver->menu, list, path, label, type, SL_FLAG_MAIN_MENU); else if (!strcmp(label, "Horizontal Menu")) return menu_entries_push_horizontal_menu_list(driver->menu, list, path, label, type); cbs = (menu_file_list_cbs_t*) menu_list_get_last_stack_actiondata(driver->menu->menu_list); if (!cbs->action_deferred_push) return 0; return cbs->action_deferred_push(list, menu_list, path, label, type); }