Implemented Database storage for library.
[someplayer] / src / library.cpp
1 #include "library.h"
2
3 using namespace SomePlayer::DataObjects;
4 using namespace SomePlayer::Storage;
5
6 Library::Library(QString databasePath, QString playlistsPath) {
7         _library_storage = new DbStorage(databasePath);
8         _playlist_storage = new FileStorage(playlistsPath);
9 }
10
11 Library::~Library() {
12         delete _library_storage;
13         delete _playlist_storage;
14 }
15
16 void Library::addDirectory(QString path) {
17         /// TODO: implement this
18 }
19
20 void Library::addFile(QString path) {
21         /// TODO: implement this
22 }
23
24 QList<QString> Library::getArtists() {
25         return _library_storage->getArtists();
26 }
27
28 QList<QString> Library::getAlbumsForArtist(QString artist) {
29         return _library_storage->getAlbumsForArtist(artist);
30 }
31
32 QList<Track> Library::getTracksForAlbum(QString album, QString artist) {
33         return _library_storage->getTracksForAlbum(album, artist);
34 }
35
36
37 // dynamic:
38
39 Playlist Library::getFavorites() {
40         return _library_storage->getFavorites();
41 }
42
43 Playlist Library::getMostPlayed() {
44         return _library_storage->getMostPlayed();
45 }
46
47 Playlist Library::getNeverPlayed() {
48         return _library_storage->getNeverPlayed();
49 }
50
51 Playlist Library::getRecentlyAdded() {
52         return _library_storage->getRecentlyAdded();
53 }
54
55
56 void Library::removeTrack(Track track) {
57         _library_storage->removeTrack(track);
58 }
59
60 void Library::addToFavorites(Track track) {
61         _library_storage->addToFavorites(track);
62 }
63
64 void Library::updateTrack(Track track) {
65         _library_storage->updateTrack(track);
66 }
67
68
69 // playlists:
70
71 QList<Playlist> Library::getPlaylists() {
72         return _playlist_storage->getPlaylists();
73 }
74
75 void Library::savePlaylist(Playlist playlist) {
76         _playlist_storage->savePlaylist(playlist);
77 }
78
79 void Library::removePlaylist(Playlist playlist) {
80         _playlist_storage->removePlaylist(playlist);
81 }
82
83
84 Playlist Library::getCurrentPlaylist() {
85         return _playlist_storage->getCurrentPlaylist();
86 }
87
88 void Library::saveCurrentPlaylist(Playlist playlist) {
89         _playlist_storage->saveCurrentPlaylist(playlist);
90 }