![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantAwaitingFwsMsg.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantAwaitingForwardersMsg_H_ 00010 #define DtAssistantAwaitingForwardersMsg_H_ 00011 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlUtil.h> 00018 00019 #include "assistantMsg.h" 00020 #include "federationInfo.h" 00021 #include "netAssistantAwaitingFwsMsg.h" 00022 #include "rtiAssistantForwarderClient.h" 00023 #include "rtiVersion.h" 00024 00025 class DtRtiAssistantServer; 00026 class DtRtiAssistantClient; 00027 class DtAssistantAwaitingForwardersMsg; 00028 00029 typedef void (*DtAssistantAwaitingForwardersCb)(const DtAssistantAwaitingForwardersMsg& inter, void* usr); 00030 00036 class DT_DLL_ASSISTANT DtAssistantAwaitingForwardersMsg : public DtAssistantMsg 00037 { 00038 public: 00039 00041 DtAssistantAwaitingForwardersMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00042 00043 DtAssistantAwaitingForwardersMsg(const DtNetAssistantAwaitingForwardersMsg* netRepMsg, 00044 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00045 00047 virtual ~DtAssistantAwaitingForwardersMsg(); 00048 00050 virtual DtAssistantMsg* clone(bool copy = true) const; 00051 00053 virtual void printData() const; 00054 00055 public: 00056 00058 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00059 MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00060 00061 static DtAssistantMsg* create(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00062 00065 static void addCallback(DtRtiAssistantServer* conn, 00066 DtAssistantAwaitingForwardersCb cb, void* usr); 00067 static void removeCallback(DtRtiAssistantServer* conn, 00068 DtAssistantAwaitingForwardersCb cb, void* usr); 00069 00072 static void addCallback(DtRtiAssistantClient* conn, 00073 DtAssistantAwaitingForwardersCb cb, void* usr); 00074 static void removeCallback(DtRtiAssistantClient* conn, 00075 DtAssistantAwaitingForwardersCb cb, void* usr); 00076 00078 void getForwarders(DtNeededFwConnMap& fws) const; 00079 00081 void setForwarders(const DtNeededFwConnMap& fws); 00082 00085 bool isWaitingForForwarders() const; 00086 00089 void setIsWaitingForForwarders(bool isWaiting); 00090 00092 unsigned int numForwarders() const; 00093 00094 protected: 00095 00097 virtual DtNetAssistantAwaitingForwardersMsg* netAssistantAwaitingForwardersMsg(); 00098 virtual const DtNetAssistantAwaitingForwardersMsg* netAssistantAwaitingForwardersMsg() const; 00099 00101 virtual DtAssistantMsgKind internalMsgKind(); 00102 00104 virtual int minSize() const; 00105 00107 virtual const DtNetU128* forwarderAddrsPtr() const; 00108 virtual DtNetU128* forwarderAddrsPtr(); 00109 00111 virtual const DtNetU16* forwarderPortsPtr() const; 00112 virtual DtNetU16* forwarderPortsPtr(); 00113 00115 virtual unsigned int forwarderNamesSize() const; 00116 virtual void setForwarderNamesSize(unsigned int size); 00117 00119 virtual const char* forwarderNamesPtr() const; 00120 virtual char* forwarderNamesPtr(); 00121 00123 const DtNetU8* forwarderConnectedPtr() const; 00124 DtNetU8* forwarderConnectedPtr(); 00125 }; 00126 00127 #endif