MAK RTIspy API Documentation for HLA 1.3
 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 
18 #include <vlutil/vlHashlist.h>
19 #include <vlutil/vlMachineTypes.h>
20 #include <vlutil/vlFedTarget.h>
21 
22 #include <set>
23 #include <map>
24 
25 #define DtPrivilegeToDelete 0
26 
27 class DtSubRegionSet;
28 
30 {
31 public:
32 
34  DtAttrInfo();
35  DtAttrInfo(const char* attrName, DtAttributeHandle handle);
36  DtAttrInfo(const DtAttrInfo& orig);
37 
39  DtAttrInfo& operator=(const DtAttrInfo& orig);
40  bool operator==(const DtAttrInfo& orig);
41  bool operator!=(const DtAttrInfo& orig);
42 
44  virtual ~DtAttrInfo();
45 
47  virtual void setFomType(MAKRti::DtFomType type);
48  virtual MAKRti::DtFomType fomType() const;
49 
51  virtual void publish();
52  virtual void unpublish();
53 
55  virtual int published() const;
56 
58  virtual void subscribe();
59  virtual void unsubscribe();
60 
62  virtual int subscribed() const;
63 
65  virtual const char* name() const;
66  virtual void setName(const char* nameValue);
67 
69  virtual DtAttributeHandle handle() const;
70  virtual void setHandle(DtAttributeHandle handleValue);
71 
73  virtual bool isName(const char* name);
74 
77  virtual void addRemoteSubscription(DtFederateHandle fedHandle);
78  virtual void deleteRemoteSubscription(DtFederateHandle fedHandle);
79  virtual void emptyRemoteSubscription();
80 
83  virtual void addRemoteSubscriptionWithRegion(DtFederateHandle fedHandle,
84  DtHandle regionSetHandle);
85  virtual void deleteRemoteSubscriptionWithRegion(
86  DtFederateHandle fedHandle);
87  virtual void emptyRemoteSubscriptionWithRegion();
88 
90  virtual DtHandle remoteRegionSubscription(
91  DtFederateHandle fedHandle) const;
92 
94  int numRemoteFederatesSubscribed();
95 
97  int numRemoteFederatesSubscribedWithRegion();
98 
100  virtual bool remoteFederateIsSubscribed(
101  DtFederateHandle fedHandle) const;
102 
103 
105  virtual const DtFederateHandleStdSet& subscribedFederates() const;
106 
109  virtual bool remoteFederateIsSubscribedWithRegion(
110  DtFederateHandle fedHandle) const;
111 
117  virtual void setRelevant(bool onOff);
118  virtual bool relevant() const;
119 
121  virtual MAKRti::DtTransportType transport() const;
122  virtual void setTransport(MAKRti::DtTransportType theTransport);
123 
125  virtual MAKRti::DtOrderType order() const;
126  virtual void setOrder(MAKRti::DtOrderType theOrder);
127 
129  virtual DtSpaceHandle space() const;
130  virtual void setSpace(DtSpaceHandle spaceVal);
131 
133  virtual DtFomUpdateType updateType() const;
134  virtual void setUpdateType(DtFomUpdateType val);
135 
137  virtual MAKRti::DtString updateCondition() const;
138  virtual void setUpdateCondition(MAKRti::DtString val);
139 
141  virtual DtOwnershipType ownershipType() const;
142  virtual void setOwnershipType(DtOwnershipType val);
143 
145  virtual MAKRti::DtString semantics() const;
146  virtual void setSemantics(MAKRti::DtString val);
147 
149  virtual MAKRti::DtString notes() const;
150  virtual void setNotes(MAKRti::DtString val);
151 
153  virtual DtSharingType sharingType() const;
154  virtual void setSharingType(DtSharingType val);
155 
157  virtual DtDimensionHandleStdSet const & dimensions() const;
158  virtual void setDimensions(DtDimensionHandleStdSet const & dimList);
159 
161  virtual void addDimension(DtDimensionHandle dimHandle);
162  virtual void addDimension(DtDimensionHandleStdSet const& dimensions);
163  virtual void removeDimension(DtDimensionHandle dimHandle);
164 
166  virtual DtSubRegionSet* subRegionSet() const;
167  virtual void setSubRegionSet(DtSubRegionSet* setVal);
168 
170  virtual DtSubRegionSet* pasRegionSet() const;
171  virtual void setPasRegionSet(DtSubRegionSet* setVal);
172 
173  virtual float subscribedRate() const;
174  virtual const MAKRti::DtString& subscribedRateName() const;
175  virtual void setSubscribedRate(float rate, const MAKRti::DtString& name);
176 
177 
179  virtual bool sameDataTypes(const DtAttrInfo&) const;
180  virtual bool sameUpdateType(const DtAttrInfo&) const;
181  virtual bool sameUpdateCondition(const DtAttrInfo&) const;
182  virtual bool sameSharing(const DtAttrInfo&) const;
183  virtual bool sameDimensions(const DtAttrInfo&) const;
184  virtual bool sameTransportation(const DtAttrInfo&) const;
185  virtual bool sameOrder(const DtAttrInfo&) const;
186  virtual bool sameSemantics(const DtAttrInfo&) const;
187  virtual bool sameOwnership(const DtAttrInfo&) const;
188  virtual bool sameNotes(const DtAttrInfo&) const;
189 
191  virtual void print() const;
192 
193 public:
194  static bool nameIsPrivilegeToDelete(char const* name, MAKRti::DtFomType compareType);
195  static char const* privilegeToDeleteName(MAKRti::DtFomType compareType);
196 
197 protected:
198 
199  MAKRti::DtString myName;
201  MAKRti::DtFomType myFomType;
205  MAKRti::DtTransportType myTransport;
206  MAKRti::DtOrderType myOrder;
207  DtFomUpdateType myUpdateType;
208  MAKRti::DtString myUpdateCondition;
209  DtSharingType mySharingType;
210  DtOwnershipType myOwnershipType;
211  MAKRti::DtString mySemantics;
212  MAKRti::DtString myNotes;
215  DtSubRegionSet* myAssocSubRegSet;
216  DtSubRegionSet* myAssocPasRegSet;
217 
219  std::map<DtFederateHandle, DtHandle> myRemoteRegionSubscriptions;
220 
223  MAKRti::DtString mySubscribedRateName;
224 
225 public:
226  static const MAKRti::DtString thePrivilegeToDelete;
227  static const MAKRti::DtString thePrivilegeToDeleteObject;
228  static const MAKRti::DtString theHlaPrivilegeToDeleteObject;
229 };
230 
231 
232 typedef std::map<DtAttributeHandle, DtAttrInfo*> DtAttributeByHandleMap;
233 typedef std::map<MAKRti::DtString, DtAttrInfo*> DtAttributeByNameMap;
234 
235 #endif
236 
237 
238 
239 
240 
241 
242 
DtSharingType mySharingType
Definition: attrInfo.h:209
static const MAKRti::DtString theHlaPrivilegeToDeleteObject
Definition: attrInfo.h:228
float mySubscribedRate
How fast I want to receive updates.
Definition: attrInfo.h:222
DtFederateHandleStdSet myRemoteSubscriptions
Definition: attrInfo.h:218
DtSubRegionSet * myAssocPasRegSet
Definition: attrInfo.h:216
MAKRti::DtString myName
Definition: attrInfo.h:199
Definition: attrInfo.h:29
DtSubRegionSet * myAssocSubRegSet
Definition: attrInfo.h:215
DtHandle DtDimensionHandle
Definition: internalTypes.h:62
MAKRti::DtFomType myFomType
Definition: attrInfo.h:201
std::map< MAKRti::DtString, DtAttrInfo * > DtAttributeByNameMap
Definition: attrInfo.h:233
static const MAKRti::DtString thePrivilegeToDelete
Definition: attrInfo.h:226
DtHandle DtFederateHandle
Definition: internalTypes.h:46
std::set< DtDimensionHandle > DtDimensionHandleStdSet
Definition: internalTypes.h:63
std::map< DtAttributeHandle, DtAttrInfo * > DtAttributeByHandleMap
Definition: attrInfo.h:232
MAKRti::DtString mySemantics
Definition: attrInfo.h:211
MAKRti::DtString myUpdateCondition
Definition: attrInfo.h:208
DtAttributeHandle myHandle
Definition: attrInfo.h:200
int myPublished
Definition: attrInfo.h:202
DtFomUpdateType myUpdateType
Definition: attrInfo.h:207
long DtSpaceHandle
Definition: internalTypes.h:42
static const MAKRti::DtString thePrivilegeToDeleteObject
Definition: attrInfo.h:227
std::map< DtFederateHandle, DtHandle > myRemoteRegionSubscriptions
Definition: attrInfo.h:219
DtDimensionHandleStdSet myDimensions
Definition: attrInfo.h:214
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
MAKRti::DtString mySubscribedRateName
Definition: attrInfo.h:223
int mySubscribed
Definition: attrInfo.h:203
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
MAKRti::DtOrderType myOrder
Definition: attrInfo.h:206
DtOwnershipType myOwnershipType
Definition: attrInfo.h:210
DtSpaceHandle mySpace
Definition: attrInfo.h:213
The declaration of internal types.
MAKRti::DtString myNotes
Definition: attrInfo.h:212
std::set< DtFederateHandle > DtFederateHandleStdSet
Definition: internalTypes.h:47
bool myRelevant
Definition: attrInfo.h:204
MAKRti::DtTransportType myTransport
Definition: attrInfo.h:205

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)