00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _serversocket_h
00018 #define _serversocket_h
00019
00020 #include <spl/net/TcpSocket.h>
00021
00028 class ServerSocket;
00029 typedef RefCountPtr<ServerSocket> ServerSocketPtr;
00030
00031 REGISTER_TYPEOF(44, ServerSocketPtr);
00032
00037 class ServerSocket : public IMemoryValidate
00038 {
00039 private:
00040
00041 inline ServerSocket(const ServerSocket& sock) {}
00042 inline void operator =(const ServerSocket& pmp) {}
00043
00044 protected:
00045 Socket m_sock;
00046
00047 void Bind ();
00048 void Listen (int iNumBuf);
00049
00050 public:
00051 ServerSocket( int port, int iNumBuf );
00052 virtual ~ServerSocket();
00053
00054 TcpSocketPtr Accept ( );
00055 inline void Close() { m_sock.Close(); }
00056 inline void Shutdown( int i=SD_BOTH ) {m_sock.Shutdown(i);}
00057
00058 #if defined(DEBUG) || defined(_DEBUG)
00059 virtual void CheckMem() const {m_sock.CheckMem();}
00060 virtual void ValidateMem() const {m_sock.ValidateMem();}
00061 #endif
00062 };
00063
00064 REGISTER_TYPEOF(46, ServerSocket);
00065
00068 #endif