summaryrefslogtreecommitdiff
path: root/src/messagehandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/messagehandler.cpp')
-rw-r--r--src/messagehandler.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/messagehandler.cpp b/src/messagehandler.cpp
index e7b548a1..bf176124 100644
--- a/src/messagehandler.cpp
+++ b/src/messagehandler.cpp
@@ -23,3 +23,64 @@
#include "messagehandler.h"
+extern void debugCatch(int result)
+
+/* recieveMessage
+ * This function recieves a message, then sends it to the appropriate handler
+ * sub-routine for processing.
+ * Execution: O(x) -- Variable
+ * Preconditions: valid parameters, queue initialized, etc.
+ * Postconditions: message successfully processed.
+ * --- by Kyokai
+ */
+void MessageHandler::receiveMessage(NetComputer *computer, MessageIn &message)
+{
+ // ASSERT: valid computer
+ // ASSERT: valid message
+
+ int result = 0;
+
+ // determine message type
+ /* switch(message.type)
+ * {
+ * case: TYPE_LOGIN
+ * result = loginMessage(computer, message);
+ * break;
+ * }
+ */
+
+ debugCatch(result);
+}
+
+
+
+/* loginMessage
+ * Accepts a login message and interprets it, assigning the proper login
+ * Execution: O(n) -- Linear by (number of accounts)
+ * 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.
+ * --- by Kyokai
+ */
+int MessageHandler::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
+
+}
+