19 #ifndef MIR_FRONTEND_PROTOBUF_SESSION_CREATOR_H_
20 #define MIR_FRONTEND_PROTOBUF_SESSION_CREATOR_H_
29 namespace protobuf {
class DisplayServer; }
32 class MessageProcessorReport;
33 class ProtobufIpcFactory;
34 class SessionAuthorizer;
39 class MessageProcessor;
40 class ProtobufMessageSender;
47 std::shared_ptr<ProtobufIpcFactory>
const& ipc_factory,
48 std::shared_ptr<SessionAuthorizer>
const& session_authorizer,
49 std::shared_ptr<MessageProcessorReport>
const& report);
52 void create_session_for(std::shared_ptr<boost::asio::local::stream_protocol::socket>
const& socket);
55 std::shared_ptr<detail::ProtobufMessageSender>
const& sender,
56 std::shared_ptr<protobuf::DisplayServer>
const& display_server,
57 std::shared_ptr<MessageProcessorReport>
const& report)
const;
62 std::shared_ptr<ProtobufIpcFactory>
const ipc_factory;
63 std::shared_ptr<SessionAuthorizer>
const session_authorizer;
64 std::shared_ptr<MessageProcessorReport>
const report;
65 std::atomic<int> next_session_id;
66 std::shared_ptr<detail::ConnectedSessions<detail::SocketSession>>
const connected_sessions;
ProtobufSessionCreator(std::shared_ptr< ProtobufIpcFactory > const &ipc_factory, std::shared_ptr< SessionAuthorizer > const &session_authorizer, std::shared_ptr< MessageProcessorReport > const &report)
Definition: protobuf_session_creator.cpp:35
Definition: session_creator.h:30
~ProtobufSessionCreator() noexcept
Definition: protobuf_session_creator.cpp:47
void create_session_for(std::shared_ptr< boost::asio::local::stream_protocol::socket > const &socket)
Definition: protobuf_session_creator.cpp:57
virtual std::shared_ptr< detail::MessageProcessor > create_processor(std::shared_ptr< detail::ProtobufMessageSender > const &sender, std::shared_ptr< protobuf::DisplayServer > const &display_server, std::shared_ptr< MessageProcessorReport > const &report) const
Definition: protobuf_session_creator.cpp:81
Definition: protobuf_session_creator.h:43