mirror of
https://github.com/CTCaer/RetroArch.git
synced 2024-12-18 16:28:51 +00:00
Add specialized callbacks for deferred push - using database_info_build_query_enum
This commit is contained in:
parent
6d285be90c
commit
7c8c7e5805
@ -453,6 +453,64 @@ end:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int deferred_push_cursor_manager_list_generic(
|
||||||
|
menu_displaylist_info_t *info, enum database_query_type type)
|
||||||
|
{
|
||||||
|
int ret = -1;
|
||||||
|
#ifdef HAVE_LIBRETRODB
|
||||||
|
char query[PATH_MAX_LENGTH];
|
||||||
|
struct string_list *str_list = string_split(info->path, "|");
|
||||||
|
|
||||||
|
query[0] = '\0';
|
||||||
|
|
||||||
|
database_info_build_query_enum(query, sizeof(query), type, str_list->elems[0].data);
|
||||||
|
|
||||||
|
if (string_is_empty(query))
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
strlcpy(info->path, str_list->elems[1].data, sizeof(info->path));
|
||||||
|
strlcpy(info->path_b, str_list->elems[0].data, sizeof(info->path_b));
|
||||||
|
strlcpy(info->path_c, query, sizeof(info->path_c));
|
||||||
|
|
||||||
|
ret = deferred_push_dlist(info, DISPLAYLIST_DATABASE_QUERY);
|
||||||
|
|
||||||
|
end:
|
||||||
|
string_list_free(str_list);
|
||||||
|
#endif
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int deferred_push_cursor_manager_list_deferred_query_rdb_entry_enhancement_hw(
|
||||||
|
menu_displaylist_info_t *info)
|
||||||
|
{
|
||||||
|
return deferred_push_cursor_manager_list_generic(info, DATABASE_QUERY_ENTRY_ENHANCEMENT_HW);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int deferred_push_cursor_manager_list_deferred_query_rdb_entry_franchise(
|
||||||
|
menu_displaylist_info_t *info)
|
||||||
|
{
|
||||||
|
return deferred_push_cursor_manager_list_generic(info, DATABASE_QUERY_ENTRY_FRANCHISE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int deferred_push_cursor_manager_list_deferred_query_rdb_entry_publisher(
|
||||||
|
menu_displaylist_info_t *info)
|
||||||
|
{
|
||||||
|
return deferred_push_cursor_manager_list_generic(info, DATABASE_QUERY_ENTRY_PUBLISHER);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int deferred_push_cursor_manager_list_deferred_query_rdb_entry_developer(
|
||||||
|
menu_displaylist_info_t *info)
|
||||||
|
{
|
||||||
|
return deferred_push_cursor_manager_list_generic(info, DATABASE_QUERY_ENTRY_DEVELOPER);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int deferred_push_cursor_manager_list_deferred_query_rdb_entry_origin(
|
||||||
|
menu_displaylist_info_t *info)
|
||||||
|
{
|
||||||
|
return deferred_push_cursor_manager_list_generic(info, DATABASE_QUERY_ENTRY_ORIGIN);
|
||||||
|
}
|
||||||
|
|
||||||
static int deferred_push_cursor_manager_list_deferred_query_subsearch(
|
static int deferred_push_cursor_manager_list_deferred_query_subsearch(
|
||||||
menu_displaylist_info_t *info)
|
menu_displaylist_info_t *info)
|
||||||
{
|
{
|
||||||
@ -481,7 +539,6 @@ end:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int general_push(menu_displaylist_info_t *info,
|
static int general_push(menu_displaylist_info_t *info,
|
||||||
unsigned id, enum menu_displaylist_ctl_state state)
|
unsigned id, enum menu_displaylist_ctl_state state)
|
||||||
{
|
{
|
||||||
@ -995,10 +1052,20 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
|||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred);
|
||||||
break;
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_PUBLISHER:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_PUBLISHER:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_publisher);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_DEVELOPER:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_DEVELOPER:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_developer);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ORIGIN:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ORIGIN:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_origin);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_FRANCHISE:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_FRANCHISE:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_franchise);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ENHANCEMENT_HW:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ENHANCEMENT_HW:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_enhancement_hw);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ESRB_RATING:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ESRB_RATING:
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_BBFC_RATING:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_BBFC_RATING:
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ELSPA_RATING:
|
case MENU_ENUM_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ELSPA_RATING:
|
||||||
@ -1255,10 +1322,20 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
|||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred);
|
||||||
break;
|
break;
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_PUBLISHER:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_PUBLISHER:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_publisher);
|
||||||
|
break;
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_DEVELOPER:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_DEVELOPER:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_developer);
|
||||||
|
break;
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ORIGIN:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ORIGIN:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_origin);
|
||||||
|
break;
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_FRANCHISE:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_FRANCHISE:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_franchise);
|
||||||
|
break;
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ENHANCEMENT_HW:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ENHANCEMENT_HW:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_cursor_manager_list_deferred_query_rdb_entry_enhancement_hw);
|
||||||
|
break;
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ESRB_RATING:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ESRB_RATING:
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_BBFC_RATING:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_BBFC_RATING:
|
||||||
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ELSPA_RATING:
|
case MENU_LABEL_DEFERRED_CURSOR_MANAGER_LIST_RDB_ENTRY_ELSPA_RATING:
|
||||||
|
Loading…
Reference in New Issue
Block a user