![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantConnQueryMsg.h,v $ $Revision: 1.18 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef assistantConnQueryMsg_H_ 00013 #define assistantConnQueryMsg_H_ 00014 00017 00018 #include "assistantMsg.h" 00019 #include "netAssistantConnQueryMsg.h" 00020 #include "assistantConnectionInfo.h" 00021 00022 class DtAssistantConnQueryMsg; 00023 class DtRtiAssistantServer; 00024 class DtAssistantMsgQueue; 00025 00026 typedef void (*DtAssistantConnQueryCb)(const DtAssistantConnQueryMsg& inter, void* usr); 00027 00028 00033 class DT_DLL_ASSISTANT DtAssistantConnQueryMsg : public DtAssistantMsg 00034 { 00035 00036 public: 00037 00039 DtAssistantConnQueryMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00040 00042 DtAssistantConnQueryMsg(const DtNetAssistantConnQueryMsg* netRep, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00044 00046 virtual ~DtAssistantConnQueryMsg(); 00047 00049 virtual DtAssistantMsg* clone(bool copy = true) const; 00050 00052 virtual MAKRti::DtInetAddr reliableIpAddress() const; 00053 00055 virtual MAKRti::DtInetAddr bestEffortIpAddress() const; 00056 00058 virtual MAKRti::DtInetAddr networkInterfaceAddress() const; 00059 00061 virtual MAKRti::DtInetUtils::DtInetAddrFamily addressFamily() const; 00062 00064 virtual int udpPort() const; 00065 00067 virtual int tcpPort() const; 00068 00070 virtual bool useRtiexec() const; 00071 00073 virtual void setIsAssistantToAssistant(bool yesNo); 00074 00076 virtual bool isAssistantToAssistant() const; 00077 00079 virtual bool forceFullCompliance() const; 00080 00082 virtual bool isAccepted() const; 00083 00085 virtual bool isError() const; 00086 00089 virtual MAKRti::DtInetAddr additionalForwarderConnectionAddr() const; 00090 00093 virtual int forwarderPort() const; 00094 00096 virtual void printData() const; 00097 00098 virtual void setLRCParameters( const MAKRti::DtInetAddr& address, 00099 const MAKRti::DtInetAddr& bestEffortIpAddr, 00100 const MAKRti::DtInetAddr& networkInterfaceToUse, int udpPort, 00101 int tcpPort, bool useRtiExec, bool isForceFullCompliance, 00102 int forwarderPort, bool isAccepted ); 00103 00104 virtual void setForwardingParameters( const MAKRti::DtInetAddr& addr, 00105 const MAKRti::DtInetAddr& bestEffortAddr, 00106 const MAKRti::DtInetAddr& networkInterface, int udpPort, int tcpPort, 00107 bool isFullyCompliant, int forwarderPort, 00108 const MAKRti::DtInetAddr& additionalForwarder, bool isAccepted ); 00109 00111 virtual void setError( bool val ); 00112 00113 protected: 00114 00116 virtual void setReliableIpAddress(const MAKRti::DtInetAddr& ipAddress); 00117 00119 virtual void setBestEffortIpAddress(const MAKRti::DtInetAddr& ipAddress); 00120 00122 virtual void setNetworkInterfaceAddress(const MAKRti::DtInetAddr& address); 00123 00125 virtual void setAddressFamily(MAKRti::DtInetUtils::DtInetAddrFamily addrFamily); 00126 00128 virtual void setUdpPort(int port); 00129 00131 virtual void setTcpPort(int port); 00132 00134 virtual void setUseRtiexec( bool val ); 00135 00137 virtual void setForceFullCompliance( bool val ); 00138 00140 virtual void setAccepted( bool val ); 00141 00144 virtual void setAdditionalForwarderConnectionAddr(const MAKRti::DtInetAddr& addr); 00145 00148 virtual void setForwarderPort( int port ); 00149 00150 virtual void setAdditionalForwarderSize(unsigned long size); 00151 virtual unsigned long additionalForwarderSize() const; 00152 00153 virtual const char* additionalForwarderPtr() const; 00154 virtual char* additionalForwarderPtr(); 00155 00156 00157 00158 public: 00159 00161 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00162 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00163 00165 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00166 00168 static void addCallback(DtRtiAssistantServer* conn, 00169 DtAssistantConnQueryCb cb, void* usr); 00170 static void removeCallback(DtRtiAssistantServer* conn, 00171 DtAssistantConnQueryCb cb, void* usr); 00172 static void addCallback(DtAssistantMsgQueue* queue, 00173 DtAssistantConnQueryCb cb, void* usr); 00174 static void removeCallback(DtAssistantMsgQueue* queue, 00175 DtAssistantConnQueryCb cb, void* usr); 00176 00177 protected: 00178 00180 virtual DtNetAssistantConnQueryMsg* netAssistantConnQueryMsg(); 00181 virtual const DtNetAssistantConnQueryMsg* netAssistantConnQueryMsg() const; 00182 00184 virtual DtAssistantMsgKind internalMsgKind(); 00185 00187 virtual int minSize() const; 00188 00189 }; 00190 00191 #endif