diff options
Diffstat (limited to 'socket.h')
-rw-r--r-- | socket.h | 54 |
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 |