35 DtParameterCbInfo( DtHlaObject* obj,
const RTI::AttributeHandleSet& set );
37 virtual ~DtParameterCbInfo();
42 RTI::AttributeHandleSet mySet;
44 RTI::AttributeHandleSet* mySet;
68 RTI::ObjectInstanceHandle
id,
73 DtObjClassDesc& classDesc,
74 bool reflecting =
false);
82 DtObjClassDesc& classDesc,
83 bool reflecting =
false);
87 virtual ~DtHlaObject();
95 DtHlaObject(
const DtHlaObject& src );
98 DtHlaObject& operator=(
const DtHlaObject& src );
104 virtual inline const RTI::ObjectInstanceHandle& objectId()
const;
106 virtual inline const RTI::ObjectHandle& objectId()
const;
110 virtual inline const RTI::AttributeHandleSet& attrHandleSet();
114 virtual inline const RTI::AttributeHandleSet& requestedAttributes();
117 virtual inline RTI::ObjectClassHandle objectClassHandle()
const;
120 virtual inline const char* name()
const;
124 inline int numAttributes()
const;
130 virtual inline DtObjClassDesc& classDesc()
const;
139 virtual void setupUpdating();
145 virtual bool update();
157 virtual void generateUpdate(
158 const RTI::AttributeHandleSet& eligibileAttrs,
159 const RTI::AttributeHandleSet& requiredAttrs,
164 virtual void cleanupFromUpdating();
169 virtual void processProvideUpdate(
170 const RTI::AttributeHandleSet& set );
175 virtual void clearRequestedAttributes();
179 virtual inline const RTI::AttributeHandleSet& ownedAttributes();
187 virtual void forceUpdate();
188 virtual void forceUpdate(
const RTI::AttributeHandleSet& set );
191 virtual void clearForcedAttributes();
197 virtual const RTI::AttributeHandleSet& attributesNeededByFederation();
201 virtual const RTI::AttributeHandleSet& eligibleAttributes();
205 virtual const RTI::AttributeHandleSet& requiredAttributes();
210 bool classNeededByFederation();
215 void setupClassForUpdating();
222 virtual void setupReflecting();
227 virtual void callReflect(
const DtStateMsg& msg );
234 virtual void callReflectLocal(
const DtStateMsg& msg );
239 virtual void reflectLocal(
const DtStateMsg& msg ) = 0;
243 virtual void cleanupFromReflecting();
247 virtual void requestUpdate( RTI::AttributeHandleSet* attrs = 0 );
250 virtual void addRemoveObjectCb( DtRemoveObjectCb cb,
void* usr );
254 virtual void removeRemoveObjectCb( DtRemoveObjectCb cb,
void* usr );
257 virtual void addPostReflectCb( DtObjectReflectAttributeValuesCb cb,
261 virtual void removePostReflectCb( DtObjectReflectAttributeValuesCb cb,
266 virtual void processRemoveObject();
278 virtual void unconditionalDivest(
const RTI::AttributeHandleSet& attrs );
285 virtual void negotiatedDivest(
const RTI::AttributeHandleSet& attrs );
292 virtual void divestAttributes(
const RTI::AttributeHandleSet& attrs,
293 bool ifAvailable =
false );
300 virtual void divestObject(
bool ifAvailable =
false);
304 virtual void cancelNegotiatedDivest(
const RTI::AttributeHandleSet& attrs );
312 virtual void acquireAttributes(
const RTI::AttributeHandleSet& attrs,
313 bool ifAvailable =
false );
320 virtual void acquireObject(
bool ifAvailable =
false );
326 virtual void cancelAcquireAttributes(
const RTI::AttributeHandleSet& attrs );
330 virtual inline DtTime lastSimTimeUpdateReceived()
const;
332 virtual inline DtTime lastReceivedTimeStamp()
const;
335 virtual inline void setLastSimTimeUpdateReceived(
DtTime tm );
337 virtual inline void setLastReceivedTimeStamp(
DtTime tm );
344 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValueMap& sourceList,
345 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
346 RTI::AttributeHandleValueMap& toRemoteList, RTI::AttributeHandleValueMap& toLocalList);
349 virtual bool handlesMatch(
const RTI::AttributeHandleValueMap& handleValueMap,
350 const RTI::AttributeHandleSet& handleSet)
const;
353 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValueMap& sourceList);
358 virtual bool handlesMatch(
const RTI::AttributeHandleValuePairSet& handleValueSet,
359 const RTI::AttributeHandleSet& handleSet)
const;
362 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValuePairSet& sourceList,
363 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
364 RTI::AttributeHandleValuePairSet& toRemoteList, RTI::AttributeHandleValuePairSet& toLocalList);
367 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValuePairSet& sourceList);
377 bool fullReport =
false )
const;
382 virtual void localSubscriptionChanged();
386 virtual void publicationChanged();
389 #if DtHLA_1516_EVOLVED
390 virtual const DtString& lastProducingFederate()
const;
397 virtual void processRequestAssumption(
398 const RTI::AttributeHandleSet& attrs,
400 const RTI::VariableLengthData &tag
407 virtual void processRequestRelease(
408 const RTI::AttributeHandleSet& attrs,
410 const RTI::VariableLengthData &tag
418 virtual void processAttributeAcquisition(
419 const RTI::AttributeHandleSet& attrs );
423 virtual void processAttributeDivestiture(
424 const RTI::AttributeHandleSet& attrs );
427 virtual void processConfirmAcquisitionCancellation(
428 const RTI::AttributeHandleSet& attrs );
434 friend class DtHlaObjectManager;
439 virtual void reflect(
const DtStateMsg& msg ) = 0;
443 void wipeRemoveList();
446 virtual void clearRemoveList();
450 void wipeReflectList();
453 virtual void applyPostReflectCallbacks(
const DtStateMsg& msg );
456 virtual void loseOwnership(
const RTI::AttributeHandleSet& attrs) ;
459 virtual void gainOwnership(
const RTI::AttributeHandleSet& attrs,
460 bool notifyOwnershipManagement =
true );
463 virtual void processUpdatesOff(
const RTI::AttributeHandleSet& set );
467 void processUpdatesOn(
const RTI::AttributeHandleSet& set );
473 virtual bool known()
const;
478 virtual void dumpRtiException(
const char *functionName,
479 const RTI::Exception *exc)
const;
484 virtual void computeEligible();
489 virtual void justRegistered();
492 #if DtHLA_1516_EVOLVED
493 virtual void setLastProducingFederate(
const DtString& fedName);
500 virtual void addHandlesToSet(RTI::AttributeHandleSet& destinationSet,
501 const RTI::AttributeHandleSet& sourceSet);
506 static void ownerAcquisitionIfAvailableCb(
void* usr );
507 static void ownerAcquisitionCb(
void* usr );
508 static void negotiatedDivestitureCb(
void* usr );
509 static void unconditionalDivestitureCb(
void* usr );
514 static void reflectAttributeValuesCb(
const DtStateMsg& stateMsg,
518 static void updatesOnCb(
520 RTI::ObjectInstanceHandle handle,
522 RTI::ObjectHandle handle,
524 const RTI::AttributeHandleSet& attributeSet,
528 static void updatesOffCb(
530 RTI::ObjectInstanceHandle handle,
532 RTI::ObjectHandle handle,
534 const RTI::AttributeHandleSet& attributeSet,
549 DtTime myLastSimTimeUpdateReceived;
550 DtTime myLastReceivedTimeStamp;
551 DtObjClassDesc &myClassDesc;
554 enum SplitUpdateDiscriminant
556 UpdateBothLocalAndRemote,
562 SplitUpdateDiscriminant mySplitUpdate;
564 #if DtHLA_1516_EVOLVED
570 RTI::ObjectInstanceHandle myObjectId;
572 RTI::ObjectHandle myObjectId;
574 RTI::AttributeHandleSet* myEligibleAttrs;
583 RTI::AttributeHandleSet* myNeededAttrs;
587 RTI::AttributeHandleSet* myOwnedAttributes;
590 RTI::AttributeHandleSet* myRequestedAttributes;
593 RTI::AttributeHandleSet* myForcedAttributes;
596 RTI::AttributeHandleSet* myRequiredAttributes;
597 bool myUpdateRequiredAttributes;
601 RTI::AttributeHandleSet* mySelfReflectSplitAttrs;
604 RTI::AttributeHandleSet* myEligibleNeeded;
607 RTI::AttributeHandleSet* myEligibleSubscribed;
610 RTI::AttributeHandleSet* myScratchAttributes;
617 inline const RTI::ObjectInstanceHandle& DtHlaObject::objectId() const
619 inline const RTI::ObjectHandle& DtHlaObject::objectId() const
625 inline const RTI::AttributeHandleSet& DtHlaObject::attrHandleSet()
627 return myClassDesc.attrHandleSet();
630 inline const RTI::AttributeHandleSet& DtHlaObject::requestedAttributes()
632 return *myRequestedAttributes;
634 inline RTI::ObjectClassHandle DtHlaObject::objectClassHandle()
const
636 return myClassDesc.handle();
639 inline const char* DtHlaObject::name()
const
644 inline int DtHlaObject::numAttributes()
const
646 return myClassDesc.numAttributes() ;
654 inline DtObjClassDesc& DtHlaObject::classDesc()
const
659 inline const RTI::AttributeHandleSet& DtHlaObject::ownedAttributes()
661 return *myOwnedAttributes;
664 inline DtTime DtHlaObject::lastSimTimeUpdateReceived()
const
666 return myLastSimTimeUpdateReceived;
669 inline void DtHlaObject::setLastSimTimeUpdateReceived(
DtTime a_tm )
671 myLastSimTimeUpdateReceived = a_tm;
674 inline DtTime DtHlaObject::lastReceivedTimeStamp()
const
676 return myLastReceivedTimeStamp;
679 inline void DtHlaObject::setLastReceivedTimeStamp(
DtTime a_tm )
681 myLastReceivedTimeStamp = a_tm;
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerDIS.h:39
lint -e266
Definition: vlList.h:25
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
This file contains typedefs for machine dependant types.