src/proto2/NetworkSocket.hh
author saiam
Fri, 28 Nov 2008 22:26:23 +0000
changeset 128 890ac82cdcc0
parent 118 561165de7452
permissions -rw-r--r--
Documenting more, cleaning variables. This code needs some serious
rewriting. (And we havent too many features either)
#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 */