VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rprBroker.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <broker/vrlBroker.h>
15 
16 namespace MAKVrExchange
17 {
18 
19  class DtBrokerObject;
20  class DtObjectTranslator;
21  class DtGenericUserInterface;
22  class DtPortalReflectedObject;
23  class DtInteractionTranslator;
24 
25  namespace DtRprBroker
26  {
27 
28  class DtRprBrokerInitializer;
29 
36  {
37  public:
38 
40  static DtBroker* create( DtBrokerInitializer* init );
41 
42  protected:
43 
46  DtRprBroker();
47 
48  public:
49 
51  virtual ~DtRprBroker();
52 
56  virtual void tick();
57 
61  virtual DtString portalNameFind( const DtString& name );
62 
64  virtual void updateSimTime() const;
65 
67  virtual DtRprBrokerInitializer* rprInitializer();
68  virtual const DtRprBrokerInitializer* rprInitializer() const;
69 
71  virtual bool fillOutgoingIds() const;
72 
74  virtual bool usePersistentIds() const;
75 
77  //
79  virtual bool useHlaObjectIdForMarkingText() const;
80 
83  //
85  virtual bool useMarkingTextForHlaObjectId() const;
86 
88  virtual int outgoingSiteId() const;
89 
91  virtual int outgoingHostId() const;
92 
94  virtual DtU16 useNextEntityId();
95 
98  virtual int getPersistentId( const DtString& name );
99 
101  virtual void setPersistentId( const DtString& name, int );
102 
103  virtual int heartbeat() const { return myHeartbeat; }
104  virtual void setHeartbeat( int i ) { myHeartbeat = i; }
105 
106  virtual bool isDiscoveryTimeoutActive() const { return myDiscoveryTimeoutActiveFlag; }
107 
111  static void setGlobalIdMapperCreator( DtGlobalIdMapperCreator func );
112 
115  static DtGlobalIdMapperCreator globalIdMapperCreator();
116 
117  virtual DtGlobalIdMapper* globalIdMapper();
118 
119  protected:
120 
125  virtual void initialize( DtRprBrokerInitializer* init );
126 
128  virtual void setupTranslators( DtRprBrokerInitializer* init );
129 
131  virtual void logBrokerSettings( DtBrokerInitializer* init );
132 
134  virtual void initializeHlaBroker();
135 
137  virtual void initHlaConnection( const DtRprBrokerInitializer& init );
138 
141  virtual void initializeTranslators( DtStringSet& failedTranslators );
142 
145  virtual void initWholeFomTranslation();
146 
149  virtual void initGenericObjectTranslators( DtStringSet& failedTranslators );
150 
153  virtual void initGenericInteractionTranslators( DtStringSet& failedTranslators );
154 
156  virtual bool loadGenericObjectTranslator( const DtString& objName );
157 
159  virtual bool loadGenericInteractionTranslator( const DtString& interName );
160 
162  virtual void initPortalNameMapper( const DtFilename& mapFile);
163 
164  // Used for persisting entity Ids.
165  virtual void loadEntityNumMappingFile();
166  virtual void saveEntityNumMappingFile();
167 
170  virtual void reloadBrokerSettings();
171 
172  virtual void shutdownBroker();
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 Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)