Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
rpc_report.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License version 3 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com>
17  */
18 
19 #ifndef MIR_CLIENT_RPC_RPC_REPORT_H_
20 #define MIR_CLIENT_RPC_RPC_REPORT_H_
21 
22 #include "mir_toolkit/event.h"
23 #include <boost/system/error_code.hpp>
24 #include <google/protobuf/message.h>
25 #include "mir/fd.h"
26 
27 namespace mir
28 {
29 namespace protobuf
30 {
31 class Event;
32 
33 namespace wire
34 {
35 class Invocation;
36 class Result;
37 }
38 }
39 namespace client
40 {
41 namespace rpc
42 {
43 
44 class RpcReport
45 {
46 public:
47  virtual ~RpcReport() = default;
48 
49  virtual void invocation_requested(mir::protobuf::wire::Invocation const& invocation) = 0;
50  virtual void invocation_succeeded(mir::protobuf::wire::Invocation const& invocation) = 0;
51  virtual void invocation_failed(mir::protobuf::wire::Invocation const& invocation,
52  std::exception const& ex) = 0;
53 
54  virtual void header_receipt_failed(std::exception const& ex) = 0;
55  virtual void result_receipt_succeeded(mir::protobuf::wire::Result const& result) = 0;
56  virtual void result_receipt_failed(std::exception const& ex) = 0;
57 
58  virtual void event_parsing_succeeded(MirEvent const& event) = 0;
59  virtual void event_parsing_failed(mir::protobuf::Event const& event) = 0;
60 
61  virtual void orphaned_result(mir::protobuf::wire::Result const& result) = 0;
62  virtual void complete_response(mir::protobuf::wire::Result const& result) = 0;
63 
64  virtual void result_processing_failed(mir::protobuf::wire::Result const& result,
65  std::exception const& ex) = 0;
66 
67  virtual void file_descriptors_received(google::protobuf::Message const& response,
68  std::vector<mir::Fd> const& fds) = 0;
69 
70  virtual void connection_failure(std::exception const& ex) = 0;
71 
72 protected:
73  RpcReport() = default;
74  RpcReport(RpcReport const&) = delete;
75  RpcReport& operator=(RpcReport const&) = delete;
76 };
77 
78 }
79 }
80 }
81 
82 #endif /* MIR_CLIENT_RPC_RPC_REPORT_H_ */
All things Mir.
Definition: aging_buffer.h:24
Definition: mir_protobuf_wire.pb.h:43
virtual void invocation_succeeded(mir::protobuf::wire::Invocation const &invocation)=0
virtual void orphaned_result(mir::protobuf::wire::Result const &result)=0
virtual void result_processing_failed(mir::protobuf::wire::Result const &result, std::exception const &ex)=0
Definition: rpc_report.h:44
virtual void connection_failure(std::exception const &ex)=0
virtual void file_descriptors_received(google::protobuf::Message const &response, std::vector< mir::Fd > const &fds)=0
virtual void result_receipt_succeeded(mir::protobuf::wire::Result const &result)=0
virtual void event_parsing_succeeded(MirEvent const &event)=0
virtual void complete_response(mir::protobuf::wire::Result const &result)=0
RpcReport & operator=(RpcReport const &)=delete
virtual void header_receipt_failed(std::exception const &ex)=0
virtual ~RpcReport()=default
Definition: mir_protobuf_wire.pb.h:165
virtual void invocation_requested(mir::protobuf::wire::Invocation const &invocation)=0
Definition: event.h:227
virtual void result_receipt_failed(std::exception const &ex)=0
Definition: mir_protobuf.pb.h:2040
virtual void event_parsing_failed(mir::protobuf::Event const &event)=0
virtual void invocation_failed(mir::protobuf::wire::Invocation const &invocation, std::exception const &ex)=0

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014