Big commit:
[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                         bool operator == (const Track &track);
31
32                 private:
33                         TrackMetadata _metadata;
34                         QString _source;
35                         int _count;
36                         int _id;
37                         TagResolver *_resolver;
38                 private slots:
39                         void decoded(Track);
40                 };
41
42         };
43 };
44
45
46 #endif // TRACK_H