Database{Plugin,Visitor}: pass references

This commit is contained in:
Max Kellermann
2012-08-07 21:32:08 +02:00
parent c6a0f5d3f9
commit 1a75abffa5
10 changed files with 95 additions and 91 deletions

View File

@@ -237,30 +237,30 @@ SimpleDatabase::LookupDirectory(const char *uri) const
}
bool
SimpleDatabase::Visit(const struct db_selection *selection,
SimpleDatabase::Visit(const db_selection &selection,
VisitDirectory visit_directory,
VisitSong visit_song,
VisitPlaylist visit_playlist,
GError **error_r) const
{
const struct directory *directory = LookupDirectory(selection->uri);
const struct directory *directory = LookupDirectory(selection.uri);
if (directory == NULL) {
struct song *song;
if (visit_song &&
(song = GetSong(selection->uri, NULL)) != NULL)
return visit_song(song, error_r);
(song = GetSong(selection.uri, NULL)) != NULL)
return visit_song(*song, error_r);
g_set_error(error_r, db_quark(), DB_NOT_FOUND,
"No such directory");
return false;
}
if (selection->recursive && visit_directory &&
!visit_directory(directory, error_r))
if (selection.recursive && visit_directory &&
!visit_directory(*directory, error_r))
return false;
db_lock();
bool ret = directory->Walk(selection->recursive,
bool ret = directory->Walk(selection.recursive,
visit_directory, visit_song, visit_playlist,
error_r);
db_unlock();

View File

@@ -60,7 +60,7 @@ public:
virtual void Close() override;
virtual struct song *GetSong(const char *uri_utf8,
GError **error_r) const override;
virtual bool Visit(const struct db_selection *selection,
virtual bool Visit(const db_selection &selection,
VisitDirectory visit_directory,
VisitSong visit_song,
VisitPlaylist visit_playlist,