Miam-Player  0.8.0
A nice music player
trackdao.h
Go to the documentation of this file.
1 #ifndef TRACKDAO_H
2 #define TRACKDAO_H
3 
4 #include <QIcon>
5 #include "genericdao.h"
6 
13 {
14  Q_OBJECT
15 private:
16  QString _album, _artist, _artistAlbum, _disc, _length, _source, _trackNumber, _uri, _year;
17  int _rating;
18 
19 public:
20  explicit TrackDAO(QObject *parent = nullptr);
21 
22  TrackDAO(const TrackDAO &other);
23 
24  TrackDAO& operator=(const TrackDAO& other);
25 
26  virtual ~TrackDAO();
27 
28  QString album() const;
29  void setAlbum(const QString &album);
30 
31  QString artist() const;
32  void setArtist(const QString &artist);
33 
34  QString artistAlbum() const;
35  void setArtistAlbum(const QString &artistAlbum);
36 
37  QString disc() const;
38  void setDisc(const QString &disc);
39 
40  QString length() const;
41  void setLength(const QString &length);
42 
43  int rating() const;
44  void setRating(int rating);
45 
46  QString source() const;
47  void setSource(const QString &source);
48 
49  QString trackNumber(bool twoDigits = false) const;
50  void setTrackNumber(const QString &trackNumber);
51 
52  QString uri() const;
53  void setUri(const QString &uri);
54 
55  QString year() const;
56  void setYear(const QString &year);
57 
58  virtual uint hash() const;
59 };
60 
62 inline QDataStream & operator<<(QDataStream &out, const TrackDAO &track)
63 {
64  out << track.uri();
65  out << track.artistAlbum();
66  out << track.album();
67  out << track.title();
68  out << track.trackNumber();
69 
70  return out;
71 }
72 
74 inline QDataStream & operator>>(QDataStream &in, TrackDAO &track)
75 {
76  QString uri, aa, a, ti, tn;
77  in >> uri;
78  track.setUri(uri);
79  in >> aa;
80  track.setArtistAlbum(aa);
81  in >> a;
82  track.setAlbum(a);
83  in >> ti;
84  track.setTitle(ti);
85  in >> tn;
86  track.setTrackNumber(tn);
87  return in;
88 }
89 
91 Q_DECLARE_METATYPE(TrackDAO)
92 
93 #endif // TRACKDAO_H
QString album() const
Definition: trackdao.cpp:39
QString trackNumber(bool twoDigits=false) const
Definition: trackdao.cpp:60
QString title() const
Definition: genericdao.cpp:52
QString artistAlbum() const
Definition: trackdao.cpp:45
void setArtistAlbum(const QString &artistAlbum)
Definition: trackdao.cpp:46
The GenericDAO class is a simple wrapper which contains basic informations about a file...
Definition: genericdao.h:12
QDataStream & operator<<(QDataStream &out, const TrackDAO &track)
Definition: trackdao.h:62
The TrackDAO class is a simple wrapper which contains basic informations about a file.
Definition: trackdao.h:12
QDataStream & operator>>(QDataStream &in, TrackDAO &track)
Definition: trackdao.h:74
GenericDAO & operator=(const GenericDAO &other)
Definition: genericdao.cpp:21
void setUri(const QString &uri)
Definition: trackdao.cpp:72
void setTrackNumber(const QString &trackNumber)
Definition: trackdao.cpp:69
void setTitle(const QString &title)
Definition: genericdao.cpp:53
void setAlbum(const QString &album)
Definition: trackdao.cpp:40
#define MIAMCORE_LIBRARY
Definition: miamcore_global.h:10
virtual uint hash() const
Definition: genericdao.cpp:62
QString uri() const
Definition: trackdao.cpp:71