27 #include <boost/asio/ip/tcp.hpp>
28 #include <boost/asio/ssl.hpp>
32 using boost::asio::ip::tcp;
53 namespace authentication
62 namespace game_utilities
94 void LoadResult(
Field* fields);
123 explicit Session(tcp::socket&& socket);
126 void Start()
override;
137 _responseCallbacks[_requestToken] = std::move(callback);
138 SendRequest(serviceHash, methodId, request);
150 std::string GetClientInfo()
const;
153 void HandshakeHandler(boost::system::error_code
const& error);
154 void ReadHandler()
override;
155 bool ReadHeaderLengthHandler();
156 bool ReadHeaderHandler();
157 bool ReadDataHandler();
162 void AsyncHandshake();
199 #endif // Session_h__
Definition: attribute_types.pb.h:67
std::shared_ptr< PreparedResultSet > PreparedQueryResult
Definition: QueryResult.h:107
Definition: game_utilities_service.pb.h:1143
std::unordered_map< uint32, GameAccountInfo > GameAccounts
Definition: Session.h:120
GameAccountInfo * _gameAccountInfo
Definition: Session.h:179
std::array< uint8, 32 > _clientSecret
Definition: Session.h:187
uint32 GetAccountId() const
Definition: Session.h:129
Class used to access individual fields of database query result.
Definition: Field.h:56
Definition: method_options.pb.h:28
std::unordered_map< std::string, LastPlayedCharacterInfo > LastPlayedCharacters
Definition: Session.h:104
Definition: account_service.pb.h:1680
bool _authed
Definition: Session.h:189
std::function< void(PreparedQueryResult)> _queryCallback
Definition: Session.h:192
Definition: BnetFileGenerator.h:49
std::string LastIP
Definition: Session.h:115
Battlenet::RealmHandle RealmId
Definition: Session.h:86
uint32 _requestToken
Definition: Session.h:195
std::string Name
Definition: Session.h:97
Definition: game_utilities_service.pb.h:64
bool IsBanned
Definition: Session.h:99
uint32 GetGameAccountId() const
Definition: Session.h:130
Definition: message.h:165
std::string CharacterName
Definition: Session.h:87
std::string LockCountry
Definition: Session.h:114
Definition: account_service.pb.h:1462
static std::unordered_map< std::string, ClientRequestHandler > const ClientRequestHandlers
Definition: Session.h:167
std::unordered_map< uint32, uint8 > CharacterCounts
Definition: Session.h:103
std::string DisplayName
Definition: Session.h:98
AccountTypes SecurityLevel
Definition: Session.h:101
std::string Login
Definition: Session.h:112
std::string _locale
Definition: Session.h:181
uint32 FailedLogins
Definition: Session.h:116
uint64 CharacterGUID
Definition: Session.h:88
std::unordered_map< uint32, std::function< void(MessageBuffer)> > _responseCallbacks
Definition: Session.h:194
MessageBuffer _headerBuffer
Definition: Session.h:175
uint32_t uint32
Definition: Define.h:150
AccountTypes
Definition: Common.h:106
bool IsBanned
Definition: Session.h:117
uint64_t uint64
Definition: Define.h:149
Definition: account_service.pb.h:1797
std::unique_ptr< AccountInfo > _accountInfo
Definition: Session.h:178
bool IsPermanenetlyBanned
Definition: Session.h:118
void SendRequest(uint32 serviceHash, uint32 methodId, pb::Message const *request, std::function< void(MessageBuffer)> callback)
Definition: Session.h:135
Definition: game_utilities_service.pb.h:204
std::future< PreparedQueryResult > PreparedQueryResultFuture
Definition: Callback.h:26
uint32 LastPlayedTime
Definition: Session.h:89
Definition: game_utilities_service.pb.h:1249
uint32 Id
Definition: Session.h:96
MessageBuffer _headerLengthBuffer
Definition: Session.h:174
uint8_t uint8
Definition: Define.h:152
std::string _ipCountry
Definition: Session.h:185
bool IsLockedToIP
Definition: Session.h:113
Definition: Session.h:107
Socket< Session, SslSocket< SslContext > > BattlenetSocket
Definition: Session.h:81
uint32_t uint32
Definition: g3dmath.h:168
std::string _os
Definition: Session.h:182
uint32 _build
Definition: Session.h:183
std::set< uint32 > params[2]
Definition: DisableMgr.cpp:45
Definition: account_service.pb.h:1587
bool IsPermanenetlyBanned
Definition: Session.h:100
MessageBuffer _packetBuffer
Definition: Session.h:176
Definition: MessageBuffer.h:24
void Update(uint32 diff)
Definition: WeatherMgr.cpp:150
uint32 Id
Definition: Session.h:111
Definition: authentication_service.pb.h:349
PreparedQueryResultFuture _queryFuture
Definition: Session.h:191
Definition: authentication_service.pb.h:2087