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