MAK RTIspy API Documentation for HLA Evolved
fedAmbCallback1516.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2007 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: fedAmbCallback1516.h,v $ $Revision: 1.5 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef fedAmbCallback1516_h
00010 #define fedAmbCallback1516_h
00011 #ifdef DtIFSPEC1516
00012 
00015 
00016 #include <RTI/Typedefs.h>
00017 #include <RTI/FederateAmbassador.h>
00018 #include "rtiMsg.h"
00019 
00020 class DtCallbackMsg;
00021 
00023 DT_DLL_LRC enum DtFedAmbCallKind
00024 {
00029    DtFedAmbCall_synchronizationPointRegistrationSucceeded,
00030    DtFedAmbCall_synchronizationPointRegistrationFailed,
00032    DtFedAmbCall_announceSynchronizationPoint,
00034    DtFedAmbCall_federationSynchronized,
00036    DtFedAmbCall_initiateFederateSave,
00037    DtFedAmbCall_initiateFederateSaveWithTime,
00039    DtFedAmbCall_federationSaved,
00040    DtFedAmbCall_federationNotSaved,
00042    DtFedAmbCall_federationSaveStatusResponse,
00044    DtFedAmbCall_requestFederationRestoreSucceeded,
00045    DtFedAmbCall_requestFederationRestoreFailed,
00047    DtFedAmbCall_federationRestoreBegun,
00049    DtFedAmbCall_initiateFederateRestore,
00051    DtFedAmbCall_federationRestored,
00052    DtFedAmbCall_federationNotRestored,
00054    DtFedAmbCall_federationRestoreStatusResponse,
00059    DtFedAmbCall_startRegistrationForObjectClass,
00061    DtFedAmbCall_stopRegistrationForObjectClass,
00063    DtFedAmbCall_turnInteractionsOn,
00065    DtFedAmbCall_turnInteractionsOff,
00070    DtFedAmbCall_objectInstanceNameReservationSucceeded,
00071    DtFedAmbCall_objectInstanceNameReservationFailed,
00073    DtFedAmbCall_discoverObjectInstance,
00075    DtFedAmbCall_reflectAttributeValues_hvuot,
00076    DtFedAmbCall_reflectAttributeValues_hvuotr,
00077    DtFedAmbCall_reflectAttributeValues_hvuotmo,
00078    DtFedAmbCall_reflectAttributeValues_hvuotmor,
00079    DtFedAmbCall_reflectAttributeValues_hvuotmoc,
00080    DtFedAmbCall_reflectAttributeValues_hvuotmocr,
00082    DtFedAmbCall_receiveInteraction_hvuot,
00083    DtFedAmbCall_receiveInteraction_hvuotr,
00084    DtFedAmbCall_receiveInteraction_hvuotmo,
00085    DtFedAmbCall_receiveInteraction_hvuotmor,
00086    DtFedAmbCall_receiveInteraction_hvuotmoc,
00087    DtFedAmbCall_receiveInteraction_hvuotmocr,
00089    DtFedAmbCall_removeObjectInstance_huo,
00090    DtFedAmbCall_removeObjectInstance_huomo,
00091    DtFedAmbCall_removeObjectInstance_huomoc,
00093    DtFedAmbCall_attributesInScope,
00095    DtFedAmbCall_attributesOutOfScope,
00097    DtFedAmbCall_provideAttributeValueUpdate,
00099    DtFedAmbCall_turnUpdatesOnForObjectInstance,
00101    DtFedAmbCall_turnUpdatesOffForObjectInstance,
00106    DtFedAmbCall_requestAttributeOwnershipAssumption,
00108    DtFedAmbCall_requestDivestitureConfirmation,
00110    DtFedAmbCall_attributeOwnershipAcquisitionNotification,
00112    DtFedAmbCall_attributeOwnershipUnavailable,
00114    DtFedAmbCall_requestAttributeOwnershipRelease,
00116    DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
00118    DtFedAmbCall_informAttributeOwnership,
00119    DtFedAmbCall_attributeIsNotOwned,
00120    DtFedAmbCall_attributeIsOwnedByRTI,
00125    DtFedAmbCall_timeRegulationEnabled,
00127    DtFedAmbCall_timeConstrainedEnabled,
00129    DtFedAmbCall_timeAdvanceGrant,
00131    DtFedAmbCall_requestRetraction,
00133    DtFedAmbCall_invalid
00134 };
00135 
00139 class DT_DLL_LRC DtFedAmbCallback
00140 {
00141 public:
00143    DtFedAmbCallback(DtFedAmbCallKind kind);
00145    virtual ~DtFedAmbCallback();
00146 private:
00148    DtFedAmbCallback(DtFedAmbCallback const& orig);
00149    DtFedAmbCallback& operator = (DtFedAmbCallback const& orig);
00150 public:
00152    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const = 0;
00153 
00155    virtual DtFedAmbCallKind callbackKind() const;
00156 
00157 protected:
00158    DtFedAmbCallKind myCallbackKind;
00159 };
00160 
00161 template<DtFedAmbCallKind callbackKindValue>
00162 class DtFedAmbCallbackVoid : public DtFedAmbCallback
00163 {
00164 public:
00166    DtFedAmbCallbackVoid();
00168    virtual ~DtFedAmbCallbackVoid();
00169 private:
00171    DtFedAmbCallbackVoid(DtFedAmbCallbackVoid const& orig);
00172    DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid const& orig);
00173 
00174 public:
00176    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00177 };
00178 
00179 template<DtFedAmbCallKind callbackKindValue>
00180 class DtCallbackWithTime : public DtFedAmbCallback
00181 {
00182 public:
00184    DtCallbackWithTime(
00185       std::auto_ptr<rti1516::LogicalTime> time);
00187    virtual ~DtCallbackWithTime();
00188 private:
00190    DtCallbackWithTime(DtCallbackWithTime const& orig);
00191    DtCallbackWithTime& operator = (DtCallbackWithTime const& orig);
00192 public:
00194    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00195 protected:
00196    std::auto_ptr<rti1516::LogicalTime> myTime;
00197 };
00198 
00199 template<DtFedAmbCallKind callbackKindValue>
00200 class DtCallbackWithWString : public DtFedAmbCallback
00201 {
00202 public:
00204    DtCallbackWithWString(std::wstring const& value);
00205 
00207    virtual ~DtCallbackWithWString();
00208 private:
00210    DtCallbackWithWString(DtCallbackWithWString const& orig);
00211    DtCallbackWithWString& operator = (DtCallbackWithWString const& orig);
00212 public:
00214    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00215 protected:
00216    std::wstring myString;
00217 };
00218 
00219 template<DtFedAmbCallKind callbackKindValue>
00220 class DtCallbackWithObjectClass : public DtFedAmbCallback
00221 {
00222 public:
00224    DtCallbackWithObjectClass(rti1516::ObjectClassHandle theClass);
00226       virtual ~DtCallbackWithObjectClass();
00227 private:
00229    DtCallbackWithObjectClass(DtCallbackWithObjectClass const& orig);
00230    DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass const& orig);
00231 public:
00233    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00234 protected:
00235    rti1516::ObjectClassHandle myObjectClass;
00236 };
00237 
00238 template<DtFedAmbCallKind callbackKindValue>
00239 class DtCallbackWithInteractionClass : public DtFedAmbCallback
00240 {
00241 public:
00243    DtCallbackWithInteractionClass(
00244       rti1516::InteractionClassHandle theClass);
00246    virtual ~DtCallbackWithInteractionClass();
00247 private:
00249    DtCallbackWithInteractionClass(DtCallbackWithInteractionClass const& orig);
00250    DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass const& orig);
00251 public:
00253    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00254 protected:
00255    rti1516::InteractionClassHandle myInteractionClass;
00256 };
00257 
00258 template<DtFedAmbCallKind callbackKindValue>
00259 class DtCallbackWithObjectAttributesOptTag : public DtFedAmbCallback
00260 {
00261 public:
00263    DtCallbackWithObjectAttributesOptTag(
00264       rti1516::ObjectInstanceHandle theObject,
00265       rti1516::AttributeHandleSet const & theAttributes);
00266    DtCallbackWithObjectAttributesOptTag(
00267       rti1516::ObjectInstanceHandle theObject,
00268       rti1516::AttributeHandleSet const & theAttributes,
00269       rti1516::VariableLengthData const & theUserSuppliedTag);
00270 
00272    virtual ~DtCallbackWithObjectAttributesOptTag();
00273 private:
00275    DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag const& orig);
00276    DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag const& orig);
00277 public:
00279    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00280 protected:
00281    rti1516::ObjectInstanceHandle myObject;
00282    rti1516::AttributeHandleSet myAttributes;
00283    rti1516::VariableLengthData myUserSuppliedTag;
00284 };
00285 
00286 template<DtFedAmbCallKind callbackKindValue>
00287 class DtCallbackWithObjectAttributesOptFederate : public DtFedAmbCallback
00288 {
00289 public:
00291    DtCallbackWithObjectAttributesOptFederate(
00292       rti1516::ObjectInstanceHandle theObject,
00293       rti1516::AttributeHandle theAttribute);
00294    DtCallbackWithObjectAttributesOptFederate(
00295       rti1516::ObjectInstanceHandle theObject,
00296       rti1516::AttributeHandle theAttribute,
00297       rti1516::FederateHandle theFederate);
00299    virtual ~DtCallbackWithObjectAttributesOptFederate();
00300 private:
00302    DtCallbackWithObjectAttributesOptFederate(DtCallbackWithObjectAttributesOptFederate const& orig);
00303    DtCallbackWithObjectAttributesOptFederate& operator = (DtCallbackWithObjectAttributesOptFederate const& orig);
00304 public:
00306    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00307 protected:
00308    rti1516::ObjectInstanceHandle myObject;
00309    rti1516::AttributeHandle myAttribute;
00310    rti1516::FederateHandle myFederate;
00311 };
00312 
00317 typedef DtCallbackWithWString<DtFedAmbCall_synchronizationPointRegistrationSucceeded>    DtCbSynchronizationPointRegistrationSucceeded;
00318 
00319 class DtCbSynchronizationPointRegistrationFailed : public DtFedAmbCallback
00320 {
00321 public:
00323    DtCbSynchronizationPointRegistrationFailed(std::wstring const& stringValue,
00324       rti1516::SynchronizationFailureReason reason);
00326    virtual ~DtCbSynchronizationPointRegistrationFailed();
00327 private:
00329    DtCbSynchronizationPointRegistrationFailed(DtCbSynchronizationPointRegistrationFailed const& orig);
00330    DtCbSynchronizationPointRegistrationFailed& operator = (DtCbSynchronizationPointRegistrationFailed const& orig);
00331 public:
00333    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00334 protected:
00335    std::wstring myString;
00336    rti1516::SynchronizationFailureReason myReason;
00337 };
00338 
00341 class DtCbAnnounceSynchronizationPoint : public DtFedAmbCallback
00342 {
00343 public:
00345    DtCbAnnounceSynchronizationPoint(std::wstring const& stringValue,
00346       rti1516::VariableLengthData const & tag);
00348    virtual ~DtCbAnnounceSynchronizationPoint();
00349 private:
00351    DtCbAnnounceSynchronizationPoint(DtCbAnnounceSynchronizationPoint const& orig);
00352    DtCbAnnounceSynchronizationPoint& operator = (DtCbAnnounceSynchronizationPoint const& orig);
00353 public:
00355    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00356 protected:
00357    std::wstring myString;
00358    rti1516::VariableLengthData myTag;
00359 };
00360 
00362 typedef DtCallbackWithWString<DtFedAmbCall_federationSynchronized>    DtCbFederationSynchronized;
00363 
00365 typedef DtCallbackWithWString<DtFedAmbCall_initiateFederateSave>    DtCbInitiateFederateSave;
00366 
00367 class DtCbInitiateFederateSaveWithTime: public DtFedAmbCallback
00368 {
00369 public:
00371    DtCbInitiateFederateSaveWithTime(std::wstring const& stringValue,
00372       std::auto_ptr<rti1516::LogicalTime> time);
00374    virtual ~DtCbInitiateFederateSaveWithTime();
00375 private:
00377    DtCbInitiateFederateSaveWithTime(DtCbInitiateFederateSaveWithTime const& orig);
00378    DtCbInitiateFederateSaveWithTime& operator = (DtCbInitiateFederateSaveWithTime const& orig);
00379 public:
00381    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00382 protected:
00383    std::wstring myString;
00384    std::auto_ptr<rti1516::LogicalTime> myTime;
00385 };
00386 
00388 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved;
00389 
00390 class DtCbFederationNotSaved : public DtFedAmbCallback
00391 {
00392 public:
00394    DtCbFederationNotSaved(rti1516::SaveFailureReason theSaveFailureReason);
00396    virtual ~DtCbFederationNotSaved();
00397 private:
00399    DtCbFederationNotSaved(DtCbFederationNotSaved const& orig);
00400    DtCbFederationNotSaved& operator = (DtCbFederationNotSaved const& orig);
00401 public:
00403    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00404 protected:
00405    rti1516::SaveFailureReason mySaveFailureReason;
00406 };
00407 
00410 class DtCbFederationSaveStatusResponse : public DtFedAmbCallback
00411 {
00412 public:
00414    DtCbFederationSaveStatusResponse(
00415       rti1516::FederateHandleSaveStatusPairVector const & theFederateStatusVector);
00417    virtual ~DtCbFederationSaveStatusResponse();
00418 private:
00420    DtCbFederationSaveStatusResponse(DtCbFederationSaveStatusResponse const& orig);
00421    DtCbFederationSaveStatusResponse& operator = (DtCbFederationSaveStatusResponse const& orig);
00422 public:
00424    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00425 protected:
00426    rti1516::FederateHandleSaveStatusPairVector myFederateStatusVector;
00427 };
00428 
00430 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreSucceeded>    DtCbRequestFederationRestoreSucceeded;
00431 
00432 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreFailed>    DtCbRequestFederationRestoreFailed;
00433 
00435 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun;
00436 
00439 class DtCbInitiateFederateRestore : public DtFedAmbCallback
00440 {
00441 public:
00443    DtCbInitiateFederateRestore(std::wstring const& stringValue,
00444       rti1516::FederateHandle handle);
00446    virtual ~DtCbInitiateFederateRestore();
00447 private:
00449    DtCbInitiateFederateRestore(DtCbInitiateFederateRestore const& orig);
00450    DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore const& orig);
00451 public:
00453    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00454 protected:
00455    rti1516::FederateHandle myHandle;
00456    std::wstring myString;
00457 };
00458 
00460 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored;
00461 
00462 class DtCbFederationNotRestored : public DtFedAmbCallback
00463 {
00464 public:
00466    DtCbFederationNotRestored(rti1516::RestoreFailureReason theRestoreFailureReason);
00468    virtual ~DtCbFederationNotRestored();
00469 private:
00471    DtCbFederationNotRestored(DtCbFederationNotRestored const& orig);
00472    DtCbFederationNotRestored& operator = (DtCbFederationNotRestored const& orig);
00473 public:
00475    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00476 protected:
00477    rti1516::RestoreFailureReason myRestoreFailureReason;
00478 };
00479 
00482 class DtCbFederationRestoreStatusResponse : public DtFedAmbCallback
00483 {
00484 public:
00486    DtCbFederationRestoreStatusResponse(
00487       rti1516::FederateHandleRestoreStatusPairVector  const & theFederateStatusVector);
00489    virtual ~DtCbFederationRestoreStatusResponse();
00490 private:
00492    DtCbFederationRestoreStatusResponse(DtCbFederationRestoreStatusResponse const& orig);
00493    DtCbFederationRestoreStatusResponse& operator = (DtCbFederationRestoreStatusResponse const& orig);
00494 public:
00496    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00497 protected:
00498    rti1516::FederateHandleRestoreStatusPairVector myFederateStatusVector;
00499 };
00500 
00501 
00506 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass;
00507 
00509 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass;
00510 
00512 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn;
00513 
00515 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff;
00516 
00521 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationSucceeded>    DtCbObjectInstanceNameReservationSucceeded;
00522 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationFailed>    DtCbObjectInstanceNameReservationFailed;
00523 
00526 class DtCbDiscoverObjectInstance: public DtFedAmbCallback
00527 {
00528 public:
00530    DtCbDiscoverObjectInstance(rti1516::ObjectInstanceHandle theObject,
00531       rti1516::ObjectClassHandle theObjectClass,
00532       std::wstring const & theObjectInstanceName);
00534    virtual ~DtCbDiscoverObjectInstance();
00535 private:
00537    DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance const& orig);
00538    DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance const& orig);
00539 public:
00541    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00542 protected:
00543    rti1516::ObjectInstanceHandle myObjectInstanceHandle;
00544    rti1516::ObjectClassHandle myObjectClassHandle;
00545    std::wstring myString;
00546 };
00547 
00550 class DtCbReflectAttributeValues: public DtFedAmbCallback
00551 {
00552 public:
00554    DtCbReflectAttributeValues(
00555       rti1516::ObjectInstanceHandle theObject,
00556       rti1516::AttributeHandleValueMap const & theAttributeValues,
00557       rti1516::VariableLengthData const & theUserSuppliedTag,
00558       rti1516::OrderType sentOrder,
00559       rti1516::TransportationType theType);
00560 
00561    DtCbReflectAttributeValues(
00562       rti1516::ObjectInstanceHandle theObject,
00563       rti1516::AttributeHandleValueMap const & theAttributeValues,
00564       rti1516::VariableLengthData const & theUserSuppliedTag,
00565       rti1516::OrderType sentOrder,
00566       rti1516::TransportationType theType,
00567       rti1516::RegionHandleSet const & theSentRegionHandleSet);
00568 
00569    DtCbReflectAttributeValues(
00570       rti1516::ObjectInstanceHandle theObject,
00571       rti1516::AttributeHandleValueMap const & theAttributeValues,
00572       rti1516::VariableLengthData const & theUserSuppliedTag,
00573       rti1516::OrderType sentOrder,
00574       rti1516::TransportationType theType,
00575       std::auto_ptr<rti1516::LogicalTime> theTime,
00576       rti1516::OrderType receivedOrder);
00577 
00578    DtCbReflectAttributeValues(
00579       rti1516::ObjectInstanceHandle theObject,
00580       rti1516::AttributeHandleValueMap const & theAttributeValues,
00581       rti1516::VariableLengthData const & theUserSuppliedTag,
00582       rti1516::OrderType sentOrder,
00583       rti1516::TransportationType theType,
00584       std::auto_ptr<rti1516::LogicalTime> theTime,
00585       rti1516::OrderType receivedOrder,
00586       rti1516::RegionHandleSet const & theSentRegionHandleSet);
00587 
00588    DtCbReflectAttributeValues (
00589       rti1516::ObjectInstanceHandle theObject,
00590       rti1516::AttributeHandleValueMap const & theAttributeValues,
00591       rti1516::VariableLengthData const & theUserSuppliedTag,
00592       rti1516::OrderType sentOrder,
00593       rti1516::TransportationType theType,
00594       std::auto_ptr<rti1516::LogicalTime> theTime,
00595       rti1516::OrderType receivedOrder,
00596       rti1516::MessageRetractionHandle theRetractHandle);
00597 
00598    DtCbReflectAttributeValues(
00599       rti1516::ObjectInstanceHandle theObject,
00600       rti1516::AttributeHandleValueMap const & theAttributeValues,
00601       rti1516::VariableLengthData const & theUserSuppliedTag,
00602       rti1516::OrderType sentOrder,
00603       rti1516::TransportationType theType,
00604       std::auto_ptr<rti1516::LogicalTime> theTime,
00605       rti1516::OrderType receivedOrder,
00606       rti1516::MessageRetractionHandle theRetractHandle,
00607       rti1516::RegionHandleSet const & theSentRegionHandleSet);
00608 
00610    virtual ~DtCbReflectAttributeValues();
00611 private:
00613    DtCbReflectAttributeValues(DtCbReflectAttributeValues const& orig);
00614    DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues const& orig);
00615 public:
00617    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00618 
00619 protected:
00620    rti1516::ObjectInstanceHandle myObject;
00621    rti1516::AttributeHandleValueMap myAttributeValues;
00622    rti1516::VariableLengthData myUserSuppliedTag;
00623    rti1516::OrderType mySentOrder;
00624    rti1516::TransportationType myTransportationType;
00625    std::auto_ptr<rti1516::LogicalTime> myTime;
00626    rti1516::OrderType myReceivedOrder;
00627    rti1516::MessageRetractionHandle myRetractHandle;
00628    rti1516::RegionHandleSet mySentRegionHandleSet;
00629 };
00630 
00633 class DtCbReceiveInteraction: public DtFedAmbCallback
00634 {
00635 public:
00637       DtCbReceiveInteraction(
00638          rti1516::InteractionClassHandle theInteraction,
00639          rti1516::ParameterHandleValueMap const & theParameterValues,
00640          rti1516::VariableLengthData const & theUserSuppliedTag,
00641          rti1516::OrderType sentOrder,
00642          rti1516::TransportationType theType);
00643 
00644       DtCbReceiveInteraction(
00645          rti1516::InteractionClassHandle theInteraction,
00646          rti1516::ParameterHandleValueMap const & theParameterValues,
00647          rti1516::VariableLengthData const & theUserSuppliedTag,
00648          rti1516::OrderType sentOrder,
00649          rti1516::TransportationType theType,
00650          rti1516::RegionHandleSet const & theSentRegionHandleSet);
00651 
00652       DtCbReceiveInteraction(
00653          rti1516::InteractionClassHandle theInteraction,
00654          rti1516::ParameterHandleValueMap const & theParameterValues,
00655          rti1516::VariableLengthData const & theUserSuppliedTag,
00656          rti1516::OrderType sentOrder,
00657          rti1516::TransportationType theType,
00658          std::auto_ptr<rti1516::LogicalTime> theTime,
00659          rti1516::OrderType receivedOrder);
00660 
00661       DtCbReceiveInteraction(
00662          rti1516::InteractionClassHandle theInteraction,
00663          rti1516::ParameterHandleValueMap const & theParameterValues,
00664          rti1516::VariableLengthData const & theUserSuppliedTag,
00665          rti1516::OrderType sentOrder,
00666          rti1516::TransportationType theType,
00667          std::auto_ptr<rti1516::LogicalTime> theTime,
00668          rti1516::OrderType receivedOrder,
00669          rti1516::RegionHandleSet const & theSentRegionHandleSet);
00670 
00671       DtCbReceiveInteraction(
00672          rti1516::InteractionClassHandle theInteraction,
00673          rti1516::ParameterHandleValueMap const & theParameterValues,
00674          rti1516::VariableLengthData const & theUserSuppliedTag,
00675          rti1516::OrderType sentOrder,
00676          rti1516::TransportationType theType,
00677          std::auto_ptr<rti1516::LogicalTime> theTime,
00678          rti1516::OrderType receivedOrder,
00679          rti1516::MessageRetractionHandle theRetractHandle);
00680 
00681       DtCbReceiveInteraction(
00682          rti1516::InteractionClassHandle theInteraction,
00683          rti1516::ParameterHandleValueMap const & theParameterValues,
00684          rti1516::VariableLengthData const & theUserSuppliedTag,
00685          rti1516::OrderType sentOrder,
00686          rti1516::TransportationType theType,
00687          std::auto_ptr<rti1516::LogicalTime> theTime,
00688          rti1516::OrderType receivedOrder,
00689          rti1516::MessageRetractionHandle theRetractHandle,
00690          rti1516::RegionHandleSet const & theSentRegionHandleSet);
00691 
00693          virtual ~DtCbReceiveInteraction();
00694 private:
00696    DtCbReceiveInteraction(DtCbReceiveInteraction const& orig);
00697    DtCbReceiveInteraction& operator = (DtCbReceiveInteraction const& orig);
00698 public:
00700    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00701 
00702 protected:
00703    rti1516::InteractionClassHandle myInteractionClass;
00704    rti1516::ParameterHandleValueMap myParameterValues;
00705    rti1516::VariableLengthData myUserSuppliedTag;
00706    rti1516::OrderType mySentOrder;
00707    rti1516::TransportationType myTransportationType;
00708    std::auto_ptr<rti1516::LogicalTime> myTime;
00709    rti1516::OrderType myReceivedOrder;
00710    rti1516::MessageRetractionHandle myRetractHandle;
00711    rti1516::RegionHandleSet mySentRegionHandleSet;
00712 };
00713 
00716 class DtCbRemoveObjectInstance: public DtFedAmbCallback
00717 {
00718 public:
00720    DtCbRemoveObjectInstance(
00721       rti1516::ObjectInstanceHandle theObject,
00722       rti1516::VariableLengthData const & theUserSuppliedTag,
00723       rti1516::OrderType sentOrder);
00724    DtCbRemoveObjectInstance(
00725       rti1516::ObjectInstanceHandle theObject,
00726       rti1516::VariableLengthData const & theUserSuppliedTag,
00727       rti1516::OrderType sentOrder,
00728       std::auto_ptr<rti1516::LogicalTime> theTime,
00729       rti1516::OrderType receivedOrder);
00730    DtCbRemoveObjectInstance(
00731       rti1516::ObjectInstanceHandle theObject,
00732       rti1516::VariableLengthData const & theUserSuppliedTag,
00733       rti1516::OrderType sentOrder,
00734       std::auto_ptr<rti1516::LogicalTime> theTime,
00735       rti1516::OrderType receivedOrder,
00736       rti1516::MessageRetractionHandle theRetractHandle);
00737 
00739    virtual ~DtCbRemoveObjectInstance();
00740 private:
00742    DtCbRemoveObjectInstance(DtCbRemoveObjectInstance const& orig);
00743    DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance const& orig);
00744 public:
00746    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00747 protected:
00748    rti1516::ObjectInstanceHandle myObjectInstanceHandle;
00749    rti1516::VariableLengthData myTag;
00750    rti1516::OrderType mySentOrder;
00751    std::auto_ptr<rti1516::LogicalTime> myTime;
00752    rti1516::OrderType myReceivedOrder;
00753    rti1516::MessageRetractionHandle myRetractHandle;
00754 };
00755 
00756 
00758 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope;
00759 
00761 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope;
00762 
00764 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate;
00765 
00767 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance;
00768 
00770 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance;
00771 
00776 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption;
00777 
00779 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestDivestitureConfirmation> DtCbRequestDivestitureConfirmation;
00780 
00782 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification;
00783 
00785 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable;
00786 
00788 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease;
00789 
00791 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation;
00792 
00794 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership;
00795 
00796 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned;
00797 
00798 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsOwnedByRTI> DtCbAttributeIsOwnedByRTI;
00799 
00804 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled;
00805 
00807 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled;
00808 
00810 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant;
00811 
00814 class DtCbRequestRetraction: public DtFedAmbCallback
00815 {
00816 public:
00818    DtCbRequestRetraction(rti1516::MessageRetractionHandle handle);
00820    virtual ~DtCbRequestRetraction();
00821 private:
00823    DtCbRequestRetraction(DtCbRequestRetraction const& orig);
00824    DtCbRequestRetraction& operator = (DtCbRequestRetraction const& orig);
00825 public:
00827    virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const;
00828 protected:
00829    rti1516::MessageRetractionHandle myRetractHandle;
00830 };
00831 
00832 
00834 DT_DLL_LRC const char* callbackKindToString(DtFedAmbCallKind kind);
00835 
00836 #define fedAmbCallback1516_inl_
00837 #include "fedAmbCallback1516.inl"
00838 #undef  fedAmbCallback1516_inl_
00839 
00840 #endif //! DtIFSPEC1516
00841 #endif //! fedAmbCallback1516_h

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)