![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantInfoMsg.h,v $ $Revision: 1.25 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantInfoMsg_H_ 00010 #define DtAssistantInfoMsg_H_ 00011 00014 00015 #include <vlutil/vlString.h> 00016 #include <vlutil/vlUtil.h> 00017 #include <rtiUtil.h> 00018 00019 #include "assistantConnectionInfo.h" 00020 #include "assistantMsg.h" 00021 #include "assistantConnectionConfigurationInfo.h" 00022 #include "netAssistantInfoMsg.h" 00023 00024 class DtAssistantInfoMsg; 00025 class DtRtiAssistantPeer; 00026 class DtRtiConnectionAndConfiguration; 00027 00028 00029 typedef void (*DtAssistantInfoCb)(const DtAssistantInfoMsg& inter, void* usr); 00030 00034 class DT_DLL_ASSISTANT DtAssistantInfoMsg : public DtAssistantMsg 00035 { 00036 public: 00037 00039 DtAssistantInfoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00040 00041 DtAssistantInfoMsg(const DtNetAssistantInfoMsg* netRepMsg, 00042 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00043 00045 virtual ~DtAssistantInfoMsg(); 00046 00048 virtual DtAssistantMsg* clone(bool copy = true) const; 00049 00051 virtual void setRtiexecsAndForwarders( 00052 const DtRtiConnectionAndConfiguration& rtiexecsAndForwarders ); 00053 00054 virtual void getRtiexecsAndForwarders( 00055 DtRtiConnectionAndConfiguration& rtiexecsAndForwarders, 00056 const MAKRti::DtInetAddr& interfaceReceivedOn ) const; 00057 00060 virtual bool isRemoval() const; 00061 virtual void setRemoval( bool val ); 00062 00065 virtual bool remoteCmdsAccepted() const; 00066 virtual void setRemoteCmdsAccepted( bool val ); 00067 00069 virtual unsigned int assistantInfoMemoryPeriod() const; 00070 virtual void setAssistantInfoMemoryPeriod(unsigned int interval); 00071 00073 virtual void printData() const; 00074 00075 public: 00076 00078 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00079 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00080 00081 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00082 00085 static void addCallback(DtRtiAssistantPeer* conn, 00086 DtAssistantInfoCb cb, void* usr); 00087 static void removeCallback(DtRtiAssistantPeer* conn, 00088 DtAssistantInfoCb cb, void* usr); 00089 00090 protected: 00091 00093 virtual DtNetAssistantInfoMsg* netAssistantInfoMsg(); 00094 virtual const DtNetAssistantInfoMsg* netAssistantInfoMsg() const; 00095 00097 virtual DtAssistantMsgKind internalMsgKind(); 00098 00100 virtual int minSize() const; 00101 00103 virtual void setRtiexecForwarderCount( unsigned long count ); 00104 virtual unsigned long rtiexecForwarderCount() const; 00105 00108 virtual const DtNetU128* reliableAddrsPtr() const; 00109 virtual DtNetU128* reliableAddrsPtr(); 00110 00113 virtual const DtNetU128* bestEffortAddrsPtr() const; 00114 virtual DtNetU128* bestEffortAddrsPtr(); 00115 00117 virtual const DtNetU32* addressFamiliesPtr() const; 00118 virtual DtNetU32* addressFamiliesPtr(); 00119 00121 virtual const DtNetU32* rtiexecCompIdsPtr() const; 00122 virtual DtNetU32* rtiexecCompIdsPtr(); 00123 00125 virtual const DtNetU32* forwarderCompIdsPtr() const; 00126 virtual DtNetU32* forwarderCompIdsPtr(); 00127 00129 virtual const DtNetU16* tcpPortsPtr() const; 00130 virtual DtNetU16* tcpPortsPtr(); 00131 00133 virtual const DtNetU16* udpPortsPtr() const; 00134 virtual DtNetU16* udpPortsPtr(); 00135 00138 virtual const DtNetU16* forwarderPortsPtr() const; 00139 virtual DtNetU16* forwarderPortsPtr(); 00140 00143 virtual const DtNetU8* fullCompliancePtr() const; 00144 virtual DtNetU8* fullCompliancePtr(); 00145 00148 virtual const DtNetU8* rtiexecForwarderFlagPtr() const; 00149 virtual DtNetU8* rtiexecForwarderFlagPtr(); 00150 00152 virtual void setRtiexecForwarderNamesSize( unsigned long size ); 00153 virtual unsigned long rtiexecForwarderNamesSize() const; 00154 00156 virtual const char* rtiexecForwarderNamesPtr() const; 00157 virtual char* rtiexecForwarderNamesPtr(); 00158 00160 virtual void setHostNamesSize( unsigned long size ); 00161 virtual unsigned long hostNamesSize() const; 00162 00164 virtual const char* hostNamesPtr() const; 00165 virtual char* hostNamesPtr(); 00166 00168 virtual void setOwnerHostSize( unsigned size ); 00169 virtual unsigned ownerHostSize() const; 00170 00172 virtual const char* ownerHostsPtr() const; 00173 virtual char* ownerHostsPtr(); 00174 00175 std::map<DtRtiConnectionInfo, DtRtiConnectionConfigurationInfo> myConfigurationsByConnectionMap; 00176 00178 static const unsigned theRtiexecFlag; 00179 00181 static const unsigned theForwarderFlag; 00182 00185 static const unsigned theForwarderHasRtiexecFlag; 00186 00187 }; 00188 00189 #endif // DtAssistantInfoMsg_H_ 00190