RCFProto

- Main Page
- Classes
- Files

- File List

All Classes Functions Typedefs
Endpoint.hpp
1
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2013, 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: 2.0
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18
19 #ifndef INCLUDE_RCF_ENDPOINT_HPP
20 #define INCLUDE_RCF_ENDPOINT_HPP
21
22 #include <memory>
23 #include <string>
24
25 #include <boost/shared_ptr.hpp>
26
27 #include <RCF/Exception.hpp>
28 #include <RCF/SerializationProtocol.hpp>
29
30 namespace RCF {
31
32 class ServerTransport;
33 class ClientTransport;
34
35 class Endpoint;
36 typedef boost::shared_ptr<Endpoint> EndpointPtr;
37
39 class RCF_EXPORT Endpoint
40 {
41 public:
42
43 // *** SWIG BEGIN ***
44
45 virtual ~Endpoint() {}
46
47 // *** SWIG END ***
48
49 virtual std::auto_ptr<ServerTransport> createServerTransport() const = 0;
50 virtual std::auto_ptr<ClientTransport> createClientTransport() const = 0;
51 virtual EndpointPtr clone() const = 0;
52 virtual std::string asString() const = 0;
53 void serialize(SF::Archive &) {}
54 };
55
56 } // namespace RCF
57
58 #include <boost/version.hpp>
59
60 #endif // ! INCLUDE_RCF_ENDPOINT_HPP