![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtPropAdderFactory.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <string> 00018 #include <map> 00019 00020 namespace makVrv 00021 { 00022 00023 class DtPropAdder; 00024 class DtPropAdderCreator; 00025 class DtAgentManagerInterface; 00026 class DtDe; 00027 00030 class DT_DLL_VRVCORE DtPropAdderFactory : public DtVirtualBaseClass 00031 { 00032 public: 00034 static DtPropAdderFactory& instance(DtDe& de); 00035 00037 ~DtPropAdderFactory(); 00038 00040 DtPropAdder* createAdder(const std::string& filename, 00041 DtAgentManagerInterface& agentManagerInterface); 00042 00044 void setAdderCreator(const std::string& extension, 00045 DtPropAdderCreator* creator); 00046 00047 protected: 00048 DtPropAdderFactory(); 00049 00051 static std::string extractFileExtension( const std::string& fileToOpen ); 00052 00053 protected: 00054 00055 typedef std::map<std::string,DtPropAdderCreator*> CreatorMap; 00056 CreatorMap myCreators; 00057 }; 00058 }