VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtHeaderParserFactory.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtHeaderParserFactory.h,v $ $Revision: 1.9 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtHeaderParserFactory_H_
00014 #define DtHeaderParserFactory_H_
00015 
00016 #include <vrvCore/vrvCore.h>
00017 #include <vrvCore/DtDe.h>
00018 #include <vrvUtil/DtVirtualBaseClass.h>
00019 #include <map>
00020 #include <string>
00021 
00022 class DtTerrainDbFactory;
00023 
00024 namespace makVrv
00025 {
00026 
00027    class DtHeaderParserCreator;
00028    class DtHeaderParser;
00029 
00032    class DT_DLL_VRVCORE DtHeaderParserFactory : public DtVirtualBaseClass
00033    {
00034    public:
00035 
00036       typedef std::map<std::string, DtHeaderParserCreator*> CreatorMap;
00037       typedef std::map<std::string, std::string> FileExtensionMap;
00038 
00040       static DtHeaderParserFactory& instance(DtDe& de);
00041 
00043       virtual ~DtHeaderParserFactory();
00044 
00046       virtual void addCreator(const std::string& creatorName, 
00047          DtHeaderParserCreator* creator);
00048 
00050       virtual void mapFileExtensionToHeaderParser(const std::string& extenstion, 
00051          const std::string& creatorName);
00052 
00054       DtHeaderParser* createHeaderParser(const std::string& filePath);
00055 
00057       const CreatorMap& creators() const;
00058 
00060       static std::string extractFileExtension( const std::string& fileToOpen );
00061 
00062    protected:
00063 
00065       DtHeaderParserFactory(DtDe& de);
00066 
00067       DtDe& myDe;
00068       CreatorMap myCreators;
00069       FileExtensionMap myExtenstionMap;
00070 
00071    };
00072 }
00073 
00074 #endif
00075 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)