VR-Forces 4.0.4 Class Documentation
include/vrfmsgs/splitMsgHandle.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)