tibia-client/src/otclient/net/protocollogin.h

38 lines
966 B
C++

#ifndef PROTOCOLLOGIN_H
#define PROTOCOLLOGIN_H
#include "declarations.h"
#include <framework/net/protocol.h>
class ProtocolLogin;
typedef std::shared_ptr<ProtocolLogin> ProtocolLoginPtr;
class ProtocolLogin : public Protocol
{
public:
ProtocolLogin();
static ProtocolLoginPtr create() { return ProtocolLoginPtr(new ProtocolLogin); }
void login(const std::string& accountName, const std::string& accountPassword);
void cancelLogin() { disconnect(); }
void onConnect();
void onRecv(InputMessage& inputMessage);
void onError(const boost::system::error_code& error);
ProtocolLoginPtr asProtocolLogin() { return std::static_pointer_cast<ProtocolLogin>(shared_from_this()); }
private:
void sendLoginPacket();
void parseError(InputMessage& inputMessage);
void parseMOTD(InputMessage& inputMessage);
void parseCharacterList(InputMessage& inputMessage);
std::string m_accountName, m_accountPassword;
};
#endif