![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2009 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: forwarderPortMsg.h,v $ $Revision: 1.1.2.1 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtForwarderPortMsg_H_ 00010 #define DtForwarderPortMsg_H_ 00011 00016 00017 #include <vlutil/vlString.h> 00018 #include <vlutil/vlUtil.h> 00019 #include <vlutil/vlInetAddr.h> 00020 00021 #include "rtiMsg.h" 00022 #include "netForwarderPortMsg.h" 00023 #include <map> 00024 00025 class DtForwarderPortMsg; 00026 class DtConnectionMgr; 00027 00028 typedef void (*DtForwarderPortCb)(const DtForwarderPortMsg& msg, void* usr); 00029 00030 00034 class DT_DLL_LRC DtForwarderPortMsg : public DtRtiMsg 00035 { 00036 public: 00037 00038 00040 DtForwarderPortMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00042 DtForwarderPortMsg(const DtNetForwarderPortMsg* netRepMsg, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00044 00046 virtual ~DtForwarderPortMsg(); 00047 00049 virtual DtRtiMsg* clone(bool copy = true) const; 00050 00052 virtual void printData() const; 00053 00055 virtual void setListeningPort(unsigned port); 00056 virtual unsigned listeningPort() const; 00057 00059 virtual void setConnectedPort(unsigned port); 00060 virtual unsigned connectedPort() const; 00061 00064 virtual void setAddress(const MAKRti::DtInetAddr& addressValue); 00065 virtual MAKRti::DtInetAddr address() const; 00066 00067 public: 00068 00070 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00071 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00072 00073 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00074 00077 static void addCallback(DtConnectionMgr* conn, 00078 DtForwarderPortCb cb, void* usr); 00079 static void removeCallback(DtConnectionMgr* conn, 00080 DtForwarderPortCb cb, void* usr); 00081 00082 00083 protected: 00084 00086 virtual DtNetForwarderPortMsg* netForwarderPortMsg(); 00087 virtual const DtNetForwarderPortMsg* netForwarderPortMsg() const; 00088 00090 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00091 00093 virtual int minSize() const; 00094 00095 00096 }; 00097 00098 #endif