00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00038 #include "OW_config.h"
00039 #include "OW_ServerSocket.hpp"
00040
00041 namespace OW_NAMESPACE
00042 {
00043
00045 ServerSocket::ServerSocket(SSLServerCtxRef sslCtx)
00046 : SelectableIFC()
00047 , m_impl(new ServerSocketImpl(sslCtx))
00048 {
00049 }
00051 ServerSocket::ServerSocket(SocketFlags::ESSLFlag isSSL)
00052 : SelectableIFC()
00053 , m_impl(new ServerSocketImpl(isSSL))
00054 {
00055 }
00057 ServerSocket::ServerSocket(const ServerSocket& arg)
00058 : SelectableIFC()
00059 , m_impl(arg.m_impl) {}
00061 Socket
00062 ServerSocket::accept(int timeoutSecs)
00063 {
00064 return m_impl->accept(timeoutSecs);
00065 }
00067 void
00068 ServerSocket::doListen(UInt16 port, SocketFlags::ESSLFlag isSSL, int queueSize,
00069 const String& listenAddr, SocketFlags::EReuseAddrFlag reuseAddr)
00070 {
00071 m_impl->doListen(port, isSSL, queueSize, listenAddr, reuseAddr);
00072 }
00074 void
00075 ServerSocket::doListen(UInt16 port, int queueSize,
00076 const String& listenAddr, SocketFlags::EReuseAddrFlag reuseAddr)
00077 {
00078 m_impl->doListen(port, queueSize, listenAddr, reuseAddr);
00079 }
00081 #ifndef OW_WIN32
00082 void
00083 ServerSocket::doListen(const String& filename, int queueSize, bool reuseAddr)
00084 {
00085 m_impl->doListen(filename, queueSize, reuseAddr);
00086 }
00087 #endif
00088
00089 void
00090 ServerSocket::close()
00091 {
00092 m_impl->close();
00093 }
00095 SocketAddress
00096 ServerSocket::getLocalAddress()
00097 {
00098 return m_impl->getLocalAddress();
00099 }
00101 SocketHandle_t
00102 ServerSocket::getfd() const
00103 {
00104 return m_impl->getfd();
00105 }
00107 Select_t
00108 ServerSocket::getSelectObj() const
00109 {
00110 return m_impl->getSelectObj();
00111 }
00112
00113 }
00114