#include <network.h>
Definition at line 40 of file network.h.
Public Types | |
enum | { IDLE, CONNECTED, CONNECTING, DATA, NET_ERROR } |
Public Member Functions | |
Network () | |
~Network () | |
bool | connect (const std::string &address, short port) |
void | disconnect () |
void | registerHandler (MessageHandler *handler) |
void | unregisterHandler (MessageHandler *handler) |
void | clearHandlers () |
int | getState () const |
const std::string & | getError () const |
bool | isConnected () const |
int | getInSize () const |
void | skip (int len) |
bool | messageReady () |
MessageIn | getNextMessage () |
void | dispatchMessages () |
void | flush () |
Private Types | |
typedef std::map< Uint16, MessageHandler * > | MessageHandlers |
typedef MessageHandlers::iterator | MessageHandlerIterator |
Private Member Functions | |
void | setError (const std::string &error) |
Uint16 | readWord (int pos) |
bool | realConnect () |
void | receive () |
Static Private Member Functions | |
static Network * | instance () |
Private Attributes | |
TCPsocket | mSocket |
std::string | mAddress |
short | mPort |
char * | mInBuffer |
char * | mOutBuffer |
unsigned int | mInSize |
unsigned int | mOutSize |
unsigned int | mToSkip |
int | mState |
std::string | mError |
SDL_Thread * | mWorkerThread |
SDL_mutex * | mMutex |
MessageHandlers | mMessageHandlers |
Static Private Attributes | |
static Network * | mInstance = 0 |
Friends | |
class | MessageOut |
int | networkThread (void *data) |
typedef std::map<Uint16, MessageHandler*> Network::MessageHandlers [private] |
typedef MessageHandlers::iterator Network::MessageHandlerIterator [private] |
anonymous enum |
Network::Network | ( | ) |
Definition at line 96 of file network.cpp.
Network::~Network | ( | ) |
Definition at line 112 of file network.cpp.
bool Network::connect | ( | const std::string & | address, | |
short | port | |||
) |
Definition at line 128 of file network.cpp.
void Network::disconnect | ( | ) |
Definition at line 163 of file network.cpp.
void Network::registerHandler | ( | MessageHandler * | handler | ) |
Definition at line 180 of file network.cpp.
void Network::unregisterHandler | ( | MessageHandler * | handler | ) |
Definition at line 190 of file network.cpp.
void Network::clearHandlers | ( | ) |
Definition at line 200 of file network.cpp.
void Network::skip | ( | int | len | ) |
Definition at line 246 of file network.cpp.
bool Network::messageReady | ( | ) |
Definition at line 270 of file network.cpp.
MessageIn Network::getNextMessage | ( | ) |
Definition at line 290 of file network.cpp.
void Network::dispatchMessages | ( | ) |
Definition at line 210 of file network.cpp.
void Network::flush | ( | ) |
Definition at line 227 of file network.cpp.
Network * Network::instance | ( | ) | [static, private] |
Definition at line 431 of file network.cpp.
void Network::setError | ( | const std::string & | error | ) | [private] |
Definition at line 436 of file network.cpp.
Uint16 Network::readWord | ( | int | pos | ) | [private] |
Definition at line 443 of file network.cpp.
bool Network::realConnect | ( | ) | [private] |
Definition at line 315 of file network.cpp.
void Network::receive | ( | ) | [private] |
Definition at line 345 of file network.cpp.
friend class MessageOut [friend] |
int networkThread | ( | void * | data | ) | [friend] |
Definition at line 82 of file network.cpp.
TCPsocket Network::mSocket [private] |
std::string Network::mAddress [private] |
short Network::mPort [private] |
char* Network::mInBuffer [private] |
char * Network::mOutBuffer [private] |
unsigned int Network::mInSize [private] |
unsigned int Network::mOutSize [private] |
unsigned int Network::mToSkip [private] |
int Network::mState [private] |
std::string Network::mError [private] |
SDL_Thread* Network::mWorkerThread [private] |
SDL_mutex* Network::mMutex [private] |
MessageHandlers Network::mMessageHandlers [private] |
Network * Network::mInstance = 0 [static, private] |