23 typedef DtMomObserver* (*DtMomObserverCreator)(DtMomMgr* momMgrPtr);
25 class DtMomObserver :
public DtRtiAmbassadorObserver
30 static DtMomObserver* create(DtMomMgr* momMgrPtr);
31 static void setCreator(DtMomObserverCreator functionPtr);
35 DtMomObserver(DtMomMgr* momMgrPtr);
38 virtual ~DtMomObserver();
41 DtMomObserver(
const DtMomObserver& orig );
44 DtMomObserver& operator=(
const DtMomObserver& orig );
51 virtual unsigned long objectRegisterCount()
const;
55 virtual unsigned long objectDeleteCount()
const;
59 virtual void createFederationExecution(
60 const char* executionName,
62 RTI::Exception* except = 0 );
64 virtual void destroyFederationExecution(
65 const char* executionName,
66 RTI::Exception* except = 0 );
68 virtual void joinFederationExecution(
70 const char* executionName,
71 RTI::FederateAmbassador* federateAmbassadorReference,
72 RTI::FederateHandle& handle,
73 RTI::Exception* except = 0 );
75 virtual void resignFederationExecution(
77 RTI::Exception* except = 0 );
79 virtual void registerFederationSynchronizationPoint(
82 RTI::Exception* except = 0 );
84 virtual void registerFederationSynchronizationPoint(
88 RTI::Exception* except = 0 );
90 virtual void synchronizationPointAchieved(
92 RTI::Exception* except = 0 );
94 virtual void requestFederationSave(
96 const RTI::FedTime& theTime,
97 RTI::Exception* except = 0 );
99 virtual void requestFederationSave(
101 RTI::Exception* except = 0 );
103 virtual void federateSaveBegun(
104 RTI::Exception* except = 0 );
106 virtual void federateSaveComplete(
107 RTI::Exception* except = 0 );
109 virtual void federateSaveNotComplete(
110 RTI::Exception* except = 0 );
112 virtual void requestFederationRestore(
114 RTI::Exception* except = 0 );
116 virtual void federateRestoreComplete(
117 RTI::Exception* except = 0 );
119 virtual void federateRestoreNotComplete(
120 RTI::Exception* except = 0 );
126 virtual void publishObjectClass(
127 RTI::ObjectClassHandle theClass,
129 RTI::Exception* except = 0 );
131 virtual void unpublishObjectClass(
132 RTI::ObjectClassHandle theClass,
133 RTI::Exception* except = 0 );
135 virtual void publishInteractionClass(
136 RTI::InteractionClassHandle theInteraction,
137 RTI::Exception* except = 0 );
139 virtual void unpublishInteractionClass(
140 RTI::InteractionClassHandle theInteraction,
141 RTI::Exception* except = 0 );
143 virtual void subscribeObjectClassAttributes(
144 RTI::ObjectClassHandle theClass,
146 RTI::Boolean active = RTI::RTI_TRUE,
147 RTI::Exception* except = 0 );
149 virtual void unsubscribeObjectClass(
150 RTI::ObjectClassHandle theClass,
151 RTI::Exception* except = 0 );
153 virtual void subscribeInteractionClass(
154 RTI::InteractionClassHandle theClass,
155 RTI::Boolean active = RTI::RTI_TRUE,
156 RTI::Exception* except = 0 );
158 virtual void unsubscribeInteractionClass(
159 RTI::InteractionClassHandle theClass,
160 RTI::Exception* except = 0 );
165 virtual void registerObjectInstance(
166 RTI::ObjectClassHandle theClass,
167 const char* theObject,
168 RTI::ObjectHandle& handle,
169 RTI::Exception* except = 0 );
171 virtual void registerObjectInstance(
172 RTI::ObjectClassHandle theClass,
173 RTI::ObjectHandle& handle,
174 RTI::Exception* except = 0 );
176 virtual void updateAttributeValues(
177 RTI::ObjectHandle theObject,
178 const RTI::AttributeHandleValuePairSet& theAttributes,
179 const RTI::FedTime& theTime,
181 RTI::EventRetractionHandle& handle,
182 RTI::Exception* except = 0 );
184 virtual void updateAttributeValues(
185 RTI::ObjectHandle theObject,
186 const RTI::AttributeHandleValuePairSet& theAttributes,
188 RTI::Exception* except = 0 );
190 virtual void sendInteraction(
191 RTI::InteractionClassHandle theInteraction,
192 const RTI::ParameterHandleValuePairSet& theParameters,
193 const RTI::FedTime& theTime,
195 RTI::EventRetractionHandle& handle,
196 RTI::Exception* except = 0 );
198 virtual void sendInteraction(
199 RTI::InteractionClassHandle theInteraction,
200 const RTI::ParameterHandleValuePairSet& theParameters,
202 RTI::Exception* except = 0 );
204 virtual void deleteObjectInstance(
205 RTI::ObjectHandle theObject,
206 const RTI::FedTime& theTime,
208 RTI::EventRetractionHandle& handle,
209 RTI::Exception* except = 0 );
211 virtual void deleteObjectInstance(
212 RTI::ObjectHandle theObject,
214 RTI::Exception* except = 0 );
216 virtual void localDeleteObjectInstance(
217 RTI::ObjectHandle theObject,
218 RTI::Exception* except = 0 );
220 virtual void changeAttributeTransportationType(
221 RTI::ObjectHandle theObject,
223 RTI::TransportationHandle theType,
224 RTI::Exception* except = 0 );
226 virtual void changeInteractionTransportationType(
227 RTI::InteractionClassHandle theClass,
228 RTI::TransportationHandle theType,
229 RTI::Exception* except = 0 );
231 virtual void requestObjectAttributeValueUpdate(
232 RTI::ObjectHandle theObject,
234 RTI::Exception* except = 0 );
236 virtual void requestClassAttributeValueUpdate(
237 RTI::ObjectClassHandle theClass,
239 RTI::Exception* except = 0 );
244 virtual void unconditionalAttributeOwnershipDivestiture(
245 RTI::ObjectHandle theObject,
247 RTI::Exception* except = 0 );
249 virtual void negotiatedAttributeOwnershipDivestiture(
250 RTI::ObjectHandle theObject,
253 RTI::Exception* except = 0 );
255 virtual void attributeOwnershipAcquisition(
256 RTI::ObjectHandle theObject,
259 RTI::Exception* except = 0 );
261 virtual void attributeOwnershipAcquisitionIfAvailable(
262 RTI::ObjectHandle theObject,
264 RTI::Exception* except = 0 );
266 virtual void attributeOwnershipReleaseResponse(
267 RTI::ObjectHandle theObject,
270 RTI::Exception* except = 0 );
272 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
273 RTI::ObjectHandle theObject,
275 RTI::Exception* except = 0 );
277 virtual void cancelAttributeOwnershipAcquisition(
278 RTI::ObjectHandle theObject,
280 RTI::Exception* except = 0 );
282 virtual void queryAttributeOwnership(
283 RTI::ObjectHandle theObject,
284 RTI::AttributeHandle theAttribute,
285 RTI::Exception* except = 0 );
287 virtual void isAttributeOwnedByFederate(
288 RTI::ObjectHandle theObject,
289 RTI::AttributeHandle theAttribute,
290 RTI::Boolean
boolean,
291 RTI::Exception* except = 0 );
296 virtual void enableTimeRegulation(
297 const RTI::FedTime& theFederateTime,
298 const RTI::FedTime& theLookahead,
299 RTI::Exception* except = 0 );
301 virtual void disableTimeRegulation(
302 RTI::Exception* except = 0 );
304 virtual void enableTimeConstrained(
305 RTI::Exception* except = 0 );
307 virtual void disableTimeConstrained(
308 RTI::Exception* except = 0 );
310 virtual void timeAdvanceRequest(
311 const RTI::FedTime& theTime,
312 RTI::Exception* except = 0 );
314 virtual void timeAdvanceRequestAvailable(
315 const RTI::FedTime& theTime,
316 RTI::Exception* except = 0 );
318 virtual void nextEventRequest(
319 const RTI::FedTime& theTime,
320 RTI::Exception* except = 0 );
322 virtual void nextEventRequestAvailable(
323 const RTI::FedTime& theTime,
324 RTI::Exception* except = 0 );
326 virtual void flushQueueRequest(
327 const RTI::FedTime& theTime,
328 RTI::Exception* except = 0 );
330 virtual void enableAsynchronousDelivery(
331 RTI::Exception* except = 0 );
333 virtual void disableAsynchronousDelivery(
334 RTI::Exception* except = 0 );
336 virtual void queryLBTS(
337 RTI::FedTime& theTime,
338 RTI::Exception* except = 0 );
340 virtual void queryFederateTime(
341 RTI::FedTime& theTime,
342 RTI::Exception* except = 0 );
344 virtual void queryMinNextEventTime(
345 RTI::FedTime& theTime,
346 RTI::Exception* except = 0 );
348 virtual void modifyLookahead(
349 const RTI::FedTime& theLookahead,
350 RTI::Exception* except = 0 );
352 virtual void queryLookahead(
353 RTI::FedTime& theTime,
354 RTI::Exception* except = 0 );
356 virtual void retract(
357 RTI::EventRetractionHandle theHandle,
358 RTI::Exception* except = 0 );
360 virtual void changeAttributeOrderType(
361 RTI::ObjectHandle theObject,
363 RTI::OrderingHandle theType,
364 RTI::Exception* except = 0 );
366 virtual void changeInteractionOrderType(
367 RTI::InteractionClassHandle theClass,
368 RTI::OrderingHandle theType,
369 RTI::Exception* except = 0 );
374 virtual void createRegion(
375 RTI::SpaceHandle theSpace,
376 RTI::ULong numberOfExtents,
378 RTI::Exception* except = 0 );
380 virtual void notifyAboutRegionModification(
381 RTI::Region& theRegion,
382 RTI::Exception* except = 0 );
384 virtual void deleteRegion(
385 RTI::Region* theRegion,
386 RTI::Exception* except = 0 );
388 virtual void registerObjectInstanceWithRegion(
389 RTI::ObjectClassHandle theClass,
390 const char* theObject,
391 RTI::AttributeHandle theAttributes[],
392 RTI::Region* theRegions[],
393 RTI::ULong theNumberOfHandles,
394 RTI::ObjectHandle& handle,
395 RTI::Exception* except = 0 );
397 virtual void registerObjectInstanceWithRegion(
398 RTI::ObjectClassHandle theClass,
399 RTI::AttributeHandle theAttributes[],
400 RTI::Region* theRegions[],
401 RTI::ULong theNumberOfHandles,
402 RTI::ObjectHandle& handle,
403 RTI::Exception* except = 0 );
405 virtual void associateRegionForUpdates(
406 RTI::Region& theRegion,
407 RTI::ObjectHandle theObject,
409 RTI::Exception* except = 0 );
411 virtual void unassociateRegionForUpdates(
412 RTI::Region& theRegion,
413 RTI::ObjectHandle theObject,
414 RTI::Exception* except = 0 );
416 virtual void subscribeObjectClassAttributesWithRegion(
417 RTI::ObjectClassHandle theClass,
418 RTI::Region& theRegion,
420 RTI::Boolean active = RTI::RTI_TRUE,
421 RTI::Exception* except = 0 );
423 virtual void unsubscribeObjectClassWithRegion(
424 RTI::ObjectClassHandle theClass,
425 RTI::Region& theRegion,
426 RTI::Exception* except = 0 );
428 virtual void subscribeInteractionClassWithRegion(
429 RTI::InteractionClassHandle theClass,
430 RTI::Region& theRegion,
431 RTI::Boolean active = RTI::RTI_TRUE,
432 RTI::Exception* except = 0 );
434 virtual void unsubscribeInteractionClassWithRegion(
435 RTI::InteractionClassHandle theClass,
436 RTI::Region& theRegion,
437 RTI::Exception* except = 0 );
439 virtual void sendInteractionWithRegion(
440 RTI::InteractionClassHandle theInteraction,
441 const RTI::ParameterHandleValuePairSet& theParameters,
442 const RTI::FedTime& theTime,
444 const RTI::Region& theRegion,
445 RTI::EventRetractionHandle& handle,
446 RTI::Exception* except = 0 );
448 virtual void sendInteractionWithRegion(
449 RTI::InteractionClassHandle theInteraction,
450 const RTI::ParameterHandleValuePairSet& theParameters,
452 const RTI::Region& theRegion,
453 RTI::Exception* except = 0 );
455 virtual void requestClassAttributeValueUpdateWithRegion(
456 RTI::ObjectClassHandle theClass,
458 const RTI::Region& theRegion,
459 RTI::Exception* except = 0 );
464 virtual void getObjectClassHandle(
466 RTI::ObjectClassHandle& handle,
467 RTI::Exception* except = 0 );
469 virtual void getObjectClassName(
470 RTI::ObjectClassHandle theHandle,
472 RTI::Exception* except = 0 );
474 virtual void getAttributeHandle(
476 RTI::ObjectClassHandle whichClass,
477 RTI::AttributeHandle& handle,
478 RTI::Exception* except = 0 );
480 virtual void getAttributeName(
481 RTI::AttributeHandle theHandle,
482 RTI::ObjectClassHandle whichClass,
484 RTI::Exception* except = 0 );
486 virtual void getInteractionClassHandle(
488 RTI::InteractionClassHandle& handle,
489 RTI::Exception* except = 0 );
491 virtual void getInteractionClassName(
492 RTI::InteractionClassHandle theHandle,
494 RTI::Exception* except = 0 );
496 virtual void getParameterHandle(
498 RTI::InteractionClassHandle whichClass,
499 RTI::ParameterHandle& handle,
500 RTI::Exception* except = 0 );
502 virtual void getParameterName(
503 RTI::ParameterHandle theHandle,
504 RTI::InteractionClassHandle whichClass,
506 RTI::Exception* except = 0 );
508 virtual void getObjectInstanceHandle(
510 RTI::ObjectHandle& handle,
511 RTI::Exception* except = 0 );
513 virtual void getObjectInstanceName(
514 RTI::ObjectHandle theHandle,
515 char* objectInstanceName,
516 RTI::Exception* except = 0 );
518 virtual void getRoutingSpaceHandle(
520 RTI::SpaceHandle& handle,
521 RTI::Exception* except = 0 );
523 virtual void getRoutingSpaceName(
524 RTI::SpaceHandle theHandle,
526 RTI::Exception* except = 0 );
528 virtual void getDimensionHandle(
530 RTI::SpaceHandle whichSpace,
531 RTI::DimensionHandle& handle,
532 RTI::Exception* except = 0 );
534 virtual void getDimensionName(
535 RTI::DimensionHandle theHandle,
536 RTI::SpaceHandle whichSpace,
538 RTI::Exception* except = 0 );
540 virtual void getAttributeRoutingSpaceHandle(
541 RTI::AttributeHandle theHandle,
542 RTI::ObjectClassHandle whichClass,
543 RTI::SpaceHandle& handle,
544 RTI::Exception* except = 0 );
546 virtual void getObjectClass(
547 RTI::ObjectHandle theObject,
548 RTI::ObjectClassHandle& handle,
549 RTI::Exception* except = 0 );
551 virtual void getInteractionRoutingSpaceHandle(
552 RTI::InteractionClassHandle theHandle,
553 RTI::SpaceHandle& handle,
554 RTI::Exception* except = 0 );
556 virtual void getTransportationHandle(
558 RTI::TransportationHandle& handle,
559 RTI::Exception* except = 0 );
561 virtual void getTransportationName(
562 RTI::TransportationHandle theHandle,
563 char* transportationName,
564 RTI::Exception* except = 0 );
566 virtual void getOrderingHandle(
568 RTI::OrderingHandle& handle,
569 RTI::Exception* except = 0 );
571 virtual void getOrderingName(
572 RTI::OrderingHandle theHandle,
574 RTI::Exception* except = 0 );
576 virtual void enableClassRelevanceAdvisorySwitch(
577 RTI::Exception* except = 0 );
579 virtual void disableClassRelevanceAdvisorySwitch(
580 RTI::Exception* except = 0 );
582 virtual void enableAttributeRelevanceAdvisorySwitch(
583 RTI::Exception* except = 0 );
585 virtual void disableAttributeRelevanceAdvisorySwitch(
586 RTI::Exception* except = 0 );
588 virtual void enableAttributeScopeAdvisorySwitch(
589 RTI::Exception* except = 0 );
591 virtual void disableAttributeScopeAdvisorySwitch(
592 RTI::Exception* except = 0 );
594 virtual void enableInteractionRelevanceAdvisorySwitch(
595 RTI::Exception* except = 0 );
597 virtual void disableInteractionRelevanceAdvisorySwitch(
598 RTI::Exception* except = 0 );
602 RTI::Exception* except = 0 );
605 RTI::TickTime minimum,
606 RTI::TickTime maximum,
608 RTI::Exception* except = 0 );
610 virtual void getRegionToken(
612 RTI::RegionToken& token,
613 RTI::Exception* except = 0 );
615 virtual void getRegion(
618 RTI::Exception* except = 0 );
623 virtual void observe(
const MAKRti::DtString& functionName,
624 RTI::Exception* except = 0,
625 const DtMomArgument& argument1 = theDfltMomArgument,
626 const DtMomArgument& argument2 = theDfltMomArgument,
627 const DtMomArgument& argument3 = theDfltMomArgument,
628 const DtMomArgument& argument4 = theDfltMomArgument,
629 const DtMomArgument& argument5 = theDfltMomArgument,
630 const DtMomArgument& returnArg = theDfltRetVal );
635 unsigned long myRegisterCount;
636 unsigned long myDeleteCount;
637 bool myAllowEvokeCallbackToBeObserved;
641 static const DtMomArgument theDfltMomArgument;
642 static const DtMomArgument theDfltRetVal;
643 static DtMomObserverCreator theCreator;
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:27
ResignAction
Definition: datatypes.pb.h:305
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:29