Remote Call Framework 3.4
Win32NamedPipeEndpoint.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2023, Delta V Software. All rights reserved.
6 // https://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF under GPL terms.
12 //
13 // Version: 3.4
14 // Contact: support <at> deltavsoft.com
15 //
16 //******************************************************************************
17 
18 #ifndef INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP
19 #define INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP
20 
21 #include <RCF/Endpoint.hpp>
22 #include <RCF/Export.hpp>
23 
24 #include <RCF/Tchar.hpp>
25 #include <windows.h>
26 
27 namespace RCF {
28 
30  class RCF_EXPORT Win32NamedPipeEndpoint : public Endpoint
31  {
32  public:
33 
35 
36  // *** SWIG BEGIN ***
37 
39  Win32NamedPipeEndpoint(const tstring & pipeName);
40 
41  // *** SWIG END ***
42 
43  ServerTransportUniquePtr createServerTransport() const;
44  ClientTransportUniquePtr createClientTransport() const;
45  EndpointPtr clone() const;
46 
47  std::string asString() const;
48 
49  tstring getPipeName();
50 
51  private:
52  tstring mPipeName;
53  };
54 
55  RCF_EXPORT std::pair<tstring, HANDLE> generateNewPipeName();
56 
57 } // namespace RCF
58 
59 #endif // ! INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_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
Represents a Win32 named pipe endpoint. Only available on Windows platforms.
Definition: Win32NamedPipeEndpoint.hpp:30
Base class for all network endpoint types.
Definition: Endpoint.hpp:40
Definition: AmiIoHandler.hpp:23