GME
13
|
00001 //############################################################################################################################################### 00002 // 00003 // Object Constraint Language Generic Manager 00004 // OCLGMEECFacade.h 00005 // 00006 //############################################################################################################################################### 00007 00008 #ifndef OCLGMEECFacade_h 00009 #define OCLGMEECFacade_h 00010 00011 #include "GMEConstraintEx.h" 00012 00013 namespace OclGmeEC 00014 { 00015 typedef CComObjPtr<IMgaFCO> SPFCO; 00016 typedef std::vector<SPFCO> FCOVector; 00017 00018 //############################################################################################################################################## 00019 // 00020 // C L A S S : OclGmeEC::Facade 00021 // 00022 //============================================================================================================================================== 00023 // 00024 // D E S C R I P T I O N : 00025 // 00026 //############################################################################################################################################## 00027 00028 class Facade 00029 { 00030 private : 00031 CComPtr<IMgaProject> m_spProject; 00032 OclTree::TreeManager* m_pTreeManager; 00033 00034 public : 00035 bool m_bEnabled; 00036 bool m_bEnabledEvents; 00037 bool m_bEnabledInteractions; 00038 00039 public : 00040 Facade(); 00041 ~Facade(); 00042 void Initialize( CComPtr<IMgaProject> spProject ); 00043 void Finalize(); 00044 00045 CComPtr<IMgaProject> GetProject() const; 00046 OclTree::TreeManager* GetTreeManager() const; 00047 00048 void CheckConstraint( CComPtr<IMgaFCO> spConstraint, OclGme::ConstraintVector& vecFaileds, bool bFieldsMandatory ); 00049 void CheckAllConstraints( OclGme::ConstraintVector& vecFaileds ); 00050 void CheckConstraintFunction( CComPtr<IMgaFCO> spConstraintFunction, OclGme::ConstraintFunctionVector& vecFaileds, bool bFieldsMandatory ); 00051 void CheckAllConstraintFunctions( OclGme::ConstraintFunctionVector& vecFaileds ); 00052 00053 private : 00054 bool IsConstraintDefined( CComPtr<IMgaFCO> spConstraint ); 00055 bool IsConstraintFunctionDefined( CComPtr<IMgaFCO> spConstraintFunction ); 00056 }; 00057 00058 }; // namespace OclGmeEC 00059 00060 #endif // OCLGMEECFacade_h