OpenClonk
C4PktBuf Class Reference

#include <C4PacketBase.h>

Inheritance diagram for C4PktBuf:
[legend]
Collaboration diagram for C4PktBuf:
[legend]

Public Member Functions

 C4PktBuf ()
 
 C4PktBuf (const C4PktBuf &rCopy)
 
 C4PktBuf (const StdBuf &rCpyData)
 
C4PktBufoperator= (const C4PktBuf &rCopy)
 
C4PktBufoperator= (const StdBuf &rCopy)
 
size_t getSize () const
 
const void * getData () const
 
void CompileFunc (StdCompiler *pComp) override
 
C4NetIOPacket pack (const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const
 
C4NetIOPacket pack (uint8_t cStatus, const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const
 
void unpack (const C4NetIOPacket &Pkt, char *pStatus=nullptr)
 

Protected Attributes

StdCopyBuf Data
 

Detailed Description

Definition at line 223 of file C4PacketBase.h.

Constructor & Destructor Documentation

◆ C4PktBuf() [1/3]

C4PktBuf::C4PktBuf ( )
default

◆ C4PktBuf() [2/3]

C4PktBuf::C4PktBuf ( const C4PktBuf rCopy)
inline

Definition at line 229 of file C4PacketBase.h.

229 { *this = rCopy; }

◆ C4PktBuf() [3/3]

C4PktBuf::C4PktBuf ( const StdBuf rCpyData)
inline

Definition at line 230 of file C4PacketBase.h.

230 { *this = rCpyData; }

Member Function Documentation

◆ CompileFunc()

void C4PktBuf::CompileFunc ( StdCompiler pComp)
overridevirtual

Implements C4PacketBase.

Definition at line 182 of file C4Packet2.cpp.

183 {
184  pComp->Value(mkNamingAdapt(Data, "Data"));
185 }
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
Definition: StdAdaptors.h:92
StdCopyBuf Data
Definition: C4PacketBase.h:226
void Value(const T &rStruct)
Definition: StdCompiler.h:161

References Data, mkNamingAdapt(), and StdCompiler::Value().

Referenced by C4PktDebugRec::CompileFunc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getData()

const void* C4PktBuf::getData ( ) const
inline

Definition at line 235 of file C4PacketBase.h.

235 { return Data.getData(); }
const void * getData() const
Definition: StdBuf.h:99

References Data, and StdBuf::getData().

Referenced by C4Playback::Check().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSize()

size_t C4PktBuf::getSize ( ) const
inline

Definition at line 234 of file C4PacketBase.h.

234 { return Data.getSize(); }
size_t getSize() const
Definition: StdBuf.h:101

References Data, and StdBuf::getSize().

Referenced by C4Playback::Check().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

C4PktBuf & C4PktBuf::operator= ( const C4PktBuf rCopy)

Definition at line 176 of file C4Packet2.cpp.

177 {
178  Data.Copy(rCopy.Data);
179  return *this;
180 }
void Copy(size_t inSize)
Definition: StdBuf.h:225

References StdBuf::Copy(), and Data.

Here is the call graph for this function:

◆ operator=() [2/2]

C4PktBuf & C4PktBuf::operator= ( const StdBuf rCopy)

Definition at line 171 of file C4Packet2.cpp.

172 {
173  Data.Copy(rCpyData);
174  return *this;
175 }

References StdBuf::Copy(), and Data.

Here is the call graph for this function:

◆ pack() [1/2]

C4NetIOPacket C4PacketBase::pack ( const C4NetIO::addr_t addr = C4NetIO::addr_t()) const
inherited

Definition at line 150 of file C4Packet2.cpp.

151 {
152  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(*this), addr);
153 }

Referenced by MkC4NetIOPacket().

Here is the caller graph for this function:

◆ pack() [2/2]

C4NetIOPacket C4PacketBase::pack ( uint8_t  cStatus,
const C4NetIO::addr_t addr = C4NetIO::addr_t() 
) const
inherited

Definition at line 155 of file C4Packet2.cpp.

156 {
157  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(mkInsertAdapt(mkDecompileAdapt(*this), cStatus)), addr);
158 }
StdInsertAdapt< T, I > mkInsertAdapt(T &&rObj, I &&rIns, bool fBefore=true)
Definition: StdAdaptors.h:469
StdDecompileAdapt< T > mkDecompileAdapt(const T &rValue)
Definition: StdAdaptors.h:153

References mkDecompileAdapt(), and mkInsertAdapt().

Here is the call graph for this function:

◆ unpack()

void C4PacketBase::unpack ( const C4NetIOPacket Pkt,
char *  pStatus = nullptr 
)
inherited

Definition at line 160 of file C4Packet2.cpp.

161 {
162  if (pStatus) *pStatus = Pkt.getStatus();
163  CompileFromBuf<StdCompilerBinRead>(*this, pStatus ? Pkt.getPBuf() : Pkt.getRef());
164 }
uint8_t getStatus() const
Definition: C4NetIO.h:319
StdBuf getPBuf() const
Definition: C4NetIO.h:322
C4NetIOPacket getRef() const
Definition: C4NetIO.h:325

References C4NetIOPacket::getPBuf(), C4NetIOPacket::getRef(), and C4NetIOPacket::getStatus().

Referenced by C4IDPacket::C4IDPacket(), and C4Network2IO::HandlePacket().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ Data

StdCopyBuf C4PktBuf::Data
protected

Definition at line 226 of file C4PacketBase.h.

Referenced by CompileFunc(), getData(), getSize(), and operator=().


The documentation for this class was generated from the following files: