ClientTransportAutoPtr Win32NamedPipeNetworkSession::implCreateClientTransport() { std::auto_ptr<Win32NamedPipeClientTransport> pipeClientTransportPtr( new Win32NamedPipeClientTransport(mSocketPtr, mRemotePipeName)); return ClientTransportAutoPtr(pipeClientTransportPtr.release()); }
void PublisherBase::init() { mRcfClientPtr->getClientStub().setTransport( ClientTransportAutoPtr(new MulticastClientTransport)); mRcfClientPtr->getClientStub().setRemoteCallSemantics(Oneway); mRcfClientPtr->getClientStub().setTargetName(""); mRcfClientPtr->getClientStub().setTargetToken( Token()); }
ClientTransportAutoPtr Win32NamedPipeSessionState::implCreateClientTransport() { HANDLE hPipe = INVALID_HANDLE_VALUE; { Lock lock(mMutex); if (mOwnFd && !mHasBeenClosed) { mOwnFd = false; mEnableReconnect = false; hPipe = mhPipe; } } std::auto_ptr<Win32NamedPipeClientTransport> w32PipeClientTransport( new Win32NamedPipeClientTransport(hPipe)); w32PipeClientTransport->setNotifyCloseFunctor( boost::bind( &IocpSessionState::notifyClose, IocpSessionStateWeakPtr(sharedFromThis()))); w32PipeClientTransport->setPipeName(mRemotePipeName); return ClientTransportAutoPtr(w32PipeClientTransport.release()); }
ClientTransportAutoPtr MulticastClientTransport::clone() const { RCF_ASSERT(0); return ClientTransportAutoPtr(); }
ClientTransportAutoPtr Win32NamedPipeEndpoint::createClientTransport() const { return ClientTransportAutoPtr( new Win32NamedPipeClientTransport(mPipeName)); }
ClientTransportAutoPtr UnixLocalEndpoint::createClientTransport() const { return ClientTransportAutoPtr(new UnixLocalClientTransport(mPipeName)); }
ClientTransportAutoPtr HttpEndpoint::createClientTransport() const { return ClientTransportAutoPtr( new HttpClientTransport(*this) ); }