MythTV  master
liveStreamInfoList.h
Go to the documentation of this file.
1 #ifndef LIVESTREAMINFOLIST_H_
2 #define LIVESTREAMINFOLIST_H_
3 
4 #include <QVariantList>
5 
6 #include "serviceexp.h"
7 #include "datacontracthelper.h"
8 
9 #include "liveStreamInfo.h"
10 
11 namespace DTC
12 {
13 
14 class SERVICE_PUBLIC LiveStreamInfoList : public QObject
15 {
16  Q_OBJECT
17  Q_CLASSINFO( "version", "1.0" );
18 
19  // Q_CLASSINFO Used to augment Metadata for properties.
20  // See datacontracthelper.h for details
21 
22  Q_CLASSINFO( "LiveStreamInfos", "type=DTC::LiveStreamInfo");
23 
24  Q_PROPERTY( QVariantList LiveStreamInfos READ LiveStreamInfos DESIGNABLE true )
25 
26  PROPERTYIMP_RO_REF( QVariantList, LiveStreamInfos );
27 
28  public:
29 
30  static inline void InitializeCustomTypes();
31 
32  explicit LiveStreamInfoList(QObject *parent = 0)
33  : QObject( parent )
34  {
35  }
36 
37  void Copy( const LiveStreamInfoList *src )
38  {
39  CopyListContents< LiveStreamInfo >( this, m_LiveStreamInfos, src->m_LiveStreamInfos );
40  }
41 
43  {
44  // We must make sure the object added to the QVariantList has
45  // a parent of 'this'
46 
47  LiveStreamInfo *pObject = new LiveStreamInfo( this );
48  m_LiveStreamInfos.append( QVariant::fromValue<QObject *>( pObject ));
49 
50  return pObject;
51  }
52 
53  private:
54  Q_DISABLE_COPY(LiveStreamInfoList);
55 };
56 
58 {
59  qRegisterMetaType< LiveStreamInfoList* >();
60 
62 }
63 
64 } // namespace DTC
65 
66 #endif
#define SERVICE_PUBLIC
Definition: serviceexp.h:9
#define PROPERTYIMP_RO_REF(type, name)
LiveStreamInfo * AddNewLiveStreamInfo()
static void InitializeCustomTypes()
void Copy(const LiveStreamInfoList *src)
LiveStreamInfoList(QObject *parent=0)
static void InitializeCustomTypes()