19 #ifndef INCLUDE_RCF_WIN32NAMEDPIPECLIENTTRANSPORT_HPP 20 #define INCLUDE_RCF_WIN32NAMEDPIPECLIENTTRANSPORT_HPP 22 #include <RCF/ConnectedClientTransport.hpp> 26 #include <RCF/AsioFwd.hpp> 30 class RCF_EXPORT Win32NamedPipeClientTransport :
31 public ConnectedClientTransport
35 Win32NamedPipeClientTransport(
36 const Win32NamedPipeClientTransport & rhs);
38 Win32NamedPipeClientTransport(
39 const tstring & pipeName);
41 Win32NamedPipeClientTransport(AsioPipeHandlePtr socketPtr,
const tstring & pipeName);
43 ~Win32NamedPipeClientTransport();
49 HANDLE getNativeHandle()
const;
51 AsioPipeHandlePtr releaseSocket();
53 void setDisconnectBeforeClosing(
bool disconnectBeforeClosing);
55 tstring getPipeName()
const;
56 void setPipeName(
const tstring & pipeName);
58 void setSecurityAttributes(LPSECURITY_ATTRIBUTES pSec);
60 void associateWithIoService(AsioIoService & ioService);
61 bool isAssociatedWithIoService();
66 const ByteBuffer &byteBuffer,
67 std::size_t bytesRequested);
69 std::size_t implReadAsync(
70 const ByteBuffer &byteBuffer,
71 std::size_t bytesRequested);
73 std::size_t implWrite(
74 const std::vector<ByteBuffer> &byteBuffers);
76 std::size_t implWriteAsync(
77 const std::vector<ByteBuffer> &byteBuffers);
82 ClientTransportCallback &clientStub,
83 unsigned int timeoutMs);
85 void implConnectAsync(
86 ClientTransportCallback &clientStub,
87 unsigned int timeoutMs);
100 LPSECURITY_ATTRIBUTES mpSec;
104 AsioPipeHandlePtr mSocketPtr;
105 AsioIoService * mpIoService;
110 #endif // ! INCLUDE_RCF_WIN32NAMEDPIPECLIENTTRANSPORT_HPP std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:118
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:44
Definition: AmiIoHandler.hpp:24
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:34