From 30d18cb5d0834132853fb14d45828582b42a8f6e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 19 Aug 2012 17:29:50 +0300 Subject: Move some code from network to base classes. --- src/net/tmwa/network.h | 63 +++----------------------------------------------- 1 file changed, 3 insertions(+), 60 deletions(-) (limited to 'src/net/tmwa/network.h') diff --git a/src/net/tmwa/network.h b/src/net/tmwa/network.h index cc7ae129b..b110b7fb9 100644 --- a/src/net/tmwa/network.h +++ b/src/net/tmwa/network.h @@ -23,6 +23,8 @@ #ifndef NET_TA_NETWORK_H #define NET_TA_NETWORK_H +#include "net/ea/network.h" + #include "net/serverinfo.h" #include "net/tmwa/messagehandler.h" @@ -45,89 +47,30 @@ namespace TmwAthena { -class Network +class Network : public Ea::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(); - - void fixSendBuffer(); - - // ERROR replaced by NET_ERROR because already defined in Windows - enum - { - IDLE = 0, - CONNECTED, - CONNECTING, - DATA, - NET_ERROR - }; - protected: - friend int networkThread(void *data); friend class MessageOut; static Network *instance(); - void setError(const std::string &error); - - uint16_t 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 MessageHandlers; typedef MessageHandlers::iterator MessageHandlerIterator; MessageHandlers mMessageHandlers; -- cgit v1.2.3-60-g2f50