00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef VIDEOMETADATAINFO_H_
00012 #define VIDEOMETADATAINFO_H_
00013
00014 #include <QString>
00015 #include <QDateTime>
00016
00017 #include "serviceexp.h"
00018 #include "datacontracthelper.h"
00019 #include "artworkInfoList.h"
00020
00021 namespace DTC
00022 {
00023
00025
00026 class SERVICE_PUBLIC VideoMetadataInfo : public QObject
00027 {
00028 Q_OBJECT
00029 Q_CLASSINFO( "version" , "1.20" );
00030
00031 Q_PROPERTY( int Id READ Id WRITE setId )
00032 Q_PROPERTY( QString Title READ Title WRITE setTitle )
00033 Q_PROPERTY( QString SubTitle READ SubTitle WRITE setSubTitle )
00034 Q_PROPERTY( QString Tagline READ Tagline WRITE setTagline )
00035 Q_PROPERTY( QString Director READ Director WRITE setDirector )
00036 Q_PROPERTY( QString Studio READ Studio WRITE setStudio )
00037 Q_PROPERTY( QString Description READ Description WRITE setDescription )
00038 Q_PROPERTY( QString Certification READ Certification WRITE setCertification )
00039 Q_PROPERTY( QString Inetref READ Inetref WRITE setInetref )
00040 Q_PROPERTY( int Collectionref READ Collectionref WRITE setCollectionref )
00041 Q_PROPERTY( QString HomePage READ HomePage WRITE setHomePage )
00042 Q_PROPERTY( QDateTime ReleaseDate READ ReleaseDate WRITE setReleaseDate )
00043 Q_PROPERTY( QDateTime AddDate READ AddDate WRITE setAddDate )
00044 Q_PROPERTY( float UserRating READ UserRating WRITE setUserRating )
00045 Q_PROPERTY( int Length READ Length WRITE setLength )
00046 Q_PROPERTY( int PlayCount READ PlayCount WRITE setPlayCount )
00047 Q_PROPERTY( int Season READ Season WRITE setSeason )
00048 Q_PROPERTY( int Episode READ Episode WRITE setEpisode )
00049 Q_PROPERTY( int ParentalLevel READ ParentalLevel WRITE setParentalLevel )
00050 Q_PROPERTY( bool Visible READ Visible WRITE setVisible )
00051 Q_PROPERTY( bool Watched READ Watched WRITE setWatched )
00052 Q_PROPERTY( bool Processed READ Processed WRITE setProcessed )
00053 Q_PROPERTY( QString ContentType READ ContentType WRITE setContentType )
00054 Q_PROPERTY( QString FileName READ FileName WRITE setFileName )
00055 Q_PROPERTY( QString Hash READ Hash WRITE setHash )
00056 Q_PROPERTY( QString HostName READ HostName WRITE setHostName )
00057 Q_PROPERTY( QString Coverart READ Coverart WRITE setCoverart )
00058 Q_PROPERTY( QString Fanart READ Fanart WRITE setFanart )
00059 Q_PROPERTY( QString Banner READ Banner WRITE setBanner )
00060 Q_PROPERTY( QString Screenshot READ Screenshot WRITE setScreenshot )
00061 Q_PROPERTY( QString Trailer READ Trailer WRITE setTrailer )
00062
00063 Q_PROPERTY( QObject* Artwork READ Artwork DESIGNABLE SerializeArtwork )
00064
00065 PROPERTYIMP ( int , Id )
00066 PROPERTYIMP ( QString , Title )
00067 PROPERTYIMP ( QString , SubTitle )
00068 PROPERTYIMP ( QString , Tagline )
00069 PROPERTYIMP ( QString , Director )
00070 PROPERTYIMP ( QString , Studio )
00071 PROPERTYIMP ( QString , Description )
00072 PROPERTYIMP ( QString , Certification )
00073 PROPERTYIMP ( QString , Inetref )
00074 PROPERTYIMP ( int , Collectionref )
00075 PROPERTYIMP ( QString , HomePage )
00076 PROPERTYIMP ( QDateTime , ReleaseDate )
00077 PROPERTYIMP ( QDateTime , AddDate )
00078 PROPERTYIMP ( float , UserRating )
00079 PROPERTYIMP ( int , Length )
00080 PROPERTYIMP ( int , PlayCount )
00081 PROPERTYIMP ( int , Season )
00082 PROPERTYIMP ( int , Episode )
00083 PROPERTYIMP ( int , ParentalLevel )
00084 PROPERTYIMP ( bool , Visible )
00085 PROPERTYIMP ( bool , Watched )
00086 PROPERTYIMP ( bool , Processed )
00087 PROPERTYIMP ( QString , ContentType )
00088 PROPERTYIMP ( QString , FileName )
00089 PROPERTYIMP ( QString , Hash )
00090 PROPERTYIMP ( QString , HostName )
00091 PROPERTYIMP ( QString , Coverart )
00092 PROPERTYIMP ( QString , Fanart )
00093 PROPERTYIMP ( QString , Banner )
00094 PROPERTYIMP ( QString , Screenshot )
00095 PROPERTYIMP ( QString , Trailer )
00096
00097 PROPERTYIMP_PTR( ArtworkInfoList, Artwork )
00098 PROPERTYIMP ( bool , SerializeArtwork)
00099
00100 public:
00101
00102 static void InitializeCustomTypes()
00103 {
00104 qRegisterMetaType< VideoMetadataInfo >();
00105 qRegisterMetaType< VideoMetadataInfo* >();
00106
00107 if (QMetaType::type( "DTC::ArtworkInfoList" ) == 0)
00108 ArtworkInfoList::InitializeCustomTypes();
00109 }
00110
00111 public:
00112
00113 VideoMetadataInfo(QObject *parent = 0)
00114 : QObject ( parent ),
00115 m_Id ( 0 ),
00116 m_Collectionref ( 0 ),
00117 m_UserRating ( 0 ),
00118 m_Length ( 0 ),
00119 m_PlayCount ( 0 ),
00120 m_Season ( 0 ),
00121 m_Episode ( 0 ),
00122 m_ParentalLevel ( 0 ),
00123 m_Visible ( false ),
00124 m_Watched ( false ),
00125 m_Processed ( false ),
00126 m_Artwork ( NULL ),
00127 m_SerializeArtwork( true )
00128 {
00129 }
00130
00131 VideoMetadataInfo( const VideoMetadataInfo &src )
00132 {
00133 Copy( src );
00134 }
00135
00136 void Copy( const VideoMetadataInfo &src )
00137 {
00138 m_Id = src.m_Id;
00139 m_SerializeArtwork = src.m_SerializeArtwork;
00140
00141 if ( src.m_Artwork != NULL)
00142 Artwork()->Copy( src.m_Artwork );
00143 }
00144 };
00145
00146 }
00147
00148 Q_DECLARE_METATYPE( DTC::VideoMetadataInfo )
00149 Q_DECLARE_METATYPE( DTC::VideoMetadataInfo* )
00150
00151 #endif