![]() |
MAK RTIspy API Documentation for HLA 1.3
|
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