VR-Exchange 2.1 API Documentation
disBroker/entityIdMapper.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3  ** All rights reserved.
4  *********************************************************************/
5 
6 #ifndef DtEntityIdMapper_H_
7 #define DtEntityIdMapper_H_
8 
12 
13 #include "vlutil/vlMachineTypes.h"
14 #include "vlutil/vlFilename.h"
15 #include <map>
16 #include <namespace.h>
17 
18 class DtString;
19 class DtEntityIdentifier;
20 class DtHashlist;
21 
22 namespace MAKVrExchange
23 {
24  namespace DtDisBroker
25  {
26 
35  {
36  public:
37 
38  DtEntityIdMapper(int siteNum, int appNum);
39 
40  virtual ~DtEntityIdMapper();
41 
42  protected:
44 
45  DtEntityIdMapper& operator=(const DtEntityIdMapper& orig);
46 
47  public:
52  virtual bool add(const DtEntityIdentifier &portalId,
53  const DtEntityIdentifier &disId);
54 
57  virtual void removePortalId(const DtEntityIdentifier &portalId);
58  virtual void removeDisId(const DtEntityIdentifier &disId);
59 
62  virtual void remove(const DtEntityIdentifier &portalId,
63  const DtEntityIdentifier &disId);
64 
68  virtual const DtEntityIdentifier *convertDisEidToPortalEid(
69  const DtEntityIdentifier &disId);
70  virtual const DtEntityIdentifier *convertPortalEidToDisEid(
71  const DtEntityIdentifier &portalId);
72 
73 
74  virtual DtEntityIdentifier getNextDisId();
75  virtual DtEntityIdentifier getNextPortalId();
76 
79  virtual DtEntityIdentifier getPersistentId(const DtString& name);
80 
82  virtual void setPersistentId(const DtString& name, const DtEntityIdentifier& id);
83 
84  virtual void setDebug(bool debugOn);
85  virtual bool debug() const;
86 
87  virtual bool portalHasMapping(const DtEntityIdentifier& portalId) const;
88  virtual bool disHasMapping(const DtEntityIdentifier& disId) const;
89 
90  //Persistent Functions
91  virtual void loadPersistentNumMappingFile();
92  virtual void savePersistentNumMappingFile();
93 
94  protected:
96  virtual bool publishingPortal(const DtEntityIdentifier &portalId) const;
97  virtual bool publishingDis(const DtEntityIdentifier &disId) const;
98 
100  int myAppNum;
103 
104  typedef std::map<DtEntityIdentifier, DtEntityIdentifier*> DtEntityIdMap;
105 
108 
111 
112  const DtEntityIdentifier *myEmptyPortalId;
113  const DtEntityIdentifier *myEmptyDisId;
114 
115  //Used for Persisting entity Ids.
116  std::map<DtString,DtEntityIdentifier> myPersistNameToEntityNum;
117 
118  };
119 
120  inline void DtEntityIdMapper::setDebug(bool debugOn)
121  {
122  myDebugOutputOn = debugOn;
123  }
124 
125  inline bool DtEntityIdMapper::debug() const
126  {
127  return myDebugOutputOn;
128  }
129 
130  }
131 }
132 
133 
134 #endif

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)