ManaPlus
loginhandler.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2004-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef NET_TMWA_LOGINHANDLER_H
25 #define NET_TMWA_LOGINHANDLER_H
26 
27 #include "net/ea/loginhandler.h"
28 
29 namespace TmwAthena
30 {
31 
33 {
34  public:
35  LoginHandler();
36 
38 
39  ~LoginHandler() override final;
40 
41  void connect() const override final;
42 
43  bool isConnected() const override final A_WARN_UNUSED;
44 
45  void disconnect() const override final;
46 
48  { return 24; }
49 
50  void changePassword(const std::string &restrict oldPassword,
51  const std::string &restrict newPassword)
52  const override final;
53 
55 
56  void sendVersion() const override final;
57 
58  void ping() const override final;
59 
60  void updatePacketVersion() const override final;
61 
62  static void requestUpdateHosts();
63 
64  void sendMobileCode(const BeingId accountId,
65  const std::string &code) const override final;
66 
67  void sendOtpCode(const std::string &code) const override final;
68 
69  private:
70  void sendLoginRegister(const std::string &restrict username,
71  const std::string &restrict password,
72  const std::string &restrict email)
73  const override final;
74 };
75 
76 } // namespace TmwAthena
77 
78 #endif // NET_TMWA_LOGINHANDLER_H
int BeingId
Definition: beingid.h:30
void sendLoginRegister(const std::string &username, const std::string &password, const std::string &email) const
ServerInfo * getCharServer() const A_CONST
void sendOtpCode(const std::string &code) const
static void requestUpdateHosts()
void changePassword(const std::string &oldPassword, const std::string &newPassword) const
void updatePacketVersion() const
void sendMobileCode(const BeingId accountId, const std::string &code) const
unsigned int getMaxPasswordLength() const
Definition: loginhandler.h:47
#define restrict
Definition: localconsts.h:165
#define override
Definition: localconsts.h:47
#define A_WARN_UNUSED
Definition: localconsts.h:161
#define final
Definition: localconsts.h:46
#define A_DELETE_COPY(func)
Definition: localconsts.h:53