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], 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); sticker_song_find_print_cb, &data);
if (!success) { if (!success) {
command_error(client, ACK_ERROR_SYSTEM, command_error(client, ACK_ERROR_SYSTEM,

View File

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

View File

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