summaryrefslogtreecommitdiff
path: root/src/net/ea/network.h
diff options
context:
space:
mode:
authorBertram <yohanndotferreiraatorange.fr>2010-04-16 13:58:56 +0200
committerBertram <yohanndotferreiraatorange.fr>2010-04-17 12:03:44 +0200
commit3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5 (patch)
tree5737c40d37a7b87897b9dc9b422198b28a18b13a /src/net/ea/network.h
parent924760c45e0f1aa1105e192bd83d6a4ce2c80f81 (diff)
downloadmana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.tar.gz
mana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.tar.bz2
mana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.tar.xz
mana-client-3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5.zip
Changed eAthena protocol name to TmwAthena and changed the config files accordingly.
This makes room for the actual eAthena protocol future inclusion.
Diffstat (limited to 'src/net/ea/network.h')
-rw-r--r--src/net/ea/network.h130
1 files changed, 0 insertions, 130 deletions
diff --git a/src/net/ea/network.h b/src/net/ea/network.h
deleted file mode 100644
index 0b391bf0..00000000
--- a/src/net/ea/network.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana Client.
- *
- * This program 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.
- *
- * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NET_EA_NETWORK_H
-#define NET_EA_NETWORK_H
-
-#include "net/serverinfo.h"
-
-#include "net/ea/messagehandler.h"
-#include "net/ea/messagein.h"
-#include "net/ea/messageout.h"
-
-#include <SDL_net.h>
-#include <SDL_thread.h>
-
-#include <map>
-#include <string>
-
-/**
- * Protocol version, reported to the eAthena char and mapserver who can adjust
- * the protocol accordingly.
- */
-#define CLIENT_PROTOCOL_VERSION 1
-
-namespace EAthena {
-
-class Network
-{
- public:
- Network();
-
- ~Network();
-
- bool connect(ServerInfo server);
-
- void disconnect();
-
- ServerInfo getServer() const
- { return mServer; }
-
- void registerHandler(MessageHandler *handler);
-
- void unregisterHandler(MessageHandler *handler);
-
- void clearHandlers();
-
- int getState() const { return mState; }
-
- const std::string &getError() const { return mError; }
-
- bool isConnected() const { return mState == CONNECTED; }
-
- int getInSize() const { return mInSize; }
-
- void skip(int len);
-
- bool messageReady();
-
- MessageIn getNextMessage();
-
- void dispatchMessages();
-
- void flush();
-
- // ERROR replaced by NET_ERROR because already defined in Windows
- enum {
- IDLE,
- CONNECTED,
- CONNECTING,
- DATA,
- NET_ERROR
- };
-
- protected:
- friend int networkThread(void *data);
- friend class MessageOut;
-
- static Network *instance();
-
- void setError(const std::string &error);
-
- Uint16 readWord(int pos);
-
- bool realConnect();
-
- void receive();
-
- TCPsocket mSocket;
-
- ServerInfo mServer;
-
- char *mInBuffer, *mOutBuffer;
- unsigned int mInSize, mOutSize;
-
- unsigned int mToSkip;
-
- int mState;
- std::string mError;
-
- SDL_Thread *mWorkerThread;
- SDL_mutex *mMutex;
-
- typedef std::map<Uint16, MessageHandler*> MessageHandlers;
- typedef MessageHandlers::iterator MessageHandlerIterator;
- MessageHandlers mMessageHandlers;
-
- static Network *mInstance;
-};
-
-} // namespace EAthena
-
-#endif // NET_EA_NETWORK_H