00001 #ifndef LIVESTREAMINFOLIST_H_
00002 #define LIVESTREAMINFOLIST_H_
00003
00004 #include <QVariantList>
00005
00006 #include "serviceexp.h"
00007 #include "datacontracthelper.h"
00008
00009 #include "liveStreamInfo.h"
00010
00011 namespace DTC
00012 {
00013
00014 class SERVICE_PUBLIC LiveStreamInfoList : public QObject
00015 {
00016 Q_OBJECT
00017 Q_CLASSINFO( "version", "1.0" );
00018
00019
00020
00021
00022 Q_CLASSINFO( "LiveStreamInfos", "type=DTC::LiveStreamInfo");
00023
00024 Q_PROPERTY( QVariantList LiveStreamInfos READ LiveStreamInfos DESIGNABLE true )
00025
00026 PROPERTYIMP_RO_REF( QVariantList, LiveStreamInfos )
00027
00028 public:
00029
00030 static void InitializeCustomTypes()
00031 {
00032 qRegisterMetaType< LiveStreamInfoList >();
00033 qRegisterMetaType< LiveStreamInfoList* >();
00034
00035 LiveStreamInfo::InitializeCustomTypes();
00036 }
00037
00038 public:
00039
00040 LiveStreamInfoList(QObject *parent = 0)
00041 : QObject( parent )
00042 {
00043 }
00044
00045 LiveStreamInfoList( const LiveStreamInfoList &src )
00046 {
00047 Copy( src );
00048 }
00049
00050 void Copy( const LiveStreamInfoList &src )
00051 {
00052 CopyListContents< LiveStreamInfo >( this, m_LiveStreamInfos, src.m_LiveStreamInfos );
00053 }
00054
00055 LiveStreamInfo *AddNewLiveStreamInfo()
00056 {
00057
00058
00059
00060 LiveStreamInfo *pObject = new LiveStreamInfo( this );
00061 m_LiveStreamInfos.append( QVariant::fromValue<QObject *>( pObject ));
00062
00063 return pObject;
00064 }
00065
00066 };
00067
00068 }
00069
00070 Q_DECLARE_METATYPE( DTC::LiveStreamInfoList )
00071 Q_DECLARE_METATYPE( DTC::LiveStreamInfoList* )
00072
00073 #endif