summaryrefslogtreecommitdiff
path: root/src/accounthandler.cpp
diff options
context:
space:
mode:
authorKiyoshi Kyokai <kiyoshi.kyokai@gmail.com>2005-03-23 03:52:06 +0000
committerKiyoshi Kyokai <kiyoshi.kyokai@gmail.com>2005-03-23 03:52:06 +0000
commit97024b3b51a3d9e2daf2832fe8598b38b6670cab (patch)
treea1760106930633b195a95f700306c14b0d04ef77 /src/accounthandler.cpp
parent4a20e71c66c0b7bbdd73ab26b3ca8c0d7f4c8b64 (diff)
downloadmanaserv-97024b3b51a3d9e2daf2832fe8598b38b6670cab.tar.gz
manaserv-97024b3b51a3d9e2daf2832fe8598b38b6670cab.tar.bz2
manaserv-97024b3b51a3d9e2daf2832fe8598b38b6670cab.tar.xz
manaserv-97024b3b51a3d9e2daf2832fe8598b38b6670cab.zip
added the account handler and a definition file to keep track of structures and such. I need some more information about how exactly the message handler interfaces are intended to work with the connection handler, as well as what things users will each have to themselves, and which things they will all share as far as message processing goes.
Diffstat (limited to 'src/accounthandler.cpp')
-rw-r--r--src/accounthandler.cpp97
1 files changed, 97 insertions, 0 deletions
diff --git a/src/accounthandler.cpp b/src/accounthandler.cpp
new file mode 100644
index 00000000..f4058bf7
--- /dev/null
+++ b/src/accounthandler.cpp
@@ -0,0 +1,97 @@
+/*
+ * The Mana World Server
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with The Mana World; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ *
+ */
+
+
+
+/* ----Receive Message----
+ * Generic interface convention for getting a message and sending it to the
+ * correct subroutines. Account handler takes care of determining the
+ * current step in the account process, be it creation, setup, or login.
+ */
+void AccountHandler::receiveMessage(NetComputer &computer, MessageIn &message)
+{
+ int result = 0;
+
+ // determine message type
+ switch(message.type)
+ {
+ case TYPE_LOGIN:
+ result = loginMessage(computer, message);
+ break;
+ }
+
+ debugCatch(result);
+}
+
+/* ----Login Message----
+ * Accepts a login message and interprets it, assigning the proper
+ * login
+ * Preconditions: The requested handle is not logged in already.
+ * The requested handle exists.
+ * The requested handle is not banned or restricted.
+ * The character profile is valid
+ * Postconditions: The player recieves access through a character in
+ * the world.
+ * Return Value: SUCCESS if the player was successfully assigned the
+ * requested char, ERROR on early termination of the
+ * routine.
+ */
+int AccountHandler::loginMessage(NetComputer &computer, MessageIn &message)
+{
+ // Get the handle (account) the player is requesting
+ // RETURN TMW_ACCOUNTERROR_NOEXIST if: requested does not handle exist
+ // RETURN TMW_ACCOUNTERROR_BANNED if: the handle status is
+ // HANDLE_STATUS_BANNED
+ // RETURN TMW_ACCOUNTERROR_ALREADYASSIGNED if: the handle is already
+ // assigned
+
+ // Get the character within that handle that the player is requesting
+ // RETURN TMW_ACCOUNTERROR_CHARNOTFOUND if: character not found
+
+ // Assign the player to that character
+ // RETURN TMW_ACCOUNTERROR_ASSIGNFAILED if: assignment not successful
+
+ // return TMW_SUCCESS -- successful exit
+ return TMW_SUCCESS;
+}
+
+/* ----Account Assignment----
+ * Assigns the computer to this accout, and allows it to make account
+ * changes using this structure.
+ * Preconditions: This structure already contains a valid accountHandle
+ * Postconditions: The player is connected to the account through this handle
+ * Return Value: SUCCESS if the player was successfully assigned the
+ * requested handle, ERROR on early termination of the
+ * routine.
+ */
+int AccountHandler::accountAssign(NetComputer &computer, accountData *account)
+{
+ // RETURN TMW_ACCOUNTERROR_ASSIGNFAILED if: the account was accessed before
+ // being initalized.
+
+ // Assign the handle
+
+
+ return TMW_SUCCESS;
+
+} \ No newline at end of file