WebLVC 1.7d API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/entityIdMapper.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <disBroker/dllExport.h>
13 #include <vlutil/vlMachineTypes.h>
14 #include <vlutil/vlFilename.h>
15 #include <map>
16 
17 class DtEntityIdentifier;
18 class DtHashlist;
19 class DtString;
20 
21 namespace MAKVrExchange
22 {
23 
24  namespace DtDisBroker
25  {
26 
35  {
36  public:
37 
38  DtEntityIdMapper( int siteNum, int appNum );
39 
40  virtual ~DtEntityIdMapper();
41 
46  virtual bool add(const DtEntityIdentifier &portalId,
47  const DtEntityIdentifier &disId);
48 
51  virtual void removePortalId(const DtEntityIdentifier &portalId);
52  virtual void removeDisId(const DtEntityIdentifier &disId);
53 
56  virtual void remove(const DtEntityIdentifier &portalId,
57  const DtEntityIdentifier &disId);
58 
62  virtual const DtEntityIdentifier *convertDisEidToPortalEid(
63  const DtEntityIdentifier &disId);
64  virtual const DtEntityIdentifier *convertPortalEidToDisEid(
65  const DtEntityIdentifier &portalId);
66 
67 
68  virtual DtEntityIdentifier getNextDisId();
69  virtual DtEntityIdentifier getNextPortalId();
70 
73  virtual DtEntityIdentifier getPersistentId(const DtString& name);
74 
76  virtual void setPersistentId(const DtString& name, const DtEntityIdentifier& id);
77 
78  virtual void setDebug(bool debugOn);
79  virtual bool debug() const;
80 
81  virtual bool portalHasMapping(const DtEntityIdentifier& portalId) const;
82  virtual bool disHasMapping(const DtEntityIdentifier& disId) const;
83 
84  //Persistent Functions
85  virtual void loadPersistentNumMappingFile();
86  virtual void savePersistentNumMappingFile();
87 
88  protected:
89 
91  virtual bool publishingPortal(const DtEntityIdentifier &portalId) const;
92  virtual bool publishingDis(const DtEntityIdentifier &disId) const;
93 
94  private:
95 
96  // Copy Constructor not implemented -- do not copy!
97  DtEntityIdMapper( const DtEntityIdMapper& orig );
98 
99  // Assignment Operator not implemented -- do not copy!
100  DtEntityIdMapper& operator = ( const DtEntityIdMapper& orig );
101 
102  protected:
103 
105  int myAppNum;
108 
109  typedef std::map<DtEntityIdentifier, DtEntityIdentifier*> DtEntityIdMap;
110 
113 
116 
117  const DtEntityIdentifier *myEmptyPortalId;
118  const DtEntityIdentifier *myEmptyDisId;
119 
120  //Used for Persisting entity Ids.
121  std::map<DtString,DtEntityIdentifier> myPersistNameToEntityNum;
122 
123  };
124 
125  inline void DtEntityIdMapper::setDebug(bool debugOn)
126  {
127  myDebugOutputOn = debugOn;
128  }
129 
130  inline bool DtEntityIdMapper::debug() const
131  {
132  return myDebugOutputOn;
133  }
134 
135  }
136 }
DtEntityIdMapper is used to map the portal entityID attribute to a DIS entity.
Definition: disBroker/disBroker/entityIdMapper.h:34
const DtEntityIdentifier * myEmptyPortalId
Definition: disBroker/disBroker/entityIdMapper.h:117
const DtEntityIdentifier * myEmptyDisId
Definition: disBroker/disBroker/entityIdMapper.h:118
virtual void setDebug(bool debugOn)
Definition: disBroker/disBroker/entityIdMapper.h:125
int mySiteNum
Definition: disBroker/disBroker/entityIdMapper.h:106
int myAppNum
Definition: disBroker/disBroker/entityIdMapper.h:105
std::map< DtString, DtEntityIdentifier > myPersistNameToEntityNum
Definition: disBroker/disBroker/entityIdMapper.h:121
DtEntityIdMap myPortalIdHashList
a list of Portal GlobalId&#39;s hashed by DIS ID&#39;s
Definition: disBroker/disBroker/entityIdMapper.h:112
std::map< DtEntityIdentifier, DtEntityIdentifier * > DtEntityIdMap
Definition: disBroker/disBroker/entityIdMapper.h:109
virtual bool debug() const
Definition: disBroker/disBroker/entityIdMapper.h:130
bool myDebugOutputOn
Definition: disBroker/disBroker/entityIdMapper.h:104
#define DT_DLL_DISBROKER
Definition: brokers/disBroker/disBroker/dllExport.h:20
DtEntityIdMap myDisIdHashList
a List of DIS GlobalId&#39;s hashed by Portal Id&#39;s
Definition: disBroker/disBroker/entityIdMapper.h:115
int myNextEnt
Definition: disBroker/disBroker/entityIdMapper.h:107

Document ID: Generated on Wed Jun 21 15:05:44 EDT 2023 from SVN revision 256253
Copyright © 2005-2023 MAK Technologies. All Rights Reserved (www.mak.com)