![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantForwarderStateMsg.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantForwarderStateMsg_H_ 00010 #define DtAssistantForwarderStateMsg_H_ 00011 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlUtil.h> 00018 00019 #include "assistantMsg.h" 00020 #include "federationInfo.h" 00021 #include "netAssistantForwarderStateMsg.h" 00022 #include "rtiVersion.h" 00023 00024 class DtRtiAssistantPeer; 00025 class DtRtiAssistantServer; 00026 class DtAssistantForwarderStateMsg; 00027 00028 typedef void (*DtAssistantForwarderStateCb)(const DtAssistantForwarderStateMsg& inter, void* usr); 00029 00034 class DT_DLL_ASSISTANT DtAssistantForwarderStateMsg : public DtAssistantMsg 00035 { 00036 public: 00037 00039 DtAssistantForwarderStateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00040 00041 DtAssistantForwarderStateMsg(const DtNetAssistantForwarderStateMsg* netRepMsg, 00042 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 00045 virtual ~DtAssistantForwarderStateMsg(); 00046 00048 virtual DtAssistantMsg* clone(bool copy = true) const; 00049 00051 virtual void printData() const; 00052 00053 public: 00054 00056 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00057 MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00058 00059 static DtAssistantMsg* create(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00060 00063 static void addCallback(DtRtiAssistantServer* conn, 00064 DtAssistantForwarderStateCb cb, void* usr); 00065 static void removeCallback(DtRtiAssistantServer* conn, 00066 DtAssistantForwarderStateCb cb, void* usr); 00067 00070 static void addCallback(DtRtiAssistantPeer* conn, 00071 DtAssistantForwarderStateCb cb, void* usr); 00072 static void removeCallback(DtRtiAssistantPeer* conn, 00073 DtAssistantForwarderStateCb cb, void* usr); 00074 00075 void getAllData(unsigned int& numForwarderToForwarderConns, 00076 std::vector<MAKRti::DtString>& forwarderIdentifiers, 00077 std::vector<MAKRti::DtString>& forwarderConnectionHostNames, 00078 std::vector<MAKRti::DtInetAddr>& forwarderConnectionAddrs, 00079 std::vector<int>& forwarderConnectionPorts, 00080 unsigned int& numExecConns, 00081 unsigned int& numForwarderClientConns, 00082 std::vector<MAKRti::DtString>& clientConnectionNames, 00083 std::vector<MAKRti::DtString>& clientConnectionTypeNames, 00084 std::vector<MAKRti::DtString>& clientConnectionProcessNames, 00085 std::vector<MAKRti::DtString>& clientConnectionPIDs, 00086 std::vector<MAKRti::DtString>& clientConnectionCommandArgs, 00087 std::vector<MAKRti::DtString>& clientConnectionHostNames, 00088 std::vector<MAKRti::DtInetAddr>& clientConnectionAddrs, 00089 std::vector<MAKRti::DtString>& clientConnectionFederationNames, 00090 std::vector<int>& clientConnectionHandles, 00091 std::vector<int>& clientConnectionQueueStatus, 00092 std::vector<DtHlaVersionId>& clientHlaVersions) const; 00093 00094 bool setAllData(unsigned int numForwarderToForwarderConns, 00095 const std::vector<MAKRti::DtString>& forwarderIdentifiers, 00096 const std::vector<MAKRti::DtString>& forwarderConnectionHostNames, 00097 const std::vector<MAKRti::DtInetAddr>& forwarderConnectionAddrs, 00098 const std::vector<int>& forwarderConnectionPorts, 00099 unsigned int numExecConns, 00100 unsigned int numForwarderClientConns, 00101 const std::vector<MAKRti::DtString>& clientConnectionNames, 00102 const std::vector<MAKRti::DtString>& clientConnectionTypeNames, 00103 const std::vector<MAKRti::DtString>& clientConnectionProcessNames, 00104 const std::vector<MAKRti::DtString>& clientConnectionPIDs, 00105 const std::vector<MAKRti::DtString>& clientConnectionCommandArgs, 00106 const std::vector<MAKRti::DtString>& clientConnectionHostNames, 00107 const std::vector<MAKRti::DtInetAddr>& clientConnectionAddrs, 00108 const std::vector<MAKRti::DtString>& clientConnectionFederationNames, 00109 const std::vector<int>& clientConnectionHandles, 00110 const std::vector<int>& clientConnectionQueueStatus, 00111 const std::vector<DtHlaVersionId>& clientHlaVersions ); 00112 00113 MAKRti::DtString toString() const; 00114 00115 virtual unsigned int numForwarderToForwarderConnections() const; 00116 virtual unsigned int numClientConnectionsThatAreExecs() const; 00117 virtual unsigned int numClientConnections() const; 00118 00119 protected: 00120 00122 virtual DtNetAssistantForwarderStateMsg* netAssistantForwarderStateMsg(); 00123 virtual const DtNetAssistantForwarderStateMsg* netAssistantForwarderStateMsg() const; 00124 00126 virtual DtAssistantMsgKind internalMsgKind(); 00127 00129 virtual int minSize() const; 00130 00131 virtual void setNumForwarderToForwarderConnections(unsigned int num); 00132 virtual void setNumClientConnectionsThatAreExecs(unsigned int num); 00133 virtual void setNumClientConnections(unsigned int num); 00134 00136 virtual DtInetUtils::DtInetAddrFamily addressFamily() const; 00137 virtual void setAddressFamily(DtInetUtils::DtInetAddrFamily fam); 00138 00139 00141 virtual void forwarderIds(std::vector<MAKRti::DtString>& ids) const; 00142 virtual bool setForwarderIds(const std::vector<MAKRti::DtString>& ids); 00143 00145 virtual void forwarderHostNames(std::vector<MAKRti::DtString>& names) const; 00146 virtual bool setForwarderHostNames(const std::vector<MAKRti::DtString>& names); 00147 00149 virtual void forwarderAddrs(std::vector<MAKRti::DtInetAddr>& addrs) const; 00150 virtual bool setForwarderAddrs(const std::vector<MAKRti::DtInetAddr>& addrs); 00151 00153 virtual void forwarderPorts(std::vector<int>& ports) const; 00154 virtual bool setForwarderPorts(const std::vector<int>& ports); 00155 00157 virtual void clientNames(std::vector<MAKRti::DtString>& names) const; 00158 virtual bool setClientNames(const std::vector<MAKRti::DtString>& names); 00159 00161 virtual void clientTypes(std::vector<MAKRti::DtString>& strTypes ) const; 00162 virtual bool setClientTypes(const std::vector<MAKRti::DtString>& strTypes); 00163 00165 virtual void clientProcessNames(std::vector<MAKRti::DtString>& processNames ) const; 00166 virtual bool setClientProcessNames(const std::vector<MAKRti::DtString>& processNames); 00167 00169 virtual void clientPIDs(std::vector<MAKRti::DtString>& pids ) const; 00170 virtual bool setClientPIDs( const std::vector<MAKRti::DtString>& pids ); 00171 00173 virtual void clientCommandArgs(std::vector<MAKRti::DtString>& commandArgs ) const; 00174 virtual bool setClientCommandArgs(const std::vector<MAKRti::DtString>& commandArgs ); 00175 00177 virtual void clientHostNames(std::vector<MAKRti::DtString>& names) const; 00178 virtual bool setClientHostNames(const std::vector<MAKRti::DtString>& names); 00179 00181 virtual void clientFederationNames(std::vector<MAKRti::DtString>& names) const; 00182 virtual bool setClientFederationNames(const std::vector<MAKRti::DtString>& names); 00183 00185 virtual void clientAddrs(std::vector<MAKRti::DtInetAddr>& addrs) const; 00186 virtual bool setClientAddrs(const std::vector<MAKRti::DtInetAddr>& addrs); 00187 00189 virtual void clientConnectionHandles(std::vector<int>& addrs) const; 00190 virtual bool setClientConnectionHandles(const std::vector<int>& handles); 00191 00193 virtual void clientConnectionQueueStatus(std::vector<int>& queueStatus) const; 00194 virtual bool setClientConnectionQueueStatus(const std::vector<int>& queueStatus); 00195 00197 virtual void clientHlaVersions(std::vector<DtHlaVersionId>& hlaVersions) const; 00198 virtual bool setClientHlaVersions(const std::vector<DtHlaVersionId>& hlaVersions); 00199 00200 00202 virtual unsigned int forwarderIdsSize() const; 00203 virtual void setForwarderIdsSize(unsigned int size); 00205 virtual const char* forwarderIdsPtr() const; 00206 virtual char* forwarderIdsPtr(); 00207 00209 virtual unsigned int forwarderHostNamesSize() const; 00210 virtual void setForwarderHostNamesSize(unsigned int size); 00212 virtual const char* forwarderHostNamesPtr() const; 00213 virtual char* forwarderHostNamesPtr(); 00214 00216 virtual const DtNetU128* forwarderAddrsPtr() const; 00217 virtual DtNetU128* forwarderAddrsPtr(); 00218 00220 virtual const DtNetU16* forwarderPortsPtr() const; 00221 virtual DtNetU16* forwarderPortsPtr(); 00222 00224 virtual unsigned int clientNamesSize() const; 00225 virtual void setClientNamesSize(unsigned int size); 00227 virtual const char* clientNamesPtr() const; 00228 virtual char* clientNamesPtr(); 00229 00231 virtual unsigned int clientTypesSize() const; 00232 virtual void setClientTypesSize(unsigned int size); 00234 virtual const char* clientTypesPtr() const; 00235 virtual char* clientTypesPtr(); 00236 00238 virtual unsigned int clientProcessNamesSize() const; 00239 virtual void setClientProcessNamesSize(unsigned int size); 00241 virtual const char* clientProcessNamesPtr() const; 00242 virtual char* clientProcessNamesPtr(); 00243 00245 virtual unsigned int clientPIDsSize() const; 00246 virtual void setClientPIDsSize(unsigned int size); 00248 virtual const char* clientPIDsPtr() const; 00249 virtual char* clientPIDsPtr(); 00250 00252 virtual unsigned int clientCommandArgsSize() const; 00253 virtual void setClientCommandArgsSize(unsigned int size); 00255 virtual const char* clientCommandArgsPtr() const; 00256 virtual char* clientCommandArgsPtr(); 00257 00259 virtual unsigned int clientHostNamesSize() const; 00260 virtual void setClientHostNamesSize(unsigned int size); 00262 virtual const char* clientHostNamesPtr() const; 00263 virtual char* clientHostNamesPtr(); 00264 00266 virtual unsigned int clientFederationNamesSize() const; 00267 virtual void setClientFederationNamesSize(unsigned int size); 00269 virtual const char* clientFederationNamesPtr() const; 00270 virtual char* clientFederationNamesPtr(); 00271 00273 virtual const DtNetU128* clientAddrsPtr() const; 00274 virtual DtNetU128* clientAddrsPtr(); 00275 00277 virtual const DtNetU16* clientConnectionHandlesPtr() const; 00278 virtual DtNetU16* clientConnectionHandlesPtr(); 00279 00281 const DtNetU16* clientConnectionQueueStatusPtr() const; 00282 DtNetU16* clientConnectionQueueStatusPtr(); 00283 00285 const DtNetU8* clientHlaVersionsPtr() const; 00286 DtNetU8* clientHlaVersionsPtr(); 00287 }; 00288 00289 #endif