00001 #ifndef LIVESTREAMINFO_H_
00002 #define LIVESTREAMINFO_H_
00003
00004 #include <QDateTime>
00005 #include <QString>
00006
00007 #include "serviceexp.h"
00008 #include "datacontracthelper.h"
00009
00010 namespace DTC
00011 {
00012
00014
00015 class SERVICE_PUBLIC LiveStreamInfo : public QObject
00016 {
00017 Q_OBJECT
00018 Q_CLASSINFO( "version" , "1.0" );
00019
00020 Q_PROPERTY( int Id READ Id WRITE setId )
00021 Q_PROPERTY( int Width READ Width WRITE setWidth )
00022 Q_PROPERTY( int Height READ Height WRITE setHeight )
00023 Q_PROPERTY( int Bitrate READ Bitrate WRITE setBitrate )
00024 Q_PROPERTY( int AudioBitrate READ AudioBitrate WRITE setAudioBitrate )
00025 Q_PROPERTY( int SegmentSize READ SegmentSize WRITE setSegmentSize )
00026 Q_PROPERTY( int MaxSegments READ MaxSegments WRITE setMaxSegments )
00027 Q_PROPERTY( int StartSegment READ StartSegment WRITE setStartSegment )
00028 Q_PROPERTY( int CurrentSegment READ CurrentSegment WRITE setCurrentSegment )
00029 Q_PROPERTY( int SegmentCount READ SegmentCount WRITE setSegmentCount )
00030 Q_PROPERTY( int PercentComplete READ PercentComplete WRITE setPercentComplete )
00031 Q_PROPERTY( QDateTime Created READ Created WRITE setCreated )
00032 Q_PROPERTY( QDateTime LastModified READ LastModified WRITE setLastModified )
00033 Q_PROPERTY( QString RelativeURL READ RelativeURL WRITE setRelativeURL )
00034 Q_PROPERTY( QString FullURL READ FullURL WRITE setFullURL )
00035 Q_PROPERTY( QString StatusStr READ StatusStr WRITE setStatusStr )
00036 Q_PROPERTY( int StatusInt READ StatusInt WRITE setStatusInt )
00037 Q_PROPERTY( QString StatusMessage READ StatusMessage WRITE setStatusMessage )
00038 Q_PROPERTY( QString SourceFile READ SourceFile WRITE setSourceFile )
00039 Q_PROPERTY( QString SourceHost READ SourceHost WRITE setSourceHost )
00040 Q_PROPERTY( int SourceWidth READ SourceWidth WRITE setSourceWidth )
00041 Q_PROPERTY( int SourceHeight READ SourceHeight WRITE setSourceHeight )
00042 Q_PROPERTY( int AudioOnlyBitrate READ AudioOnlyBitrate WRITE setAudioOnlyBitrate )
00043
00044 PROPERTYIMP ( int , Id )
00045 PROPERTYIMP ( int , Width )
00046 PROPERTYIMP ( int , Height )
00047 PROPERTYIMP ( int , Bitrate )
00048 PROPERTYIMP ( int , AudioBitrate )
00049 PROPERTYIMP ( int , SegmentSize )
00050 PROPERTYIMP ( int , MaxSegments )
00051 PROPERTYIMP ( int , StartSegment )
00052 PROPERTYIMP ( int , CurrentSegment )
00053 PROPERTYIMP ( int , SegmentCount )
00054 PROPERTYIMP ( int , PercentComplete )
00055 PROPERTYIMP ( QDateTime , Created )
00056 PROPERTYIMP ( QDateTime , LastModified )
00057 PROPERTYIMP ( QString , RelativeURL )
00058 PROPERTYIMP ( QString , FullURL )
00059 PROPERTYIMP ( QString , StatusStr )
00060 PROPERTYIMP ( int , StatusInt )
00061 PROPERTYIMP ( QString , StatusMessage )
00062 PROPERTYIMP ( QString , SourceFile )
00063 PROPERTYIMP ( QString , SourceHost )
00064 PROPERTYIMP ( int , SourceWidth )
00065 PROPERTYIMP ( int , SourceHeight )
00066 PROPERTYIMP ( int , AudioOnlyBitrate )
00067
00068 public:
00069
00070 static void InitializeCustomTypes()
00071 {
00072 qRegisterMetaType< LiveStreamInfo >();
00073 qRegisterMetaType< LiveStreamInfo* >();
00074 }
00075
00076 public:
00077
00078 LiveStreamInfo(QObject *parent = 0)
00079 : QObject ( parent ),
00080 m_Id ( 0 ),
00081 m_Width ( 0 ),
00082 m_Height ( 0 ),
00083 m_Bitrate ( 0 ),
00084 m_AudioBitrate ( 0 ),
00085 m_SegmentSize ( 0 ),
00086 m_MaxSegments ( 0 ),
00087 m_StartSegment ( 0 ),
00088 m_CurrentSegment ( 0 ),
00089 m_SegmentCount ( 0 ),
00090 m_PercentComplete ( 0 ),
00091 m_StatusInt ( 0 ),
00092 m_SourceWidth ( 0 ),
00093 m_SourceHeight ( 0 ),
00094 m_AudioOnlyBitrate ( 0 )
00095 {
00096 }
00097
00098 LiveStreamInfo( const LiveStreamInfo &src )
00099 {
00100 Copy( src );
00101 }
00102
00103 void Copy( const LiveStreamInfo &src )
00104 {
00105 m_Id = src.m_Id ;
00106 m_Width = src.m_Width ;
00107 m_Height = src.m_Height ;
00108 m_Bitrate = src.m_Bitrate ;
00109 m_AudioBitrate = src.m_AudioBitrate ;
00110 m_SegmentSize = src.m_SegmentSize ;
00111 m_MaxSegments = src.m_MaxSegments ;
00112 m_StartSegment = src.m_StartSegment ;
00113 m_CurrentSegment = src.m_CurrentSegment ;
00114 m_SegmentCount = src.m_SegmentCount ;
00115 m_PercentComplete = src.m_PercentComplete ;
00116 m_Created = src.m_Created ;
00117 m_LastModified = src.m_LastModified ;
00118 m_RelativeURL = src.m_RelativeURL ;
00119 m_FullURL = src.m_FullURL ;
00120 m_StatusStr = src.m_StatusStr ;
00121 m_StatusInt = src.m_StatusInt ;
00122 m_StatusMessage = src.m_StatusMessage ;
00123 m_SourceFile = src.m_SourceFile ;
00124 m_SourceHost = src.m_SourceHost ;
00125 m_SourceWidth = src.m_SourceWidth ;
00126 m_SourceHeight = src.m_SourceHeight ;
00127 m_AudioOnlyBitrate = src.m_AudioOnlyBitrate ;
00128 }
00129 };
00130
00131 }
00132
00133 Q_DECLARE_METATYPE( DTC::LiveStreamInfo )
00134 Q_DECLARE_METATYPE( DTC::LiveStreamInfo* )
00135
00136 #endif