X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fdbstorage.h;h=8dfd025bd4dd3baf7305d330450b7083b77bc4f2;hb=refs%2Ftags%2F1.4.0;hp=9976519b895bb3493922feb064d5a4c8509d9b70;hpb=c739f40cbb87a28f3ba4e36a20a8edd1aab2117e;p=someplayer diff --git a/src/dbstorage.h b/src/dbstorage.h index 9976519..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,6 +52,12 @@ namespace SomePlayer { Playlist getNeverPlayed(); Playlist getRecentlyAdded(); + QList searchTracks(QString pattern); + + int getArtistsCount(); + int getAlbumsCount(); + int getTracksCount(); + void removeTrack(Track track); void addToFavorites(Track track); @@ -58,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(); @@ -65,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; @@ -75,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_by_source_query; + 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_track_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; }; }; };