00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef CONNECTIONINFO_H_
00012 #define CONNECTIONINFO_H_
00013
00014 #include "serviceexp.h"
00015 #include "datacontracthelper.h"
00016
00017 #include "versionInfo.h"
00018 #include "databaseInfo.h"
00019 #include "wolInfo.h"
00020
00021 namespace DTC
00022 {
00023
00024 class SERVICE_PUBLIC ConnectionInfo : public QObject
00025 {
00026 Q_OBJECT
00027
00028 Q_CLASSINFO( "version" , "1.1" );
00029
00030 Q_PROPERTY( QObject* Version READ Version )
00031 Q_PROPERTY( QObject* Database READ Database )
00032 Q_PROPERTY( QObject* WOL READ WOL )
00033
00034 PROPERTYIMP_PTR( VersionInfo , Version )
00035 PROPERTYIMP_PTR( DatabaseInfo, Database )
00036 PROPERTYIMP_PTR( WOLInfo , WOL )
00037
00038 public:
00039
00040 static void InitializeCustomTypes()
00041 {
00042 qRegisterMetaType< ConnectionInfo >();
00043 qRegisterMetaType< ConnectionInfo* >();
00044
00045 VersionInfo ::InitializeCustomTypes();
00046 DatabaseInfo::InitializeCustomTypes();
00047 WOLInfo ::InitializeCustomTypes();
00048 }
00049
00050 public:
00051
00052 ConnectionInfo(QObject *parent = 0)
00053 : QObject ( parent ),
00054 m_Version ( NULL ),
00055 m_Database ( NULL ),
00056 m_WOL ( NULL )
00057 {
00058 }
00059
00060 ConnectionInfo( const ConnectionInfo &src )
00061 : m_Version ( NULL ),
00062 m_Database ( NULL ),
00063 m_WOL ( NULL )
00064 {
00065 Copy( src );
00066 }
00067
00068 void Copy( const ConnectionInfo &src )
00069 {
00070
00071
00072
00073 if (src.m_Version)
00074 Version()->Copy( src.m_Version );
00075
00076 if (src.m_Database)
00077 Database()->Copy( src.m_Database );
00078
00079 if (src.m_WOL)
00080 WOL ()->Copy( src.m_WOL );
00081 }
00082 };
00083
00084 typedef ConnectionInfo* ConnectionInfoPtr;
00085
00086 }
00087
00088 Q_DECLARE_METATYPE( DTC::ConnectionInfo )
00089 Q_DECLARE_METATYPE( DTC::ConnectionInfo* )
00090
00091 #endif