26 class DtVrlFederateAmbassador;
27 class DtVrlRtiAmbassador;
47 DtObjClassDesc(
const char* className,
49 RTI::ObjectClassHandle handle,
53 virtual ~DtObjClassDesc();
56 virtual void addAttr(
const char*
attrName,
bool withSpace =
false);
59 virtual RTI::ObjectClassHandle handle()
const;
62 virtual RTI::AttributeHandle attributeHandleByName(
const char *
attrName)
const;
65 virtual DtString attributeNameByHandle(
const RTI::AttributeHandle& hand)
const;
68 virtual const char* name()
const;
71 virtual const DtObjClassDesc* baseClass()
const;
74 virtual DtObjClassDesc* baseClass();
77 virtual void addChildClass(DtObjClassDesc* child);
80 virtual bool isLeafClass()
const;
84 virtual int isOfClass(RTI::ObjectClassHandle hand)
const;
88 virtual int numAttributes()
const;
91 virtual bool hasAttribute(
const char*
attrName)
const;
95 virtual const RTI::AttributeHandleSet& attrHandleSet()
const;
98 virtual const RTI::AttributeHandleSet& ownAttrHandles()
const;
106 virtual bool classNeededByFederation();
112 virtual void publish();
113 virtual void publish(
const RTI::AttributeHandleSet& hSet);
116 virtual void unpublish();
124 virtual void subscribe(std::wstring
const& updateRateDesignator,
bool active);
125 virtual void subscribe(
const DtDDMRegionSet& region,
126 std::wstring
const& updateRateDesignator,
bool active);
127 virtual void subscribe(
const RTI::AttributeHandleSet& hSet,
128 std::wstring
const& updateRateDesignator,
bool active);
129 virtual void subscribe(
const RTI::AttributeHandleSet& hSet, DtDDMRegionSP region,
130 std::wstring
const& updateRateDesignator,
bool active);
133 virtual void subscribe(std::wstring
const& updateRateDesignator = L
"");
134 virtual void subscribe(
const DtDDMRegionSet& region,
135 std::wstring
const& updateRateDesignator = L
"");
136 virtual void subscribe(
const RTI::AttributeHandleSet& hSet,
137 std::wstring
const& updateRateDesignator = L
"");
138 virtual void subscribe(
const RTI::AttributeHandleSet& hSet, DtDDMRegionSP region,
139 std::wstring
const& updateRateDesignator = L
"");
142 virtual void passiveSubscribe();
145 virtual void unsubscribe();
146 virtual void unsubscribe(
const DtDDMRegionSet& regionSet);
150 virtual void requestUpdates();
151 virtual void requestUpdates(
const DtDDMRegionSet& region);
152 virtual void requestUpdates(
const RTI::AttributeHandleSet& hSet);
153 virtual void requestUpdates(
const RTI::AttributeHandleSet& hSet,
154 DtDDMRegionSP region);
159 virtual const RTI::AttributeHandleSet& publishedAttrs()
const;
163 virtual bool everPublished()
const;
168 virtual const RTI::AttributeHandleSet& subscribedAttrs()
const;
170 virtual const RTI::AttributeHandleSet& attributesWithSpace()
const;
171 virtual const RTI::AttributeHandleSet& attributesWithoutSpace()
const;
173 virtual const RTI::AttributeHandleSet& subscribedAttrsWithSpace()
const;
174 virtual const RTI::AttributeHandleSet& subscribedAttrsWithoutSpace()
const;
178 virtual DtObjClassDesc* firstSubscribed();
182 virtual bool everSubscribed()
const;
185 virtual DtVrlRtiAmbassador* rtiAmb();
188 virtual DtVrlFederateAmbassador* fedAmb();
191 virtual RTI::AttributeHandle privilegeHandle()
const;
193 virtual void setUserTagModifier(DtObjectTagModifierSP modifier);
194 virtual DtObjectTagModifierSP userTagModifier();
203 virtual void setSubscribeToUnspecifiedAttributesFlag(
bool subscribe);
204 virtual bool subscribeToUnspecifiedAttributesFlag();
213 virtual void enableUnknownAttributes();
220 virtual void setUnknownAttributeEncoder(
221 DtHlaStateEncoder::DtAttributeEncoder encoder);
225 virtual void setUnknownAttributeChecker(
226 DtHlaStateEncoder::DtAttributeCheckerWithHandle checker);
230 virtual void setUnknownAttributeDecoder(
231 DtHlaStateDecoder::DtAttributeDecoder decoder);
234 virtual DtHlaStateEncoder::DtAttributeEncoder unknownAttributeEncoder();
237 virtual DtHlaStateEncoder::DtAttributeCheckerWithHandle unknownAttributeChecker();
240 virtual DtHlaStateDecoder::DtAttributeDecoder unknownAttributeDecoder();
249 static void setSubscriptionTimeDelay(
double delay);
254 static void startRegCb(RTI::ObjectClassHandle h,
258 static void stopRegCb(RTI::ObjectClassHandle h,
264 virtual void processStartReg(RTI::ObjectClassHandle h);
267 virtual void processStopReg(RTI::ObjectClassHandle h);
270 virtual DtObjClassDesc*
self()
const;
274 virtual void synchSubscribedAttributes();
278 virtual void fillInAttributeHandleSetRegionHandleSetPairVector(
279 const RTI::AttributeHandleSet& hSet, DtDDMRegionSP region,
280 RTI::AttributeHandleSetRegionHandleSetPairVector& pairVector);
283 virtual void addAttr(
const char*
attrName, RTI::AttributeHandle attrHandle,
284 RTI::DimensionHandleSet& dimSet,
bool isPrivilegeToDelete,
bool withSpace =
false);
287 virtual bool isMomAttribute(
const char *
attrName);
291 RTI::ObjectClassHandle myHandle;
292 RTI::AttributeHandleSet* myAttrs;
293 RTI::AttributeHandleSet* myOwnAttrs;
294 RTI::AttributeHandleSet* mySubAttrs;
295 RTI::AttributeHandleSet* myPubAttrs;
298 RTI::AttributeHandleSet* myAttrsWithSpace;
301 RTI::AttributeHandleSet* myAttrsWithoutSpace;
303 RTI::AttributeHandleSet* mySubAttrsWithSpace;
304 RTI::AttributeHandleSet* mySubAttrsWithoutSpace;
307 DtObjClassDesc* myBase;
308 std::list<DtObjClassDesc*> myChildren;
311 bool myEverPublished;
312 bool myEverSubscribed;
313 int myNumSubscribeRequests;
314 bool mySubscribeToUnspecifiedAttributesFlag;
317 RTI::AttributeHandle myPrivHandle;
318 RTI::AttributeHandle myMinAttrHand;
319 RTI::AttributeHandle myMaxAttrHand;
321 typedef std::map<RTI::AttributeHandle, DtString> StringToAttributeHandleMap;
322 StringToAttributeHandleMap myStringToHandleMap;
324 DtObjectTagModifierSP myTagModifier;
326 typedef std::vector<RTI::AttributeHandleSetRegionHandleSetPair>
328 RegionHandleVector mySubscribedRegions;
330 DtHlaStateEncoder::DtAttributeEncoder myUnknownAttributeEncoder;
331 DtHlaStateEncoder::DtAttributeCheckerWithHandle myUnknownAttributeChecker;
332 DtHlaStateDecoder::DtAttributeDecoder myUnknownAttributeDecoder;
336 static double theSubscriptionTimeDelay;
339 inline RTI::ObjectClassHandle DtObjClassDesc::handle()
const
344 inline const RTI::AttributeHandleSet& DtObjClassDesc::attrHandleSet()
const
349 inline const RTI::AttributeHandleSet& DtObjClassDesc::ownAttrHandles()
const
354 inline const char* DtObjClassDesc::name()
const
356 return myName.c_str();
359 inline int DtObjClassDesc::numAttributes()
const
361 return (
int)myAttrs->size();
364 inline const DtObjClassDesc* DtObjClassDesc::baseClass()
const
369 inline DtObjClassDesc* DtObjClassDesc::baseClass()
374 inline void DtObjClassDesc::addChildClass(DtObjClassDesc* child)
376 myChildren.push_back(child);
379 inline bool DtObjClassDesc::isLeafClass()
const
381 return myChildren.size() == 0;
384 inline DtObjClassDesc* DtObjClassDesc::self()
const
386 return (DtObjClassDesc*)
this;
389 inline RTI::AttributeHandle DtObjClassDesc::privilegeHandle()
const
394 inline void DtObjClassDesc::setSubscriptionTimeDelay(
double delay)
396 theSubscriptionTimeDelay = delay;
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtString class declaration.
This file contains the declaration of DtHlaStateEncoder.
Instances of DtString are used to represent strings.
Definition: vlString.h:29
This file contains declarations of the classes DtObjectTagModifier and DtInteractionTagModifier.
This file contains typedefs for machine dependant types.
This file contains the declaration of DtHlaStateDecoder.