DatabasePlugin: add method ReturnSong()
Allow the plugin to allocate the GetSong() return value.
This commit is contained in:
@@ -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,
|
||||
|
Reference in New Issue
Block a user