MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
attrInfo.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: attrInfo.h,v $ $Revision: 1.27 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtAttrInfo_H_
13 #define DtAttrInfo_H_
14 
15 #include "rtiMsConfig.h"
16 #include "internalTypes.h"
17 #include <vlutil/vlHashlist.h>
18 #include <vlutil/vlMachineTypes.h>
19 #include "fomMgr.h"
20 #include "fedTargetHelper.h"
21 #include <set>
22 #include <map>
23 
24 #define DtPrivilegeToDelete 0
25 
26 class DtSubRegionSet;
27 
29 {
30 public:
31 
33  DtAttrInfo();
34  DtAttrInfo(const char* attrName, int handle);
35  DtAttrInfo(const DtAttrInfo& orig);
36 
38  DtAttrInfo& operator=(const DtAttrInfo& orig);
39  bool operator==(const DtAttrInfo& orig);
40  bool operator!=(const DtAttrInfo& orig);
41 
43  virtual ~DtAttrInfo();
44 
46  virtual void setFomType(MAKRti::DtFomType type);
47  virtual MAKRti::DtFomType fomType() const;
48 
50  virtual void publish();
51  virtual void unpublish();
52 
54  virtual int published() const;
55 
57  virtual void subscribe();
58  virtual void unsubscribe();
59 
61  virtual int subscribed() const;
62 
64  virtual const char* name() const;
65  virtual void setName(const char* nameValue);
66 
68  virtual DtAttributeHandle handle() const;
69  virtual void setHandle(DtAttributeHandle handleValue);
70 
72  virtual bool isName(const char* name);
73 
76  virtual void addRemoteSubscription(DtFederateHandle fedHandle);
77  virtual void deleteRemoteSubscription(DtFederateHandle fedHandle);
78  virtual void emptyRemoteSubscription();
79 
82  virtual void addRemoteSubscriptionWithRegion(DtFederateHandle fedHandle,
83  DtHandle regionSetHandle);
84  virtual void deleteRemoteSubscriptionWithRegion(
85  DtFederateHandle fedHandle);
86  virtual void emptyRemoteSubscriptionWithRegion();
87 
89  virtual DtHandle remoteRegionSubscription(
90  DtFederateHandle fedHandle) const;
91 
93  int numRemoteFederatesSubscribed();
94 
96  int numRemoteFederatesSubscribedWithRegion();
97 
99  virtual bool remoteFederateIsSubscribed(
100  DtFederateHandle fedHandle) const;
101 
102 
104  virtual const std::set<DtFederateHandle>& subscribedFederates() const;
105 
108  virtual bool remoteFederateIsSubscribedWithRegion(
109  DtFederateHandle fedHandle) const;
110 
116  virtual void setRelevant(bool onOff);
117  virtual bool relevant() const;
118 
120  virtual MAKRti::DtTransportType transport() const;
121  virtual void setTransport(MAKRti::DtTransportType theTransport);
122 
124  virtual MAKRti::DtOrderType order() const;
125  virtual void setOrder(MAKRti::DtOrderType theOrder);
126 
128  virtual DtSpaceHandle space() const;
129  virtual void setSpace(DtSpaceHandle spaceVal);
130 
132  virtual DtFomUpdateType updateType() const;
133  virtual void setUpdateType(DtFomUpdateType val);
134 
136  virtual MAKRti::DtString updateCondition() const;
137  virtual void setUpdateCondition(MAKRti::DtString val);
138 
140  virtual DtOwnershipType ownershipType() const;
141  virtual void setOwnershipType(DtOwnershipType val);
142 
144  virtual MAKRti::DtString semantics() const;
145  virtual void setSemantics(MAKRti::DtString val);
146 
148  virtual MAKRti::DtString notes() const;
149  virtual void setNotes(MAKRti::DtString val);
150 
152  virtual DtSharingType sharingType() const;
153  virtual void setSharingType(DtSharingType val);
154 
156  virtual DtDimensionHandleSet const & dimensions() const;
157  virtual void setDimensions(DtDimensionHandleSet const & dimList);
158 
160  virtual void addDimension(DtDimensionHandle dimHandle);
161  virtual void removeDimension(DtDimensionHandle dimHandle);
162 
164  virtual DtSubRegionSet* subRegionSet() const;
165  virtual void setSubRegionSet(DtSubRegionSet* setVal);
166 
168  virtual DtSubRegionSet* pasRegionSet() const;
169  virtual void setPasRegionSet(DtSubRegionSet* setVal);
170 
171  virtual float subscribedRate() const;
172  virtual const MAKRti::DtString& subscribedRateName() const;
173  virtual void setSubscribedRate(float rate, const MAKRti::DtString& name);
174 
175 
177  virtual bool sameDataTypes(const DtAttrInfo&) const;
178  virtual bool sameUpdateType(const DtAttrInfo&) const;
179  virtual bool sameUpdateCondition(const DtAttrInfo&) const;
180  virtual bool sameSharing(const DtAttrInfo&) const;
181  virtual bool sameDimensions(const DtAttrInfo&) const;
182  virtual bool sameTransportation(const DtAttrInfo&) const;
183  virtual bool sameOrder(const DtAttrInfo&) const;
184  virtual bool sameSemantics(const DtAttrInfo&) const;
185  virtual bool sameOwnership(const DtAttrInfo&) const;
186  virtual bool sameNotes(const DtAttrInfo&) const;
187 
189  virtual void print() const;
190 
191 public:
192  static bool nameIsPrivilegeToDelete(char const* name, MAKRti::DtFomType compareType);
193  static char const* privilegeToDeleteName(MAKRti::DtFomType compareType);
194 
195 protected:
196 
197  MAKRti::DtString myName;
199  MAKRti::DtFomType myFomType;
203  MAKRti::DtTransportType myTransport;
204  MAKRti::DtOrderType myOrder;
206  MAKRti::DtString myUpdateCondition;
209  MAKRti::DtString mySemantics;
210  MAKRti::DtString myNotes;
213  DtSubRegionSet* myAssocSubRegSet;
214  DtSubRegionSet* myAssocPasRegSet;
215 
216  std::set<DtFederateHandle> myRemoteSubscriptions;
217  std::map<DtFederateHandle, DtHandle> myRemoteRegionSubscriptions;
218 
221  MAKRti::DtString mySubscribedRateName;
222 
223 public:
224  static const MAKRti::DtString thePrivilegeToDelete;
225  static const MAKRti::DtString thePrivilegeToDeleteObject;
226  static const MAKRti::DtString theHlaPrivilegeToDeleteObject;
227 };
228 
229 #endif
230 
231 
232 
233 
234 
235 
236 

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)