X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fdbstorage.h;h=8dfd025bd4dd3baf7305d330450b7083b77bc4f2;hb=refs%2Ftags%2F1.4.0;hp=db55d932cd172184974c67aa659c49ad60a8efc6;hpb=8caab715513ce425d105aff54d59f977df9e0543;p=someplayer diff --git a/src/dbstorage.h b/src/dbstorage.h index db55d93..8dfd025 100644 --- a/src/dbstorage.h +++ b/src/dbstorage.h @@ -42,6 +42,7 @@ namespace SomePlayer { public: DbStorage(QString path); ~DbStorage(); + QList getDirectories(); QList getArtists(); QMap getAlbumsForArtist(QString artist); QList getTracksForAlbum(QString album, QString artist); // hm... @@ -51,7 +52,11 @@ namespace SomePlayer { Playlist getNeverPlayed(); Playlist getRecentlyAdded(); - QList search(QString pattern); + QList searchTracks(QString pattern); + + int getArtistsCount(); + int getAlbumsCount(); + int getTracksCount(); void removeTrack(Track track); void addToFavorites(Track track); @@ -60,6 +65,9 @@ namespace SomePlayer { Track updateTrack(Track); void addTrack(Track track); + void deleteTracksFrom(QString path); + void checkTracksFrom(QString path); + private: QSqlDatabase db; void _create_database_structure(); @@ -67,6 +75,9 @@ namespace SomePlayer { int _check_add_artist(QString artist); int _check_add_album(QString album, int artist_id, int year); + int _check_add_directory(QString path); + + void _cleanup(); // queries QSqlQuery *_get_artists_query; @@ -77,22 +88,33 @@ namespace SomePlayer { QSqlQuery *_get_most_played_query; QSqlQuery *_get_never_played_query; QSqlQuery *_get_recently_added_query; - QSqlQuery *_get_track_count; + QSqlQuery *_get_track_count_query; QSqlQuery *_get_tracks_by_pattern_query; QSqlQuery *_get_track_id_by_source_query; + QSqlQuery *_get_directories_query; + QSqlQuery *_get_artists_count_query; + QSqlQuery *_get_albums_count_query; + QSqlQuery *_get_tracks_count_query; + QSqlQuery *_get_tracks_source_from_query; QSqlQuery *_check_artist_query; QSqlQuery *_check_album_query; + QSqlQuery *_check_directory_query; QSqlQuery *_insert_artist_query; QSqlQuery *_insert_album_query; QSqlQuery *_insert_track_query; QSqlQuery *_insert_date_query; QSqlQuery *_insert_favorites_query; + QSqlQuery *_insert_directory_query; QSqlQuery *_update_track_count_query; QSqlQuery *_remove_track_query; + QSqlQuery *_remove_empty_artists_query; + QSqlQuery *_remove_empty_albums_query; + QSqlQuery *_remove_tracks_from_query; + QSqlQuery *_remove_directory_query; }; }; };