Sayonara Player
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LibraryDatabase Class Referenceabstract

Public Member Functions

 LibraryDatabase (quint8 db_id, const QString &db_dir, const QString &db_name)
 
virtual void close_db ()
 
virtual bool is_initialized ()
 
virtual void transaction ()
 
virtual void commit ()
 
virtual void rollback ()
 
quint8 get_id ()
 
virtual bool db_fetch_albums (SayonaraQuery &q, AlbumList &result)
 
virtual int getAlbumID (const QString &album)
 
virtual int getMaxAlbumID ()
 
virtual bool getAlbumByID (const int &id, Album &album)
 
virtual bool getAllAlbums (AlbumList &result, SortOrder sortorder=SortOrder::AlbumNameAsc, bool also_empty=false)
 
virtual bool getAllAlbumsByArtist (int artist, AlbumList &result, Filter filter=Filter(), SortOrder sortorder=SortOrder::AlbumNameAsc)
 
virtual bool getAllAlbumsByArtist (IDList artists, AlbumList &result, Filter filter=Filter(), SortOrder sortorder=SortOrder::AlbumNameAsc)
 
virtual bool getAllAlbumsBySearchString (Filter filter, AlbumList &result, SortOrder sortorder=SortOrder::AlbumNameAsc)
 
virtual int insertAlbumIntoDatabase (const QString &album)
 
virtual int insertAlbumIntoDatabase (const Album &album)
 
virtual int updateAlbum (const Album &album)
 
virtual void updateAlbumCissearch (LibraryHelper::SearchModeMask mode)
 
virtual bool db_fetch_artists (SayonaraQuery &q, ArtistList &result)
 
virtual int getArtistID (const QString &artist)
 
virtual bool getArtistByID (int id, Artist &artist)
 
virtual int getMaxArtistID ()
 
virtual bool getAllArtists (ArtistList &result, SortOrder sortorder=SortOrder::ArtistNameAsc, bool also_empty=false)
 
virtual bool getAllArtistsByAlbum (int album, ArtistList &result, SortOrder sortorder=SortOrder::ArtistNameAsc)
 
virtual bool getAllArtistsBySearchString (Filter filter, ArtistList &result, SortOrder sortorder=SortOrder::ArtistNameAsc)
 
virtual int insertArtistIntoDatabase (const QString &artist)
 
virtual int insertArtistIntoDatabase (const Artist &artist)
 
virtual int updateArtist (const Artist &artist)
 
virtual void updateArtistCissearch (LibraryHelper::SearchModeMask mode)
 
virtual bool db_fetch_tracks (SayonaraQuery &q, MetaDataList &result)
 
virtual bool getAllTracksByAlbum (int album, MetaDataList &result, Filter filter=Filter(), SortOrder sortorder=SortOrder::TrackArtistAsc, int discnumber=-1)
 
virtual bool getAllTracksByAlbum (IDList albums, MetaDataList &result, Filter filter=Filter(), SortOrder sortorder=SortOrder::TrackArtistAsc)
 
virtual bool getAllTracksByArtist (int artist, MetaDataList &result, Filter filter=Filter(), SortOrder sortorder=SortOrder::TrackArtistAsc)
 
virtual bool getAllTracksByArtist (IDList artists, MetaDataList &result, Filter filter=Filter(), SortOrder sortorder=SortOrder::TrackArtistAsc)
 
virtual bool getAllTracksBySearchString (Filter filter, MetaDataList &result, SortOrder sortorder=SortOrder::TrackArtistAsc)
 
virtual bool insertTrackIntoDatabase (const MetaData &data, int artistID, int albumID)
 
virtual bool updateTrack (const MetaData &data)
 
virtual bool updateTracks (const MetaDataList &lst)
 
virtual bool getTracksFromDatabase (MetaDataList &returndata, SortOrder sortorder=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 (int id)
 
virtual bool deleteTracks (const MetaDataList &)
 
virtual bool deleteTracks (const IDList &ids)
 
virtual bool deleteInvalidTracks ()
 
virtual QStringList getAllGenres ()
 
virtual void updateTrackCissearch (LibraryHelper::SearchModeMask mode)
 
bool updateTrackDates ()
 
virtual void createIndexes ()
 
virtual bool storeMetadata (const MetaDataList &v_md)
 
virtual void deleteTracksAlbumsArtists ()
 

Static Public Member Functions

static void remove_connections ()
 

Protected Member Functions

virtual bool apply_fixes ()=0
 
virtual bool exists ()
 
virtual bool create_db ()
 
virtual bool open_db ()
 
virtual bool check_and_insert_column (QString tablename, QString column, QString sqltype)
 
virtual bool check_and_create_table (QString tablename, QString sql_create_str)
 
virtual bool check_and_drop_table (QString tablename)
 
void set_album_fetch_query (const QString &query)
 
void set_artist_fetch_query (const QString &query)
 
void set_track_fetch_query (const QString &query)
 
QString append_track_sort_string (QString querytext, SortOrder sort)
 

Protected Attributes

QSqlDatabase _database
 
QString _db_path
 
QString _db_name
 
QString _db_dir
 
quint8 _db_id
 
bool _initialized
 
QSqlDatabase _db
 
quint8 _module_db_id
 
QSqlDatabase _db
 
quint8 _module_db_id
 
QSqlDatabase _db
 
quint8 _module_db_id
 

Member Data Documentation

bool AbstractDatabase::_initialized
protectedinherited

Check if db of m_databaseFileContainer is existent

Returns
true if we can load the db false if not
Inheritance diagram for LibraryDatabase:
AbstractDatabase DatabaseAlbums DatabaseArtists DatabaseTracks DatabaseLibrary DatabaseModule DatabaseModule DatabaseModule DatabaseModule DatabaseConnector SoundcloudData