MAK RTIspy API Documentation for HLA Evolved
execObserverForWebService.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2009 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: execObserverForWebService.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef execObserverForWebService_H_
00013 #define execObserverForWebService_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "execObserver.h"
00017 #include "execCmdProc.h"
00018 #include <RIDparams.h>
00019 #include <memory>
00020 
00021 class DtWwwStateRspMsg;
00022 class DtWwwFederateStateRspMsg;
00023 class DtWwwControlRspMsg;
00024 class DtNetworkMapRspMsg;
00025 class DtRtiExecWebManager;
00026 
00032 class DT_DLL_EXEC DtRtiexecObserverForWebService : public DtRtiexecObserver
00033 {
00034 public:
00035    DtRtiexecObserverForWebService( const DtRIDParameters* params,
00036       DtBoost::shared_ptr<DtRtiexecCmdProc> cmdProc  );
00037    virtual ~DtRtiexecObserverForWebService();
00038 
00040    virtual void startObservation();
00041 
00043 
00044 
00045    static void tick( void* usr );
00047    virtual void tick();
00048 
00050    virtual void processFedExCreatedEvent( DtFedExec* exec );
00051 
00053    virtual void processFedExDestroyedEvent( DtFedExec* exec );
00054 
00056    virtual void processFederateJoinedEvent( DtFedExec* exec, DtFederate* federate );
00057 
00059    virtual void processFederateResignedEvent( DtFedExec* exec, DtFederate* federate );
00060 
00062    virtual void processSyncPtRegisteredEvent( DtFedExec* exec, DtSyncPt* pt );
00063 
00065    virtual void processFederationSynchronizedEvent( DtFedExec* exec, DtSyncPt* pt );
00066 
00068    virtual void processSyncPtAchievedEvent( DtFedExec* exec, DtFederate* federate, DtSyncPt* pt );
00069 
00071    static void processTimeStateEvent( const DtRtiExec& exec, void* usr );
00073    virtual void processTimeStateEvent( const DtRtiExec& exec );
00074 
00076 
00078 
00079 
00080    static void processStateRspMsg( const DtRtiMsg& msg, void* usr );
00081    virtual void processStateRspMsg( const DtWwwStateRspMsg& msg );
00082 
00084    static void processFederateStateRspMsg( const DtRtiMsg& msg, void* usr );
00085    virtual void processFederateStateRspMsg( const DtWwwFederateStateRspMsg& msg );
00086 
00088    static void processControlRspMsg( const DtRtiMsg& msg, void* usr );
00089    virtual void processControlRspMsg( const DtWwwControlRspMsg& msg );
00090 
00092    static void processNetworkMapRespMsg( const DtRtiMsg& msg, void* usr );
00093    virtual void processNetworkMapRespMsg( const DtNetworkMapRspMsg& msg );
00095 
00097    virtual void sendMsgToFederation( const DtString& federationName, std::auto_ptr<DtRtiMsg> msg );
00098 
00100    virtual void deleteFederate( const DtString& federationName, unsigned long federateHandle );
00101 
00103    virtual void destroyFederation( const DtString& federationName, unsigned long federationHandle );
00104 
00106    virtual void changeRidParam( const DtString&  federationName, unsigned long federateHandle,  
00107       const DtString& ridParameter,  const DtString& ridValue );
00108 
00110    inline void setConnectionId( unsigned long connectionId );
00111    
00113    inline const DtRIDParameters& params() const;
00114 
00115 protected:
00116 
00118    virtual void addCallbacks();
00119 
00122    virtual void removeCallbacks();
00123      
00124 protected:
00125    
00127    const DtRIDParameters* myParams;
00128 
00130    std::auto_ptr<DtRtiExecWebManager> myWebManager;
00131 
00133    DtBoost::shared_ptr<DtRtiexecCmdProc> myCmdProc;
00134 
00136    DtClock myClock;
00137 
00139    const DtTime myMinTimeBetweenUpdates;
00140 
00142    unsigned long myConnectionId;
00143 };
00144 
00145 void DtRtiexecObserverForWebService::setConnectionId( unsigned long connectionId )
00146 {
00147    myConnectionId = connectionId;
00148 }
00149 
00150 const DtRIDParameters& DtRtiexecObserverForWebService::params() const
00151 {
00152    return *myParams;
00153 }
00154 
00155 #endif   //! execObserverForWebService_H_
00156 
00157 

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)