MythTV  master
v2videoLookupInfo.h
Go to the documentation of this file.
1 // Program Name: VideoLookupInfo.h
3 // Created : Jul. 19, 2011
4 //
5 // Copyright (c) 2011 Robert McNamara <rmcnamara@mythtv.org>
6 //
7 // Licensed under the GPL v2 or later, see COPYING for details
8 //
10 
11 #ifndef V2VIDEOLOOKUPINFO_H_
12 #define V2VIDEOLOOKUPINFO_H_
13 
14 #include <QString>
15 #include <QDateTime>
16 
18 
19 
21 
22 class V2ArtworkItem : public QObject
23 {
24  Q_OBJECT
25  Q_CLASSINFO( "Version" , "1.02" );
26 
27  SERVICE_PROPERTY2 ( QString , Type )
28  SERVICE_PROPERTY2 ( QString , Url )
29  SERVICE_PROPERTY2 ( QString , Thumbnail )
30  SERVICE_PROPERTY2 ( int , Width )
31  SERVICE_PROPERTY2 ( int , Height );
32 
33  public:
34 
35 
36  Q_INVOKABLE V2ArtworkItem(QObject *parent = nullptr)
37  : QObject ( parent )
38  {
39  m_Width = 0 ;
40  m_Height = 0 ;
41  }
42 
43  void Copy( const V2ArtworkItem *src )
44  {
45  m_Type = src->m_Type ;
46  m_Url = src->m_Url ;
47  m_Thumbnail = src->m_Thumbnail ;
48  m_Width = src->m_Width ;
49  m_Height = src->m_Height ;
50  }
51 
52  private:
54 };
55 
57 
58 class V2VideoLookup : public QObject
59 {
60  Q_OBJECT
61  Q_CLASSINFO( "Version" , "1.0" );
62 
63  Q_CLASSINFO( "Artwork", "type=V2ArtworkItem");
64 
65  SERVICE_PROPERTY2 ( QString , Title )
66  SERVICE_PROPERTY2 ( QString , SubTitle )
67  SERVICE_PROPERTY2 ( int , Season )
68  SERVICE_PROPERTY2 ( int , Episode )
69  SERVICE_PROPERTY2 ( int , Year )
70  SERVICE_PROPERTY2 ( QString , Tagline )
71  SERVICE_PROPERTY2 ( QString , Description )
72  SERVICE_PROPERTY2 ( QString , Certification )
73  SERVICE_PROPERTY2 ( QString , Inetref )
74  SERVICE_PROPERTY2 ( QString , Collectionref )
75  SERVICE_PROPERTY2 ( QString , HomePage )
76  SERVICE_PROPERTY2 ( QDateTime , ReleaseDate )
77  SERVICE_PROPERTY2 ( float , UserRating )
78  SERVICE_PROPERTY2 ( int , Length )
79  SERVICE_PROPERTY2 ( QString , Language )
80  SERVICE_PROPERTY2 ( QStringList, Countries )
81  SERVICE_PROPERTY2 ( float , Popularity )
82  SERVICE_PROPERTY2 ( int , Budget )
83  SERVICE_PROPERTY2 ( int , Revenue )
84  SERVICE_PROPERTY2 ( QString , IMDB )
85  SERVICE_PROPERTY2 ( QString , TMSRef )
86  SERVICE_PROPERTY2 ( QVariantList, Artwork)
87 
88  public:
89 
90 
91  Q_INVOKABLE V2VideoLookup(QObject *parent = nullptr)
92  : QObject ( parent )
93  {
94  m_Season = 0 ;
95  m_Episode = 0 ;
96  m_Year = 0 ;
97  m_UserRating = 0.0 ;
98  m_Length = 0.0 ;
99  m_Popularity = 0.0 ;
100  m_Budget = 0 ;
101  m_Revenue = 0 ;
102  }
103 
104  void Copy( const V2VideoLookup *src )
105  {
106  m_Title = src->m_Title ;
107  m_SubTitle = src->m_SubTitle ;
108  m_Season = src->m_Season ;
109  m_Episode = src->m_Episode ;
110  m_Year = src->m_Year ;
111  m_Tagline = src->m_Tagline ;
112  m_Description = src->m_Description ;
113  m_Certification = src->m_Certification ;
114  m_Inetref = src->m_Inetref ;
115  m_Collectionref = src->m_Collectionref ;
116  m_HomePage = src->m_HomePage ;
117  m_ReleaseDate = src->m_ReleaseDate ;
118  m_UserRating = src->m_UserRating ;
119  m_Length = src->m_Length ;
120  m_Popularity = src->m_Popularity ;
121  m_Budget = src->m_Budget ;
122  m_Revenue = src->m_Revenue ;
123  m_IMDB = src->m_IMDB ;
124  m_TMSRef = src->m_TMSRef ;
125 
126  CopyListContents< V2ArtworkItem >( this, m_Artwork, src->m_Artwork );
127  }
128 
130  {
131  auto *pObject = new V2ArtworkItem( this );
132  m_Artwork.append( QVariant::fromValue<QObject *>( pObject ));
133 
134  return pObject;
135  }
136 
137 };
138 
141 
142 
143 #endif
V2VideoLookup::AddNewArtwork
V2ArtworkItem * AddNewArtwork()
Definition: v2videoLookupInfo.h:129
V2ArtworkItem::Q_CLASSINFO
Q_CLASSINFO("Version", "1.02")
V2ArtworkItem::Q_DISABLE_COPY
Q_DISABLE_COPY(V2ArtworkItem)
V2ArtworkItem
Definition: v2videoLookupInfo.h:22
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(StandardSetting *)
V2VideoLookup
Definition: v2videoLookupInfo.h:58
SERVICE_PROPERTY2
#define SERVICE_PROPERTY2(Type, Name)
Definition: mythhttpservice.h:72
V2VideoLookup::V2VideoLookup
Q_INVOKABLE V2VideoLookup(QObject *parent=nullptr)
Definition: v2videoLookupInfo.h:91
V2ArtworkItem::Copy
void Copy(const V2ArtworkItem *src)
Definition: v2videoLookupInfo.h:43
V2ArtworkItem::V2ArtworkItem
Q_INVOKABLE V2ArtworkItem(QObject *parent=nullptr)
Definition: v2videoLookupInfo.h:36
V2ArtworkItem::SERVICE_PROPERTY2
SERVICE_PROPERTY2(int, Height)
mythhttpservice.h
V2VideoLookup::Q_CLASSINFO
Q_CLASSINFO("Version", "1.0")
V2VideoLookup::Copy
void Copy(const V2VideoLookup *src)
Definition: v2videoLookupInfo.h:104