18 #ifndef INCLUDE_RCF_WIN32NAMEDPIPECLIENTTRANSPORT_HPP 19 #define INCLUDE_RCF_WIN32NAMEDPIPECLIENTTRANSPORT_HPP 21 #include <RCF/ConnectedClientTransport.hpp> 25 #include <RCF/AsioFwd.hpp> 29 class RCF_EXPORT Win32NamedPipeClientTransport :
30 public ConnectedClientTransport
34 Win32NamedPipeClientTransport(
35 const Win32NamedPipeClientTransport & rhs);
37 Win32NamedPipeClientTransport(
38 const tstring & pipeName);
40 Win32NamedPipeClientTransport(AsioPipeHandlePtr socketPtr,
const tstring & pipeName);
42 ~Win32NamedPipeClientTransport();
48 HANDLE getNativeHandle()
const;
50 AsioPipeHandlePtr releaseSocket();
52 void setDisconnectBeforeClosing(
bool disconnectBeforeClosing);
54 tstring getPipeName()
const;
55 void setPipeName(
const tstring & pipeName);
57 void setSecurityAttributes(LPSECURITY_ATTRIBUTES pSec);
59 void associateWithIoService(AsioIoService & ioService);
60 bool isAssociatedWithIoService();
65 const ByteBuffer &byteBuffer,
66 std::size_t bytesRequested);
68 std::size_t implReadAsync(
69 const ByteBuffer &byteBuffer,
70 std::size_t bytesRequested);
72 std::size_t implWrite(
73 const std::vector<ByteBuffer> &byteBuffers);
75 std::size_t implWriteAsync(
76 const std::vector<ByteBuffer> &byteBuffers);
81 ClientTransportCallback &clientStub,
82 unsigned int timeoutMs);
84 void implConnectAsync(
85 ClientTransportCallback &clientStub,
86 unsigned int timeoutMs);
99 LPSECURITY_ATTRIBUTES mpSec;
103 AsioPipeHandlePtr mSocketPtr;
104 AsioIoService * mpIoService;
109 #endif // ! INCLUDE_RCF_WIN32NAMEDPIPECLIENTTRANSPORT_HPP std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:117
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:43
Definition: AmiIoHandler.hpp:23
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:33