![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantLightweightInfoMsg.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantLightweightInfoMsg_H_ 00010 #define DtAssistantLightweightInfoMsg_H_ 00011 00014 00015 #include <vlutil/vlString.h> 00016 #include <vlutil/vlUtil.h> 00017 #include <rtiUtil.h> 00018 00019 #include "assistantConnectionInfo.h" 00020 #include "assistantLicServerInfo.h" 00021 #include "assistantMsg.h" 00022 #include "assistantConnectionConfigurationInfo.h" 00023 #include "netAssistantLightweightInfoMsg.h" 00024 00025 class DtAssistantLightweightInfoMsg; 00026 class DtRtiAssistantPeer; 00027 class DtRtiConnectionAndConfiguration; 00028 00029 00030 typedef void (*DtAssistantLightweightInfoCb)(const DtAssistantLightweightInfoMsg& inter, void* usr); 00031 00035 class DT_DLL_ASSISTANT DtAssistantLightweightInfoMsg : public DtAssistantMsg 00036 { 00037 public: 00038 00040 DtAssistantLightweightInfoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00042 DtAssistantLightweightInfoMsg(const DtNetAssistantLightweightInfoMsg* netRepMsg, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00044 00046 virtual ~DtAssistantLightweightInfoMsg(); 00047 00049 virtual DtAssistantMsg* clone(bool copy = true) const; 00050 00052 virtual void setLightweightConns( 00053 const DtRtiConnectionAndConfiguration& lightweightConnections); 00054 virtual void getLightweightConns(DtRtiConnectionAndConfiguration& lightweightConnections, 00055 const MAKRti::DtInetAddr& networkInterfaceReceivedOn ) const; 00056 00058 virtual unsigned int lightweightMemoryPeriod() const; 00059 virtual void setLightweightMemoryPeriod(unsigned int interval); 00060 00062 virtual void printData() const; 00063 00064 public: 00065 00067 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00068 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00069 00070 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00071 00074 static void addCallback(DtRtiAssistantPeer* conn, 00075 DtAssistantLightweightInfoCb cb, void* usr); 00076 static void removeCallback(DtRtiAssistantPeer* conn, 00077 DtAssistantLightweightInfoCb cb, void* usr); 00078 00079 protected: 00080 00082 virtual DtNetAssistantLightweightInfoMsg* netAssistantLightweightInfoMsg(); 00083 virtual const DtNetAssistantLightweightInfoMsg* netAssistantLightweightInfoMsg() const; 00084 00086 virtual DtAssistantMsgKind internalMsgKind(); 00087 00089 virtual int minSize() const; 00090 00092 virtual void setLightweightConnCount( unsigned count ); 00093 virtual unsigned lightweightConnCount() const; 00094 00096 virtual void setLightweightNamesSize( unsigned size ); 00097 virtual unsigned lightweightNamesSize() const; 00098 00100 virtual void setOwnerHostSize( unsigned size ); 00101 virtual unsigned ownerHostSize() const; 00102 00104 virtual const DtNetU128* lightweightBestEffortAddrsPtr() const; 00105 virtual DtNetU128* lightweightBestEffortAddrsPtr(); 00106 00108 virtual const DtNetU32* addressFamiliesPtr() const; 00109 virtual DtNetU32* addressFamiliesPtr(); 00110 00112 virtual const DtNetU16* lightweightPortsPtr() const; 00113 virtual DtNetU16* lightweightPortsPtr(); 00114 00116 virtual const char* lightweightNamesPtr() const; 00117 virtual char* lightweightNamesPtr(); 00118 00120 virtual const char* ownerHostsPtr() const; 00121 virtual char* ownerHostsPtr(); 00122 00123 }; 00124 00125 #endif // DtAssistantLightweightInfoMsg_H_ 00126