20 #ifndef MIR_FRONTEND_PROTOBUF_MESSAGE_PROCESSOR_H_
21 #define MIR_FRONTEND_PROTOBUF_MESSAGE_PROCESSOR_H_
24 #include "mir_protobuf.pb.h"
25 #include <google/protobuf/stubs/common.h>
29 namespace google {
namespace protobuf {
class MessageLite; } }
34 class MessageProcessorReport;
39 class ProtobufMessageSender;
42 public std::enable_shared_from_this<ProtobufMessageProcessor>
46 std::shared_ptr<ProtobufMessageSender>
const& sender,
47 std::shared_ptr<DisplayServer>
const& display_server,
48 std::shared_ptr<MessageProcessorReport>
const& report);
54 void send_response(google::protobuf::uint32
id, google::protobuf::MessageLite* response);
55 void send_response(google::protobuf::uint32
id, protobuf::Buffer* response);
56 void send_response(google::protobuf::uint32
id, protobuf::Connection* response);
57 void send_response(google::protobuf::uint32
id, protobuf::Surface* response);
58 void send_response(google::protobuf::uint32
id, std::shared_ptr<protobuf::Buffer> response);
59 void send_response(google::protobuf::uint32
id, mir::protobuf::Screencast* response);
60 void send_response(google::protobuf::uint32
id, mir::protobuf::BufferStream* response);
61 void send_response(google::protobuf::uint32
id, mir::protobuf::SocketFD* response);
62 void send_response(google::protobuf::uint32
id, std::shared_ptr<protobuf::PlatformOperationMessage> response);
65 bool dispatch(
Invocation const& invocation, std::vector<mir::Fd>
const& side_channel_fds)
override;
67 std::shared_ptr<ProtobufMessageSender>
const sender;
68 std::shared_ptr<DisplayServer>
const display_server;
69 std::shared_ptr<MessageProcessorReport>
const report;
All things Mir.
Definition: atomic_callback.h:25
Definition: message_processor.h:40
void send_response(google::protobuf::uint32 id, google::protobuf::MessageLite *response)
Definition: protobuf_message_processor.h:41
Definition: message_processor.h:53
ProtobufMessageProcessor(std::shared_ptr< ProtobufMessageSender > const &sender, std::shared_ptr< DisplayServer > const &display_server, std::shared_ptr< MessageProcessorReport > const &report)
Definition: mir_basic_rpc_channel.h:28
~ProtobufMessageProcessor() noexcept
Definition: protobuf_message_processor.h:50
void client_pid(int pid) override