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)
 
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

Referenced by C4PacketBase::unpack().

Here is the caller graph for this function:

◆ C4PktBuf() [2/3]

C4PktBuf::C4PktBuf ( const C4PktBuf rCopy)

Definition at line 171 of file C4Packet2.cpp.

References StdBuf::Copy(), and Data.

171  : C4PacketBase(rCopy)
172 {
173  Data.Copy(rCopy.Data);
174 }
void Copy(size_t inSize)
Definition: StdBuf.h:225
StdCopyBuf Data
Definition: C4PacketBase.h:226
Here is the call graph for this function:

◆ C4PktBuf() [3/3]

C4PktBuf::C4PktBuf ( const StdBuf rCpyData)

Definition at line 176 of file C4Packet2.cpp.

References StdBuf::Copy(), and Data.

177 {
178  Data.Copy(rCpyData);
179 }
void Copy(size_t inSize)
Definition: StdBuf.h:225
StdCopyBuf Data
Definition: C4PacketBase.h:226
Here is the call graph for this function:

Member Function Documentation

◆ CompileFunc()

void C4PktBuf::CompileFunc ( StdCompiler pComp)
overridevirtual

Implements C4PacketBase.

Definition at line 181 of file C4Packet2.cpp.

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

Referenced by C4PktDebugRec::CompileFunc().

182 {
183  pComp->Value(mkNamingAdapt(Data, "Data"));
184 }
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
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 233 of file C4PacketBase.h.

References C4PacketBase::CompileFunc(), and StdBuf::getData().

Referenced by C4Playback::Check().

233 { return Data.getData(); }
StdCopyBuf Data
Definition: C4PacketBase.h:226
const void * getData() const
Definition: StdBuf.h:99
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 232 of file C4PacketBase.h.

References StdBuf::getSize().

Referenced by C4Playback::Check().

232 { return Data.getSize(); }
size_t getSize() const
Definition: StdBuf.h:101
StdCopyBuf Data
Definition: C4PacketBase.h:226
Here is the call graph for this function:
Here is the caller 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.

Referenced by MkC4NetIOPacket().

151 {
152  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(*this), addr);
153 }
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.

References mkDecompileAdapt(), and mkInsertAdapt().

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

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

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

161 {
162  if (pStatus) *pStatus = Pkt.getStatus();
163  CompileFromBuf<StdCompilerBinRead>(*this, pStatus ? Pkt.getPBuf() : Pkt.getRef());
164 }
uint8_t getStatus() const
Definition: C4NetIO.h:318
StdBuf getPBuf() const
Definition: C4NetIO.h:321
C4NetIOPacket getRef() const
Definition: C4NetIO.h:324
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 C4PktBuf(), and CompileFunc().


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