~robertcarr/mir/client-focus-notifications

« back to all changes in this revision

Viewing changes to src/server/frontend/protobuf_message_processor.h

  • Committer: Robert Carr
  • Date: 2013-08-01 22:01:20 UTC
  • mfrom: (706.2.208 trunk)
  • Revision ID: robert.carr@canonical.com-20130801220120-6m230b3g6x0xflzd
Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#define MIR_FRONTEND_PROTOBUF_MESSAGE_PROCESSOR_H_
22
22
 
23
23
#include "message_processor.h"
 
24
#include "message_sender.h"
24
25
 
25
26
#include "mir_protobuf.pb.h"
26
27
#include "mir_protobuf_wire.pb.h"
27
 
#include "mir/events/event_sink.h"
 
28
#include "mir/frontend/event_sink.h"
28
29
 
29
30
#include <vector>
30
31
#include <memory>
43
44
namespace detail
44
45
{
45
46
 
46
 
struct ProtobufMessageProcessor : MessageProcessor,
47
 
                                  public events::EventSink
 
47
class ProtobufMessageProcessor : public MessageProcessor
48
48
{
 
49
public:
49
50
    ProtobufMessageProcessor(
50
 
        MessageSender* sender,
 
51
        std::shared_ptr<MessageSender> const& sender,
51
52
        std::shared_ptr<protobuf::DisplayServer> const& display_server,
52
53
        std::shared_ptr<ResourceCache> const& resource_cache,
53
54
        std::shared_ptr<MessageProcessorReport> const& report);
72
73
    // OTOH until we have a real requirement it is hard to see how best to generalise.
73
74
    void send_response(::google::protobuf::uint32 id, mir::protobuf::Surface* response);
74
75
 
75
 
    void send_event(MirEvent const& e);
76
 
 
77
 
    void handle_event(MirEvent const& e);
78
 
 
79
76
    template<class Response>
80
77
    std::vector<int32_t> extract_fds_from(Response* response);
81
78
 
92
89
            ::google::protobuf::Closure* done),
93
90
        mir::protobuf::wire::Invocation const& invocation);
94
91
 
95
 
    MessageSender* const sender;
 
92
    std::shared_ptr<MessageSender> const sender;
96
93
    std::shared_ptr<protobuf::DisplayServer> const display_server;
97
94
    std::shared_ptr<ResourceCache> const resource_cache;
98
95
    std::shared_ptr<MessageProcessorReport> const report;