src/proto2/NetworkSocket.hh
author terom
Thu, 20 Nov 2008 22:10:28 +0000
branchno-netsession
changeset 38 4189b8bf3a5b
parent 31 d0d7489d4e8b
permissions -rw-r--r--
kind of works
31
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     1
#ifndef NETWORK_SOCKET_HH
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     2
#define NETWORK_SOCKET_HH
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     3
38
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
     4
#include "Error.hh"
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
     5
31
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     6
#include <ClanLib/Network/Socket/socket.h>
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     7
#include <cerrno>
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     8
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
     9
typedef CL_Socket NetworkSocket;
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
    10
38
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    11
// Network.cc
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    12
class NetworkSocketError : public Error {
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    13
    protected:
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    14
        std::string build_str (const NetworkSocket &socket, const char *op, const char *err);
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    15
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    16
        NetworkSocketError (const NetworkSocket &socket, const char *op, const char *err);
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    17
};
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    18
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    19
class NetworkSocketOSError : public NetworkSocketError {
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    20
    public:
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    21
        NetworkSocketOSError (const NetworkSocket &socket, const char *op) :
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    22
            NetworkSocketError(socket, op, strerror(errno)) { }
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    23
};
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    24
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    25
class NetworkSocketEOFError : public NetworkSocketError {
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    26
    public:
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    27
        NetworkSocketEOFError (const NetworkSocket &socket, const char *op) :
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    28
            NetworkSocketError(socket, op, "EOF") { }
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    29
};
4189b8bf3a5b kind of works
terom
parents: 31
diff changeset
    30
31
d0d7489d4e8b add initial code written so far
terom
parents:
diff changeset
    31
#endif /* NETWORK_SOCKET_HH */