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