00001 //--------------------------------------------------------------------------- 00002 00003 #ifndef ObjectManagerBaseH 00004 #define ObjectManagerBaseH 00005 //--------------------------------------------------------------------------- 00006 #include "Messages.h" 00007 #include "DataTypes.h" 00008 #include <xercesc/dom/DOM.hpp> 00009 00010 class clSimManager; 00011 class clWorkerBase; 00033 class clObjectManagerBase { 00034 protected: 00035 clWorkerBase **mp_oObjectArray; 00037 int m_iNumObjects; 00038 static clSimManager *mp_oSimManager; 00049 virtual void CreateObjects(xercesc::DOMDocument *p_oDoc) {;}; 00050 00051 public: 00052 00057 int GetObjectVersion() {return 1;}; 00058 00063 clObjectManagerBase(clSimManager *p_oSimManager); //constructor 00064 00068 ~clObjectManagerBase(); //destructor 00069 00073 void FreeMemory(); 00074 00078 int GetNumberOfObjects() {return m_iNumObjects;}; 00079 00087 clWorkerBase* PassObjectPointer(int iObjectNumber); 00088 00095 clWorkerBase* PassObjectPointer(char *cName); 00096 00105 void DoObjectSetup(xercesc::DOMDocument *p_oDoc, fileType iFileType); 00106 00111 void TimestepCleanup(); 00112 00118 void EndOfRunCleanup(); 00119 00120 }; 00121 clSimManager *clObjectManagerBase::mp_oSimManager = NULL; 00122 //----------------------------------------------------------------------------- 00123 #endif