--- a/src/proto2/NetworkSocket.hh Thu Nov 20 20:27:12 2008 +0000
+++ b/src/proto2/NetworkSocket.hh Thu Nov 20 22:10:28 2008 +0000
@@ -1,9 +1,31 @@
#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 */