![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: splitMsgHandle.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00014 00015 00016 #ifndef DtSplitMessageHandle_H_ 00017 #define DtSplitMessageHandle_H_ 00018 00019 #include <vlpi/NetStructs.h> 00020 #include <vlpi/simulationAddress.h> 00021 00025 struct DtNetSplitMessageHandle 00026 { 00027 DtNetBoolean mySignalMessageFlag; 00028 DtNetFederateId myMessageSimulatorId; 00029 DtNetU16 myMessageNumber; 00030 DtNetU32 myFullMessageSize; 00031 DtNetU16 myNumberOfChunks; 00032 DtNetU16 padding; 00033 DtNetU8 padding2; 00034 00035 }; 00036 00041 00051 #include "vrfmsgs/vrfmsgsDefines.h" 00052 class DT_DLL_vrfmsgs DtSplitMessageHandle 00053 { 00054 00055 public: 00056 00058 DtSplitMessageHandle(); 00059 00061 DtSplitMessageHandle(const DtSplitMessageHandle & orig); 00062 00064 virtual ~DtSplitMessageHandle(); 00065 00066 protected: 00067 00069 const DtSplitMessageHandle & operator=(DtSplitMessageHandle & orig); 00070 00071 public: 00072 00074 virtual DtSplitMessageHandle * clone() const; 00075 00077 virtual int netRepSize() const; 00078 00080 virtual bool setFromNet(const char* networkBuffer, 00081 unsigned contentSize); 00082 00086 virtual bool setToNet(char *pBuffer); 00087 00088 virtual void printDataToString(DtString& str); 00089 00091 public: 00092 00095 DtU32 fullMessageSize() const; 00096 void setFullMessageSize(DtU32 nSize); 00098 00101 bool isSignalMessage() const; 00102 void setIsSignalMessage(bool bSignal); 00104 00107 const DtSimulationAddress& messageSimulationId() const; 00108 void setMessageSimulationId(const DtSimulationAddress& addr); 00110 00113 DtU16 messageNumber() const; 00114 void setMessageNumber(DtU16 newNum); 00116 00119 DtU16 numberOfChunks() const; 00120 void setNumberOfChunks(DtU16 newNum); 00122 00123 protected: 00128 DtSimulationAddress myMessageSimulationId; 00129 DtU16 myMessageNumber; 00131 00133 bool myIsSignalMessage; 00134 00136 DtU32 myFullMessageSize; 00137 00139 DtU16 myNumberOfChunks; 00140 }; 00141 00142 inline bool DtSplitMessageHandle::isSignalMessage() const 00143 { 00144 return (myIsSignalMessage); 00145 } 00146 00147 inline void DtSplitMessageHandle::setIsSignalMessage(bool bSignal) 00148 { 00149 myIsSignalMessage = bSignal; 00150 } 00151 00152 inline const DtSimulationAddress& DtSplitMessageHandle::messageSimulationId() const 00153 { 00154 return (myMessageSimulationId); 00155 } 00156 00157 inline void DtSplitMessageHandle::setMessageSimulationId(const DtSimulationAddress& addr) 00158 { 00159 myMessageSimulationId = addr; 00160 } 00161 00162 inline DtU16 DtSplitMessageHandle::messageNumber() const 00163 { 00164 return (myMessageNumber); 00165 } 00166 00167 inline void DtSplitMessageHandle::setMessageNumber(DtU16 newNum) 00168 { 00169 myMessageNumber = newNum; 00170 } 00171 00172 inline DtU32 DtSplitMessageHandle::fullMessageSize() const 00173 { 00174 return (myFullMessageSize); 00175 } 00176 00177 inline void DtSplitMessageHandle::setFullMessageSize(DtU32 nSize) 00178 { 00179 myFullMessageSize = nSize; 00180 } 00181 00182 inline DtU16 DtSplitMessageHandle::numberOfChunks() const 00183 { 00184 return (myNumberOfChunks); 00185 } 00186 00187 inline void DtSplitMessageHandle::setNumberOfChunks(DtU16 newNum) 00188 { 00189 myNumberOfChunks = newNum; 00190 } 00191 00192 #endif 00193 00194