40 RTI::AttributeHandleSet mySet;
66 RTI::ObjectInstanceHandle
id,
72 bool reflecting =
false);
81 bool reflecting =
false);
102 virtual inline const RTI::ObjectInstanceHandle& objectId()
const;
104 virtual inline const RTI::ObjectHandle& objectId()
const;
108 virtual inline const RTI::AttributeHandleSet& attrHandleSet();
112 virtual inline const RTI::AttributeHandleSet& requestedAttributes();
115 virtual inline RTI::ObjectClassHandle objectClassHandle()
const;
118 virtual inline const char* name()
const;
122 inline int numAttributes()
const;
137 virtual void setupUpdating();
143 virtual void update();
155 virtual void generateUpdate(
156 const RTI::AttributeHandleSet& eligibileAttrs,
157 const RTI::AttributeHandleSet& requiredAttrs,
162 virtual void cleanupFromUpdating();
167 virtual void processProvideUpdate(
168 const RTI::AttributeHandleSet&
set );
173 virtual void clearRequestedAttributes();
177 virtual inline const RTI::AttributeHandleSet& ownedAttributes();
185 virtual void forceUpdate();
186 virtual void forceUpdate(
const RTI::AttributeHandleSet&
set );
189 virtual void clearForcedAttributes();
195 virtual const RTI::AttributeHandleSet& attributesNeededByFederation();
199 virtual const RTI::AttributeHandleSet& eligibleAttributes();
203 virtual const RTI::AttributeHandleSet& requiredAttributes();
208 bool classNeededByFederation();
213 void setupClassForUpdating();
220 virtual void setupReflecting();
225 virtual void callReflect(
const DtStateMsg& msg );
232 virtual void callReflectLocal(
const DtStateMsg& msg );
237 virtual void reflectLocal(
const DtStateMsg& msg ) = 0;
241 virtual void cleanupFromReflecting();
245 virtual void requestUpdate( RTI::AttributeHandleSet* attrs = 0 );
264 virtual void processRemoveObject();
276 virtual void unconditionalDivest(
const RTI::AttributeHandleSet& attrs );
283 virtual void negotiatedDivest(
const RTI::AttributeHandleSet& attrs );
290 virtual void divestAttributes(
const RTI::AttributeHandleSet& attrs,
291 bool ifAvailable =
false );
298 virtual void divestObject(
bool ifAvailable =
false);
302 virtual void cancelNegotiatedDivest(
const RTI::AttributeHandleSet& attrs );
310 virtual void acquireAttributes(
const RTI::AttributeHandleSet& attrs,
311 bool ifAvailable =
false );
318 virtual void acquireObject(
bool ifAvailable =
false );
324 virtual void cancelAcquireAttributes(
const RTI::AttributeHandleSet& attrs );
328 virtual inline DtTime lastSimTimeUpdateReceived()
const;
330 virtual inline DtTime lastReceivedTimeStamp()
const;
333 virtual inline void setLastSimTimeUpdateReceived(
DtTime tm );
335 virtual inline void setLastReceivedTimeStamp(
DtTime tm );
342 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValueMap& sourceList,
343 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
344 RTI::AttributeHandleValueMap& toRemoteList, RTI::AttributeHandleValueMap& toLocalList);
347 virtual bool handlesMatch(
const RTI::AttributeHandleValueMap& handleValueMap,
348 const RTI::AttributeHandleSet& handleSet)
const;
351 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValueMap& sourceList);
356 virtual bool handlesMatch(
const RTI::AttributeHandleValuePairSet& handleValueSet,
357 const RTI::AttributeHandleSet& handleSet)
const;
360 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValuePairSet& sourceList,
361 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
362 RTI::AttributeHandleValuePairSet& toRemoteList, RTI::AttributeHandleValuePairSet& toLocalList);
365 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValuePairSet& sourceList);
375 bool fullReport =
false )
const;
380 virtual void localSubscriptionChanged();
384 virtual void publicationChanged();
387 #if DtHLA_1516_EVOLVED
390 virtual const DtString& lastProducingFederate()
const;
395 virtual void processRequestAssumption(
396 const RTI::AttributeHandleSet& attrs,
398 const RTI::VariableLengthData &tag
405 virtual void processRequestRelease(
406 const RTI::AttributeHandleSet& attrs,
408 const RTI::VariableLengthData &tag
416 virtual void processAttributeAcquisition(
417 const RTI::AttributeHandleSet& attrs );
421 virtual void processAttributeDivestiture(
422 const RTI::AttributeHandleSet& attrs );
425 virtual void processConfirmAcquisitionCancellation(
426 const RTI::AttributeHandleSet& attrs );
437 virtual void reflect(
const DtStateMsg& msg ) = 0;
441 void wipeRemoveList();
444 virtual void clearRemoveList();
448 void wipeReflectList();
451 virtual void applyPostReflectCallbacks(
const DtStateMsg& msg );
454 virtual void loseOwnership(
const RTI::AttributeHandleSet& attrs) ;
457 virtual void gainOwnership(
const RTI::AttributeHandleSet& attrs,
458 bool notifyOwnershipManagement =
true );
461 virtual void processUpdatesOff(
const RTI::AttributeHandleSet&
set );
465 void processUpdatesOn(
const RTI::AttributeHandleSet&
set );
471 virtual bool known()
const;
476 virtual void dumpRtiException(
const char *functionName,
477 const RTI::Exception *exc)
const;
482 virtual void computeEligible();
487 virtual void justRegistered();
490 #if DtHLA_1516_EVOLVED
493 virtual void setLastProducingFederate(
const DtString& fedName);
498 virtual void addHandlesToSet(RTI::AttributeHandleSet& destinationSet,
499 const RTI::AttributeHandleSet& sourceSet);
503 static void ownerAcquisitionIfAvailableCb(
void* usr );
504 static void ownerAcquisitionCb(
void* usr );
505 static void negotiatedDivestitureCb(
void* usr );
506 static void unconditionalDivestitureCb(
void* usr );
511 static void reflectAttributeValuesCb(
const DtStateMsg& stateMsg,
515 static void updatesOnCb(
517 RTI::ObjectInstanceHandle handle,
519 RTI::ObjectHandle handle,
521 const RTI::AttributeHandleSet& attributeSet,
525 static void updatesOffCb(
527 RTI::ObjectInstanceHandle handle,
529 RTI::ObjectHandle handle,
531 const RTI::AttributeHandleSet& attributeSet,
561 #if DtHLA_1516_EVOLVED
567 RTI::ObjectInstanceHandle myObjectId;