CppWAMP
C++11 client library for the WAMP protocol
callee.hpp
1 /*------------------------------------------------------------------------------
2  Copyright Butterfly Energy Systems 2014-2015, 2022.
3  Distributed under the Boost Software License, Version 1.0.
4  http://www.boost.org/LICENSE_1_0.txt
5 ------------------------------------------------------------------------------*/
6 
7 #ifndef CPPWAMP_INTERNAL_CALLEE_HPP
8 #define CPPWAMP_INTERNAL_CALLEE_HPP
9 
10 #include <cstdint>
11 #include <memory>
12 #include <string>
13 #include "../peerdata.hpp"
14 #include "../wampdefs.hpp"
15 
16 namespace wamp
17 {
18 
19 class Registration;
20 
21 namespace internal
22 {
23 
24 //------------------------------------------------------------------------------
25 class Callee
26 {
27 public:
28  using WeakPtr = std::weak_ptr<Callee>;
29 
30  virtual ~Callee() {}
31 
32  virtual void safeUnregister(const Registration&) = 0;
33 
34  virtual void safeYield(RequestId, wamp::Result&&) = 0;
35 
36  virtual void safeYield(RequestId, wamp::Error&&) = 0;
37 };
38 
39 } // namespace internal
40 
41 } // namespace wamp
42 
43 #endif // CPPWAMP_INTERNAL_CALLEE_HPP
wamp::RequestId
int64_t RequestId
Ephemeral ID associated with a WAMP request.
Definition: wampdefs.hpp:23
wamp::Error
Provides the reason URI, options, and payload arguments contained within WAMP ERROR messages.
Definition: peerdata.hpp:292
wamp
Definition: anyhandler.hpp:36
wamp::Result
Contains the remote procedure result options/payload within WAMP RESULT and YIELD messages.
Definition: peerdata.hpp:646