![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2000 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfSRUserExtFactory.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef vrfSRUserExtFactory_H_ 00015 #define vrfSRUserExtFactory_H_ 00016 00017 #include <vlutil/vlConfig.h> 00018 #include <map> 00019 #include <vlutil/vlString.h> 00020 00021 class DtVrfStateRepositoryUserExtension; 00022 class DtVrfObjectStateRepository; 00023 class DtReaderWriterRegistry; 00024 00025 typedef DtVrfStateRepositoryUserExtension* 00026 (*DtVrfSRUserExtensionCreatorFcn) 00027 (DtVrfObjectStateRepository* stateRepository, 00028 const DtString& rwName, DtReaderWriterRegistry* parentRegistry); 00029 00036 #include "vrfobjparam/vrfobjparamDefines.h" 00037 class DT_DLL_vrfobjparam DtVrfStateRepositoryUserExtensionFactory 00038 { 00039 public: 00040 00042 DtVrfStateRepositoryUserExtensionFactory(); 00043 00045 virtual ~DtVrfStateRepositoryUserExtensionFactory(); 00046 00048 DtVrfStateRepositoryUserExtensionFactory( 00049 const DtVrfStateRepositoryUserExtensionFactory& orig); 00050 00052 DtVrfStateRepositoryUserExtensionFactory& operator=( 00053 const DtVrfStateRepositoryUserExtensionFactory& orig); 00054 00056 virtual void addCreatorFcn(const DtString& type, 00057 DtVrfSRUserExtensionCreatorFcn fcn); 00058 00059 virtual DtVrfStateRepositoryUserExtension * createStateRepositoryUserExtension( 00060 const DtString& type, DtVrfObjectStateRepository* stateRepository, 00061 const DtString& rwName, DtReaderWriterRegistry* parentRegistry); 00062 00063 static DtVrfStateRepositoryUserExtensionFactory* create(); 00064 00065 protected: 00066 00067 std::map<DtString, DtVrfSRUserExtensionCreatorFcn> myCreatorFunctionMap; 00068 }; 00069 00070 #endif 00071 00072