Remote Call Framework 3.3
UnixLocalEndpoint.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2022, 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.3
14 // Contact: support <at> deltavsoft.com
15 //
16 //******************************************************************************
17 
18 #ifndef INCLUDE_RCF_UNIXLOCALENDPOINT_HPP
19 #define INCLUDE_RCF_UNIXLOCALENDPOINT_HPP
20 
21 #include <RCF/Endpoint.hpp>
22 #include <RCF/Export.hpp>
23 #include <RCF/ClientTransport.hpp>
24 #include <RCF/ServerTransport.hpp>
25 
26 #include <SF/SerializeParent.hpp>
27 
28 #if defined(RCF_WINDOWS)
29 #error Unix domain sockets not supported on Windows.
30 #endif
31 
32 namespace RCF {
33 
35  class RCF_EXPORT UnixLocalEndpoint : public Endpoint
36  {
37  public:
38 
40 
41  // *** SWIG BEGIN ***
42 
44  UnixLocalEndpoint(const std::string & socketName);
45 
46  // *** SWIG END ***
47 
48  ServerTransportUniquePtr createServerTransport() const;
49  ClientTransportUniquePtr createClientTransport() const;
50  EndpointPtr clone() const;
51 
52  std::string asString() const;
53 
54  std::string getPipeName() const
55  {
56  return mPipeName;
57  }
58 
59  private:
60 
61  std::string mPipeName;
62  };
63 
64 } // namespace RCF
65 
66 #endif // ! INCLUDE_RCF_UNIXLOCALENDPOINT_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
Base class for all network endpoint types.
Definition: Endpoint.hpp:40
Definition: AmiIoHandler.hpp:23
Represents a UNIX local socket endpoint. Only available on UNIX platforms.
Definition: UnixLocalEndpoint.hpp:35