summaryrefslogtreecommitdiffstats
path: root/src/messagein.cpp
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2006-12-29 13:43:24 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2006-12-29 13:43:24 +0000
commit291ad04d5b5c4ab08d85eadde116f968cd579b77 (patch)
treee4dced5715a5d9792cfdc0455a6b3ee6d3116079 /src/messagein.cpp
parent3d404e743105bb9168c89e3451cf35d7d59120b1 (diff)
downloadmanaserv-291ad04d5b5c4ab08d85eadde116f968cd579b77.tar.gz
manaserv-291ad04d5b5c4ab08d85eadde116f968cd579b77.tar.xz
manaserv-291ad04d5b5c4ab08d85eadde116f968cd579b77.zip
Physically split the server into one tmwserv-acount program (account +
chat + database) and multiple tmwserv-game programs (selected with respect to the maps). Cleaned the repository by moving server-specific source files into dedicated directories.
Diffstat (limited to 'src/messagein.cpp')
-rw-r--r--src/messagein.cpp101
1 files changed, 0 insertions, 101 deletions
diff --git a/src/messagein.cpp b/src/messagein.cpp
deleted file mode 100644
index e0a4b27..0000000
--- a/src/messagein.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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
- *
- * $Id$
- */
-
-#include "messagein.h"
-
-#include <string>
-
-#include <enet/enet.h>
-
-MessageIn::MessageIn(const char *data, int length):
- mData(data),
- mLength(length),
- mPos(0)
-{
- // Read the message ID
- mId = readShort();
-}
-
-MessageIn::~MessageIn()
-{
-}
-
-char MessageIn::readByte()
-{
- char value = -1;
- if (mPos < mLength)
- {
- value = mData[mPos];
- }
- mPos += 1;
- return value;
-}
-
-short MessageIn::readShort()
-{
- short value = -1;
- if (mPos + 2 <= mLength)
- {
- uint16_t t;
- memcpy(&t, mData + mPos, 2);
- value = ENET_NET_TO_HOST_16(t);
- }
- mPos += 2;
- return value;
-}
-
-long MessageIn::readLong()
-{
- long value = -1;
- if (mPos + 4 <= mLength)
- {
- uint32_t t;
- memcpy(&t, mData + mPos, 4);
- value = ENET_NET_TO_HOST_32(t);
- }
- mPos += 4;
- return value;
-}
-
-std::string MessageIn::readString(int length)
-{
- // Get string length
- if (length < 0) {
- length = readShort();
- }
-
- // Make sure the string isn't erroneous
- if (length < 0 || mPos + length > mLength) {
- mPos = mLength + 1;
- return "";
- }
-
- // Read the string
- char const *stringBeg = mData + mPos;
- char const *stringEnd = (char const *)memchr(stringBeg, '\0', length);
- std::string readString(stringBeg,
- stringEnd ? stringEnd - stringBeg : length);
- mPos += length;
-
- return readString;
-}