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

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

#include <TransmittedPackets.hpp>

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

Public Member Functions

 ZC_MENU_LIST (std::shared_ptr< ZoneSession > s)
 
virtual ~ZC_MENU_LIST ()
 
void deliver (int32_t guid, std::string const &menu)
 ZC_MENU_LIST. 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}
 
int32_t _guid {0}
 
std::string _menu_items {""}
 

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_MENU_LIST.

Constructor & Destructor Documentation

◆ ZC_MENU_LIST()

Horizon::Zone::ZC_MENU_LIST::ZC_MENU_LIST ( std::shared_ptr< ZoneSession s)
inline
30705 : NetworkPacket<ZoneSession>(ID_ZC_MENU_LIST, s)
30706 {}
@ ID_ZC_MENU_LIST
Definition: TransmittedPackets.hpp:30678

◆ ~ZC_MENU_LIST()

virtual Horizon::Zone::ZC_MENU_LIST::~ZC_MENU_LIST ( )
inlinevirtual
30707{}

Member Function Documentation

◆ deliver()

void ZC_MENU_LIST::deliver ( int32_t  guid,
std::string const &  menu 
)

ZC_MENU_LIST.

1744{
1745 _menu_items = menu;
1746 _packet_length = menu.size() + 8;
1747 _guid = guid;
1748
1749 serialize();
1750 transmit();
1751}
void transmit()
Send an Asynchronous packet by queueing a buffer of a particular size to the connected session.
Definition: NetworkPacket.hpp:94
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:1753
std::string _menu_items
Definition: TransmittedPackets.hpp:30715
int16_t _packet_length
Definition: TransmittedPackets.hpp:30713
int32_t _guid
Definition: TransmittedPackets.hpp:30714

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

Referenced by Horizon::Zone::ZoneClientInterface::notify_npc_menu_list().

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

◆ serialize()

ByteBuffer & ZC_MENU_LIST::serialize ( )
1754{
1755 buf() << _packet_id;
1756 buf() << _packet_length;
1757 buf() << _guid;
1758 buf().append(_menu_items.c_str(), _menu_items.size());
1759 return buf();
1760}
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 _guid, _menu_items, Horizon::Base::NetworkPacket< ZoneSession >::_packet_id, _packet_length, ByteBuffer::append(), and Horizon::Base::NetworkPacket< ZoneSession >::buf().

Referenced by deliver().

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

Member Data Documentation

◆ _guid

int32_t Horizon::Zone::ZC_MENU_LIST::_guid {0}

Referenced by deliver(), and serialize().

◆ _menu_items

std::string Horizon::Zone::ZC_MENU_LIST::_menu_items {""}

Referenced by deliver(), and serialize().

◆ _packet_length

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

Referenced by deliver(), and serialize().


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