src/Network/Socket.hh
author saiam
Mon, 08 Dec 2008 00:05:45 +0000
changeset 273 eeb699e1d908
parent 186 0738f2949a2b
child 284 27ce69fd1e06
permissions -rw-r--r--
Made forceq to contain time again.
#ifndef NETWORK_SOCKET_HH
#define NETWORK_SOCKET_HH

#include "../Error.hh"

#include <ClanLib/Network/Socket/socket.h>
#include <cerrno>
#include <cstring>

typedef CL_Socket NetworkSocket;

// Network.cc
class NetworkSocketError : public Error {
    protected:
        std::string build_str (const NetworkSocket &socket, const char *op, const char *err);

        NetworkSocketError (const NetworkSocket &socket, const char *op, const char *err);
};

class NetworkSocketOSError : public NetworkSocketError {
    public:
        NetworkSocketOSError (const NetworkSocket &socket, const char *op) :
            NetworkSocketError(socket, op, strerror(errno)) { }
};

class NetworkSocketEOFError : public NetworkSocketError {
    public:
        NetworkSocketEOFError (const NetworkSocket &socket, const char *op) :
            NetworkSocketError(socket, op, "EOF") { }
};

#endif /* NETWORK_SOCKET_HH */