12 #ifndef DtMomObserver_H_
13 #define DtMomObserver_H_
23 class DtMomObserver :
public DtRtiAmbassadorObserver
28 DtMomObserver( DtMomMgr* momMgrPtr );
31 virtual ~DtMomObserver();
34 DtMomObserver(
const DtMomObserver& orig );
37 DtMomObserver& operator=(
const DtMomObserver& orig );
44 virtual unsigned long objectRegisterCount()
const;
48 virtual unsigned long objectDeleteCount()
const;
52 virtual void createFederationExecution(
53 const char* executionName,
55 RTI::Exception* except = 0 );
57 virtual void destroyFederationExecution(
58 const char* executionName,
59 RTI::Exception* except = 0 );
61 virtual void joinFederationExecution(
63 const char* executionName,
64 RTI::FederateAmbassador* federateAmbassadorReference,
65 RTI::FederateHandle& handle,
66 RTI::Exception* except = 0 );
68 virtual void resignFederationExecution(
70 RTI::Exception* except = 0 );
72 virtual void registerFederationSynchronizationPoint(
75 RTI::Exception* except = 0 );
77 virtual void registerFederationSynchronizationPoint(
81 RTI::Exception* except = 0 );
83 virtual void synchronizationPointAchieved(
85 RTI::Exception* except = 0 );
87 virtual void requestFederationSave(
89 const RTI::FedTime& theTime,
90 RTI::Exception* except = 0 );
92 virtual void requestFederationSave(
94 RTI::Exception* except = 0 );
96 virtual void federateSaveBegun(
97 RTI::Exception* except = 0 );
99 virtual void federateSaveComplete(
100 RTI::Exception* except = 0 );
102 virtual void federateSaveNotComplete(
103 RTI::Exception* except = 0 );
105 virtual void requestFederationRestore(
107 RTI::Exception* except = 0 );
109 virtual void federateRestoreComplete(
110 RTI::Exception* except = 0 );
112 virtual void federateRestoreNotComplete(
113 RTI::Exception* except = 0 );
119 virtual void publishObjectClass(
120 RTI::ObjectClassHandle theClass,
122 RTI::Exception* except = 0 );
124 virtual void unpublishObjectClass(
125 RTI::ObjectClassHandle theClass,
126 RTI::Exception* except = 0 );
128 virtual void publishInteractionClass(
129 RTI::InteractionClassHandle theInteraction,
130 RTI::Exception* except = 0 );
132 virtual void unpublishInteractionClass(
133 RTI::InteractionClassHandle theInteraction,
134 RTI::Exception* except = 0 );
136 virtual void subscribeObjectClassAttributes(
137 RTI::ObjectClassHandle theClass,
139 RTI::Boolean active = RTI::RTI_TRUE,
140 RTI::Exception* except = 0 );
142 virtual void unsubscribeObjectClass(
143 RTI::ObjectClassHandle theClass,
144 RTI::Exception* except = 0 );
146 virtual void subscribeInteractionClass(
147 RTI::InteractionClassHandle theClass,
148 RTI::Boolean active = RTI::RTI_TRUE,
149 RTI::Exception* except = 0 );
151 virtual void unsubscribeInteractionClass(
152 RTI::InteractionClassHandle theClass,
153 RTI::Exception* except = 0 );
158 virtual void registerObjectInstance(
159 RTI::ObjectClassHandle theClass,
160 const char* theObject,
161 RTI::ObjectHandle& handle,
162 RTI::Exception* except = 0 );
164 virtual void registerObjectInstance(
165 RTI::ObjectClassHandle theClass,
166 RTI::ObjectHandle& handle,
167 RTI::Exception* except = 0 );
169 virtual void updateAttributeValues(
170 RTI::ObjectHandle theObject,
171 const RTI::AttributeHandleValuePairSet& theAttributes,
172 const RTI::FedTime& theTime,
174 RTI::EventRetractionHandle& handle,
175 RTI::Exception* except = 0 );
177 virtual void updateAttributeValues(
178 RTI::ObjectHandle theObject,
179 const RTI::AttributeHandleValuePairSet& theAttributes,
181 RTI::Exception* except = 0 );
183 virtual void sendInteraction(
184 RTI::InteractionClassHandle theInteraction,
185 const RTI::ParameterHandleValuePairSet& theParameters,
186 const RTI::FedTime& theTime,
188 RTI::EventRetractionHandle& handle,
189 RTI::Exception* except = 0 );
191 virtual void sendInteraction(
192 RTI::InteractionClassHandle theInteraction,
193 const RTI::ParameterHandleValuePairSet& theParameters,
195 RTI::Exception* except = 0 );
197 virtual void deleteObjectInstance(
198 RTI::ObjectHandle theObject,
199 const RTI::FedTime& theTime,
201 RTI::EventRetractionHandle& handle,
202 RTI::Exception* except = 0 );
204 virtual void deleteObjectInstance(
205 RTI::ObjectHandle theObject,
207 RTI::Exception* except = 0 );
209 virtual void localDeleteObjectInstance(
210 RTI::ObjectHandle theObject,
211 RTI::Exception* except = 0 );
213 virtual void changeAttributeTransportationType(
214 RTI::ObjectHandle theObject,
216 RTI::TransportationHandle theType,
217 RTI::Exception* except = 0 );
219 virtual void changeInteractionTransportationType(
220 RTI::InteractionClassHandle theClass,
221 RTI::TransportationHandle theType,
222 RTI::Exception* except = 0 );
224 virtual void requestObjectAttributeValueUpdate(
225 RTI::ObjectHandle theObject,
227 RTI::Exception* except = 0 );
229 virtual void requestClassAttributeValueUpdate(
230 RTI::ObjectClassHandle theClass,
232 RTI::Exception* except = 0 );
237 virtual void unconditionalAttributeOwnershipDivestiture(
238 RTI::ObjectHandle theObject,
240 RTI::Exception* except = 0 );
242 virtual void negotiatedAttributeOwnershipDivestiture(
243 RTI::ObjectHandle theObject,
246 RTI::Exception* except = 0 );
248 virtual void attributeOwnershipAcquisition(
249 RTI::ObjectHandle theObject,
252 RTI::Exception* except = 0 );
254 virtual void attributeOwnershipAcquisitionIfAvailable(
255 RTI::ObjectHandle theObject,
257 RTI::Exception* except = 0 );
259 virtual void attributeOwnershipReleaseResponse(
260 RTI::ObjectHandle theObject,
263 RTI::Exception* except = 0 );
265 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
266 RTI::ObjectHandle theObject,
268 RTI::Exception* except = 0 );
270 virtual void cancelAttributeOwnershipAcquisition(
271 RTI::ObjectHandle theObject,
273 RTI::Exception* except = 0 );
275 virtual void queryAttributeOwnership(
276 RTI::ObjectHandle theObject,
277 RTI::AttributeHandle theAttribute,
278 RTI::Exception* except = 0 );
280 virtual void isAttributeOwnedByFederate(
281 RTI::ObjectHandle theObject,
282 RTI::AttributeHandle theAttribute,
283 RTI::Boolean
boolean,
284 RTI::Exception* except = 0 );
289 virtual void enableTimeRegulation(
290 const RTI::FedTime& theFederateTime,
291 const RTI::FedTime& theLookahead,
292 RTI::Exception* except = 0 );
294 virtual void disableTimeRegulation(
295 RTI::Exception* except = 0 );
297 virtual void enableTimeConstrained(
298 RTI::Exception* except = 0 );
300 virtual void disableTimeConstrained(
301 RTI::Exception* except = 0 );
303 virtual void timeAdvanceRequest(
304 const RTI::FedTime& theTime,
305 RTI::Exception* except = 0 );
307 virtual void timeAdvanceRequestAvailable(
308 const RTI::FedTime& theTime,
309 RTI::Exception* except = 0 );
311 virtual void nextEventRequest(
312 const RTI::FedTime& theTime,
313 RTI::Exception* except = 0 );
315 virtual void nextEventRequestAvailable(
316 const RTI::FedTime& theTime,
317 RTI::Exception* except = 0 );
319 virtual void flushQueueRequest(
320 const RTI::FedTime& theTime,
321 RTI::Exception* except = 0 );
323 virtual void enableAsynchronousDelivery(
324 RTI::Exception* except = 0 );
326 virtual void disableAsynchronousDelivery(
327 RTI::Exception* except = 0 );
329 virtual void queryLBTS(
330 RTI::FedTime& theTime,
331 RTI::Exception* except = 0 );
333 virtual void queryFederateTime(
334 RTI::FedTime& theTime,
335 RTI::Exception* except = 0 );
337 virtual void queryMinNextEventTime(
338 RTI::FedTime& theTime,
339 RTI::Exception* except = 0 );
341 virtual void modifyLookahead(
342 const RTI::FedTime& theLookahead,
343 RTI::Exception* except = 0 );
345 virtual void queryLookahead(
346 RTI::FedTime& theTime,
347 RTI::Exception* except = 0 );
349 virtual void retract(
350 RTI::EventRetractionHandle theHandle,
351 RTI::Exception* except = 0 );
353 virtual void changeAttributeOrderType(
354 RTI::ObjectHandle theObject,
356 RTI::OrderingHandle theType,
357 RTI::Exception* except = 0 );
359 virtual void changeInteractionOrderType(
360 RTI::InteractionClassHandle theClass,
361 RTI::OrderingHandle theType,
362 RTI::Exception* except = 0 );
367 virtual void createRegion(
368 RTI::SpaceHandle theSpace,
369 RTI::ULong numberOfExtents,
371 RTI::Exception* except = 0 );
373 virtual void notifyAboutRegionModification(
374 RTI::Region& theRegion,
375 RTI::Exception* except = 0 );
377 virtual void deleteRegion(
378 RTI::Region* theRegion,
379 RTI::Exception* except = 0 );
381 virtual void registerObjectInstanceWithRegion(
382 RTI::ObjectClassHandle theClass,
383 const char* theObject,
384 RTI::AttributeHandle theAttributes[],
385 RTI::Region* theRegions[],
386 RTI::ULong theNumberOfHandles,
387 RTI::ObjectHandle& handle,
388 RTI::Exception* except = 0 );
390 virtual void registerObjectInstanceWithRegion(
391 RTI::ObjectClassHandle theClass,
392 RTI::AttributeHandle theAttributes[],
393 RTI::Region* theRegions[],
394 RTI::ULong theNumberOfHandles,
395 RTI::ObjectHandle& handle,
396 RTI::Exception* except = 0 );
398 virtual void associateRegionForUpdates(
399 RTI::Region& theRegion,
400 RTI::ObjectHandle theObject,
402 RTI::Exception* except = 0 );
404 virtual void unassociateRegionForUpdates(
405 RTI::Region& theRegion,
406 RTI::ObjectHandle theObject,
407 RTI::Exception* except = 0 );
409 virtual void subscribeObjectClassAttributesWithRegion(
410 RTI::ObjectClassHandle theClass,
411 RTI::Region& theRegion,
413 RTI::Boolean active = RTI::RTI_TRUE,
414 RTI::Exception* except = 0 );
416 virtual void unsubscribeObjectClassWithRegion(
417 RTI::ObjectClassHandle theClass,
418 RTI::Region& theRegion,
419 RTI::Exception* except = 0 );
421 virtual void subscribeInteractionClassWithRegion(
422 RTI::InteractionClassHandle theClass,
423 RTI::Region& theRegion,
424 RTI::Boolean active = RTI::RTI_TRUE,
425 RTI::Exception* except = 0 );
427 virtual void unsubscribeInteractionClassWithRegion(
428 RTI::InteractionClassHandle theClass,
429 RTI::Region& theRegion,
430 RTI::Exception* except = 0 );
432 virtual void sendInteractionWithRegion(
433 RTI::InteractionClassHandle theInteraction,
434 const RTI::ParameterHandleValuePairSet& theParameters,
435 const RTI::FedTime& theTime,
437 const RTI::Region& theRegion,
438 RTI::EventRetractionHandle& handle,
439 RTI::Exception* except = 0 );
441 virtual void sendInteractionWithRegion(
442 RTI::InteractionClassHandle theInteraction,
443 const RTI::ParameterHandleValuePairSet& theParameters,
445 const RTI::Region& theRegion,
446 RTI::Exception* except = 0 );
448 virtual void requestClassAttributeValueUpdateWithRegion(
449 RTI::ObjectClassHandle theClass,
451 const RTI::Region& theRegion,
452 RTI::Exception* except = 0 );
457 virtual void getObjectClassHandle(
459 RTI::ObjectClassHandle& handle,
460 RTI::Exception* except = 0 );
462 virtual void getObjectClassName(
463 RTI::ObjectClassHandle theHandle,
465 RTI::Exception* except = 0 );
467 virtual void getAttributeHandle(
469 RTI::ObjectClassHandle whichClass,
470 RTI::AttributeHandle& handle,
471 RTI::Exception* except = 0 );
473 virtual void getAttributeName(
474 RTI::AttributeHandle theHandle,
475 RTI::ObjectClassHandle whichClass,
477 RTI::Exception* except = 0 );
479 virtual void getInteractionClassHandle(
481 RTI::InteractionClassHandle& handle,
482 RTI::Exception* except = 0 );
484 virtual void getInteractionClassName(
485 RTI::InteractionClassHandle theHandle,
487 RTI::Exception* except = 0 );
489 virtual void getParameterHandle(
491 RTI::InteractionClassHandle whichClass,
492 RTI::ParameterHandle& handle,
493 RTI::Exception* except = 0 );
495 virtual void getParameterName(
496 RTI::ParameterHandle theHandle,
497 RTI::InteractionClassHandle whichClass,
499 RTI::Exception* except = 0 );
501 virtual void getObjectInstanceHandle(
503 RTI::ObjectHandle& handle,
504 RTI::Exception* except = 0 );
506 virtual void getObjectInstanceName(
507 RTI::ObjectHandle theHandle,
508 char* objectInstanceName,
509 RTI::Exception* except = 0 );
511 virtual void getRoutingSpaceHandle(
513 RTI::SpaceHandle& handle,
514 RTI::Exception* except = 0 );
516 virtual void getRoutingSpaceName(
517 RTI::SpaceHandle theHandle,
519 RTI::Exception* except = 0 );
521 virtual void getDimensionHandle(
523 RTI::SpaceHandle whichSpace,
524 RTI::DimensionHandle& handle,
525 RTI::Exception* except = 0 );
527 virtual void getDimensionName(
528 RTI::DimensionHandle theHandle,
529 RTI::SpaceHandle whichSpace,
531 RTI::Exception* except = 0 );
533 virtual void getAttributeRoutingSpaceHandle(
534 RTI::AttributeHandle theHandle,
535 RTI::ObjectClassHandle whichClass,
536 RTI::SpaceHandle& handle,
537 RTI::Exception* except = 0 );
539 virtual void getObjectClass(
540 RTI::ObjectHandle theObject,
541 RTI::ObjectClassHandle& handle,
542 RTI::Exception* except = 0 );
544 virtual void getInteractionRoutingSpaceHandle(
545 RTI::InteractionClassHandle theHandle,
546 RTI::SpaceHandle& handle,
547 RTI::Exception* except = 0 );
549 virtual void getTransportationHandle(
551 RTI::TransportationHandle& handle,
552 RTI::Exception* except = 0 );
554 virtual void getTransportationName(
555 RTI::TransportationHandle theHandle,
556 char* transportationName,
557 RTI::Exception* except = 0 );
559 virtual void getOrderingHandle(
561 RTI::OrderingHandle& handle,
562 RTI::Exception* except = 0 );
564 virtual void getOrderingName(
565 RTI::OrderingHandle theHandle,
567 RTI::Exception* except = 0 );
569 virtual void enableClassRelevanceAdvisorySwitch(
570 RTI::Exception* except = 0 );
572 virtual void disableClassRelevanceAdvisorySwitch(
573 RTI::Exception* except = 0 );
575 virtual void enableAttributeRelevanceAdvisorySwitch(
576 RTI::Exception* except = 0 );
578 virtual void disableAttributeRelevanceAdvisorySwitch(
579 RTI::Exception* except = 0 );
581 virtual void enableAttributeScopeAdvisorySwitch(
582 RTI::Exception* except = 0 );
584 virtual void disableAttributeScopeAdvisorySwitch(
585 RTI::Exception* except = 0 );
587 virtual void enableInteractionRelevanceAdvisorySwitch(
588 RTI::Exception* except = 0 );
590 virtual void disableInteractionRelevanceAdvisorySwitch(
591 RTI::Exception* except = 0 );
595 RTI::Exception* except = 0 );
598 RTI::TickTime minimum,
599 RTI::TickTime maximum,
601 RTI::Exception* except = 0 );
603 virtual void getRegionToken(
605 RTI::RegionToken& token,
606 RTI::Exception* except = 0 );
608 virtual void getRegion(
611 RTI::Exception* except = 0 );
616 virtual void observe(
const MAKRti::DtString& functionName,
617 RTI::Exception* except = 0,
618 const DtMomArgument& argument1 = theDfltMomArgument,
619 const DtMomArgument& argument2 = theDfltMomArgument,
620 const DtMomArgument& argument3 = theDfltMomArgument,
621 const DtMomArgument& argument4 = theDfltMomArgument,
622 const DtMomArgument& argument5 = theDfltMomArgument,
623 const DtMomArgument& returnArg = theDfltRetVal );
628 unsigned long myRegisterCount;
629 unsigned long myDeleteCount;
630 bool myAllowEvokeCallbackToBeObserved;
634 static const DtMomArgument theDfltMomArgument;
635 static DtMomArgument theDfltRetVal;
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
ResignAction
Definition: Enums.h:33
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:37