VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtChannelKeywordObjectFactory.h
Go to the documentation of this file.
00001 /******************************************************************************* 
00002 ** Copyright (c) 2010 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 *******************************************************************************/ 
00005 /******************************************************************************* 
00006 ** $RCSfile: DtChannelKeywordObjectFactory.h,v $ $Revision: 1.13 $ $State: Exp $ 
00007 *******************************************************************************/ 
00008  
00012  
00013 #pragma once
00014  
00015 #include <vrvCore/vrvCore.h>
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 
00018 #include <boost/unordered_map.hpp>
00019 #include <string>
00020 
00021 namespace makVrv 
00022 { 
00023 
00024    class DtDe;
00025    class DtChannelKeywordObjectCreator;
00026    class DtChannelKeywordObject;
00027    class DtChannelConfiguration;
00028 
00033    class DT_DLL_VRVCORE DtChannelKeywordObjectFactory : public DtVirtualBaseClass
00034    {
00035    public:
00036 
00038       static DtChannelKeywordObjectFactory& instance(DtDe& de);
00039       
00040       static void registerInstance(DtDe& de, DtChannelKeywordObjectFactory* anInstance);     
00041 
00043       virtual ~DtChannelKeywordObjectFactory();
00044 
00047       virtual void registerChannelKeywordObjectCreator(const std::string& keyword,
00048          DtChannelKeywordObjectCreator* creator);
00049 
00053       virtual DtChannelKeywordObject* createChannelKeywordObject(const std::string& keyword, 
00054          const std::string& displayName,  const std::string& windowName,  
00055          const DtChannelConfiguration& channelConfig ) const;
00056 
00057       virtual bool isKeywordRegistered( const std::string& keyword ) const;
00058 
00059    protected:
00062       DtChannelKeywordObjectFactory(DtDe& de);
00063 
00064    protected:
00065       typedef boost::unordered_map<std::string, DtChannelKeywordObjectCreator*> RegistrationMap;
00066 
00067       DtDe& myDe;
00068       RegistrationMap myCreators;
00069    };
00070 } 

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)