MAK RTIspy API Documentation for HLA 1516
momObserver.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: momObserver.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtMomObserver_H_
00013 #define DtMomObserver_H_
00014 
00015 #ifdef DtMOM
00016 #ifdef DtIFSPEC13
00017 
00018 #include "ambObserver.h"
00019 #include "momArgument.h"
00020 class DtMomMgr;
00021 
00022 
00023 class DtMomObserver : public DtRtiAmbassadorObserver
00024 {
00025 public:
00026 
00028    DtMomObserver( DtMomMgr* momMgrPtr );
00029 
00031    virtual ~DtMomObserver();
00032 
00034    DtMomObserver( const DtMomObserver& orig );
00035  
00037    DtMomObserver& operator=( const DtMomObserver& orig );
00038 
00040    virtual void reset();
00041 
00044    virtual unsigned long objectRegisterCount() const;
00045 
00048    virtual unsigned long objectDeleteCount() const;
00049 
00051 
00052    virtual void createFederationExecution(
00053       const char* executionName, 
00054       const char* FED, 
00055       RTI::Exception* except = 0 ); 
00056 
00057    virtual void destroyFederationExecution(
00058       const char* executionName, 
00059       RTI::Exception* except = 0 ); 
00060 
00061    virtual void joinFederationExecution(
00062       const char* yourName, 
00063       const char* executionName, 
00064       RTI::FederateAmbassador* federateAmbassadorReference, 
00065       RTI::FederateHandle& handle, 
00066       RTI::Exception* except = 0 ); 
00067 
00068    virtual void resignFederationExecution(
00069       RTI::ResignAction theAction, 
00070       RTI::Exception* except = 0 ); 
00071 
00072    virtual void registerFederationSynchronizationPoint(       
00073       const char* label,  
00074       const char* theTag, 
00075       RTI::Exception* except = 0 ); 
00076 
00077    virtual void registerFederationSynchronizationPoint(       
00078       const char* label,
00079       const char* theTag,
00080       const RTI::FederateHandleSet& syncSet, 
00081       RTI::Exception* except = 0 );
00082 
00083    virtual void synchronizationPointAchieved(      
00084       const char* label, 
00085       RTI::Exception* except = 0 );
00086 
00087    virtual void requestFederationSave(    
00088       const char* label,  
00089       const RTI::FedTime& theTime, 
00090       RTI::Exception* except = 0 );
00091 
00092    virtual void requestFederationSave( 
00093       const char* label, 
00094       RTI::Exception* except = 0 ); 
00095 
00096    virtual void federateSaveBegun( 
00097       RTI::Exception* except = 0 );
00098 
00099    virtual void federateSaveComplete( 
00100       RTI::Exception* except = 0 );
00101 
00102    virtual void federateSaveNotComplete( 
00103       RTI::Exception* except = 0 );
00104 
00105    virtual void requestFederationRestore(    
00106       const char* label, 
00107       RTI::Exception* except = 0 ); 
00108 
00109    virtual void federateRestoreComplete( 
00110       RTI::Exception* except = 0 );
00111 
00112    virtual void federateRestoreNotComplete( 
00113       RTI::Exception* except = 0 );
00115 
00117 
00118 
00119    virtual void publishObjectClass(
00120       RTI::ObjectClassHandle   theClass,  
00121       const RTI::AttributeHandleSet& attributeList, 
00122       RTI::Exception* except = 0 );
00123 
00124    virtual void unpublishObjectClass(
00125       RTI::ObjectClassHandle theClass, 
00126       RTI::Exception* except = 0 );
00127 
00128    virtual void publishInteractionClass(
00129       RTI::InteractionClassHandle theInteraction, 
00130       RTI::Exception* except = 0 );
00131 
00132    virtual void unpublishInteractionClass(
00133       RTI::InteractionClassHandle theInteraction, 
00134       RTI::Exception* except = 0 );
00135 
00136    virtual void subscribeObjectClassAttributes(
00137       RTI::ObjectClassHandle theClass,  
00138       const RTI::AttributeHandleSet& attributeList,
00139       RTI::Boolean active = RTI::RTI_TRUE, 
00140       RTI::Exception* except = 0 );
00141 
00142    virtual void unsubscribeObjectClass(
00143       RTI::ObjectClassHandle theClass, 
00144       RTI::Exception* except = 0 );
00145 
00146    virtual void subscribeInteractionClass(
00147       RTI::InteractionClassHandle theClass, 
00148       RTI::Boolean active = RTI::RTI_TRUE, 
00149       RTI::Exception* except = 0 );
00150 
00151    virtual void unsubscribeInteractionClass(
00152       RTI::InteractionClassHandle theClass, 
00153       RTI::Exception* except = 0 );
00155 
00157 
00158    virtual void registerObjectInstance(
00159       RTI::ObjectClassHandle  theClass, 
00160       const char* theObject, 
00161       RTI::ObjectHandle& handle,
00162       RTI::Exception* except = 0 );
00163 
00164    virtual void registerObjectInstance(
00165       RTI::ObjectClassHandle theClass, 
00166       RTI::ObjectHandle& handle,
00167       RTI::Exception* except = 0 );
00168 
00169    virtual void updateAttributeValues(
00170       RTI::ObjectHandle theObject,
00171       const RTI::AttributeHandleValuePairSet& theAttributes,
00172       const RTI::FedTime& theTime, 
00173       const char* theTag, 
00174       RTI::EventRetractionHandle& handle,
00175       RTI::Exception* except = 0 ); 
00176 
00177    virtual void updateAttributeValues(
00178         RTI::ObjectHandle theObject, 
00179         const RTI::AttributeHandleValuePairSet& theAttributes,
00180         const char* theTag, 
00181       RTI::Exception* except = 0 );
00182 
00183    virtual void sendInteraction(
00184       RTI::InteractionClassHandle theInteraction,
00185       const RTI::ParameterHandleValuePairSet& theParameters,
00186       const RTI::FedTime& theTime,
00187       const char* theTag, 
00188       RTI::EventRetractionHandle& handle,
00189       RTI::Exception* except = 0 );
00190 
00191    virtual void sendInteraction(
00192       RTI::InteractionClassHandle theInteraction,
00193       const RTI::ParameterHandleValuePairSet& theParameters,
00194       const char* theTag, 
00195       RTI::Exception* except = 0 ); 
00196 
00197    virtual void deleteObjectInstance(
00198       RTI::ObjectHandle theObject, 
00199       const RTI::FedTime& theTime, 
00200       const char* theTag, 
00201       RTI::EventRetractionHandle& handle,
00202       RTI::Exception* except = 0 );
00203 
00204    virtual void deleteObjectInstance(
00205       RTI::ObjectHandle theObject,
00206       const char* theTag, 
00207       RTI::Exception* except = 0 );
00208 
00209    virtual void localDeleteObjectInstance(
00210       RTI::ObjectHandle theObject, 
00211       RTI::Exception* except = 0 ); 
00212 
00213    virtual void changeAttributeTransportationType(
00214       RTI::ObjectHandle theObject,
00215       const RTI::AttributeHandleSet& theAttributes,
00216       RTI::TransportationHandle theType, 
00217       RTI::Exception* except = 0 );
00218         
00219    virtual void changeInteractionTransportationType(
00220       RTI::InteractionClassHandle theClass,
00221       RTI::TransportationHandle theType, 
00222       RTI::Exception* except = 0 );
00223 
00224    virtual void requestObjectAttributeValueUpdate(
00225       RTI::ObjectHandle theObject,
00226       const RTI::AttributeHandleSet& theAttributes, 
00227       RTI::Exception* except = 0 );
00228 
00229    virtual void requestClassAttributeValueUpdate(
00230       RTI::ObjectClassHandle theClass,
00231       const RTI::AttributeHandleSet& theAttributes, 
00232       RTI::Exception* except = 0 );
00234 
00236 
00237    virtual void unconditionalAttributeOwnershipDivestiture(
00238       RTI::ObjectHandle theObject,
00239       const RTI::AttributeHandleSet& theAttributes, 
00240       RTI::Exception* except = 0 );
00241 
00242    virtual void negotiatedAttributeOwnershipDivestiture(
00243       RTI::ObjectHandle theObject, 
00244       const RTI::AttributeHandleSet& theAttributes,
00245       const char* theTag, 
00246       RTI::Exception* except = 0 );
00247 
00248    virtual void attributeOwnershipAcquisition(
00249       RTI::ObjectHandle theObject, 
00250       const RTI::AttributeHandleSet& desiredAttributes,
00251       const char* theTag, 
00252       RTI::Exception* except = 0 );
00253 
00254    virtual void attributeOwnershipAcquisitionIfAvailable(
00255       RTI::ObjectHandle theObject,
00256       const RTI::AttributeHandleSet& desiredAttributes, 
00257       RTI::Exception* except = 0 );
00258 
00259    virtual void attributeOwnershipReleaseResponse(
00260       RTI::ObjectHandle theObject,
00261       const RTI::AttributeHandleSet& theAttributes, 
00262       RTI::AttributeHandleSet* set,
00263       RTI::Exception* except = 0 );
00264 
00265    virtual void cancelNegotiatedAttributeOwnershipDivestiture(
00266       RTI::ObjectHandle theObject,
00267       const RTI::AttributeHandleSet& theAttributes, 
00268       RTI::Exception* except = 0 );
00269 
00270    virtual void cancelAttributeOwnershipAcquisition(
00271       RTI::ObjectHandle theObject, 
00272       const RTI::AttributeHandleSet& theAttributes, 
00273       RTI::Exception* except = 0 );
00274 
00275    virtual void queryAttributeOwnership(
00276       RTI::ObjectHandle theObject,
00277       RTI::AttributeHandle theAttribute, 
00278       RTI::Exception* except = 0 );
00279         
00280    virtual void isAttributeOwnedByFederate(
00281       RTI::ObjectHandle theObject,
00282       RTI::AttributeHandle theAttribute, 
00283       RTI::Boolean boolean,
00284       RTI::Exception* except = 0 );
00286 
00288 
00289    virtual void enableTimeRegulation(
00290       const RTI::FedTime& theFederateTime, 
00291       const RTI::FedTime& theLookahead, 
00292       RTI::Exception* except = 0 );
00293 
00294    virtual void disableTimeRegulation(
00295       RTI::Exception* except = 0 );
00296 
00297    virtual void enableTimeConstrained(
00298       RTI::Exception* except = 0 );
00299 
00300    virtual void disableTimeConstrained(
00301       RTI::Exception* except = 0 );
00302 
00303    virtual void timeAdvanceRequest(
00304      const  RTI::FedTime& theTime, 
00305      RTI::Exception* except = 0 );
00306 
00307    virtual void timeAdvanceRequestAvailable(
00308     const RTI::FedTime& theTime, 
00309       RTI::Exception* except = 0 );
00310 
00311    virtual void nextEventRequest(
00312       const RTI::FedTime& theTime, 
00313       RTI::Exception* except = 0 );
00314 
00315    virtual void nextEventRequestAvailable(
00316       const RTI::FedTime& theTime, 
00317       RTI::Exception* except = 0 );
00318 
00319    virtual void flushQueueRequest(
00320       const RTI::FedTime& theTime, 
00321       RTI::Exception* except = 0 );
00322 
00323    virtual void enableAsynchronousDelivery(
00324       RTI::Exception* except = 0 );
00325 
00326    virtual void disableAsynchronousDelivery(
00327       RTI::Exception* except = 0 );
00328     
00329    virtual void queryLBTS(
00330       RTI::FedTime& theTime, 
00331       RTI::Exception* except = 0 ); 
00332 
00333    virtual void queryFederateTime(
00334       RTI::FedTime& theTime, 
00335       RTI::Exception* except = 0 ); 
00336 
00337    virtual void queryMinNextEventTime(
00338       RTI::FedTime& theTime, 
00339       RTI::Exception* except = 0 ); 
00340 
00341    virtual void modifyLookahead(
00342       const RTI::FedTime& theLookahead, 
00343       RTI::Exception* except = 0 );
00344 
00345    virtual void queryLookahead(
00346        RTI::FedTime& theTime, 
00347       RTI::Exception* except = 0 ); 
00348 
00349    virtual void retract(
00350       RTI::EventRetractionHandle theHandle, 
00351       RTI::Exception* except = 0 );
00352 
00353    virtual void changeAttributeOrderType(
00354       RTI::ObjectHandle theObject, 
00355       const RTI::AttributeHandleSet& theAttributes,
00356       RTI::OrderingHandle theType, 
00357       RTI::Exception* except = 0 ); 
00358 
00359    virtual void changeInteractionOrderType(
00360       RTI::InteractionClassHandle theClass,
00361       RTI::OrderingHandle theType, 
00362       RTI::Exception* except = 0 );
00364 
00366 
00367    virtual void createRegion(
00368       RTI::SpaceHandle theSpace,
00369       RTI::ULong numberOfExtents, 
00370       RTI::Region* region,
00371       RTI::Exception* except = 0 );
00372 
00373    virtual void notifyAboutRegionModification(
00374       RTI::Region& theRegion, 
00375       RTI::Exception* except = 0 );
00376 
00377    virtual void deleteRegion(
00378       RTI::Region* theRegion, 
00379       RTI::Exception* except = 0 );
00380 
00381    virtual void registerObjectInstanceWithRegion(
00382       RTI::ObjectClassHandle theClass,
00383       const char* theObject,
00384       RTI::AttributeHandle theAttributes[],
00385       RTI::Region* theRegions[],
00386       RTI::ULong theNumberOfHandles, 
00387       RTI::ObjectHandle& handle,
00388       RTI::Exception* except = 0 );
00389 
00390    virtual void registerObjectInstanceWithRegion(
00391       RTI::ObjectClassHandle theClass,
00392       RTI::AttributeHandle theAttributes[],
00393       RTI::Region* theRegions[],
00394       RTI::ULong theNumberOfHandles, 
00395       RTI::ObjectHandle& handle,
00396       RTI::Exception* except = 0 );
00397 
00398    virtual void associateRegionForUpdates(
00399       RTI::Region& theRegion,
00400       RTI::ObjectHandle theObject,
00401       const RTI::AttributeHandleSet& theAttributes, 
00402       RTI::Exception* except = 0 );
00403 
00404    virtual void unassociateRegionForUpdates(
00405       RTI::Region& theRegion,
00406       RTI::ObjectHandle theObject, 
00407       RTI::Exception* except = 0 );
00408 
00409    virtual void subscribeObjectClassAttributesWithRegion(
00410       RTI::ObjectClassHandle theClass,
00411       RTI::Region& theRegion,
00412       const RTI::AttributeHandleSet& attributeList,
00413       RTI::Boolean active = RTI::RTI_TRUE, 
00414       RTI::Exception* except = 0 );
00415 
00416    virtual void unsubscribeObjectClassWithRegion(
00417       RTI::ObjectClassHandle theClass,
00418       RTI::Region& theRegion, 
00419       RTI::Exception* except = 0 );
00420 
00421    virtual void subscribeInteractionClassWithRegion(
00422       RTI::InteractionClassHandle theClass,
00423       RTI::Region& theRegion,
00424       RTI::Boolean active = RTI::RTI_TRUE, 
00425       RTI::Exception* except = 0 );
00426 
00427    virtual void unsubscribeInteractionClassWithRegion(
00428       RTI::InteractionClassHandle theClass,
00429       RTI::Region& theRegion, 
00430       RTI::Exception* except = 0 );
00431 
00432    virtual void sendInteractionWithRegion(
00433       RTI::InteractionClassHandle theInteraction,
00434       const RTI::ParameterHandleValuePairSet& theParameters,
00435       const RTI::FedTime& theTime,
00436       const char* theTag, 
00437       const RTI::Region& theRegion, 
00438       RTI::EventRetractionHandle& handle,
00439       RTI::Exception* except = 0 );
00440 
00441    virtual void sendInteractionWithRegion(
00442       RTI::InteractionClassHandle theInteraction,
00443       const RTI::ParameterHandleValuePairSet& theParameters,
00444       const char* theTag,
00445       const RTI::Region& theRegion, 
00446       RTI::Exception* except = 0 ); 
00447 
00448    virtual void requestClassAttributeValueUpdateWithRegion(
00449      RTI::ObjectClassHandle theClass,
00450      const RTI::AttributeHandleSet& theAttributes,
00451      const RTI::Region& theRegion, 
00452       RTI::Exception* except = 0 );
00454 
00456 
00457    virtual void getObjectClassHandle(
00458       const char* theName, 
00459       RTI::ObjectClassHandle& handle,
00460       RTI::Exception* except = 0 );
00461 
00462    virtual void getObjectClassName(
00463       RTI::ObjectClassHandle theHandle, 
00464       char* className,
00465       RTI::Exception* except = 0 ); 
00466 
00467    virtual void getAttributeHandle(
00468       const char* theName, 
00469       RTI::ObjectClassHandle whichClass, 
00470       RTI::AttributeHandle& handle,
00471       RTI::Exception* except = 0 ); 
00472 
00473    virtual void getAttributeName(
00474       RTI::AttributeHandle theHandle,
00475       RTI::ObjectClassHandle whichClass, 
00476       char* attributeName,
00477       RTI::Exception* except = 0 ); 
00478 
00479    virtual void getInteractionClassHandle(
00480       const char* theName, 
00481       RTI::InteractionClassHandle& handle,
00482       RTI::Exception* except = 0 );
00483 
00484    virtual void getInteractionClassName(
00485      RTI::InteractionClassHandle theHandle, 
00486      char* className,
00487      RTI::Exception* except = 0 ); 
00488 
00489    virtual void getParameterHandle(
00490       const char* theName,
00491       RTI::InteractionClassHandle whichClass,
00492       RTI::ParameterHandle& handle,
00493       RTI::Exception* except = 0 ); 
00494     
00495    virtual void getParameterName(
00496       RTI::ParameterHandle theHandle,  
00497       RTI::InteractionClassHandle whichClass, 
00498       char* paramName,
00499       RTI::Exception* except = 0 );
00500 
00501    virtual void getObjectInstanceHandle(
00502       const char* theName, 
00503       RTI::ObjectHandle& handle,
00504       RTI::Exception* except = 0 );
00505 
00506    virtual void getObjectInstanceName(
00507      RTI::ObjectHandle theHandle, 
00508      char* objectInstanceName,
00509      RTI::Exception* except = 0 );
00510 
00511    virtual void getRoutingSpaceHandle(
00512      const char* theName, 
00513      RTI::SpaceHandle& handle,
00514      RTI::Exception* except = 0 );
00515         
00516    virtual void getRoutingSpaceName(
00517       RTI::SpaceHandle theHandle, 
00518       char* spaceName,
00519       RTI::Exception* except = 0 ); 
00520 
00521    virtual void getDimensionHandle(
00522      const char* theName,
00523      RTI::SpaceHandle whichSpace, 
00524      RTI::DimensionHandle& handle,
00525      RTI::Exception* except = 0 );
00526     
00527    virtual void getDimensionName(
00528       RTI::DimensionHandle theHandle,
00529       RTI::SpaceHandle whichSpace, 
00530       char* dimensionName,
00531       RTI::Exception* except = 0 );
00532 
00533    virtual void getAttributeRoutingSpaceHandle(
00534       RTI::AttributeHandle theHandle,
00535       RTI::ObjectClassHandle whichClass, 
00536       RTI::SpaceHandle& handle, 
00537       RTI::Exception* except = 0 );
00538 
00539    virtual void getObjectClass(
00540       RTI::ObjectHandle theObject, 
00541       RTI::ObjectClassHandle& handle,
00542       RTI::Exception* except = 0 );
00543 
00544    virtual void getInteractionRoutingSpaceHandle(
00545      RTI::InteractionClassHandle theHandle, 
00546      RTI::SpaceHandle& handle, 
00547      RTI::Exception* except = 0 );
00548 
00549    virtual void getTransportationHandle(
00550      const char* theName, 
00551      RTI::TransportationHandle& handle,
00552      RTI::Exception* except = 0 );
00553 
00554    virtual void getTransportationName(
00555      RTI::TransportationHandle theHandle, 
00556      char* transportationName,
00557      RTI::Exception* except = 0 );
00558 
00559    virtual void getOrderingHandle(
00560      const char* theName, 
00561      RTI::OrderingHandle& handle,
00562      RTI::Exception* except = 0 );
00563 
00564    virtual void getOrderingName(
00565      RTI::OrderingHandle theHandle, 
00566      char* orderingName,
00567      RTI::Exception* except = 0 ); 
00568 
00569    virtual void enableClassRelevanceAdvisorySwitch(
00570       RTI::Exception* except = 0 );
00571 
00572    virtual void disableClassRelevanceAdvisorySwitch(
00573       RTI::Exception* except = 0 );
00574 
00575    virtual void enableAttributeRelevanceAdvisorySwitch(
00576       RTI::Exception* except = 0 );
00577 
00578    virtual void disableAttributeRelevanceAdvisorySwitch(
00579       RTI::Exception* except = 0 );
00580 
00581    virtual void enableAttributeScopeAdvisorySwitch(
00582       RTI::Exception* except = 0 );
00583 
00584    virtual void disableAttributeScopeAdvisorySwitch(
00585       RTI::Exception* except = 0 );
00586 
00587    virtual void enableInteractionRelevanceAdvisorySwitch(
00588       RTI::Exception* except = 0 );
00589 
00590    virtual void disableInteractionRelevanceAdvisorySwitch(
00591       RTI::Exception* except = 0 );
00592 
00593    virtual void tick(
00594        RTI::Boolean result,
00595        RTI::Exception* except = 0 );
00596         
00597    virtual void tick(
00598       RTI::TickTime minimum,
00599       RTI::TickTime maximum, 
00600       RTI::Boolean result,
00601       RTI::Exception* except = 0 );
00602 
00603    virtual void getRegionToken(
00604      RTI::Region*,
00605      RTI::RegionToken& token,
00606      RTI::Exception* except = 0 );
00607 
00608    virtual void getRegion(
00609       RTI::RegionToken, 
00610       RTI::Region* region,
00611       RTI::Exception* except = 0 );
00613 
00614 protected:
00615 
00616    virtual void observe( const MAKRti::DtString& functionName,
00617                          RTI::Exception* except = 0,
00618                          const DtMomArgument& argument1 = theDfltMomArgument,
00619                          const DtMomArgument& argument2 = theDfltMomArgument,
00620                          const DtMomArgument& argument3 = theDfltMomArgument,
00621                          const DtMomArgument& argument4 = theDfltMomArgument,
00622                          const DtMomArgument& argument5 = theDfltMomArgument,
00623                          const DtMomArgument& returnArg = theDfltRetVal );
00624 
00625 protected:
00626    DtMomMgr* myMomMgr;
00627 
00628    unsigned long myRegisterCount;
00629    unsigned long myDeleteCount;
00630 
00631 protected:
00632 
00633    static const DtMomArgument theDfltMomArgument;
00634    static DtMomArgument theDfltRetVal;
00635 };
00636 
00637 #endif //! DtIFSPEC1516
00638 #endif //! DtMOM
00639 #endif //! DtMomObserver_H_
00640 
00641 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)