MAK RTIspy API Documentation for HLA Evolved
forwarderObserver.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: forwarderObserver.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtRtiForwarderObserver_H_
00013 #define DtRtiForwarderObserver_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "rtiMsg.h"
00017 #include "rtiMsgCbMgr.h"
00018 #include "forwarderObserverMgr.h"
00019 
00020 class MAKRti::DtInetAddr;
00021 
00022 
00025 class DT_DLL_FORWARDER DtRtiForwarderObserver
00026 {
00027 
00028 public:
00029 
00031    DtRtiForwarderObserver();
00032 
00034    virtual ~DtRtiForwarderObserver();
00035 
00037    virtual void setMgr( DtRtiForwarderObserverMgr* mgr );
00038 
00042    virtual void initMgr();
00043 
00045    virtual void removeMgr();
00046 
00049 
00050    
00052    virtual int clientToForwarderConnectionEstablished( 
00053       const MAKRti::DtString& connName, const MAKRti::DtString& connType,
00054       unsigned int connID, const DtInetAddrAndPort& connAddr ) = 0;
00055 
00057    virtual int clientToForwarderConnectionLost( 
00058       const MAKRti::DtString& connName, unsigned int connID, 
00059       const DtInetAddrAndPort& connAddr ) = 0;
00060 
00061 
00063    virtual void clientToForwarderFederateJoined( 
00064       const MAKRti::DtString& connName, const MAKRti::DtString& connType,
00065       const MAKRti::DtString& federationName,
00066       unsigned int connID, unsigned int fedHandle,
00067       const DtInetAddrAndPort& connAddr, const MAKRti::DtString& connHost,
00068       unsigned int processId, const MAKRti::DtString& processName,
00069       const MAKRti::DtString& commandArgs, DtHlaVersionId hlaVersion ) = 0;
00070 
00072    virtual void clientToForwarderFederateLost( 
00073       const MAKRti::DtString& connName, const MAKRti::DtString& connType,
00074       unsigned int connID, unsigned int fedHandle,
00075       const DtInetAddrAndPort& connAddr ) = 0;
00076 
00078    virtual int forwarderToForwarderExecConnected(
00079       const MAKRti::DtString& connName, unsigned int connID,
00080       const DtInetAddrAndPort& connAddr,
00081       const MAKRti::DtString& connHost, bool fullyCompliant ) = 0;
00082 
00084    virtual int forwarderToForwarderExecLost(
00085       const MAKRti::DtString& connName, unsigned int connID,
00086       const DtInetAddrAndPort& connAddr ) = 0;
00087 
00089    virtual int clientToForwarderExecConnected(
00090       const MAKRti::DtString& connName, unsigned int connID, 
00091       const DtInetAddrAndPort& connAddr, const MAKRti::DtString& connHost,
00092       bool fullyCompliant ) = 0;
00093 
00095    virtual int clientToForwarderExecLost(
00096       const MAKRti::DtString& connName, unsigned int connID, 
00097       const DtInetAddrAndPort& connAddr ) = 0;
00098 
00100    virtual void forwarderToForwarderConnectionEstablished( 
00101       const MAKRti::DtString& connName, unsigned int connID, 
00102       const DtInetAddrAndPort& connAddr ) = 0;
00103 
00105    virtual void forwarderToForwarderConnectionLost( 
00106       const MAKRti::DtString& connName, unsigned int connID, 
00107       const DtInetAddrAndPort& connAddr ) = 0;
00108 
00111    virtual void waitingForFowrarderConnections(
00112       const DtForwarderPort::DtConnAndNameMap& allNeededFws,
00113       const DtForwarderPort::DtConnAndNameMap& stillNeededFws ) = 0;
00114 
00117    virtual void notWaitingForFowrarderConnections() = 0;
00118 
00119      
00122    virtual void addRtiMsgCallback( DtRtiMsgKind msgKind, 
00123       DtRtiMsgCbMgr::DtCallbackFcn fcn, bool isMomCallback = false );
00124 
00127    virtual void removeRtiMsgCallback( DtRtiMsgKind msgKind,
00128       DtRtiMsgCbMgr::DtCallbackFcn fcn, bool isMomCallback = false );
00129 
00132    virtual void addTickCallback( DtTickCbFn fcn, MAKRti::DtTime interval );
00133 
00135    virtual void removeTickCallback( DtTickCbFn fcn );
00136 
00137    virtual int clientToForwarderSocketQueueUpdate( unsigned int connId, int connQueueStatus ) = 0;
00138 
00139    
00141    virtual unsigned long connectionId() const;
00142 
00143 protected:
00144 
00146    virtual void addCallbacks() = 0;
00147 
00150    virtual void removeCallbacks() = 0;
00151 
00152 private:
00153    
00155    DtRtiForwarderObserver( const DtRtiForwarderObserver& orig );
00156 
00158    DtRtiForwarderObserver& operator=( const DtRtiForwarderObserver& orig );
00159 
00160 protected:
00161 
00163    DtRtiForwarderObserverMgr* myMgr;
00164 
00165 };
00166 
00167 
00168 inline unsigned long DtRtiForwarderObserver::connectionId() const
00169 {
00170    if( myMgr )
00171    {
00172       return myMgr->connectionId();
00173    }
00174    else
00175    {
00176       return 0;
00177    }
00178 }
00179 
00180 
00181 #endif //! DtRtiForwarderObserver_H_
00182 
00183 

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)