VR-Exchange 2.5 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rprBroker.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <broker/vrlBroker.h>
15 #include <vl/exerciseConn.h>
16 
17 namespace MAKVrExchange
18 {
19 
20  class DtBrokerObject;
21  class DtObjectTranslator;
22  class DtGenericUserInterface;
23  class DtPortalReflectedObject;
24  class DtInteractionTranslator;
25 
26  namespace DtRprBroker
27  {
28 
29  class DtRprBrokerInitializer;
30 
36  class DT_DLL_RPRBROKER DtRprBroker : public DtVrlBroker<DtExerciseConn>
37  {
38  public:
39 
41  static DtBroker* create( DtBrokerInitializer* init );
42 
43  protected:
44 
47  DtRprBroker();
48 
49  public:
50 
52  virtual ~DtRprBroker();
53 
57  virtual void tick();
58 
61  virtual void processDiscoveryTimeout();
62 
66  virtual DtString portalNameFind( const DtString& name ) const;
67 
69  virtual void updateSimTime() const;
70 
72  virtual DtRprBrokerInitializer* rprInitializer();
73  virtual const DtRprBrokerInitializer* rprInitializer() const;
74 
76  virtual bool fillOutgoingIds() const;
77 
79  virtual bool usePersistentIds() const;
80 
83  virtual bool useHlaObjectIdForMarkingText() const;
84 
87  virtual bool useMarkingTextForHlaObjectId() const;
88 
90  virtual int outgoingSiteId() const;
91 
93  virtual int outgoingHostId() const;
94 
96  virtual DtU16 useNextEntityId();
97 
100  virtual int getPersistentId( const DtString& name );
101 
103  virtual void setPersistentId( const DtString& name, int );
104 
105  virtual int heartbeat() const { return myHeartbeat; }
106  virtual void setHeartbeat( int i ) { myHeartbeat = i; }
107 
108  virtual bool isDiscoveryTimeoutActive() const { return myDiscoveryTimeoutActiveFlag; }
109 
113  static void setGlobalIdMapperCreator( DtGlobalIdMapperCreator func );
114 
117  static DtGlobalIdMapperCreator globalIdMapperCreator();
118 
119  virtual DtGlobalIdMapper* globalIdMapper();
120 
121  protected:
122 
127  virtual void initialize( DtRprBrokerInitializer* init );
128 
130  virtual void setupTranslators( DtRprBrokerInitializer* init );
131 
133  virtual void logBrokerSettings( DtBrokerInitializer* init );
134 
136  virtual void startBroker();
137 
139  virtual void initHlaConnection( const DtRprBrokerInitializer& init );
140 
143  virtual void initializeTranslators( DtStringSet& failedTranslators );
144 
147  virtual void initWholeFomTranslation();
148 
151  virtual void initGenericObjectTranslators( DtStringSet& failedTranslators );
152 
155  virtual void initGenericInteractionTranslators( DtStringSet& failedTranslators );
156 
158  virtual bool loadGenericObjectTranslator( const DtString& objName );
159 
161  virtual bool loadGenericInteractionTranslator( const DtString& interName );
162 
164  virtual void initPortalNameMapper( const DtFilename& mapFile);
165 
166  // Used for persisting entity Ids.
167  virtual void loadEntityNumMappingFile();
168  virtual void saveEntityNumMappingFile();
169 
172  virtual void shutdown();
173 
174  private:
175 
177  DtRprBroker( const DtRprBroker& other );
178 
180  DtRprBroker& operator = ( const DtRprBroker& other );
181 
182  protected:
183 
185 
189  std::vector<DtString> myGenericInteractionsToTranslateSet;
190  std::vector<DtString> myGenericObjectsToTranslateSet;
191 
194 
196  std::map<const char*,int> myNameToEntityNum;
197  std::map<DtString,DtString> myPortalNameMapper;
198 
199  };
200 
201 
203  {
204  return myNextEntityId++;
205  }
206 
207  }
208 }

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)