MAK RTIspy API Documentation for HLA Evolved
momServices1516e.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: momServices1516e.h,v $ $Revision: 1.0 $ $State: Exp $
00007 *********************************************************************/
00008 #ifndef momServices1516e_H_
00009 #define momServices1516e_H_
00010 #ifdef DtMOM
00011 #ifdef DtIFSPEC1516E
00012 
00015 
00016 #include "rtiMsConfig.h"
00017 #include "momInters.h"
00018 
00022 class DT_DLL_LRC DtMomServices
00023 {
00024 public:
00026     typedef DtMomServices* (*DtMomServicesCreator)(DtMomMgr* momMgrPtr);
00027 
00028 protected:
00029 
00031     DtMomServices(DtMomMgr* momMgrPtr);
00032 
00033 public:
00034 
00036     virtual ~DtMomServices();
00037 
00038 private:
00039 
00041     DtMomServices(DtMomServices const& );
00042 
00044     DtMomServices& operator= (DtMomServices const& );
00045 
00046 public:
00047 
00049     DtMomMgr* momMgr() const;
00050 
00052     rti1516e::RTIambassador* rtiAmb() const;
00053 
00055     virtual rti1516e::FederateAmbassador* fedAmb() const;
00056 
00059 
00060     virtual void changeAttributeOrderTypeInteraction(
00061         const DtChangeAttributeOrderTypeInteraction& interaction);
00062     virtual void changeAttributeTransportationTypeInteraction(
00063         const DtChangeAttributeTransportationTypeInteraction& interaction);
00064     virtual void changeInteractionOrderTypeInteraction(
00065         const DtChangeInteractionOrderTypeInteraction& interaction);
00066     virtual void changeInteractionTransportationTypeInteraction(
00067         const DtChangeInteractionTransportationTypeInteraction& interaction);
00068     virtual void deleteObjectInstanceInteraction(
00069         const DtDeleteObjectInstanceInteraction& interaction);
00070     virtual void disableAsynchronousDeliveryInteraction(
00071         const DtDisableAsynchronousDeliveryInteraction& interaction);
00072     virtual void disableTimeConstrainedInteraction(
00073         const DtDisableTimeConstrainedInteraction& interaction);
00074     virtual void disableTimeRegulationInteraction(
00075         const DtDisableTimeRegulationInteraction& interaction);
00076     virtual void enableAsynchronousDeliveryInteraction(
00077         const DtEnableAsynchronousDeliveryInteraction& interaction);
00078     virtual void enableTimeConstrainedInteraction(
00079         const DtEnableTimeConstrainedInteraction& interaction);
00080     virtual void enableTimeRegulationInteraction(
00081         const DtEnableTimeRegulationInteraction& interaction);
00082     virtual void federateRestoreCompleteInteraction(
00083         const DtFederateRestoreCompleteInteraction& interaction);
00084     virtual void federateSaveBegunInteraction(
00085         const DtFederateSaveBegunInteraction& interaction);
00086     virtual void federateSaveCompleteInteraction(
00087         const DtFederateSaveCompleteInteraction& interaction);
00088     virtual void flushQueueRequestInteraction(
00089         const DtFlushQueueRequestInteraction& interaction);
00090     virtual void localDeleteObjectInstanceInteraction(
00091         const DtLocalDeleteObjectInstanceInteraction& interaction);
00092     virtual void modifyLookaheadInteraction(
00093         const DtModifyLookaheadInteraction& interaction);
00094     virtual void nextEventRequestInteraction(
00095         const DtNextEventRequestInteraction& interaction);
00096     virtual void nextEventRequestAvailableInteraction(
00097         const DtNextEventRequestAvailableInteraction& interaction);
00098     virtual void publishInteractionClassInteraction(
00099         const DtPublishInteractionClassInteraction& interaction);
00100     virtual void publishObjectClassInteraction(
00101         const DtPublishObjectClassInteraction& interaction);
00102     virtual void subscribeInteractionClassInteraction(
00103         const DtSubscribeInteractionClassInteraction& interaction);
00104     virtual void subscribeObjectClassAttributesInteraction(
00105         const DtSubscribeObjectClassAttributesInteraction& interaction);
00106     virtual void synchronizationPointAchievedInteraction(
00107         const DtSynchronizationPointAchievedInteraction& interaction);
00108     virtual void timeAdvanceRequestInteraction(
00109         const DtTimeAdvanceRequestInteraction& interaction);
00110     virtual void timeAdvanceRequestAvailableInteraction(
00111         const DtTimeAdvanceRequestAvailableInteraction& interaction);
00112     virtual void unconditionalAttributeOwnershipDivestitureInteraction(
00113         const DtUnconditionalAttributeOwnershipDivestitureInteraction& interaction);
00114     virtual void unpublishInteractionClassInteraction(
00115         const DtUnpublishInteractionClassInteraction& interaction);
00116     virtual void unpublishObjectClassInteraction(
00117         const DtUnpublishObjectClassInteraction& interaction);
00118     virtual void unsubscribeInteractionClassInteraction(
00119         const DtUnsubscribeInteractionClassInteraction& interaction);
00120     virtual void unsubscribeObjectClassInteraction(
00121         const DtUnsubscribeObjectClassInteraction& interaction);
00123 
00124 
00125 
00126 public:
00127 
00131     static DtMomServices* create(DtMomMgr* momMgrPtr);
00132 
00135     static void setCreatorFunction(DtMomServicesCreator fn);
00136 
00137 protected:
00138 
00140     DtMomMgr* myMomMgr;
00141 
00143     std::auto_ptr < rti1516e::LogicalTime > myTime;
00144 
00146     std::auto_ptr < rti1516e::LogicalTimeInterval > myInterval;
00147 
00148 protected:
00150     static DtMomServicesCreator theCreator;
00151 };
00152 
00153 #endif //! DtIFSPEC1516
00154 #endif //! DtMOM
00155 #endif //! momServices1516_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)