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

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

#include <TransmittedPackets.hpp>

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

Public Member Functions

 ZC_MEMBERMGR_INFO (std::shared_ptr< ZoneSession > s)
 
virtual ~ZC_MEMBERMGR_INFO ()
 
void deliver (std::vector< s_zc_membermgr_info_member > s)
 ZC_MEMBERMGR_INFO. More...
 
ByteBufferserialize ()
 
- 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 }
 
std::vector< s_zc_membermgr_info_member_members
 

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: ZC_MEMBERMGR_INFO.

Constructor & Destructor Documentation

◆ ZC_MEMBERMGR_INFO()

Horizon::Zone::ZC_MEMBERMGR_INFO::ZC_MEMBERMGR_INFO ( std::shared_ptr< ZoneSession s)
inline
30326 : NetworkPacket<ZoneSession>(ID_ZC_MEMBERMGR_INFO, s)
30327 {}
@ ID_ZC_MEMBERMGR_INFO
Definition: TransmittedPackets.hpp:30278

◆ ~ZC_MEMBERMGR_INFO()

virtual Horizon::Zone::ZC_MEMBERMGR_INFO::~ZC_MEMBERMGR_INFO ( )
inlinevirtual
30328{}

Member Function Documentation

◆ deliver()

void ZC_MEMBERMGR_INFO::deliver ( std::vector< s_zc_membermgr_info_member s)

ZC_MEMBERMGR_INFO.

1688{
1689 _packet_length = 4 + (sizeof(s_zc_membermgr_info_member) * s.size());
1690 _members = s;
1691
1692 serialize();
1693 transmit();
1694}
void transmit()
Send an Asynchronous packet by queueing a buffer of a particular size to the connected session.
Definition: NetworkPacket.hpp:94
int16_t _packet_length
Definition: TransmittedPackets.hpp:30334
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:1696
std::vector< s_zc_membermgr_info_member > _members
Definition: TransmittedPackets.hpp:30335
Definition: ClientDefinitions.hpp:139

References _members, _packet_length, serialize(), and Horizon::Base::NetworkPacket< ZoneSession >::transmit().

+ Here is the call graph for this function:

◆ serialize()

ByteBuffer & ZC_MEMBERMGR_INFO::serialize ( )
1697{
1698 buf() << _packet_id;
1699 buf() << _packet_length;
1700 for (auto s : _members) {
1701 buf() << s.account_id;
1702 buf() << s.character_id;
1703 buf() << s.hair_style_id;
1704 buf() << s.hair_color_id;
1705 buf() << s.gender;
1706 buf() << s.job;
1707 buf() << s.level;
1708 buf() << s.contribution_exp;
1709 buf() << s.current_state;
1710 buf() << s.position_id;
1711 buf() << s.last_login;
1712 buf().append(s.name, MAX_UNIT_NAME_LENGTH);
1713 }
1714 return buf();
1715}
#define MAX_UNIT_NAME_LENGTH
Definition: Client.hpp:34
void append(T value)
Definition: ByteBuffer.hpp:140
uint16_t _packet_id
ID of the network packet.
Definition: NetworkPacket.hpp:87
ByteBuffer & buf()
Definition: NetworkPacket.hpp:59

References _members, Horizon::Base::NetworkPacket< ZoneSession >::_packet_id, _packet_length, ByteBuffer::append(), Horizon::Base::NetworkPacket< ZoneSession >::buf(), and MAX_UNIT_NAME_LENGTH.

Referenced by deliver().

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

Member Data Documentation

◆ _members

std::vector<s_zc_membermgr_info_member> Horizon::Zone::ZC_MEMBERMGR_INFO::_members

Referenced by deliver(), and serialize().

◆ _packet_length

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

Referenced by deliver(), and serialize().


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