src/NetworkSocket.hh
changeset 185 25becd2cb026
equal deleted inserted replaced
184:561892e2a30e 185:25becd2cb026
       
     1 #ifndef NETWORK_SOCKET_HH
       
     2 #define NETWORK_SOCKET_HH
       
     3 
       
     4 #include "Error.hh"
       
     5 
       
     6 #include <ClanLib/Network/Socket/socket.h>
       
     7 #include <cerrno>
       
     8 #include <cstring>
       
     9 
       
    10 typedef CL_Socket NetworkSocket;
       
    11 
       
    12 // Network.cc
       
    13 class NetworkSocketError : public Error {
       
    14     protected:
       
    15         std::string build_str (const NetworkSocket &socket, const char *op, const char *err);
       
    16 
       
    17         NetworkSocketError (const NetworkSocket &socket, const char *op, const char *err);
       
    18 };
       
    19 
       
    20 class NetworkSocketOSError : public NetworkSocketError {
       
    21     public:
       
    22         NetworkSocketOSError (const NetworkSocket &socket, const char *op) :
       
    23             NetworkSocketError(socket, op, strerror(errno)) { }
       
    24 };
       
    25 
       
    26 class NetworkSocketEOFError : public NetworkSocketError {
       
    27     public:
       
    28         NetworkSocketEOFError (const NetworkSocket &socket, const char *op) :
       
    29             NetworkSocketError(socket, op, "EOF") { }
       
    30 };
       
    31 
       
    32 #endif /* NETWORK_SOCKET_HH */