Remote Call Framework 3.1
Win32NamedPipeEndpoint.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2019, Delta V Software. All rights reserved.
6 // http://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
12 // under GPL terms.
13 //
14 // Version: 3.1
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP
20 #define INCLUDE_RCF_WIN32NAMEDPIPEENDPOINT_HPP
21 
22 #include <RCF/Endpoint.hpp>
23 #include <RCF/Export.hpp>
24 
25 #include <RCF/Tchar.hpp>
26 #include <windows.h>
27 
28 namespace RCF {
29 
31  class RCF_EXPORT Win32NamedPipeEndpoint : public Endpoint
32  {
33  public:
34 
36 
37  // *** SWIG BEGIN ***
38 
40  Win32NamedPipeEndpoint(const tstring & pipeName);
41 
42  // *** SWIG END ***
43 
44  ServerTransportUniquePtr createServerTransport() const;
45  ClientTransportUniquePtr createClientTransport() const;
46  EndpointPtr clone() const;
47 
48  std::string asString() const;
49 
50  tstring getPipeName();
51 
52  private:
53  tstring mPipeName;
54  };
55 
56  RCF_EXPORT std::pair<tstring, HANDLE> generateNewPipeName();
57 
58 } // namespace RCF
59 
60 #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:31
Base class for all network endpoint types.
Definition: Endpoint.hpp:41
Definition: AmiIoHandler.hpp:24