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