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

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

#include <HandledPackets.hpp>

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

Public Member Functions

 CZ_REQ_OPENSTORE2 (std::shared_ptr< ZoneSession > s)
 
virtual ~CZ_REQ_OPENSTORE2 ()
 
void handle (ByteBuffer &&buf)
 CZ_REQ_OPENSTORE2. 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 _shop_name [MAX_VENDING_SHOP_NAME_LENGTH] { 0 }
 
int8_t _result { 0 }
 
std::vector< cz_req_openstore_itemlist_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: CZ_REQ_OPENSTORE2.

Constructor & Destructor Documentation

◆ CZ_REQ_OPENSTORE2()

Horizon::Zone::CZ_REQ_OPENSTORE2::CZ_REQ_OPENSTORE2 ( std::shared_ptr< ZoneSession s)
inline
27852 : NetworkPacket<ZoneSession>(ID_CZ_REQ_OPENSTORE2, s)
27853 {}
@ ID_CZ_REQ_OPENSTORE2
Definition: HandledPackets.hpp:27825

◆ ~CZ_REQ_OPENSTORE2()

virtual Horizon::Zone::CZ_REQ_OPENSTORE2::~CZ_REQ_OPENSTORE2 ( )
inlinevirtual
27854{}

Member Function Documentation

◆ deserialize()

void CZ_REQ_OPENSTORE2::deserialize ( ByteBuffer buf)
virtual

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

1535{
1536 buf >> _packet_id;
1539 buf >> _result;
1540 for (int i = 0; i < ((_packet_length - 85) / sizeof(struct cz_req_openstore_itemlist)); i++) {
1542 buf >> item.inventory_index;
1543 buf >> item.amount;
1544 buf >> item.price;
1545 _items.push_back(item);
1546 }
1547}
#define MAX_VENDING_SHOP_NAME_LENGTH
Definition: ClientDefinitions.hpp:71
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
std::vector< cz_req_openstore_itemlist > _items
Definition: HandledPackets.hpp:27863
char _shop_name[MAX_VENDING_SHOP_NAME_LENGTH]
Definition: HandledPackets.hpp:27861
int8_t _result
Definition: HandledPackets.hpp:27862
int16_t _packet_length
Definition: HandledPackets.hpp:27860
Definition: ClientDefinitions.hpp:697
int price
Definition: ClientDefinitions.hpp:697
int16_t amount
Definition: ClientDefinitions.hpp:697
int16_t inventory_index
Definition: ClientDefinitions.hpp:697

References _items, Horizon::Base::NetworkPacket< ZoneSession >::_packet_id, _packet_length, _result, _shop_name, cz_req_openstore_itemlist::amount, Horizon::Base::NetworkPacket< ZoneSession >::buf(), cz_req_openstore_itemlist::inventory_index, MAX_VENDING_SHOP_NAME_LENGTH, cz_req_openstore_itemlist::price, 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_REQ_OPENSTORE2::handle ( ByteBuffer &&  buf)
virtual

CZ_REQ_OPENSTORE2.

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

1528{
1530 if ((int) _result)
1531 get_session()->clif()->start_vending(_shop_name, _items);
1532}
std::shared_ptr< ZoneSession > get_session()
Retrieves the session from this handler instance.
Definition: NetworkPacket.hpp:65
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:1534

References _items, _result, _shop_name, Horizon::Base::NetworkPacket< ZoneSession >::buf(), deserialize(), and Horizon::Base::NetworkPacket< ZoneSession >::get_session().

+ Here is the call graph for this function:

Member Data Documentation

◆ _items

std::vector<cz_req_openstore_itemlist> Horizon::Zone::CZ_REQ_OPENSTORE2::_items

Referenced by deserialize(), and handle().

◆ _packet_length

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

Referenced by deserialize().

◆ _result

int8_t Horizon::Zone::CZ_REQ_OPENSTORE2::_result { 0 }

Referenced by deserialize(), and handle().

◆ _shop_name

char Horizon::Zone::CZ_REQ_OPENSTORE2::_shop_name[MAX_VENDING_SHOP_NAME_LENGTH] { 0 }

Referenced by deserialize(), and handle().


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