* Minor fixes in database storage
[someplayer] / src / track.h
1 #ifndef TRACK_H
2 #define TRACK_H
3
4 #include "someplayer.h"
5 #include "trackmetainformation.h"
6 #include "tagresolver.h"
7
8 // represents some track: metainformation + source url
9
10 namespace SomePlayer {
11         namespace DataObjects {
12
13                 class Track : public QObject
14                 {
15                         Q_OBJECT
16
17                 public:
18                         Track();
19                         Track(const Track &track);
20                         Track(int id, TrackMetadata metadata, QString source);
21                         Track(QString source);
22                         ~Track();
23                         Track &operator=(const Track &track);
24                         TrackMetadata metadata() const; //read-write
25                         QString source() const;
26                         int id() const;
27                         void setSource (QString source);
28                         int count() const; //count of plays
29                         void setCount(int count); //for restoring from database and counting from player
30
31                 private:
32                         TrackMetadata _metadata;
33                         QString _source;
34                         int _count;
35                         int _id;
36                         TagResolver *_resolver;
37                 private slots:
38                         void decoded(Track);
39                 };
40
41         };
42 };
43
44
45 #endif // TRACK_H