mirror of
https://github.com/owntone/owntone-server.git
synced 2025-11-26 12:36:15 -05:00
[db] Refactor queue_item functions
- Use prepared statements - Add qi_mfi_map that defines mapping between mfi, dbmfi and qi - Use qi_cols_map/qi_mfi_map for iteration (avoid duplicating field references) - Stick to "qi" as name for a queue_item in db.c (more similar to mfi/pli/gri) - Some renaming and other minor stuff in db.c's queue code
This commit is contained in:
14
src/db.h
14
src/db.h
@@ -543,7 +543,7 @@ void
|
||||
free_query_params(struct query_params *qp, int content_only);
|
||||
|
||||
void
|
||||
free_queue_item(struct db_queue_item *queue_item, int content_only);
|
||||
free_queue_item(struct db_queue_item *qi, int content_only);
|
||||
|
||||
/* Maintenance and DB hygiene */
|
||||
void
|
||||
@@ -816,8 +816,14 @@ int
|
||||
db_speaker_get(struct output_device *device, uint64_t id);
|
||||
|
||||
/* Queue */
|
||||
void
|
||||
db_queue_item_from_mfi(struct db_queue_item *qi, struct media_file_info *mfi); // Use free_queue_item(qi, 0) to free
|
||||
|
||||
void
|
||||
db_queue_item_from_dbmfi(struct db_queue_item *qi, struct db_media_file_info *dbmfi); // Do not free qi content
|
||||
|
||||
int
|
||||
db_queue_update_item(struct db_queue_item *queue_item);
|
||||
db_queue_item_update(struct db_queue_item *qi);
|
||||
|
||||
int
|
||||
db_queue_add_by_queryafteritemid(struct query_params *qp, uint32_t item_id);
|
||||
@@ -838,7 +844,7 @@ int
|
||||
db_queue_add_end(struct db_queue_add_info *queue_add_info, char reshuffle, uint32_t item_id, int ret);
|
||||
|
||||
int
|
||||
db_queue_add_item(struct db_queue_add_info *queue_add_info, struct db_queue_item *item);
|
||||
db_queue_add_next(struct db_queue_add_info *queue_add_info, struct db_queue_item *qi);
|
||||
|
||||
int
|
||||
db_queue_enum_start(struct query_params *qp);
|
||||
@@ -847,7 +853,7 @@ void
|
||||
db_queue_enum_end(struct query_params *qp);
|
||||
|
||||
int
|
||||
db_queue_enum_fetch(struct query_params *qp, struct db_queue_item *queue_item);
|
||||
db_queue_enum_fetch(struct query_params *qp, struct db_queue_item *qi);
|
||||
|
||||
struct db_queue_item *
|
||||
db_queue_fetch_byitemid(uint32_t item_id);
|
||||
|
||||
Reference in New Issue
Block a user