eolib-cpp 0.1.0-beta.7
Core C++ library for writing Endless Online applications
Loading...
Searching...
No Matches
eolib::protocol::net::server::AccountReplyServerPacket Class Referencefinal

Reply to client Account-family packets. More...

#include <eolib/protocol/net/server/packets.hpp>

Inherits eolib::protocol::net::Packet.

Classes

class  ReplyCodeDataExists
 Data associated with reply_code value Exists. More...
class  ReplyCodeDataNotApproved
 Data associated with reply_code value NotApproved. More...
class  ReplyCodeDataCreated
 Data associated with reply_code value Created. More...
class  ReplyCodeDataChangeFailed
 Data associated with reply_code value ChangeFailed. More...
class  ReplyCodeDataChanged
 Data associated with reply_code value Changed. More...
class  ReplyCodeDataRequestDenied
 Data associated with reply_code value RequestDenied. More...
class  ReplyCodeDataDefault
 Data associated with reply_code default. More...

Public Types

using ReplyCodeData = std::variant<std::monostate, ReplyCodeDataExists, ReplyCodeDataNotApproved, ReplyCodeDataCreated, ReplyCodeDataChangeFailed, ReplyCodeDataChanged, ReplyCodeDataRequestDenied, ReplyCodeDataDefault>
 Data associated with different values of the reply_code field.

Public Member Functions

const ReplyCodeDataExists * AsExists () const noexcept
 Gets the data associated with reply_code value Exists.
ReplyCodeDataExists * AsExists () noexcept
 Gets the data associated with reply_code value Exists.
const ReplyCodeDataNotApproved * AsNotApproved () const noexcept
 Gets the data associated with reply_code value NotApproved.
ReplyCodeDataNotApproved * AsNotApproved () noexcept
 Gets the data associated with reply_code value NotApproved.
const ReplyCodeDataCreated * AsCreated () const noexcept
 Gets the data associated with reply_code value Created.
ReplyCodeDataCreated * AsCreated () noexcept
 Gets the data associated with reply_code value Created.
const ReplyCodeDataChangeFailed * AsChangeFailed () const noexcept
 Gets the data associated with reply_code value ChangeFailed.
ReplyCodeDataChangeFailed * AsChangeFailed () noexcept
 Gets the data associated with reply_code value ChangeFailed.
const ReplyCodeDataChanged * AsChanged () const noexcept
 Gets the data associated with reply_code value Changed.
ReplyCodeDataChanged * AsChanged () noexcept
 Gets the data associated with reply_code value Changed.
const ReplyCodeDataRequestDenied * AsRequestDenied () const noexcept
 Gets the data associated with reply_code value RequestDenied.
ReplyCodeDataRequestDenied * AsRequestDenied () noexcept
 Gets the data associated with reply_code value RequestDenied.
const ReplyCodeDataDefault * AsReplyCodeDefault () const noexcept
 Gets the data associated with the default case of reply_code.
ReplyCodeDataDefault * AsReplyCodeDefault () noexcept
 Gets the data associated with the default case of reply_code.
PacketFamily Family () const noexcept override
 Gets the packet family associated with this packet.
PacketAction Action () const noexcept override
 Gets the packet action associated with this packet.
int ByteSize () const noexcept override
 Gets the size of the data that this object was deserialized from.
void Serialize (data::EoWriter &writer) const override
 Serializes this object to the provided writer.
void Deserialize (data::EoReader &reader) override
 Deserializes this object from the provided reader, replacing its current data.
std::string ToString () const override
 Gets a human-readable representation of this object, for debugging purposes.
bool operator== (const AccountReplyServerPacket &other) const
 Compares this object with another for equality.
bool operator!= (const AccountReplyServerPacket &other) const
 Compares this object with another for inequality.
Public Member Functions inherited from eolib::protocol::Serializable
virtual ~Serializable ()=default

Static Public Member Functions

static AccountReplyServerPacket ForExists ()
 Creates a new AccountReplyServerPacket with reply_code set to Exists.
static AccountReplyServerPacket ForNotApproved ()
 Creates a new AccountReplyServerPacket with reply_code set to NotApproved.
static AccountReplyServerPacket ForCreated ()
 Creates a new AccountReplyServerPacket with reply_code set to Created.
static AccountReplyServerPacket ForChangeFailed ()
 Creates a new AccountReplyServerPacket with reply_code set to ChangeFailed.
static AccountReplyServerPacket ForChanged ()
 Creates a new AccountReplyServerPacket with reply_code set to Changed.
