1 #ifndef SOUNDCLOUDLIBRARYDATABASE_H 2 #define SOUNDCLOUDLIBRARYDATABASE_H 3 4 #include "Database/LibraryDatabase.h" 5 6 namespace SC 7 { 8 class SearchInformationList; 9 10 class LibraryDatabase : public ::DB::LibraryDatabase 11 { 12 public: 13 LibraryDatabase(const QString& connectionName, DbId databaseId, LibraryId libraryId); 14 ~LibraryDatabase() override; 15 16 QString fetchQueryAlbums(bool also_empty=false) const override; 17 QString fetchQueryArtists(bool also_empty=false) const override; 18 QString fetchQueryTracks() const override; 19 20 bool dbFetchTracks(::DB::Query& q, MetaDataList& result) const override; 21 bool dbFetchAlbums(::DB::Query& q, AlbumList& result) const override; 22 bool dbFetchArtists(::DB::Query& q, ArtistList& result) const override; 23 24 ArtistId updateArtist(const Artist& artist); 25 ArtistId insertArtistIntoDatabase (const Artist& artist) override; 26 ArtistId insertArtistIntoDatabase (const QString& artist) override; 27 28 bool getAllAlbums(AlbumList& result, bool alsoEmpty) const override; 29 AlbumId updateAlbum(const Album& album); 30 AlbumId insertAlbumIntoDatabase (const Album& album) override; 31 AlbumId insertAlbumIntoDatabase (const QString& album) override; 32 33 bool updateTrack(const MetaData& md) override; 34 bool storeMetadata(const MetaDataList& v_md) override; 35 bool insertTrackIntoDatabase(const MetaData& md, int artistId, int albumId, int album_artistId) override; 36 bool insertTrackIntoDatabase(const MetaData& md, int artistId, int albumId) override; 37 38 bool searchInformation(SC::SearchInformationList& list); 39 }; 40 } 41 42 #endif // SOUNDCLOUDLIBRARYDATABASE_H 43