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 getAllTracksByArtist(
const IdList& artistIds,
MetaDataList& result)
const;
56 const ::Library::Filter& filter)
const;
57 virtual bool getAllTracksBySearchString(const ::Library::Filter& filter,
MetaDataList& result)
const;
58 virtual bool getAllTracksByPaths(
const QStringList& paths,
MetaDataList& v_md)
const;
60 virtual MetaData getTrackById(TrackID
id)
const;
62 virtual MetaData getTrackByPath(
const QString& path)
const;
63 virtual bool getMultipleTracksByPath(
const QStringList& paths,
MetaDataList& v_md)
const;
65 virtual bool insertTrackIntoDatabase(
const MetaData& data, ArtistId artistId, AlbumId albumId);
66 virtual bool insertTrackIntoDatabase(
const MetaData& data, ArtistId artistId, AlbumId albumId, ArtistId album_artistId);
67 virtual bool updateTrack(
const MetaData& data);
71 virtual bool renameFilepath(
const QString& old_path,
const QString& new_path, LibraryId libraryId);
73 virtual bool deleteTrack(TrackID
id);
75 virtual bool deleteTracks(
const IdList& ids);
82 virtual bool deleteInvalidTracks(
const QString& library_path,
MetaDataList& double_metadata);
84 virtual QString fetchQueryTracks()
const;
88 void deleteAllTracks(
bool also_views);
91 virtual QString artistIdField()
const=0;
92 virtual QString artistNameField()
const=0;
93 virtual QString trackView()
const=0;
94 virtual QString trackSearchView()
const=0;
95 virtual LibraryId libraryId()
const=0;
97 virtual Module* module()=0;
98 virtual const Module* module()
const=0;
100 virtual void updateTrackCissearch();
104 #endif // DATABASETRACKS_H