static AccountReplyServerPacket ForRequestDenied ()
 Creates a new AccountReplyServerPacket with reply_code set to RequestDenied.
static AccountReplyServerPacket ForReplyCodeDefault (AccountReply code, ReplyCodeDataDefault data)
 Creates a new AccountReplyServerPacket with reply_code set to code.

Public Attributes

AccountReply reply_code {}
 Sometimes an AccountReply code, sometimes a session ID for account creation.
ReplyCodeData reply_code_data {}
 Data associated with the reply_code field.

Static Public Attributes

static constexpr PacketFamily FAMILY = PacketFamily::Account
 The packet family associated with this packet.
static constexpr PacketAction ACTION = PacketAction::Reply
 The packet action associated with this packet.

Additional Inherited Members

Protected Member Functions inherited from eolib::protocol::Serializable
 Serializable ()=default
 Serializable (const Serializable &)=default
 Serializable (Serializable &&)=default
Serializable & operator= (const Serializable &)=default
Serializable & operator= (Serializable &&)=default

Detailed Description

Reply to client Account-family packets.

Member Typedef Documentation

◆ ReplyCodeData

Member Function Documentation

◆ AsExists() [1/2]

const ReplyCodeDataExists * eolib::protocol::net::server::AccountReplyServerPacket::AsExists ( ) const
inlinenoexcept

Gets the data associated with reply_code value Exists.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsExists() [2/2]

ReplyCodeDataExists * eolib::protocol::net::server::AccountReplyServerPacket::AsExists ( )
inlinenoexcept

Gets the data associated with reply_code value Exists.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsNotApproved() [1/2]

const ReplyCodeDataNotApproved * eolib::protocol::net::server::AccountReplyServerPacket::AsNotApproved ( ) const
inlinenoexcept

Gets the data associated with reply_code value NotApproved.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsNotApproved() [2/2]

ReplyCodeDataNotApproved * eolib::protocol::net::server::AccountReplyServerPacket::AsNotApproved ( )
inlinenoexcept

Gets the data associated with reply_code value NotApproved.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsCreated() [1/2]

const ReplyCodeDataCreated * eolib::protocol::net::server::AccountReplyServerPacket::AsCreated ( ) const
inlinenoexcept

Gets the data associated with reply_code value Created.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsCreated() [2/2]

ReplyCodeDataCreated * eolib::protocol::net::server::AccountReplyServerPacket::AsCreated ( )
inlinenoexcept

Gets the data associated with reply_code value Created.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsChangeFailed() [1/2]

const ReplyCodeDataChangeFailed * eolib::protocol::net::server::AccountReplyServerPacket::AsChangeFailed ( ) const
inlinenoexcept

Gets the data associated with reply_code value ChangeFailed.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsChangeFailed() [2/2]

ReplyCodeDataChangeFailed * eolib::protocol::net::server::AccountReplyServerPacket::AsChangeFailed ( )
inlinenoexcept

Gets the data associated with reply_code value ChangeFailed.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsChanged() [1/2]

const ReplyCodeDataChanged * eolib::protocol::net::server::AccountReplyServerPacket::AsChanged ( ) const
inlinenoexcept

Gets the data associated with reply_code value Changed.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsChanged() [2/2]

ReplyCodeDataChanged * eolib::protocol::net::server::AccountReplyServerPacket::AsChanged ( )
inlinenoexcept

Gets the data associated with reply_code value Changed.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsRequestDenied() [1/2]

const ReplyCodeDataRequestDenied * eolib::protocol::net::server::AccountReplyServerPacket::AsRequestDenied ( ) const
inlinenoexcept

Gets the data associated with reply_code value RequestDenied.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsRequestDenied() [2/2]

ReplyCodeDataRequestDenied * eolib::protocol::net::server::AccountReplyServerPacket::AsRequestDenied ( )
inlinenoexcept

Gets the data associated with reply_code value RequestDenied.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsReplyCodeDefault() [1/2]

const ReplyCodeDataDefault * eolib::protocol::net::server::AccountReplyServerPacket::AsReplyCodeDefault ( ) const
inlinenoexcept

Gets the data associated with the default case of reply_code.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ AsReplyCodeDefault() [2/2]

ReplyCodeDataDefault * eolib::protocol::net::server::AccountReplyServerPacket::AsReplyCodeDefault ( )
inlinenoexcept

Gets the data associated with the default case of reply_code.

Returns
the data, or nullptr if reply_code_data holds the data for a different value.

◆ ForExists()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForExists ( )
static

