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);
52 void client_pid(
int pid)
override;
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
Definition: protobuf_message_processor.h:41
Definition: message_processor.h:53
Definition: buffer_stream.h:37
~ProtobufMessageProcessor() noexcept
Definition: protobuf_message_processor.h:50