21 #ifndef DATABASEARTISTS_H 22 #define DATABASEARTISTS_H 24 #include "Database/SearchableModule.h" 25 #include "Utils/Library/Sortorder.h" 27 namespace Library {
class Filter;}
41 Artists(
const QString& connection_name, DbId db_id, LibraryId library_id);
46 virtual ArtistId getArtistID (
const QString& artist);
47 virtual bool getArtistByID(
int id,
Artist& artist,
bool also_empty=
false);
49 virtual bool getAllArtists(
ArtistList& result,
bool also_empty);
50 virtual bool getAllArtists(
ArtistList& result, ::Library::SortOrder sortorder = ::Library::SortOrder::ArtistNameAsc,
bool also_empty=
false);
51 virtual bool getAllArtistsBySearchString(const ::Library::Filter& filter,
ArtistList& result, ::Library::SortOrder sortorder = ::Library::SortOrder::ArtistNameAsc);
53 virtual ArtistId insertArtistIntoDatabase(
const QString& artist);
54 virtual ArtistId insertArtistIntoDatabase(
const Artist& artist);
56 virtual ArtistId updateArtist(
const Artist& artist);
58 virtual void updateArtistCissearch();
61 virtual QString artistid_field()
const=0;
62 virtual QString artistname_field()
const=0;
65 QString _create_order_string(::Library::SortOrder sort);
67 virtual QString fetch_query_artists(
bool also_empty=
false)
const;
71 #endif // DATABASEARTISTS_H
Definition: SearchableModule.h:32
ArtistList.
Definition: Artist.h:69
An interface class needed when implementing a library plugin.
Definition: CachingThread.h:31
The Artist class.
Definition: Artist.h:35