VR-Exchange 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ddsBroker.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>
13 #include <ddsBroker/throttle.h>
16 
17 #include <vlutil/vlStringUtil.h>
18 #include <vlutil/vlTime.h>
19 #include <list>
20 #include <map>
21 
22 namespace MAKVrExchange
23 {
24 
25  class DtBrokerObject;
26  class DtPortalReflectedObject;
27  class DtGenericUserInterface;
28 
29  namespace DtDdsBroker
30  {
31 
32  class DtEntityIdMapper;
33  class DtDdsDomainConnection;
34  class DtDdsBrokerInitializer;
35 
38  {
40  };
41 
50  class DT_DLL_DDSBROKER DtDdsBroker : public DtVrlBroker<DtDdsDomainConnection>
51  {
52  public:
53 
55  static DtBroker* create( DtBrokerInitializer* init );
56 
58  virtual ~DtDdsBroker();
59 
60  protected:
61 
63  DtDdsBroker();
64 
66  virtual void logBrokerSettings( DtBrokerInitializer* init );
67 
68  public:
69 
71  virtual void tick();
72 
74  virtual DtDdsBrokerInitializer* ddsInitializer();
75 
77  virtual DtGlobalIdMapper* globalIdMapper();
78  virtual DtEntityIdMapper* entityIdMapper();
79  virtual bool usePersistentIds() const;
80  virtual bool fillOutgoingIds() const;
81  virtual bool useDdsObjectIdForMarkingText() const;
82  virtual bool useMarkingTextForDdsObjectId() const;
83  virtual bool guiseIsEntityType() const;
84  virtual bool forceUpdateFlag() const;
85  virtual bool debugGlobalIdMapping() const;
86  virtual bool dumpGuiToText() const;
87 
88  virtual DtThrottle* throttle();
89 
93  virtual DtString portalNameFind( const DtString& name ) const;
94 
98  static void setGlobalIdMapperCreator( DtGlobalIdMapperCreator func );
99 
102  static DtGlobalIdMapperCreator globalIdMapperCreator();
103 
104  protected:
105 
110  virtual void initialize( DtDdsBrokerInitializer* init );
111 
114  virtual void shutdown();
115 
117  virtual void initDdsConnection( const DtDdsBrokerInitializer& init );
118 
120  virtual void initPortalNameMapper( const DtFilename& mapFile );
121 
125  virtual void startBroker();
126 
128  virtual void setupTranslators();
129 
130  private:
131 
133  DtDdsBroker( const DtDdsBroker& other );
134 
136  DtDdsBroker& operator = ( const DtDdsBroker& other );
137 
138  protected:
139 
141 
143 
147  std::map<DtString,DtString> myPortalNameMapper;
148 
149  };
150 
151 
152  inline DtGlobalIdMapper* DtDdsBroker::globalIdMapper()
153  {
154  return myGlobalIdMapper;
155  }
156 
157  inline DtEntityIdMapper* DtDdsBroker::entityIdMapper()
158  {
159  return myEntityIdMapper;
160  }
161 
162  inline DtThrottle* DtDdsBroker::throttle()
163  {
164  return &myThrottle;
165  }
166 
167  }
168 }
A class to initialize DtBroker instances.
Definition: brokerInitializer.h:35
DtVrlBroker is the base class for all brokers based on a VR-Link connection.
Definition: vrlBroker.h:20
DtGlobalIdMapper * myGlobalIdMapper
Definition: ddsBroker.h:144
Contains the DtVrlBroker class declaration.
DtU16 myNextEntityId
Definition: ddsBroker.h:146
DtEntityIdMapper is used to map the portal entityID attribute to a DDS entity.
Definition: ddsBroker/ddsBroker/entityIdMapper.h:34
Base class for all broker objects.
Definition: broker.h:58
Parses the MTL file, and reads command line arguments to produce a set of parameters useful for DtDds...
Definition: ddsBrokerInitializer.h:30
Contains the DtTranslatorFactory class declaration.
Tracks and verifies throttling for different object identifiers.
Definition: ddsBroker/ddsBroker/throttle.h:30
std::map< DtString, DtString > myPortalNameMapper
Definition: ddsBroker.h:147
DtGlobalIdMapper is used to convert between Poral ObjectId&#39;s and DDS Entity.
Definition: ddsBroker/ddsBroker/globalIdMapper.h:55
DtGlobalIdMapper *(* DtGlobalIdMapperCreator)()
A Function pointer for a GlobalIdMapper creator function.
Definition: ddsBroker/ddsBroker/globalIdMapper.h:41
DtEntityIdMapper * myEntityIdMapper
Definition: ddsBroker.h:145
DdsBrokerObjectDataField
Enumeration for DDS Broker Object Data field(s).
Definition: ddsBroker.h:37
DtThrottle myThrottle
Definition: ddsBroker.h:142
Implements a DtBroker for the DDS Architecture.
Definition: ddsBroker.h:50
static DtGlobalIdMapperCreator theGlobalIdMapperCreator
Definition: ddsBroker.h:140
#define DT_DLL_DDSBROKER
Definition: brokers/ddsBroker/ddsBroker/dllExport.h:20

Document ID: Generated on Tue Aug 16 16:15:26 EDT 2022 from SVN revision 245901
Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)