DatabasePlugin: add method ReturnSong()

Allow the plugin to allocate the GetSong() return value.
This commit is contained in:
Max Kellermann
2012-08-15 23:28:19 +02:00
parent f45616e5f6
commit 3b8532f3fb
13 changed files with 85 additions and 14 deletions

View File

@@ -56,6 +56,8 @@ public:
virtual void Close() override;
virtual struct song *GetSong(const char *uri_utf8,
GError **error_r) const override;
virtual void ReturnSong(struct song *song) const;
virtual bool Visit(const DatabaseSelection &selection,
VisitDirectory visit_directory,
VisitSong visit_song,
@@ -191,6 +193,16 @@ ProxyDatabase::GetSong(const char *uri, GError **error_r) const
return nullptr;
}
void
ProxyDatabase::ReturnSong(struct song *song) const
{
assert(song != nullptr);
assert(song_in_database(song));
assert(song_is_detached(song));
song_free(song);
}
static bool
Visit(struct mpd_connection *connection, const char *uri,
bool recursive, VisitDirectory visit_directory, VisitSong visit_song,