MythTV  master
v2musicMetadataInfo.h
Go to the documentation of this file.
1 // Program Name: musicMetadataInfo.h
3 // Created : July 20, 2017
4 //
5 // Copyright (c) 2017 Paul Harrison <pharrison@mythtv.org>
6 //
7 // Licensed under the GPL v2 or later, see COPYING for details
8 //
10 
11 #ifndef V2MUSICMETADATAINFO_H_
12 #define V2MUSICMETADATAINFO_H_
13 
14 #include <QString>
15 #include <QDateTime>
16 
18 
19 
21 
22 class V2MusicMetadataInfo : public QObject
23 {
24  Q_OBJECT
25  Q_CLASSINFO( "Version" , "1.00" );
26 
27  SERVICE_PROPERTY2( int , Id )
28  SERVICE_PROPERTY2( QString , Artist )
29  SERVICE_PROPERTY2( QString , CompilationArtist )
30  SERVICE_PROPERTY2( QString , Album )
31  SERVICE_PROPERTY2( QString , Title )
32  SERVICE_PROPERTY2( int , TrackNo )
33  SERVICE_PROPERTY2( QString , Genre )
34  SERVICE_PROPERTY2( int , Year )
35  SERVICE_PROPERTY2( int , PlayCount )
36  SERVICE_PROPERTY2( int , Length )
37  SERVICE_PROPERTY2( int , Rating )
38  SERVICE_PROPERTY2( QString , FileName )
39  SERVICE_PROPERTY2( QString , HostName )
40  SERVICE_PROPERTY2( QDateTime , LastPlayed )
41  SERVICE_PROPERTY2( bool , Compilation )
42 
43  public:
44 
45  Q_INVOKABLE V2MusicMetadataInfo(QObject *parent = nullptr)
46  : QObject( parent )
47  {
48  }
49 
50  void Copy( const V2MusicMetadataInfo *src )
51  {
52  m_Id = src->m_Id;
53  m_Artist = src->m_Artist;
54  m_CompilationArtist = src->m_CompilationArtist;
55  m_Album = src->m_Album;
56  m_Title = src->m_Title;
57  m_TrackNo = src->m_TrackNo;
58  m_Genre = src->m_Genre;
59  m_Year = src->m_Year;
60  m_PlayCount = src->m_PlayCount;
61  m_Length = src->m_Length;
62  m_Rating = src->m_Rating;
63  m_FileName = src->m_FileName;
64  m_HostName = src->m_HostName;
65  m_LastPlayed = src->m_LastPlayed;
66  m_Compilation = src->m_Compilation;
67  }
68 };
69 
71 
72 #endif
V2MusicMetadataInfo::V2MusicMetadataInfo
Q_INVOKABLE V2MusicMetadataInfo(QObject *parent=nullptr)
Definition: v2musicMetadataInfo.h:45
V2MusicMetadataInfo::Copy
void Copy(const V2MusicMetadataInfo *src)
Definition: v2musicMetadataInfo.h:50
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(std::chrono::seconds)
SERVICE_PROPERTY2
#define SERVICE_PROPERTY2(Type, Name)
Definition: mythhttpservice.h:72
V2MusicMetadataInfo::Q_CLASSINFO
Q_CLASSINFO("Version", "1.00")
V2MusicMetadataInfo
Definition: v2musicMetadataInfo.h:22
mythhttpservice.h