src/proto2/NetworkSocket.hh
author saiam
Sat, 29 Nov 2008 17:29:53 +0000
changeset 133 c05e84ccc4b3
parent 118 561165de7452
permissions -rw-r--r--
Made unnecessarily virtual function PhysicsObject::applyForce nonvirtual
#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 */