SongSticker: add Database reference parameter

This commit is contained in:
Max Kellermann 2014-02-04 01:15:08 +01:00
parent 29072797ca
commit 9c637df77e
3 changed files with 5 additions and 8 deletions

View File

@ -133,7 +133,7 @@ handle_sticker_song(Client &client, int argc, char *argv[])
argv[4],
};
success = sticker_song_find(base_uri, data.name,
success = sticker_song_find(*db, base_uri, data.name,
sticker_song_find_print_cb, &data);
if (!success) {
command_error(client, ACK_ERROR_SYSTEM,

View File

@ -21,7 +21,6 @@
#include "SongSticker.hxx"
#include "StickerDatabase.hxx"
#include "db/LightSong.hxx"
#include "db/DatabaseGlue.hxx"
#include "db/DatabasePlugin.hxx"
#include "util/Error.hxx"
@ -95,15 +94,13 @@ sticker_song_find_cb(const char *uri, const char *value, void *user_data)
}
bool
sticker_song_find(const char *base_uri, const char *name,
sticker_song_find(const Database &db, const char *base_uri, const char *name,
void (*func)(const LightSong &song, const char *value,
void *user_data),
void *user_data)
{
struct sticker_song_find_data data;
data.db = GetDatabase();
assert(data.db != nullptr);
data.db = &db;
data.func = func;
data.user_data = user_data;

View File

@ -25,8 +25,8 @@
#include <string>
struct LightSong;
struct Directory;
struct sticker;
class Database;
/**
* Returns one value from a song's sticker record. The caller must
@ -78,7 +78,7 @@ sticker_song_get(const LightSong &song);
* failure
*/
bool
sticker_song_find(const char *base_uri, const char *name,
sticker_song_find(const Database &db, const char *base_uri, const char *name,
void (*func)(const LightSong &song, const char *value,
void *user_data),
void *user_data);