00001
00002
00003
00004
00005
00007
00008 #ifndef TIMEZONEINFO_H_
00009 #define TIMEZONEINFO_H_
00010
00011 #include <QString>
00012 #include <QDateTime>
00013
00014 #include "serviceexp.h"
00015 #include "datacontracthelper.h"
00016
00017 namespace DTC
00018 {
00019
00020 class SERVICE_PUBLIC TimeZoneInfo : public QObject
00021 {
00022 Q_OBJECT
00023 Q_CLASSINFO( "version" , "1.0" );
00024
00025 Q_PROPERTY( QString TimeZoneID READ TimeZoneID
00026 WRITE setTimeZoneID )
00027 Q_PROPERTY( int UTCOffset READ UTCOffset
00028 WRITE setUTCOffset )
00029 Q_PROPERTY( QDateTime CurrentDateTime READ CurrentDateTime
00030 WRITE setCurrentDateTime )
00031
00032 PROPERTYIMP( QString , TimeZoneID )
00033 PROPERTYIMP( int , UTCOffset )
00034 PROPERTYIMP( QDateTime, CurrentDateTime )
00035
00036 public:
00037
00038 static void InitializeCustomTypes()
00039 {
00040 qRegisterMetaType< TimeZoneInfo >();
00041 qRegisterMetaType< TimeZoneInfo* >();
00042 }
00043
00044 public:
00045
00046 TimeZoneInfo(QObject *parent = 0)
00047 : QObject ( parent ),
00048 m_TimeZoneID ( ),
00049 m_UTCOffset ( 0 ),
00050 m_CurrentDateTime ( )
00051 {
00052 }
00053
00054 TimeZoneInfo( const TimeZoneInfo &src )
00055 {
00056 Copy( src );
00057 }
00058
00059 void Copy( const TimeZoneInfo &src )
00060 {
00061 m_TimeZoneID = src.m_TimeZoneID ;
00062 m_UTCOffset = src.m_UTCOffset ;
00063 m_CurrentDateTime = src.m_CurrentDateTime;
00064 }
00065 };
00066
00067 }
00068
00069 Q_DECLARE_METATYPE( DTC::TimeZoneInfo )
00070 Q_DECLARE_METATYPE( DTC::TimeZoneInfo* )
00071
00072 #endif