status_t BSecureSocket::Accept(BAbstractSocket*& _socket) { int fd = -1; BNetworkAddress peer; status_t error = AcceptNext(fd, peer); if (error != B_OK) return error; BSecureSocket* socket = new(std::nothrow) BSecureSocket(); ObjectDeleter<BSecureSocket> socketDeleter(socket); if (socket == NULL || socket->InitCheck() != B_OK) { close(fd); return B_NO_MEMORY; } socket->_SetTo(fd, fLocal, peer); error = socket->_SetupAccept(); if (error != B_OK) return error; _socket = socket; socketDeleter.Detach(); return B_OK; }
BOOL CAsyncSocketExLayer::Accept( CAsyncSocketEx& rConnectedSocket, SOCKADDR* lpSockAddr /*=NULL*/, int* lpSockAddrLen /*=NULL*/ ) { return AcceptNext(rConnectedSocket, lpSockAddr, lpSockAddrLen); }