VR-Exchange 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tenaBroker.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 <tenaBroker/dllExport.h>
13 
14 #include <broker/broker.h>
16 
18 #include <tenaBroker/throttle.h>
19 
20 #include <vlutil/vlStringUtil.h>
21 #include <vlutil/vlString.h>
22 #include <vlutil/vlTime.h>
23 
24 #include <list>
25 #include <map>
26 
27 namespace MAKVrExchange
28 {
29 
30  class DtBrokerObject;
31  class DtPortalReflectedObject;
32 
33  namespace DtTenaBroker
34  {
35 
36  class DtExerciseConn;
37  class DtEntityIdMapper;
38  class DtGenericUserInterface;
39  class DtTenaBrokerInitializer;
40 
44  };
45 
52  {
53  public:
54 
57  static DtBroker* create( DtBrokerInitializer* init );
58 
60  virtual ~DtTenaBroker();
61 
62  protected:
63 
65  DtTenaBroker();
66 
67  public:
68 
72  virtual void tick();
73 
75  virtual DtTenaBrokerInitializer* tenaInitializer();
76 
78  virtual bool fillOutgoingIds() const;
79 
81  virtual bool usePersistentIds() const;
82 
84  virtual bool forceUpdateFlag() const;
85 
87  virtual bool guiseIsEntityType() const;
88 
91  virtual bool useTenaObjectIdForMarkingText() const;
92 
96  virtual bool useMarkingTextForTenaObjectId() const;
97 
100  virtual bool generateFirePduForIndirectFire() const;
101 
109  virtual bool dumpGuiToText() const;
110 
118  virtual bool debugGlobalIdMapping() const;
119 
120  virtual DtGlobalIdMapper* globalIdMapper();
121  virtual const DtGlobalIdMapper* globalIdMapper() const;
122 
123  virtual DtEntityIdMapper* entityIdMapper();
124 
125  virtual DtThrottle* throttle();
126 
133  virtual DtTime simTime() const;
134 
138  virtual DtString portalNameFind( const DtString& name ) const;
139 
141  virtual DtExerciseConn* connection() const;
142 
146  static void setGlobalIdMapperCreator( DtGlobalIdMapperCreator func );
147 
150  static DtGlobalIdMapperCreator globalIdMapperCreator();
151 
152  protected:
153 
160  virtual void initialize( DtTenaBrokerInitializer* init );
161 
163  virtual void setupTranslators( DtTenaBrokerInitializer* init );
164 
166  virtual void logBrokerSettings( DtBrokerInitializer* init );
167 
170  virtual void shutdown();
171 
173  virtual void initTenaConnection( const DtTenaBrokerInitializer& init );
174 
176  virtual void startBroker();
177 
179  virtual void initPortalNameMapper( const DtFilename& mapFile );
180 
181  private:
182 
184  DtTenaBroker( const DtTenaBroker& other );
185 
187  DtTenaBroker& operator = ( const DtTenaBroker& other );
188 
189  protected:
190 
192 
194 
198 
199  std::map<DtString,DtString> myPortalNameMapper;
200  DtExerciseConn* myExConn;
201 
202  };
203 
204 
205  inline DtGlobalIdMapper* DtTenaBroker::globalIdMapper()
206  {
207  return myGlobalIdMapper;
208  }
209 
210  inline const DtGlobalIdMapper* DtTenaBroker::globalIdMapper() const
211  {
212  return myGlobalIdMapper;
213  }
214 
215  inline DtEntityIdMapper* DtTenaBroker::entityIdMapper()
216  {
217  return myEntityIdMapper;
218  }
219 
220  inline DtThrottle* DtTenaBroker::throttle()
221  {
222  return &myThrottle;
223  }
224 
225  inline DtExerciseConn* DtTenaBroker::connection() const
226  {
227  return myExConn;
228  }
229 
230  }
231 }
DtGlobalIdMapper *(* DtGlobalIdMapperCreator)()
A Function pointer for a GlobalIdMapper creator function.
Definition: tenaBroker/tenaBroker/globalIdMapper.h:27
std::map< DtString, DtString > myPortalNameMapper
Definition: tenaBroker.h:199
A class to initialize DtBroker instances.
Definition: brokerInitializer.h:35
#define DT_DLL_TENABROKER
Definition: brokers/tenaBroker/tenaBroker/dllExport.h:26
Implements a DtBroker for the TENA Protocol.
Definition: tenaBroker.h:51
DtEntityIdMapper * myEntityIdMapper
Definition: tenaBroker.h:196
DtEntityIdMapper is used to map the portal entityID attribute to a TENA entity.
Definition: tenaBroker/tenaBroker/entityIdMapper.h:34
DtU16 myNextEntityId
Definition: tenaBroker.h:197
Definition: tenaBrokerInitializer.h:32
DtGlobalIdMapper is used to convert between Poral ObjectId&#39;s and TENA Entity.
Definition: tenaBroker/tenaBroker/globalIdMapper.h:43
Tracks and verifies throttling for different object identifiers.
Definition: tenaBroker/tenaBroker/throttle.h:34
Base class for all broker objects.
Definition: broker.h:53
DtGlobalIdMapper * myGlobalIdMapper
Definition: tenaBroker.h:195
Contains the DtTranslatorFactory class declaration.
TenaBrokerObjectDataField
Enumeration for TENA Broker Object Data field(s).
Definition: tenaBroker.h:42
DtThrottle myThrottle
Definition: tenaBroker.h:193
Contains the DtBroker class declaration.
DtExerciseConn * myExConn
Definition: tenaBroker.h:200
static DtGlobalIdMapperCreator theGlobalIdMapperCreator
Definition: tenaBroker.h:191

Document ID: Generated on Mon Apr 19 15:55:22 EDT 2021 from SVN revision 227909
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)