![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: simCommandExecutorFactory.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef simCommandExecutorFactory_h 00015 #define simCommandExecutorFactory_h 00016 00017 #include "vrfobjcore/vrfobjcoreDefines.h" 00018 #include <map> 00019 00020 class DtSimCommandExecutor; 00021 class DtSimManager; 00022 00023 typedef DtSimCommandExecutor * (*DtSimCommandExecutorCreatorFcn)(DtSimManager*); 00024 00026 class DT_DLL_vrfobjcore DtSimCommandExecutorFactory 00027 { 00028 public: 00029 00031 DtSimCommandExecutorFactory(); 00032 00034 virtual ~DtSimCommandExecutorFactory(); 00035 00040 virtual void addCreatorFcn(int type, DtSimCommandExecutorCreatorFcn fcn); 00041 00043 virtual void removeCreatorFcn(int type, DtSimCommandExecutorCreatorFcn fcn); 00044 00046 virtual DtSimCommandExecutor* createSimCommandExecutor(int type, 00047 DtSimManager* simManager) const; 00048 00049 static DtSimCommandExecutorFactory* create(); 00050 00051 private: 00053 DtSimCommandExecutorFactory(const DtSimCommandExecutorFactory& orig); 00054 00056 DtSimCommandExecutorFactory& operator=(const DtSimCommandExecutorFactory& orig); 00057 00058 protected: 00059 00060 typedef std::map<int, DtSimCommandExecutorCreatorFcn> DtCreatorMap; 00061 DtCreatorMap myCreatorMap; 00062 }; 00063 00064 00065 #endif