18#ifndef TRINITYCORE_SESSION_H
19#define TRINITYCORE_SESSION_H
81 class Session final :
public std::enable_shared_from_this<Session>
123 void OnLogon(std::string_view platform, std::string_view locale,
uint32 applicationVersion,
Minutes timezoneOffset);
124 void OnLogonSuccess(std::shared_ptr<AccountInfo> accountInfo, std::string_view ipCountry);
std::shared_ptr< PreparedResultSet > PreparedQueryResult
std::chrono::system_clock::time_point SystemTimePoint
std::chrono::minutes Minutes
Minutes shorthand typedef.
uint32 GetGameAccountId() const
std::string GetClientInfo() const
Minutes GetTimezoneOffset() const
void DelayedCloseSocket()
void SendResponse(uint32 token, pb::Message const *response)
SystemTimePoint GetCreationTime() const
uint32 GetAccountId() const
void OnLogon(std::string_view platform, std::string_view locale, uint32 applicationVersion, Minutes timezoneOffset)
AccountInfo const * GetAccountInfo() const
Trinity::Net::SocketReadCallbackResult ReadHandler()
std::array< uint8, 32 > GetClientSecret() const
ClientBuild::VariantId _buildVariant
LastPlayedCharacterInfo const * GetLastPlayedCharacter(std::string_view subRegion) const
void SetClientInfo(uint32 gameAccountId, ClientBuild::VariantId buildVariant, std::array< uint8, 32 > const &clientSecret)
static std::shared_ptr< Socket > CreateSocket(Trinity::Net::IoContextTcpSocket &&socket)
SystemTimePoint const _creationTime
uint32 GetSessionId() const
bool ReadHeaderLengthHandler()
void AsyncWrite(MessageBuffer *packet)
MessageBuffer _packetBuffer
QueryCallbackProcessor _queryProcessor
ClientBuild::VariantId GetBuildVariant() const
std::array< uint8, 32 > _clientSecret
std::string const & GetLocale() const
PacketReadState _packetReadState
void QueueQuery(QueryCallback &&queryCallback)
void SendRequest(uint32 serviceHash, uint32 methodId, pb::Message const *request, std::function< void(MessageBuffer)> callback)
void OnLogonSuccess(std::shared_ptr< AccountInfo > accountInfo, std::string_view ipCountry)
GameAccountInfo const * _gameAccountInfo
std::string const & GetOS() const
std::shared_ptr< Socket > _socket
boost::asio::ip::address const & GetRemoteIpAddress() const
void SetClientInstanceId(std::string const &ciid)
GameAccountInfo const * GetGameAccountInfo() const
std::unordered_map< uint32, std::function< void(MessageBuffer)> > _responseCallbacks
std::shared_ptr< AccountInfo > _accountInfo
std::string _clientInstanceId
Class used to access individual fields of database query result.
boost::asio::basic_stream_socket< boost::asio::ip::tcp, Asio::IoContextExecutor > IoContextTcpSocket
void LoadResult(PreparedQueryResult result)
std::unordered_map< uint32, GameAccountInfo > GameAccounts
bool IsPermanenetlyBanned
std::unordered_map< std::string, LastPlayedCharacterInfo, Trinity::TransparentHash< std::string_view >, std::equal_to<> > LastPlayedCharacters
AccountTypes SecurityLevel
void LoadResult(Field const *fields)
bool IsPermanenetlyBanned
std::unordered_map< uint32, uint8 > CharacterCounts
Battlenet::RealmHandle RealmId
std::string CharacterName