MythTV  0.27pre
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
videoMetadataInfo.h
Go to the documentation of this file.
1 
2 // Program Name: videoMetadataInfo.h
3 // Created : Apr. 21, 2011
4 //
5 // Copyright (c) 2010 Robert McNamara <rmcnamara@mythtv.org>
6 //
7 // Licensed under the GPL v2 or later, see COPYING for details
8 //
10 
11 #ifndef VIDEOMETADATAINFO_H_
12 #define VIDEOMETADATAINFO_H_
13 
14 #include <QString>
15 #include <QDateTime>
16 
17 #include "serviceexp.h"
18 #include "datacontracthelper.h"
19 #include "artworkInfoList.h"
20 
21 namespace DTC
22 {
23 
25 
26 class SERVICE_PUBLIC VideoMetadataInfo : public QObject
27 {
28  Q_OBJECT
29  Q_CLASSINFO( "version" , "1.20" );
30 
31  Q_PROPERTY( int Id READ Id WRITE setId )
32  Q_PROPERTY( QString Title READ Title WRITE setTitle )
33  Q_PROPERTY( QString SubTitle READ SubTitle WRITE setSubTitle )
34  Q_PROPERTY( QString Tagline READ Tagline WRITE setTagline )
35  Q_PROPERTY( QString Director READ Director WRITE setDirector )
36  Q_PROPERTY( QString Studio READ Studio WRITE setStudio )
37  Q_PROPERTY( QString Description READ Description WRITE setDescription )
38  Q_PROPERTY( QString Certification READ Certification WRITE setCertification )
39  Q_PROPERTY( QString Inetref READ Inetref WRITE setInetref )
40  Q_PROPERTY( int Collectionref READ Collectionref WRITE setCollectionref )
41  Q_PROPERTY( QString HomePage READ HomePage WRITE setHomePage )
42  Q_PROPERTY( QDateTime ReleaseDate READ ReleaseDate WRITE setReleaseDate )
43  Q_PROPERTY( QDateTime AddDate READ AddDate WRITE setAddDate )
44  Q_PROPERTY( float UserRating READ UserRating WRITE setUserRating )
45  Q_PROPERTY( int Length READ Length WRITE setLength )
46  Q_PROPERTY( int PlayCount READ PlayCount WRITE setPlayCount )
47  Q_PROPERTY( int Season READ Season WRITE setSeason )
48  Q_PROPERTY( int Episode READ Episode WRITE setEpisode )
49  Q_PROPERTY( int ParentalLevel READ ParentalLevel WRITE setParentalLevel )
50  Q_PROPERTY( bool Visible READ Visible WRITE setVisible )
51  Q_PROPERTY( bool Watched READ Watched WRITE setWatched )
52  Q_PROPERTY( bool Processed READ Processed WRITE setProcessed )
53  Q_PROPERTY( QString ContentType READ ContentType WRITE setContentType )
54  Q_PROPERTY( QString FileName READ FileName WRITE setFileName )
55  Q_PROPERTY( QString Hash READ Hash WRITE setHash )
56  Q_PROPERTY( QString HostName READ HostName WRITE setHostName )
57  Q_PROPERTY( QString Coverart READ Coverart WRITE setCoverart )
58  Q_PROPERTY( QString Fanart READ Fanart WRITE setFanart )
59  Q_PROPERTY( QString Banner READ Banner WRITE setBanner )
60  Q_PROPERTY( QString Screenshot READ Screenshot WRITE setScreenshot )
61  Q_PROPERTY( QString Trailer READ Trailer WRITE setTrailer )
62 
63  Q_PROPERTY( QObject* Artwork READ Artwork DESIGNABLE SerializeArtwork )
64 
65  PROPERTYIMP ( int , Id )
66  PROPERTYIMP ( QString , Title )
67  PROPERTYIMP ( QString , SubTitle )
68  PROPERTYIMP ( QString , Tagline )
69  PROPERTYIMP ( QString , Director )
70  PROPERTYIMP ( QString , Studio )
71  PROPERTYIMP ( QString , Description )
72  PROPERTYIMP ( QString , Certification )
73  PROPERTYIMP ( QString , Inetref )
74  PROPERTYIMP ( int , Collectionref )
75  PROPERTYIMP ( QString , HomePage )
76  PROPERTYIMP ( QDateTime , ReleaseDate )
77  PROPERTYIMP ( QDateTime , AddDate )
78  PROPERTYIMP ( float , UserRating )
79  PROPERTYIMP ( int , Length )
80  PROPERTYIMP ( int , PlayCount )
81  PROPERTYIMP ( int , Season )
82  PROPERTYIMP ( int , Episode )
83  PROPERTYIMP ( int , ParentalLevel )
84  PROPERTYIMP ( bool , Visible )
85  PROPERTYIMP ( bool , Watched )
86  PROPERTYIMP ( bool , Processed )
87  PROPERTYIMP ( QString , ContentType )
88  PROPERTYIMP ( QString , FileName )
89  PROPERTYIMP ( QString , Hash )
90  PROPERTYIMP ( QString , HostName )
91  PROPERTYIMP ( QString , Coverart )
92  PROPERTYIMP ( QString , Fanart )
93  PROPERTYIMP ( QString , Banner )
94  PROPERTYIMP ( QString , Screenshot )
95  PROPERTYIMP ( QString , Trailer )
96 
97  PROPERTYIMP_PTR( ArtworkInfoList, Artwork )
98  PROPERTYIMP ( bool , SerializeArtwork)
99 
100  public:
101 
102  static inline void InitializeCustomTypes();
103 
104  public:
105 
106  VideoMetadataInfo(QObject *parent = 0)
107  : QObject ( parent ),
108  m_Id ( 0 ),
109  m_Collectionref ( 0 ),
110  m_UserRating ( 0 ),
111  m_Length ( 0 ),
112  m_PlayCount ( 0 ),
113  m_Season ( 0 ),
114  m_Episode ( 0 ),
115  m_ParentalLevel ( 0 ),
116  m_Visible ( false ),
117  m_Watched ( false ),
118  m_Processed ( false ),
119  m_Artwork ( NULL ),
120  m_SerializeArtwork( true )
121  {
122  }
123 
125  {
126  Copy( src );
127  }
128 
129  void Copy( const VideoMetadataInfo &src )
130  {
131  m_Id = src.m_Id;
132  m_SerializeArtwork = src.m_SerializeArtwork;
133 
134  if ( src.m_Artwork != NULL)
135  Artwork()->Copy( src.m_Artwork );
136  }
137 };
138 
139 } // namespace DTC
140 
142 Q_DECLARE_METATYPE( DTC::VideoMetadataInfo* )
143 
144 namespace DTC
145 {
146 inline void VideoMetadataInfo::InitializeCustomTypes()
147 {
148  qRegisterMetaType< VideoMetadataInfo >();
149  qRegisterMetaType< VideoMetadataInfo* >();
150 
151  if (QMetaType::type( "DTC::ArtworkInfoList" ) == 0)
152  ArtworkInfoList::InitializeCustomTypes();
153 }
154 }
155 
156 #endif