diff options
author | Bertram <yohanndotferreiraatorange.fr> | 2010-04-16 13:58:56 +0200 |
---|---|---|
committer | Bertram <yohanndotferreiraatorange.fr> | 2010-04-17 12:03:44 +0200 |
commit | 3ae525b05858af105cc7e3eb6ac7316fc2f5bbd5 (patch) | |
tree | 5737c40d37a7b87897b9dc9b422198b28a18b13a /src/net/ea/network.h | |
parent | 924760c45e0f1aa1105e192bd83d6a4ce2c80f81 (diff) | |
download | mana-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.h | 130 |
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 |