00001 /* 00002 * $Id: SSLSocket.h 566 2007-12-02 08:20:52Z mindstorm2600 $ 00003 */ 00004 #ifndef __XVR_SSL_SOCKET_H__ 00005 #define __XVR_SSL_SOCKET_H__ 00006 #include<xvr2/Net/TCPSocket.h> 00007 #include<xvr2/Net/SSLContext.h> 00008 #include<xvr2/Net/NetworkExceptions.h> 00009 00010 namespace xvr2 { 00011 namespace Net { 00012 class SSLSocket : public xvr2::Object { 00013 private: 00014 int tsock; 00015 int port; 00016 protected: 00017 SSLContext ctx; 00018 void *idata; 00019 void attach(); 00020 public: 00021 SSLSocket(const SSLContext &_ctx); 00022 SSLSocket(const SSLContext &_ctx, const char *thehost, int theport); 00023 SSLSocket(const SSLContext &_ctx, const String &thehost, int theport); 00024 SSLSocket(SSLSocket *s); 00025 SSLSocket(const SSLSocket &s); 00026 const SSLSocket &operator=(const SSLSocket &s); 00027 virtual ~SSLSocket(); 00028 virtual void write(const void *buffer, unsigned long size); 00029 virtual int read(void *buffer, unsigned long size); 00030 }; 00031 }; 00032 }; 00033 #endif