src/proto2/NetworkSocket.hh
author terom
Thu, 20 Nov 2008 23:51:46 +0000
changeset 89 825c4613e087
child 118 561165de7452
permissions -rw-r--r--
merge branches/no-netsession@89 into trunk
89
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     1
#ifndef NETWORK_SOCKET_HH
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     2
#define NETWORK_SOCKET_HH
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     3
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     4
#include "Error.hh"
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     5
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     6
#include <ClanLib/Network/Socket/socket.h>
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     7
#include <cerrno>
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     8
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
     9
typedef CL_Socket NetworkSocket;
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    10
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    11
// Network.cc
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    12
class NetworkSocketError : public Error {
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    13
    protected:
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    14
        std::string build_str (const NetworkSocket &socket, const char *op, const char *err);
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    15
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    16
        NetworkSocketError (const NetworkSocket &socket, const char *op, const char *err);
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    17
};
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    18
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    19
class NetworkSocketOSError : public NetworkSocketError {
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    20
    public:
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    21
        NetworkSocketOSError (const NetworkSocket &socket, const char *op) :
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    22
            NetworkSocketError(socket, op, strerror(errno)) { }
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    23
};
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    24
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    25
class NetworkSocketEOFError : public NetworkSocketError {
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    26
    public:
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    27
        NetworkSocketEOFError (const NetworkSocket &socket, const char *op) :
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    28
            NetworkSocketError(socket, op, "EOF") { }
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    29
};
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    30
825c4613e087 merge branches/no-netsession@89 into trunk
terom
parents:
diff changeset
    31
#endif /* NETWORK_SOCKET_HH */