src/proto2/NetworkSocket.hh
author nireco
Fri, 28 Nov 2008 13:11:51 +0000
changeset 116 0d36aade845e
parent 89 825c4613e087
child 118 561165de7452
permissions -rw-r--r--
some stuff, don't remember what
#ifndef NETWORK_SOCKET_HH
#define NETWORK_SOCKET_HH

#include "Error.hh"

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

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 */