00001 #ifndef CHANNELINFOLIST_H_
00002 #define CHANNELINFOLIST_H_
00003
00004 #include <QVariantList>
00005
00006 #include "serviceexp.h"
00007 #include "datacontracthelper.h"
00008
00009 #include "programAndChannel.h"
00010
00011 namespace DTC
00012 {
00013
00014 class SERVICE_PUBLIC ChannelInfoList : public QObject
00015 {
00016 Q_OBJECT
00017 Q_CLASSINFO( "version", "1.0" );
00018
00019
00020
00021
00022 Q_CLASSINFO( "ChannelInfos", "type=DTC::ChannelInfo");
00023 Q_CLASSINFO( "AsOf" , "transient=true" );
00024
00025 Q_PROPERTY( int StartIndex READ StartIndex WRITE setStartIndex )
00026 Q_PROPERTY( int Count READ Count WRITE setCount )
00027 Q_PROPERTY( int CurrentPage READ CurrentPage WRITE setCurrentPage )
00028 Q_PROPERTY( int TotalPages READ TotalPages WRITE setTotalPages )
00029 Q_PROPERTY( int TotalAvailable READ TotalAvailable WRITE setTotalAvailable )
00030 Q_PROPERTY( QDateTime AsOf READ AsOf WRITE setAsOf )
00031 Q_PROPERTY( QString Version READ Version WRITE setVersion )
00032 Q_PROPERTY( QString ProtoVer READ ProtoVer WRITE setProtoVer )
00033
00034 Q_PROPERTY( QVariantList ChannelInfos READ ChannelInfos DESIGNABLE true )
00035
00036 PROPERTYIMP ( int , StartIndex )
00037 PROPERTYIMP ( int , Count )
00038 PROPERTYIMP ( int , CurrentPage )
00039 PROPERTYIMP ( int , TotalPages )
00040 PROPERTYIMP ( int , TotalAvailable )
00041 PROPERTYIMP ( QDateTime , AsOf )
00042 PROPERTYIMP ( QString , Version )
00043 PROPERTYIMP ( QString , ProtoVer )
00044
00045 PROPERTYIMP_RO_REF( QVariantList, ChannelInfos )
00046
00047 public:
00048
00049 static void InitializeCustomTypes()
00050 {
00051 qRegisterMetaType< ChannelInfoList >();
00052 qRegisterMetaType< ChannelInfoList* >();
00053
00054 ChannelInfo::InitializeCustomTypes();
00055 }
00056
00057 public:
00058
00059 ChannelInfoList(QObject *parent = 0)
00060 : QObject( parent ),
00061 m_StartIndex ( 0 ),
00062 m_Count ( 0 ),
00063 m_TotalAvailable( 0 )
00064 {
00065 }
00066
00067 ChannelInfoList( const ChannelInfoList &src )
00068 {
00069 Copy( src );
00070 }
00071
00072 void Copy( const ChannelInfoList &src )
00073 {
00074 m_StartIndex = src.m_StartIndex ;
00075 m_Count = src.m_Count ;
00076 m_TotalAvailable= src.m_TotalAvailable ;
00077 m_AsOf = src.m_AsOf ;
00078 m_Version = src.m_Version ;
00079 m_ProtoVer = src.m_ProtoVer ;
00080
00081 CopyListContents< ChannelInfo >( this, m_ChannelInfos, src.m_ChannelInfos );
00082 }
00083
00084 ChannelInfo *AddNewChannelInfo()
00085 {
00086
00087
00088
00089 ChannelInfo *pObject = new ChannelInfo( this );
00090 m_ChannelInfos.append( QVariant::fromValue<QObject *>( pObject ));
00091
00092 return pObject;
00093 }
00094
00095 };
00096
00097 }
00098
00099 Q_DECLARE_METATYPE( DTC::ChannelInfoList )
00100 Q_DECLARE_METATYPE( DTC::ChannelInfoList* )
00101
00102 #endif