Horizon Official Technical Documentation
Horizon::Zone::CZ_MAIL_SEND Class Reference

Main object for the aegis packet: CZ_MAIL_SEND. More...

#include <HandledPackets.hpp>

+ Inheritance diagram for Horizon::Zone::CZ_MAIL_SEND:
+ Collaboration diagram for Horizon::Zone::CZ_MAIL_SEND:

Public Member Functions

 CZ_MAIL_SEND (std::shared_ptr< ZoneSession > s)
 
virtual ~CZ_MAIL_SEND ()
 
void handle (ByteBuffer &&buf)
 CZ_MAIL_SEND. More...
 
void deserialize (ByteBuffer &buf)
 
- Public Member Functions inherited from Horizon::Base::NetworkPacket< ZoneSession >
 NetworkPacket (uint16_t packet_id, std::shared_ptr< ZoneSession > s)
 
virtual ~NetworkPacket ()
 
void set_packet_id (uint16_t id)
 
uint16_t get_packet_id ()
 
ByteBufferbuf ()
 
std::shared_ptr< ZoneSession > get_session ()
 Retrieves the session from this handler instance. More...
 
virtual void handle (ByteBuffer &&buf)
 
virtual void deserialize (ByteBuffer &buf)
 
void transmit ()
 Send an Asynchronous packet by queueing a buffer of a particular size to the connected session. More...
 
void transmit (std::size_t size)
 Send an Asynchronous packet by queueing a buffer of a particular size to the connected session. More...
 

Public Attributes

int16_t _packet_length { 0 }
 
char _recipient [MAX_UNIT_NAME_LENGTH]
 
char _title [MAX_MAIL_TITLE_LENGTH]
 
int8_t _body_length { 0 }
 
char _body [MAX_MAIL_BODY_LENGTH]
 

Additional Inherited Members

- Protected Attributes inherited from Horizon::Base::NetworkPacket< ZoneSession >
ByteBuffer _buffer
 Buffer storage facility for the packet stream. More...
 
uint16_t _packet_id
 ID of the network packet. More...
 

Detailed Description

Main object for the aegis packet: CZ_MAIL_SEND.

Constructor & Destructor Documentation

◆ CZ_MAIL_SEND()

Horizon::Zone::CZ_MAIL_SEND::CZ_MAIL_SEND ( std::shared_ptr< ZoneSession s)
inline
12922 : NetworkPacket<ZoneSession>(ID_CZ_MAIL_SEND, s)
12923 {}
@ ID_CZ_MAIL_SEND
Definition: HandledPackets.hpp:12895

◆ ~CZ_MAIL_SEND()

virtual Horizon::Zone::CZ_MAIL_SEND::~CZ_MAIL_SEND ( )
inlinevirtual
12924{}

Member Function Documentation

◆ deserialize()

void CZ_MAIL_SEND::deserialize ( ByteBuffer buf)
virtual

Reimplemented from Horizon::Base::NetworkPacket< ZoneSession >.

2082{
2083 buf >> _packet_id;
2087 buf >> _body_length;
2089}
#define MAX_MAIL_TITLE_LENGTH
Definition: ClientDefinitions.hpp:66
#define MAX_UNIT_NAME_LENGTH
Definition: Client.hpp:34
T read()
Definition: ByteBuffer.hpp:379
uint16_t _packet_id
ID of the network packet.
Definition: NetworkPacket.hpp:87
ByteBuffer & buf()
Definition: NetworkPacket.hpp:59
char _body[MAX_MAIL_BODY_LENGTH]
Definition: HandledPackets.hpp:12934
char _recipient[MAX_UNIT_NAME_LENGTH]
Definition: HandledPackets.hpp:12931
int16_t _packet_length
Definition: HandledPackets.hpp:12930
char _title[MAX_MAIL_TITLE_LENGTH]
Definition: HandledPackets.hpp:12932
int8_t _body_length
Definition: HandledPackets.hpp:12933

References _body, _body_length, Horizon::Base::NetworkPacket< ZoneSession >::_packet_id, _packet_length, _recipient, _title, Horizon::Base::NetworkPacket< ZoneSession >::buf(), MAX_MAIL_TITLE_LENGTH, MAX_UNIT_NAME_LENGTH, and ByteBuffer::read().

Referenced by handle().

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

◆ handle()

void CZ_MAIL_SEND::handle ( ByteBuffer &&  buf)
virtual

CZ_MAIL_SEND.

Reimplemented from Horizon::Base::NetworkPacket< ZoneSession >.

2077{
2079 get_session()->clif()->mail().send(_recipient, _title, _body);
2080}
std::shared_ptr< ZoneSession > get_session()
Retrieves the session from this handler instance.
Definition: NetworkPacket.hpp:65
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:2081

References _body, _recipient, _title, Horizon::Base::NetworkPacket< ZoneSession >::buf(), deserialize(), and Horizon::Base::NetworkPacket< ZoneSession >::get_session().

+ Here is the call graph for this function:

Member Data Documentation

◆ _body

char Horizon::Zone::CZ_MAIL_SEND::_body[MAX_MAIL_BODY_LENGTH]

Referenced by deserialize(), and handle().

◆ _body_length

int8_t Horizon::Zone::CZ_MAIL_SEND::_body_length { 0 }

Referenced by deserialize().

◆ _packet_length

int16_t Horizon::Zone::CZ_MAIL_SEND::_packet_length { 0 }

Referenced by deserialize().

◆ _recipient

char Horizon::Zone::CZ_MAIL_SEND::_recipient[MAX_UNIT_NAME_LENGTH]

Referenced by deserialize(), and handle().

◆ _title

char Horizon::Zone::CZ_MAIL_SEND::_title[MAX_MAIL_TITLE_LENGTH]

Referenced by deserialize(), and handle().


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