LightSong: new class to be used by DatabasePlugin callbacks

Detach the Song class completely from the public API, only to be used
by SimpleDatabase and the update thread.
This commit is contained in:
Max Kellermann
2014-01-19 10:51:34 +01:00
parent 738d6f1040
commit f5ae1ce00b
44 changed files with 387 additions and 238 deletions

View File

@@ -38,6 +38,7 @@
struct Tag;
struct TagItem;
struct Song;
struct LightSong;
class DetachedSong;
class SongFilter {
@@ -80,10 +81,10 @@ public:
bool Match(const Tag &tag) const;
gcc_pure
bool Match(const Song &song) const;
bool Match(const DetachedSong &song) const;
gcc_pure
bool Match(const DetachedSong &song) const;
bool Match(const LightSong &song) const;
};
private:
@@ -107,10 +108,10 @@ public:
bool Match(const Tag &tag) const;
gcc_pure
bool Match(const Song &song) const;
bool Match(const DetachedSong &song) const;
gcc_pure
bool Match(const DetachedSong &song) const;
bool Match(const LightSong &song) const;
const std::list<Item> &GetItems() const {
return items;