src/proto2/NetworkSocket.hh
author terom
Thu, 20 Nov 2008 22:55:28 +0000
branchno-netsession
changeset 39 cfb8b6e2a35f
parent 38 4189b8bf3a5b
permissions -rw-r--r--
almost playable
#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 */