VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtCigiObjectFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 
15 #include <boost/unordered_map.hpp>
16 #include <string>
17 #include <vector>
18 #include <set>
19 
20 namespace makVrv
21 {
22  class DtCigiConnection;
23  class DtCigiBaseEntity;
24  class DtCigiObjectCreator;
25  class DtAgentManagerInterface;
26 
36  {
37  public:
38 
40  typedef boost::unordered_map<std::string, DtCigiObjectCreator*>
42 
45 
47  virtual ~DtCigiObjectFactory();
48 
51 
53  DtCigiObjectFactory& operator=(const DtCigiObjectFactory& rhs);
54 
56  static DtCigiObjectFactory& instance(DtDe& de);
57 
59  static DtCigiObjectFactory& instance(DtCigiConnection& con);
60 
63  static void copyInstance(DtCigiConnection& con, DtDe& de);
64 
76  virtual void addCigiObjectCreator( const std::string& schema,
77  DtCigiObjectCreator* creator );
78 
81  virtual void addDefaultCigiObjectCreator( DtCigiObjectCreator* creator );
82 
89  DtCigiBaseEntity* createCigiObject( const std::string& schema,
90  DtCigiConnection& connection, DtAgentManagerInterface& sceneInterface,
91  int entityId, int entityType ) const;
92 
94  const CreatorMap& creators() const;
95 
97  const DtCigiObjectCreator* findCreator(const std::string& schema) const;
98 
100  std::vector<std::string> listRegisteredSchemas() const;
101 
102  protected:
105  };
106 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)