28#ifndef HORIZON_CHAR_ZERO_PACKET_LENGTH_TABLE
29#define HORIZON_CHAR_ZERO_PACKET_LENGTH_TABLE
46class PacketLengthTable
52#define ADD_HPKT(i, j, k) _hpacket_length_table.insert(i, std::make_pair(j, std::make_shared<k>(s)))
53#define ADD_TPKT(i, j, k) _tpacket_length_table.insert(i, std::make_pair(j, std::make_shared<k>(s)))
132 std::weak_ptr<CharSession>
_session;
#define ADD_HPKT(i, j, k)
#define ADD_TPKT(i, j, k)
Main object for the aegis packet: CH_ACK_CHANGE_CHARACTERNAME.
Definition: HandledPackets.hpp:58
Main object for the aegis packet: CH_AVAILABLE_SECOND_PASSWD.
Definition: HandledPackets.hpp:90
Main object for the aegis packet: CH_CHARLIST_REQ.
Definition: HandledPackets.hpp:122
Main object for the aegis packet: CH_CHECKBOT.
Definition: HandledPackets.hpp:154
Main object for the aegis packet: CH_DELETE_CHAR2.
Definition: HandledPackets.hpp:232
Main object for the aegis packet: CH_DELETE_CHAR3_CANCEL.
Definition: HandledPackets.hpp:300
Main object for the aegis packet: CH_DELETE_CHAR3_EXT.
Definition: HandledPackets.hpp:333
Main object for the aegis packet: CH_DELETE_CHAR3_RESERVED.
Definition: HandledPackets.hpp:365
Main object for the aegis packet: CH_DELETE_CHAR3.
Definition: HandledPackets.hpp:266
Main object for the aegis packet: CH_DELETE_CHAR.
Definition: HandledPackets.hpp:192
Main object for the aegis packet: CH_DELETE_SECOND_PASSWD.
Definition: HandledPackets.hpp:398
Main object for the aegis packet: CH_EDIT_SECOND_PASSWD.
Definition: HandledPackets.hpp:430
Main object for the aegis packet: CH_ENTER2.
Definition: HandledPackets.hpp:508
Main object for the aegis packet: CH_ENTER_CHECKBOT.
Definition: HandledPackets.hpp:540
Main object for the aegis packet: CH_ENTER.
Definition: HandledPackets.hpp:470
Main object for the aegis packet: CH_MAKE_CHAR_NOT_STATS.
Definition: HandledPackets.hpp:629
Main object for the aegis packet: CH_MAKE_CHAR.
Definition: HandledPackets.hpp:587
Main object for the aegis packet: CH_MAKE_SECOND_PASSWD.
Definition: HandledPackets.hpp:661
Main object for the aegis packet: CH_NOT_AVAILABLE_SECOND_PASSWD.
Definition: HandledPackets.hpp:695
Main object for the aegis packet: CH_REQ_CHANGE_CHARACTERNAME.
Definition: HandledPackets.hpp:727
Main object for the aegis packet: CH_REQ_CHANGE_CHARACTER_SLOT.
Definition: HandledPackets.hpp:759
Main object for the aegis packet: CH_REQ_CHANGE_CHARNAME.
Definition: HandledPackets.hpp:797
Main object for the aegis packet: CH_REQ_CHARINFO_PER_PAGE.
Definition: HandledPackets.hpp:829
Main object for the aegis packet: CH_REQ_IS_VALID_CHARNAME.
Definition: HandledPackets.hpp:867
Main object for the aegis packet: CH_SECOND_PASSWD_ACK.
Definition: HandledPackets.hpp:899
Main object for the aegis packet: CH_SELECT_ACCESSIBLE_MAPNAME.
Definition: HandledPackets.hpp:933
Main object for the aegis packet: CH_SELECT_CHAR_GOINGTOBEUSED.
Definition: HandledPackets.hpp:1010
Main object for the aegis packet: CH_SELECT_CHAR.
Definition: HandledPackets.hpp:971
Main object for the aegis packet: CH_UNKNOWN_PING.
Definition: HandledPackets.hpp:1048
Main object for the aegis packet: CH_WAITING_LOGIN.
Definition: HandledPackets.hpp:1081
Main object for the aegis packet: HC_ACCEPT_DELETECHAR.
Definition: TransmittedPackets.hpp:82
Main object for the aegis packet: HC_ACCEPT_ENTER2.
Definition: TransmittedPackets.hpp:163
Main object for the aegis packet: HC_ACCEPT_ENTER.
Definition: TransmittedPackets.hpp:120
Main object for the aegis packet: HC_ACCEPT_MAKECHAR.
Definition: TransmittedPackets.hpp:211
Main object for the aegis packet: HC_ACK_CHANGE_CHARACTER_SLOT.
Definition: TransmittedPackets.hpp:244
Main object for the aegis packet: HC_ACK_CHANGE_CHARNAME.
Definition: TransmittedPackets.hpp:282
Main object for the aegis packet: HC_ACK_CHARINFO_PER_PAGE.
Definition: TransmittedPackets.hpp:317
Main object for the aegis packet: HC_ACK_IS_VALID_CHARNAME.
Definition: TransmittedPackets.hpp:358
Main object for the aegis packet: HC_AVAILABLE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:390
Main object for the aegis packet: HC_BLOCK_CHARACTER.
Definition: TransmittedPackets.hpp:428
Main object for the aegis packet: HC_CHARACTER_LIST.
Definition: TransmittedPackets.hpp:464
Main object for the aegis packet: HC_CHARLIST_NOTIFY.
Definition: TransmittedPackets.hpp:496
Main object for the aegis packet: HC_CHARNOTBEENSELECTED.
Definition: TransmittedPackets.hpp:534
Main object for the aegis packet: HC_CHECKBOT_RESULT.
Definition: TransmittedPackets.hpp:598
Main object for the aegis packet: HC_CHECKBOT.
Definition: TransmittedPackets.hpp:566
Main object for the aegis packet: HC_DELETE_CHAR3_CANCEL.
Definition: TransmittedPackets.hpp:668
Main object for the aegis packet: HC_DELETE_CHAR3_RESERVED.
Definition: TransmittedPackets.hpp:702
Main object for the aegis packet: HC_DELETE_CHAR3.
Definition: TransmittedPackets.hpp:630
Main object for the aegis packet: HC_DELETE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:737
Main object for the aegis packet: HC_EDIT_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:775
Main object for the aegis packet: HC_MAKE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:815
Main object for the aegis packet: HC_NOTIFY_ACCESSIBLE_MAPNAME.
Definition: TransmittedPackets.hpp:849
Main object for the aegis packet: HC_NOTIFY_ZONESVR.
Definition: TransmittedPackets.hpp:896
Main object for the aegis packet: HC_NOT_AVAILABLE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:932
Main object for the aegis packet: HC_QUEUE_ORDER.
Definition: TransmittedPackets.hpp:964
Main object for the aegis packet: HC_REFUSE_DELETECHAR.
Definition: TransmittedPackets.hpp:1002
Main object for the aegis packet: HC_REFUSE_ENTER.
Definition: TransmittedPackets.hpp:1045
Main object for the aegis packet: HC_REFUSE_MAKECHAR.
Definition: TransmittedPackets.hpp:1091
Main object for the aegis packet: HC_REFUSE_SELECTCHAR.
Definition: TransmittedPackets.hpp:1130
Main object for the aegis packet: HC_REQUEST_CHARACTER_PASSWORD.
Definition: TransmittedPackets.hpp:1168
Main object for the aegis packet: HC_SECOND_PASSWD_LOGIN.
Definition: TransmittedPackets.hpp:1234
Main object for the aegis packet: HC_SECRETSCAN_DATA.
Definition: TransmittedPackets.hpp:1309
Main object for the aegis packet: HC_UPDATE_CHARINFO.
Definition: TransmittedPackets.hpp:1341
Main object for the aegis packet: HC_WAITING_LOGIN.
Definition: TransmittedPackets.hpp:1373
std::weak_ptr< CharSession > _session
Definition: PacketLengthTable.hpp:82
TPacketTablePairType get_tpacket_info(uint16_t packet_id)
Definition: PacketLengthTable.hpp:127
std::shared_ptr< CharSession > get_session()
Definition: PacketLengthTable.hpp:124
PacketLengthTable(std::shared_ptr< CharSession > s)
Definition: PacketLengthTable.hpp:49
LockedLookupTable< uint16_t, HPacketTablePairType > _hpacket_length_table
Definition: PacketLengthTable.hpp:80
LockedLookupTable< uint16_t, TPacketTablePairType > _tpacket_length_table
Definition: PacketLengthTable.hpp:81
HPacketTablePairType get_hpacket_info(uint16_t packet_id)
Definition: PacketLengthTable.hpp:126
~PacketLengthTable()
Definition: PacketLengthTable.hpp:122
Value at(Key const &key, Value const &default_value=Value()) const
Definition: LockedLookupTable.hpp:63
std::pair< int16_t, HPacketStructPtrType > HPacketTablePairType
Definition: PacketLengthTable.hpp:41
std::pair< int16_t, TPacketStructPtrType > TPacketTablePairType
Definition: PacketLengthTable.hpp:42
std::shared_ptr< Base::NetworkPacketTransmitter< CharSession > > TPacketStructPtrType
Definition: PacketLengthTable.hpp:40
std::shared_ptr< Base::NetworkPacketHandler< CharSession > > HPacketStructPtrType
Definition: PacketLengthTable.hpp:39
Definition: Element.hpp:7