Remote Call Framework 3.2
Endpoint.hpp
Go to the documentation of this file.
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2020, 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.2
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
20 
21 #ifndef INCLUDE_RCF_ENDPOINT_HPP
22 #define INCLUDE_RCF_ENDPOINT_HPP
23 
24 #include <memory>
25 #include <string>
26 
27 #include <RCF/Export.hpp>
28 #include <RCF/RcfFwd.hpp>
29 
30 namespace SF
31 {
32  class Archive;
33 }
34 
35 namespace RCF {
36 
37  class ServerTransport;
38  class ClientTransport;
39 
41  class RCF_EXPORT Endpoint
42  {
43  public:
44 
45  // *** SWIG BEGIN ***
46 
47  virtual ~Endpoint() {}
48 
49  // *** SWIG END ***
50 
51  virtual std::unique_ptr<ServerTransport> createServerTransport() const = 0;
52  virtual std::unique_ptr<ClientTransport> createClientTransport() const = 0;
53  virtual EndpointPtr clone() const = 0;
54  virtual std::string asString() const = 0;
55  void serialize(SF::Archive &) {}
56 
57  // Only implemented by ProxyEndpoint.
58  virtual std::string getProxyEndpointName() const { return ""; }
59  };
60 
61 } // namespace RCF
62 
63 #endif // ! INCLUDE_RCF_ENDPOINT_HPP
Represents an archive, in which serialized objects are stored.
Definition: Archive.hpp:32
std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:118
Definition: ByteBuffer.hpp:189
Base class for all network endpoint types.
Definition: Endpoint.hpp:41
Definition: AmiIoHandler.hpp:24