aboutsummaryrefslogtreecommitdiffstats
path: root/socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'socket.h')
-rw-r--r--socket.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/socket.h b/socket.h
new file mode 100644
index 0000000..58b0b3a
--- /dev/null
+++ b/socket.h
@@ -0,0 +1,54 @@
+#ifndef INCLUDE_BLASSIC_SOCKET_H
+#define INCLUDE_BLASSIC_SOCKET_H
+
+// socket.h
+// Revision 6-feb-2005
+
+#include <string>
+#include <stdexcept>
+
+#ifdef __BORLANDC__
+#pragma warn -8026
+#endif
+
+class SocketError : public std::exception {
+public:
+ SocketError (const std::string & nstr);
+ SocketError (const std::string & nstr, int errnum);
+ ~SocketError () throw () { }
+ const char * what () const throw ();
+private:
+ std::string str;
+ static std::string strErr;
+};
+
+class Socket {
+public:
+ Socket ();
+ Socket (const Socket & nsock);
+ ~Socket ();
+ Socket & operator = (const Socket & nsock);
+ //TypeSocket handle ();
+ bool eof ();
+ std::string readline ();
+ int read (char * str, int len);
+ void write (const std::string & str);
+ void write (const char * str, size_t len);
+protected:
+ class Internal;
+ Internal * in;
+};
+
+class TcpSocket : public Socket {
+public:
+ TcpSocket ();
+};
+
+class TcpSocketClient : public TcpSocket {
+public:
+ TcpSocketClient (const std::string & host, unsigned short port);
+};
+
+#endif
+
+// End of socket.h
Un proyecto texto-plano.xyz