VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ddsBroker/ddsBroker/globalIdMapper.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2013 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <ddsBroker/dllExport.h>
13 
14 // ************************************************************************ //
15 // Use the DIS implementation from VR-Link by temporarily defining DtDIS.
16 // ************************************************************************ //
17 #ifndef DtDIS
18 # define MUST_UNDEF_DTDIS
19 # define DtDIS 1
20 #endif
21 
22 #include <vl/globalObjectDesignator.h>
23 
24 #ifdef MUST_UNDEF_DTDIS
25 # undef DtDIS
26 #endif
27 // ************************************************************************ //
28 
29 #include <vlutil/vlHashlist.h>
30 #include <vlutil/vlHashKeys.h>
31 #include <vlutil/vlString.h>
32 
33 namespace MAKVrExchange
34 {
35  namespace DtDdsBroker
36  {
37 
38  class DtGlobalIdMapper;
39 
41  typedef DtGlobalIdMapper* (*DtGlobalIdMapperCreator)();
42 
56  {
57  public:
58 
59  typedef DtEntityIdentifier DdsId;
60  typedef DtString PortalId;
61 
64  enum { NoSystemId = -1};
65  enum { NoBeamId = -1};
66 
67  typedef enum {
68  NoType = -1,
69  EntityType = 0,
70  EmitterSystemType = 1,
71  RadioTransmitterType = 2,
72  RadioReceiverType = 3,
73  EmitterBeamType = 4,
74  EnvironmentProcess = 5,
75  GridData = 6
76  } ObjectType;
77 
78  public:
79 
82 
84  virtual ~DtGlobalIdMapper();
85 
88  virtual bool add(const PortalId &portal_name,
89  const DdsId &dds_name,
90  ObjectType oType = EntityType,
91  int systemId = NoSystemId,
92  int beamId = NoBeamId);
93 
96  virtual void remove(const PortalId &portal_name);
97  virtual void remove(const DdsId &dds_name,
98  ObjectType otype = EntityType,
99  int systemId = NoSystemId,
100  int beamId = NoBeamId);
101 
102 
105  virtual void remove(const PortalId &portal_name,
106  const DdsId &dds_name,
107  ObjectType otype = EntityType,
108  int systemId = NoSystemId,
109  int beamId = NoBeamId);
110 
114  virtual const PortalId &convertDdsGidToPortalGid(
115  const DdsId &dds_name,
116  ObjectType = EntityType,
117  int systemId = NoSystemId,
118  int beamId = NoBeamId);
119 
122  virtual const DdsId &convertPortalGidToDdsGid(
123  const PortalId &portal_name,
124  ObjectType* otype = 0,
125  int* systemId = 0,
126  int* beamId = 0);
127 
128  virtual bool unique(const PortalId &portal_name) const;
129  virtual bool unique(const DdsId &dds_name,
130  ObjectType oType = EntityType,
131  int systemId = NoSystemId,
132  int beamId = NoBeamId) const;
133 
134  virtual void setDebug( bool debugOn);
135  virtual bool debug () const;
136 
137  virtual void setParseUnknownIds(bool parseOn);
138  virtual bool parseUnknownIds() const;
139 
140  protected:
141 
143  const PortalId& parseAndCreatePortalId(
144  const DdsId& ddsName, const DtStringHashKey& ddsKey,
145  ObjectType oType = EntityType, int systemId = NoSystemId, int beamId = NoBeamId);
146 
148  const DdsId& parseAndCreateDdsId(
149  const PortalId& portalName, const DtStringHashKey& portalKey,
150  ObjectType* oType = 0, int* systemId = 0, int* beamId = 0);
151 
152  virtual bool addUnknownIds(const PortalId &portal_name,
153  const DdsId &dds_name,
154  ObjectType oType = EntityType,
155  int systemId = NoSystemId,
156  int beamId = NoBeamId);
157 
158  DtStringHashKey createDdsKey(const DdsId& dds_name,
159  ObjectType oType, int systemId, int beamId) const;
160 
163 
165  DtHashlist *myPortalIdHashList;
166 
168  DtHashlist *myDdsIdHashList;
169 
173 
176 
177  };
178 
181  {
182  public:
183 
186  int sysId= DtGlobalIdMapper::NoSystemId,
188 
190  int systemId() const;
191  int beamId() const;
192 
194  const DtGlobalIdMapper::DdsId *gid() const ;
195 
196  protected:
197 
199  int myBeamId;
202 
203  };
204 
205  }
206 }
int myBeamId
Definition: ddsBroker/ddsBroker/globalIdMapper.h:199
DtGlobalIdMapper::ObjectType objectType() const
Definition: ddsBroker/ddsBroker/globalIdMapper.h:64
DtHashlist * myUnknownPortalIdHashList
We need the same type of hash lists for global id&#39;s.
Definition: ddsBroker/ddsBroker/globalIdMapper.h:171
DtHashlist * myPortalIdHashList
a list of Poral GlobalId&#39;s hashed by DDS ID&#39;s
Definition: ddsBroker/ddsBroker/globalIdMapper.h:165
bool myDebugOutputOn
Definition: ddsBroker/ddsBroker/globalIdMapper.h:161
DtString PortalId
Definition: ddsBroker/ddsBroker/globalIdMapper.h:60
const DdsId myEmptyDdsId
Definition: ddsBroker/ddsBroker/globalIdMapper.h:175
Definition: ddsBroker/ddsBroker/globalIdMapper.h:65
DtHashlist * myUnknownDdsIdHashList
Definition: ddsBroker/ddsBroker/globalIdMapper.h:172
DtGlobalIdMapper::DdsId * myGid
Definition: ddsBroker/ddsBroker/globalIdMapper.h:201
DtGlobalIdMapper::ObjectType myType
Definition: ddsBroker/ddsBroker/globalIdMapper.h:200
DtEntityIdentifier DdsId
Definition: ddsBroker/ddsBroker/globalIdMapper.h:59
DtDdsGlobalIdContainer(const DtGlobalIdMapper::DdsId &gid, DtGlobalIdMapper::ObjectType oType=DtGlobalIdMapper::EntityType, int sysId=DtGlobalIdMapper::NoSystemId, int beamId=DtGlobalIdMapper::NoBeamId)
DtHashlist * myDdsIdHashList
a List of DDS GlobalId&#39;s hashed by Poral Id&#39;s
Definition: ddsBroker/ddsBroker/globalIdMapper.h:168
ObjectType
Definition: ddsBroker/ddsBroker/globalIdMapper.h:67
DtGlobalIdMapper is used to convert between Poral ObjectId&#39;s and DDS Entity.
Definition: ddsBroker/ddsBroker/globalIdMapper.h:55
bool myParseUnknownIds
Definition: ddsBroker/ddsBroker/globalIdMapper.h:162
int mySystemId
Definition: ddsBroker/ddsBroker/globalIdMapper.h:198
const DtGlobalIdMapper::DdsId * gid() const
Definition: ddsBroker/ddsBroker/globalIdMapper.h:69
DtString PortalId
A typedef to make it easier to see what kind of ID this is.
Definition: rprBroker/rprBroker/globalIdMapper.h:25
#define DT_DLL_DDSBROKER
Definition: brokers/ddsBroker/ddsBroker/dllExport.h:20
const PortalId myEmptyPortalId
Definition: ddsBroker/ddsBroker/globalIdMapper.h:174
A simple helper class for DtGlobalIdMapper.
Definition: ddsBroker/ddsBroker/globalIdMapper.h:180

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)