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

38 lines
966 B
C
Raw Normal View History

2011-08-15 16:11:24 +02:00
#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);
2011-08-16 05:27:46 +02:00
void cancelLogin() { disconnect(); }
2011-08-15 16:11:24 +02:00
void onConnect();
void onRecv(InputMessage& inputMessage);
2011-08-16 02:30:31 +02:00
void onError(const boost::system::error_code& error);
2011-08-15 16:11:24 +02:00
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