![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: commModelManager.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef commModelManager_h 00015 #define commModelManager_h 00016 00017 #include "vrfobjcore/vrfobjcoreDefines.h" 00018 #include <map> 00019 #include <vlutil/vlString.h> 00020 00021 class DtSimManager; 00022 class DtCommModelDescriptorList; 00023 class DtCommModel; 00024 class DtFilename; 00025 00029 class DT_DLL_vrfobjcore DtCommModelManager 00030 { 00031 private: 00033 00034 DtCommModelManager(); 00035 DtCommModelManager(const DtCommModelManager& orig); 00036 DtCommModelManager& operator=(const DtCommModelManager& orig); 00038 00039 protected: 00041 DtCommModelManager(DtSimManager* simManager); 00043 virtual bool init(); 00044 00045 public: 00049 static DtCommModelManager* create(DtSimManager* simManager); 00050 00051 virtual ~DtCommModelManager(); 00052 00055 virtual void reset(); 00056 00060 virtual bool initializeForScenario(const DtFilename& paramsFile); 00061 00067 virtual bool loadCommModelFile(const DtFilename& paramsFile); 00068 00070 virtual bool setupCommModels(); 00071 00074 virtual DtCommModel* lookupCommModel(const DtString& networkName); 00075 00078 static void tickCallback(void* usr); 00079 00081 virtual void tick(); 00082 00083 protected: 00085 virtual bool setupCommModels(const DtCommModelDescriptorList& descList); 00086 00088 void clearCommModels(); 00089 00090 protected: 00091 DtSimManager* mySimManager; 00092 typedef std::map<DtString, DtCommModel*> DtCommModelMap; 00093 DtCommModelMap myCommModelMap; 00094 DtCommModelDescriptorList* myDescriptorList; 00095 }; 00096 00097 #endif