![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: signatureModifierFactory.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef signatureModifierFactory_H_ 00010 #define signatureModifierFactory_H_ 00011 00012 #include "vrfutil/signatureModifier.h" 00013 #include <map> 00014 00015 typedef DtSignatureModifier * (*DtSignatureModifierCreatorFcn)(); 00016 00019 00020 #include "vrfutil/vrfutilDefines.h" 00021 class DT_DLL_vrfutil DtSignatureModifierFactory 00022 { 00023 public: 00025 DtSignatureModifierFactory(); 00026 00028 virtual ~DtSignatureModifierFactory(); 00029 00031 virtual void addCreatorFcn(const DtString& type, 00032 DtSignatureModifierCreatorFcn fcn); 00033 00034 virtual DtSignatureModifier* createSignatureModifier(const DtString& type); 00035 00036 static DtSignatureModifierFactory* create(); 00037 00038 private: 00040 DtSignatureModifierFactory(const DtSignatureModifierFactory& orig); 00042 DtSignatureModifierFactory& operator=(const DtSignatureModifierFactory& orig); 00043 00044 protected: 00045 typedef std::map<DtString, DtSignatureModifierCreatorFcn> DtSignatureModifierCreatorMap; 00046 DtSignatureModifierCreatorMap myCreatorMap; 00047 }; 00048 00049 00050 #endif 00051