GME
13
|
00001 //############################################################################################################################################### 00002 // 00003 // Object Constraint Language Generic Manager 00004 // OCLObjectExGME.h 00005 // 00006 //############################################################################################################################################### 00007 00008 #ifndef OCLObjectExGME_h 00009 #define OCLObjectExGME_h 00010 00011 #include "StdAfx.h" 00012 #include "OCLCommon.h" 00013 #include "OCLObject.h" 00014 #include "mga.h" 00015 00016 #define CREATE_GMEPROJECT( pManager, project ) \ 00017 OclMeta::Object( new OclGmeCM::Project( pManager, project ) ) 00018 00019 #define CREATE_GMEOBJECT( pManager, object ) \ 00020 OclMeta::Object( new OclGmeCM::Object( pManager, object ) ) 00021 00022 #define CREATE_GMECONNECTIONPOINT( pManager, object ) \ 00023 OclMeta::Object( new OclGmeCM::ConnectionPoint( pManager, object ) ) 00024 00025 #define DECL_GMEOBJECT( varName, var2Name ) \ 00026 CComPtr<IMgaObject> varName; \ 00027 if ( ! var2Name.IsUndefined() ) \ 00028 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00029 00030 #define DECL_GMEFOLDER( varName, var2Name ) \ 00031 CComPtr<IMgaFolder> varName; \ 00032 if ( ! var2Name.IsUndefined() ) \ 00033 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00034 00035 #define DECL_GMEFCO( varName, var2Name ) \ 00036 CComPtr<IMgaFCO> varName; \ 00037 if ( ! var2Name.IsUndefined() ) \ 00038 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00039 00040 #define DECL_GMESET( varName, var2Name ) \ 00041 CComPtr<IMgaSet> varName; \ 00042 if ( ! var2Name.IsUndefined() ) \ 00043 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00044 00045 #define DECL_GMEATOM( varName, var2Name ) \ 00046 CComPtr<IMgaAtom> varName; \ 00047 if ( ! var2Name.IsUndefined() ) \ 00048 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00049 00050 #define DECL_GMEMODEL( varName, var2Name ) \ 00051 CComPtr<IMgaModel> varName; \ 00052 if ( ! var2Name.IsUndefined() ) \ 00053 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00054 00055 #define DECL_GMEREFERENCE( varName, var2Name ) \ 00056 CComPtr<IMgaReference> varName; \ 00057 if ( ! var2Name.IsUndefined() ) \ 00058 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00059 00060 #define DECL_GMECONNECTION( varName, var2Name ) \ 00061 CComPtr<IMgaConnection> varName; \ 00062 if ( ! var2Name.IsUndefined() ) \ 00063 ( ( OclGmeCM::Object* ) var2Name.GetImplementation() )->GetValue( varName ) 00064 00065 #define DECL_GMECONNECTIONPOINT( varName, var2Name ) \ 00066 CComPtr<IMgaConnPoint> varName; \ 00067 if ( ! var2Name.IsUndefined() ) \ 00068 ( ( OclGmeCM::ConnectionPoint* ) var2Name.GetImplementation() )->GetValue( varName ) 00069 00070 #define DECL_GMEPROJECT( varName, var2Name ) \ 00071 CComPtr<IMgaProject> varName; \ 00072 if ( ! var2Name.IsUndefined() ) \ 00073 ( ( OclGmeCM::Project* ) var2Name.GetImplementation() )->GetValue( varName ) 00074 00075 namespace OclGmeCM 00076 { 00077 typedef OclImplementation::Object Any; 00078 00079 //############################################################################################################################################## 00080 // 00081 // C L A S S : OclGmeCM::Object <<< + Any 00082 // 00083 //============================================================================================================================================== 00084 // 00085 // D E S C R I P T I O N : 00086 // 00087 //############################################################################################################################################## 00088 00089 class Object 00090 : public Any 00091 { 00092 private : 00093 CComPtr<IMgaObject> m_Value; 00094 00095 public : 00096 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaObject> value ); 00097 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaFCO> value ); 00098 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaFolder> value ); 00099 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaAtom> value ); 00100 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaModel> value ); 00101 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaConnection> value ); 00102 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaReference> value ); 00103 Object( OclMeta::TypeManager* pManager, CComPtr<IMgaSet> value ); 00104 private : 00105 void SetTypeName(); 00106 public : 00107 virtual Any* Clone() const; 00108 00109 int GetValue( CComPtr<IMgaObject>& value ) const; 00110 void SetValue( CComPtr<IMgaObject> value ); 00111 int GetValue( CComPtr<IMgaFolder>& value ) const; 00112 void SetValue( CComPtr<IMgaFolder> value ); 00113 int GetValue( CComPtr<IMgaFCO>& value ) const; 00114 void SetValue( CComPtr<IMgaFCO> value ); 00115 int GetValue( CComPtr<IMgaModel>& value ) const; 00116 void SetValue( CComPtr<IMgaModel> value ); 00117 int GetValue( CComPtr<IMgaAtom>& value ) const; 00118 void SetValue( CComPtr<IMgaAtom> value ); 00119 int GetValue( CComPtr<IMgaReference>& value ) const; 00120 void SetValue( CComPtr<IMgaReference> value ); 00121 int GetValue( CComPtr<IMgaConnection>& value ) const; 00122 void SetValue( CComPtr<IMgaConnection> value ); 00123 int GetValue( CComPtr<IMgaSet>& value ) const; 00124 void SetValue( CComPtr<IMgaSet> value ); 00125 00126 virtual bool Equals( const Any& object ) const; 00127 bool operator==( const Object& object ) const; 00128 bool operator!=( const Object& object ) const; 00129 00130 virtual std::string Print() const; 00131 virtual IUnknown* GetObject() const; 00132 }; 00133 00134 //############################################################################################################################################## 00135 // 00136 // C L A S S : OclGmeCM::ConnectionPoint <<< + Any 00137 // 00138 //============================================================================================================================================== 00139 // 00140 // D E S C R I P T I O N : 00141 // 00142 //############################################################################################################################################## 00143 00144 class ConnectionPoint 00145 : public Any 00146 { 00147 private : 00148 CComPtr<IMgaConnPoint> m_Value; 00149 00150 public : 00151 ConnectionPoint( OclMeta::TypeManager* pManager, CComPtr<IMgaConnPoint> value ); 00152 virtual Any* Clone() const; 00153 00154 int GetValue( CComPtr<IMgaConnPoint>& value ) const; 00155 void SetValue( CComPtr<IMgaConnPoint> value ); 00156 00157 virtual bool Equals( const Any& object ) const; 00158 bool operator==( const ConnectionPoint& object ) const; 00159 bool operator!=( const ConnectionPoint& object ) const; 00160 00161 virtual std::string Print() const; 00162 }; 00163 00164 //############################################################################################################################################## 00165 // 00166 // C L A S S : OclGmeCM::Project <<< + Any 00167 // 00168 //============================================================================================================================================== 00169 // 00170 // D E S C R I P T I O N : 00171 // 00172 //############################################################################################################################################## 00173 00174 class Project 00175 : public Any 00176 { 00177 private : 00178 CComPtr<IMgaProject> m_Value; 00179 00180 public : 00181 Project( OclMeta::TypeManager* pManager, CComPtr<IMgaProject> value ); 00182 virtual Any* Clone() const; 00183 00184 int GetValue( CComPtr<IMgaProject>& value ) const; 00185 void SetValue( CComPtr<IMgaProject> value ); 00186 00187 virtual bool Equals( const Any& object ) const; 00188 bool operator==( const Project& object ) const; 00189 bool operator!=( const Project& object ) const; 00190 00191 virtual std::string Print() const; 00192 }; 00193 00194 }; // namespace OclGmeCM 00195 00196 #endif // OCLObjectExGME_h