summaryrefslogtreecommitdiff
path: root/src/net/loginhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/loginhandler.h')
-rw-r--r--src/net/loginhandler.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/net/loginhandler.h b/src/net/loginhandler.h
index e5a34382..12a0c26f 100644
--- a/src/net/loginhandler.h
+++ b/src/net/loginhandler.h
@@ -35,16 +35,22 @@ namespace Net {
class LoginHandler
{
public:
+ /**
+ * This enum describes options specific to either eAthena or tmwserv.
+ * By querying for these flags, the GUI can adapt to the current
+ * server type dynamically.
+ */
enum OptionalAction {
- Unregister = 0x1,
- ChangeEmail = 0x2,
- SetEmailOnRegister = 0x4
+ Unregister = 0x1,
+ ChangeEmail = 0x2,
+ SetEmailOnRegister = 0x4,
+ SetGenderOnRegister = 0x8
};
- virtual void setServer(const ServerInfo &server)
+ void setServer(const ServerInfo &server)
{ mServer = server; }
- virtual ServerInfo getServer()
+ ServerInfo getServer() const
{ return mServer; }
virtual void connect() = 0;
@@ -53,6 +59,9 @@ class LoginHandler
virtual void disconnect() = 0;
+ /**
+ * @see OptionalAction
+ */
virtual int supportedOptionalActions() const = 0;
virtual void loginAccount(LoginData *loginData) = 0;
@@ -72,7 +81,7 @@ class LoginHandler
virtual void unregisterAccount(const std::string &username,
const std::string &password) = 0;
- virtual Worlds getWorlds() = 0;
+ virtual Worlds getWorlds() const = 0;
protected:
ServerInfo mServer;