Create database_info_iterate_crc_lookup

This commit is contained in:
twinaphex 2015-05-25 03:20:43 +02:00
parent ddc0fad327
commit befa2f111c
2 changed files with 16 additions and 2 deletions

View File

@ -41,6 +41,7 @@ enum database_type
{
DATABASE_TYPE_NONE = 0,
DATABASE_TYPE_ITERATE,
DATABASE_TYPE_CRC_LOOKUP,
};
typedef struct

View File

@ -80,11 +80,11 @@ static int database_info_iterate_playlist(
#ifdef HAVE_ZLIB
db_state->crc = zlib_crc32_calculate(db_state->buf, ret);
RARCH_LOG("CRC32: 0x%x .\n", (unsigned)db_state->crc);
#endif
db->type = DATABASE_TYPE_CRC_LOOKUP;
return 1;
}
return 0;
}
@ -98,6 +98,14 @@ static int database_info_iterate_next(
return -1;
}
static int database_info_iterate_crc_lookup(
database_state_handle_t *db_state,
database_info_handle_t *db)
{
RARCH_LOG("CRC32: 0x%x .\n", (unsigned)db_state->crc);
return 0;
}
static int database_info_iterate(database_state_handle_t *state, database_info_handle_t *db)
{
const char *name = db ? db->list->elems[db->list_ptr].data : NULL;
@ -114,6 +122,8 @@ static int database_info_iterate(database_state_handle_t *state, database_info_h
break;
case DATABASE_TYPE_ITERATE:
return database_info_iterate_playlist(state, db, name);
case DATABASE_TYPE_CRC_LOOKUP:
return database_info_iterate_crc_lookup(state, db);
}
return 0;
@ -188,7 +198,10 @@ void rarch_main_data_db_iterate(bool is_thread, void *data)
break;
case DATABASE_STATUS_ITERATE:
if (database_info_iterate(&runloop->db.state, db) == 0)
{
db->status = DATABASE_STATUS_ITERATE_NEXT;
db->type = DATABASE_TYPE_ITERATE;
}
break;
case DATABASE_STATUS_ITERATE_NEXT:
if (database_info_iterate_next(db) == 0)