Creates a new AccountReplyServerPacket with reply_code set to Exists.

Returns
the created object.

◆ ForNotApproved()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForNotApproved ( )
static

Creates a new AccountReplyServerPacket with reply_code set to NotApproved.

Returns
the created object.

◆ ForCreated()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForCreated ( )
static

Creates a new AccountReplyServerPacket with reply_code set to Created.

Returns
the created object.

◆ ForChangeFailed()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForChangeFailed ( )
static

Creates a new AccountReplyServerPacket with reply_code set to ChangeFailed.

Returns
the created object.

◆ ForChanged()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForChanged ( )
static

Creates a new AccountReplyServerPacket with reply_code set to Changed.

Returns
the created object.

◆ ForRequestDenied()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForRequestDenied ( )
static

Creates a new AccountReplyServerPacket with reply_code set to RequestDenied.

Returns
the created object.

◆ ForReplyCodeDefault()

AccountReplyServerPacket eolib::protocol::net::server::AccountReplyServerPacket::ForReplyCodeDefault ( AccountReply code,
ReplyCodeDataDefault data )
static

Creates a new AccountReplyServerPacket with reply_code set to code.

Parameters
codethe value of reply_code, which must not be a value with its own case.
datathe data for the default case.
Returns
the created object.
Exceptions
std::invalid_argumentif code is a value with its own case.

◆ Family()

PacketFamily eolib::protocol::net::server::AccountReplyServerPacket::Family ( ) const
inlineoverridevirtualnoexcept

Gets the packet family associated with this packet.

Returns
the packet family.

Implements eolib::protocol::net::Packet.

◆ Action()

PacketAction eolib::protocol::net::server::AccountReplyServerPacket::Action ( ) const
inlineoverridevirtualnoexcept

Gets the packet action associated with this packet.

Returns
the packet action.

Implements eolib::protocol::net::Packet.

◆ ByteSize()

int eolib::protocol::net::server::AccountReplyServerPacket::ByteSize ( ) const
overridevirtualnoexcept

Gets the size of the data that this object was deserialized from.

Returns
the deserialized size in bytes, or 0 for an object that was not deserialized.

Implements eolib::protocol::Serializable.

◆ Serialize()

void eolib::protocol::net::server::AccountReplyServerPacket::Serialize ( data::EoWriter & writer) const
overridevirtual

Serializes this object to the provided writer.

Parameters
writerthe writer that the data will be written to.
Exceptions
SerializationErrorif the object's data is invalid for serialization.

Implements eolib::protocol::Serializable.

◆ Deserialize()

void eolib::protocol::net::server::AccountReplyServerPacket::Deserialize ( data::EoReader & reader)
overridevirtual

Deserializes this object from the provided reader, replacing its current data.

Parameters
readerthe reader that the data will be read from.

Implements eolib::protocol::Serializable.

◆ ToString()

std::string eolib::protocol::net::server::AccountReplyServerPacket::ToString ( ) const
overridevirtual

Gets a human-readable representation of this object, for debugging purposes.

Returns
the object's fields and values, as a string.

Implements eolib::protocol::Serializable.

◆ operator==()

bool eolib::protocol::net::server::AccountReplyServerPacket::operator== ( const AccountReplyServerPacket & other) const

Compares this object with another for equality.

The deserialized byte size is not compared.

Parameters
otherthe object to compare with.
Returns
true if all fields are equal, otherwise false.

◆ operator!=()

bool eolib::protocol::net::server::AccountReplyServerPacket::operator!= ( const AccountReplyServerPacket & other) const

Compares this object with another for inequality.

The deserialized byte size is not compared.

Parameters
otherthe object to compare with.
Returns
true if any field differs, otherwise false.

Member Data Documentation

◆ FAMILY

PacketFamily eolib::protocol::net::server::AccountReplyServerPacket::FAMILY = PacketFamily::Account
staticconstexpr

The packet family associated with this packet.

◆ ACTION

PacketAction eolib::protocol::net::server::AccountReplyServerPacket::ACTION = PacketAction::Reply
staticconstexpr

The packet action associated with this packet.

◆ reply_code

AccountReply eolib::protocol::net::server::AccountReplyServerPacket::reply_code {}

Sometimes an AccountReply code, sometimes a session ID for account creation.

◆ reply_code_data

ReplyCodeData eolib::protocol::net::server::AccountReplyServerPacket::reply_code_data {}

Data associated with the reply_code field.

When reply_code is 0, 4, 8 or 9: No effect in the official client