Sayonara Player
Public Types | Public Member Functions | List of all members
DB::LibraryDatabase Class Reference

Public Types

enum  ArtistIDField : uint8_t {
  AlbumArtistID,
  ArtistID
}
 

Public Member Functions

 LibraryDatabase (const QString &connection_name, DbId db_id, LibraryId library_id)
 
void clear ()
 
LibraryId library_id () const
 
virtual bool store_metadata (const MetaDataList &v_md)
 
void change_artistid_field (ArtistIDField field)
 
QString artistid_field () const override
 
QString artistname_field () const override
 
QSqlDatabase db () const
 
DbId db_id () const
 
virtual bool db_fetch_albums (Query &q, AlbumList &result)
 
virtual AlbumId getAlbumID (const QString &album)
 
virtual bool getAlbumByID (AlbumId id, Album &album, bool also_empty=false)
 
virtual bool getAllAlbums (AlbumList &result, bool also_empty)
 
virtual bool getAllAlbums (AlbumList &result, ::Library::SortOrder sortorder=::Library::SortOrder::AlbumNameAsc, bool also_empty=false)
 
virtual bool getAllAlbumsByArtist (ArtistId artist, AlbumList &result)
 
virtual bool getAllAlbumsByArtist (ArtistId artist, AlbumList &result, const ::Library::Filter &filter, ::Library::SortOrder sortorder=::Library::SortOrder::AlbumNameAsc)
 
virtual bool getAllAlbumsByArtist (IdList artists, AlbumList &result)
 
virtual bool getAllAlbumsByArtist (IdList artists, AlbumList &result, const ::Library::Filter &filter, ::Library::SortOrder sortorder=::Library::SortOrder::AlbumNameAsc)
 
virtual bool getAllAlbumsBySearchString (const ::Library::Filter &filter, AlbumList &result, ::Library::SortOrder sortorder=::Library::SortOrder::AlbumNameAsc)
 
virtual AlbumId insertAlbumIntoDatabase (const QString &album)
 
virtual AlbumId insertAlbumIntoDatabase (const Album &album)
 
virtual AlbumId updateAlbum (const Album &album)
 
virtual void updateAlbumCissearch ()
 
virtual bool db_fetch_artists (Query &q, ArtistList &result)
 
virtual ArtistId getArtistID (const QString &artist)
 
virtual bool getArtistByID (int id, Artist &artist, bool also_empty=false)
 
virtual bool getAllArtists (ArtistList &result, bool also_empty)
 
virtual bool getAllArtists (ArtistList &result, ::Library::SortOrder sortorder=::Library::SortOrder::ArtistNameAsc, bool also_empty=false)
 
virtual bool getAllArtistsBySearchString (const ::Library::Filter &filter, ArtistList &result, ::Library::SortOrder sortorder=::Library::SortOrder::ArtistNameAsc)
 
virtual ArtistId insertArtistIntoDatabase (const QString &artist)
 
virtual ArtistId insertArtistIntoDatabase (const Artist &artist)
 
virtual ArtistId updateArtist (const Artist &artist)
 
virtual void updateArtistCissearch ()
 
::Library::SearchModeMask search_mode ()
 
void update_search_mode ()
 
QString connection_name () const
 
DB::Query run_query (const QString &query, const QString &error_text)
 
DB::Query run_query (const QString &query, const QPair< QString, QVariant > &bindings, const QString &error_text)
 
DB::Query run_query (const QString &query, const QMap< QString, QVariant > &bindings, const QString &error_text)
 
DB::Query update (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QPair< QString, QVariant > &where_binding, const QString &error_message)
 
DB::Query insert (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QString &error_message)
 
virtual bool db_fetch_tracks (Query &q, MetaDataList &result)
 
virtual bool getAllTracksByAlbum (AlbumId album, MetaDataList &result)
 
virtual bool getAllTracksByAlbum (AlbumId album, MetaDataList &result, const ::Library::Filter &filter, ::Library::SortOrder sortorder=::Library::SortOrder::TrackArtistAsc, int discnumber=-1)
 
virtual bool getAllTracksByAlbum (IdList albums, MetaDataList &result)
 
virtual bool getAllTracksByAlbum (IdList albums, MetaDataList &result, const ::Library::Filter &filter, ::Library::SortOrder sortorder=::Library::SortOrder::TrackArtistAsc)
 
virtual bool getAllTracksByArtist (ArtistId artist, MetaDataList &result)
 
virtual bool getAllTracksByArtist (ArtistId artist, MetaDataList &result, const ::Library::Filter &filter, ::Library::SortOrder sortorder=::Library::SortOrder::TrackArtistAsc)
 
virtual bool getAllTracksByArtist (IdList artists, MetaDataList &result)
 
virtual bool getAllTracksByArtist (IdList artists, MetaDataList &result, const ::Library::Filter &filter, ::Library::SortOrder sortorder=::Library::SortOrder::TrackArtistAsc)
 
virtual bool getAllTracksBySearchString (const ::Library::Filter &filter, MetaDataList &result, ::Library::SortOrder sortorder=::Library::SortOrder::TrackArtistAsc)
 
virtual bool insertTrackIntoDatabase (const MetaData &data, ArtistId artist_id, AlbumId album_id)
 
virtual bool insertTrackIntoDatabase (const MetaData &data, ArtistId artist_id, AlbumId album_id, ArtistId album_artist_id)
 
virtual bool updateTrack (const MetaData &data)
 
virtual bool updateTracks (const MetaDataList &lst)
 
virtual bool getAllTracks (MetaDataList &returndata, ::Library::SortOrder sortorder=::Library::SortOrder::TrackArtistAsc)
 
virtual MetaData getTrackById (int id)
 
virtual MetaData getTrackByPath (const QString &path)
 
virtual bool getMultipleTracksByPath (const QStringList &paths, MetaDataList &v_md)
 
virtual bool deleteTrack (TrackID id)
 
virtual bool deleteTracks (const MetaDataList &)
 
virtual bool deleteTracks (const IdList &ids)
 
virtual bool deleteInvalidTracks (const QString &library_path, MetaDataList &double_metadata)
 
virtual QString fetch_query_tracks () const
 
virtual SP::Set< GenregetAllGenres ()
 
virtual void updateTrackCissearch ()
 
void deleteAllTracks (bool also_views)
 
void drop_track_view ()
 
void drop_search_view ()
 
::Library::SearchModeMask search_mode ()
 
void update_search_mode ()
 
QString connection_name () const
 
DB::Query run_query (const QString &query, const QString &error_text)
 
DB::Query run_query (const QString &query, const QPair< QString, QVariant > &bindings, const QString &error_text)
 
DB::Query run_query (const QString &query, const QMap< QString, QVariant > &bindings, const QString &error_text)
 
DB::Query update (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QPair< QString, QVariant > &where_binding, const QString &error_message)
 
DB::Query insert (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QString &error_message)
 
Inheritance diagram for DB::LibraryDatabase:
DB::Albums DB::Artists DB::Tracks DB::SearchableModule DB::SearchableModule DB::SearchableModule SC::Database