21 #ifndef DATABASETRACKS_H
22 #define DATABASETRACKS_H
25 #include "Utils/Pimpl.h"
48 virtual int getNumTracks()
const;
53 const ::Library::Filter& filter,
int discnumber)
const;
54 virtual bool getAllTracksByAlbumArtist(
const IdList& artistIds,
MetaDataList& result)
const;
56 const ::Library::Filter& filter)
const;
57 virtual bool getAllTracksByArtist(
const IdList& artistIds,
MetaDataList& result)
const;
59 const ::Library::Filter& filter)
const;
60 virtual bool getAllTracksBySearchString(const ::Library::Filter& filter,
MetaDataList& result)
const;
61 virtual bool getAllTracksByPaths(
const QStringList& paths,
MetaDataList& v_md)
const;
63 virtual MetaData getTrackById(TrackID
id)
const;
65 virtual MetaData getTrackByPath(
const QString& path)
const;
66 virtual bool getMultipleTracksByPath(
const QStringList& paths,
MetaDataList& v_md)
const;
68 virtual bool insertTrackIntoDatabase(
const MetaData& data, ArtistId artistId, AlbumId albumId);
69 virtual bool insertTrackIntoDatabase(
const MetaData& data, ArtistId artistId, AlbumId albumId, ArtistId album_artistId);
70 virtual bool updateTrack(
const MetaData& data);
74 virtual bool renameFilepath(
const QString& old_path,
const QString& new_path, LibraryId libraryId);
76 virtual bool deleteTrack(TrackID
id);
78 virtual bool deleteTracks(
const IdList& ids);
85 virtual bool deleteInvalidTracks(
const QString& library_path,
MetaDataList& double_metadata);
87 virtual QString fetchQueryTracks()
const;
91 void deleteAllTracks(
bool also_views);
94 virtual QString artistIdField()
const=0;
95 virtual QString artistNameField()
const=0;
96 virtual QString trackView()
const=0;
97 virtual QString trackSearchView()
const=0;
98 virtual LibraryId libraryId()
const=0;
100 virtual Module* module()=0;
101 virtual const Module* module()
const=0;
103 virtual void updateTrackCissearch();
107 #endif // DATABASETRACKS_H