VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <broker/vrlBroker.h>
16 #include <vl/globalObjectDesignator.h>
17 #include <vl/exerciseConn.h>
18 
19 namespace MAKVrExchange
20 {
21 
22  class DtBrokerObject;
23  class DtPortalReflectedObject;
24 
25  namespace DtDisBroker
26  {
27 
28  class DtEventIdMapper;
29  class DtEntityIdMapper;
30  class DtDisBrokerInitializer;
31 
38  class DT_DLL_DISBROKER DtDisBroker : public DtVrlBroker<DtExerciseConn>
39  {
40  public:
41 
44  static DtBroker* create( DtBrokerInitializer* init );
45 
47  virtual ~DtDisBroker();
48 
49  protected:
50 
53  DtDisBroker();
54 
55  public:
56 
58  virtual void tick();
59 
61  virtual void updateSimTime() const;
62 
64  virtual DtDisBrokerInitializer* disInitializer();
65 
69 
71  underwaterAcousticsPublisherManager();
72  virtual DtGlobalIdMapper* globalIdMapper();
73  virtual DtEventIdMapper* eventIdMapper();
74  virtual DtEntityIdMapper* entityIdMapper();
75  virtual DtTime heartbeatInterval() const;
76  virtual DtTime timeoutInterval() const;
77  virtual bool remapDisIds() const;
78  virtual bool usePersistentIds() const;
79  virtual bool dumpGuiToText() const;
80 
82 
83  DtGlobalObjectDesignator convertGlobalId( const DtString& id );
84  DtString convertGlobalId( const DtGlobalObjectDesignator& id );
85  DtEntityIdentifier convertPortalEntIdToDisEntId( const DtEntityIdentifier& portalId );
86  DtEntityIdentifier convertDisEntIdToPortalEntId( const DtEntityIdentifier& disId );
87 
92  static void setUnderwaterAcousticsPublisherManagerCreator(
94 
98  underwaterAcousticsPublisherManagerCreator();
99 
103  static void setGlobalIdMapperCreator( DtGlobalIdMapperCreator func );
104 
107  static DtGlobalIdMapperCreator globalIdMapperCreator();
108 
109  protected:
110 
117  virtual void initialize( DtDisBrokerInitializer* init );
118 
120  virtual void setupTranslators( DtDisBrokerInitializer* init );
121 
123  virtual void logBrokerSettings( DtBrokerInitializer* init );
124 
127  virtual void shutdown();
128 
130  virtual void initDisConnection( DtDisBrokerInitializer& init );
131 
134  virtual DtString chooseNewDeviceAddress() const;
135 
137  virtual void startBroker();
138 
139  private:
140 
142  DtDisBroker( const DtDisBroker& other );
143 
145  DtDisBroker& operator = ( const DtDisBroker& other );
146 
147  protected:
148 
151 
153 
154  DtInetDevice* myDisMcastDevice;
155 
160 
161  };
162 
163 
165  DtDisBroker::underwaterAcousticsPublisherManager()
166  {
168  }
169 
170  inline DtGlobalIdMapper* DtDisBroker::globalIdMapper()
171  {
172  return myGlobalIdMapper;
173  }
174 
175  inline DtEntityIdMapper* DtDisBroker::entityIdMapper()
176  {
177  return myEntityIdMapper;
178  }
179 
180  inline DtEventIdMapper* DtDisBroker::eventIdMapper()
181  {
182  return myEventIdMapper;
183  }
184 
185  }
186 }
DtGlobalIdMapper * myGlobalIdMapper
Definition: disBroker.h:157
DtEntityIdMapper is used to map the portal entityID attribute to a DIS entity.
Definition: disBroker/disBroker/entityIdMapper.h:34
DtEventIdMapper * myEventIdMapper
Definition: disBroker.h:158
Implements a DtBroker for the DIS Protocol.
Definition: disBroker.h:38
A class to initialize DtBroker instances.
Definition: brokerInitializer.h:35
DtGlobalIdMapper is used by the DIS Broker to convert between Portal ObjectIds and DIS Entity IDs...
Definition: disBroker/disBroker/globalIdMapper.h:45
DtVrlBroker is the base class for all brokers based on a VR-Link connection.
Definition: vrlBroker.h:20
Contains the DtUnderwaterAcousticsPublisherManager class declaration.
DtGlobalIdMapper *(* DtGlobalIdMapperCreator)()
A Function pointer for a GlobalIdMapper creator function.
Definition: disBroker/disBroker/globalIdMapper.h:27
Contains the DtVrlBroker class declaration.
static DtUnderwaterAcousticsPublisherManagerCreator theUnderwaterAcousticsPublisherManagerCreator
Definition: disBroker.h:150
Base class for all broker objects.
Definition: broker.h:58
DtUnderwaterAcousticsPublisherManager * myUndwaAcPublisherManager
Definition: disBroker.h:156
Contains the DtTranslatorFactory class declaration.
DtInetDevice * myDisMcastDevice
Definition: disBroker.h:154
DtUnderwaterAcousticsPublisherManager *(* DtUnderwaterAcousticsPublisherManagerCreator)()
A Function pointer for a GlobalIdMapper creator function.
Definition: underwaterAcousticsPublisherManager.h:27
static DtGlobalIdMapperCreator theGlobalIdMapperCreator
Definition: disBroker.h:152
This class converts between DIS event ID&#39;s and Portal event ID&#39;s.
Definition: eventIdMapper.h:35
#define DT_DLL_DISBROKER
Definition: brokers/disBroker/disBroker/dllExport.h:20
Keeps track of DtUnderwaterAcousticsPublishers by host id.
Definition: underwaterAcousticsPublisherManager.h:35
DtEntityIdMapper * myEntityIdMapper
Definition: disBroker.h:159
Provides initialization parameters to the DIS Broker.
Definition: disBrokerInitializer.h:30

Document ID: Generated on Mon May 25 18:45:12 EDT 2026 from SVN revision 289111
Copyright © 2005-2026 MAK Technologies. All Rights Reserved (www.mak.com)