X-Git-Url: http://git.maemo.org/git/?p=someplayer;a=blobdiff_plain;f=src%2Flibrary.h;h=742c03ee7e7f62c5661d2a79f4630b839bbe631f;hp=1a4ecc78df952b4e46cb8754d2f6c21116a9350a;hb=bee1ca99846d2d3f2462e6feb24a13f7b95879f1;hpb=4e6c2c79b2071319631846dd9459234a27f700de diff --git a/src/library.h b/src/library.h index 1a4ecc7..742c03e 100644 --- a/src/library.h +++ b/src/library.h @@ -6,6 +6,11 @@ #include "playlist.h" #include "dbstorage.h" #include "filestorage.h" +#include "mediascanner.h" +#include "tagresolver.h" + +#define _DATABASE_PATH_ "/tmp" +#define _PLAYLISTS_PATH_ "/tmp" // represents media library: tracks, playlists // it uses different media storages for tracks and playlists @@ -15,11 +20,13 @@ using SomePlayer::DataObjects::Track; using SomePlayer::DataObjects::Playlist; using SomePlayer::Storage::DbStorage; using SomePlayer::Storage::FileStorage; +using SomePlayer::Storage::MediaScanner; namespace SomePlayer { namespace DataObjects { - class Library { + class Library : public QObject { + Q_OBJECT public: Library(QString databasePath, QString playlistsPath); ~Library(); @@ -36,22 +43,30 @@ namespace SomePlayer { Playlist getNeverPlayed(); Playlist getRecentlyAdded(); - void removeTrack(Track); - void addTrack(Track); - void addToFavorites(Track); - - void updateTrack(Track); - QList getPlaylists(); - void savePlaylist(Playlist playlist); - void removePlaylist(Playlist playlist); + QStringList getPlaylistsNames(); + Playlist getPlaylist(QString name); + void savePlaylist(const Playlist &playlist); + void removePlaylist(const Playlist &playlist); + void removePlaylist(QString name); Playlist getCurrentPlaylist(); - void saveCurrentPlaylist(Playlist playlist); + void saveCurrentPlaylist(const Playlist &playlist); + + signals: + void addingDone(); private: DbStorage *_library_storage; FileStorage *_playlist_storage; + MediaScanner *_scanner; + TagResolver *_resolver; + + public slots: + void removeTrack(Track); + void addTrack(Track); + void addToFavorites(Track); + void updateTrackCount(Track); }; };