19 #ifndef MIR_FRONTEND_SESSION_MEDIATOR_H_
20 #define MIR_FRONTEND_SESSION_MEDIATOR_H_
45 class GraphicBufferAllocator;
54 class CoordinateTranslator;
55 class ApplicationNotRespondingDetector;
62 class ClientBufferTracker;
66 class MessageResourceCache;
67 class SessionMediatorReport;
69 class EventSinkFactory;
90 std::shared_ptr<Shell>
const& shell,
91 std::shared_ptr<graphics::PlatformIpcOperations>
const& ipc_operations,
92 std::shared_ptr<frontend::DisplayChanger>
const& display_changer,
93 std::vector<MirPixelFormat>
const& surface_pixel_formats,
94 std::shared_ptr<SessionMediatorReport>
const& report,
95 std::shared_ptr<EventSinkFactory>
const& sink_factory,
96 std::shared_ptr<MessageSender>
const& message_sender,
97 std::shared_ptr<MessageResourceCache>
const& resource_cache,
98 std::shared_ptr<Screencast>
const& screencast,
100 std::shared_ptr<input::CursorImages>
const& cursor_images,
101 std::shared_ptr<scene::CoordinateTranslator>
const& translator,
102 std::shared_ptr<scene::ApplicationNotRespondingDetector>
const& anr_detector);
109 mir::protobuf::ConnectParameters
const* request,
110 mir::protobuf::Connection* response,
111 google::protobuf::Closure* done)
override;
113 mir::protobuf::Void
const* request,
114 mir::protobuf::Void* response,
115 google::protobuf::Closure* done)
override;
117 mir::protobuf::SurfaceParameters
const* request,
118 mir::protobuf::Surface* response,
119 google::protobuf::Closure* done)
override;
121 mir::protobuf::SurfaceModifications
const* request,
122 mir::protobuf::Void* response,
123 google::protobuf::Closure* done)
override;
126 mir::protobuf::Buffer* response,
127 google::protobuf::Closure* done)
override;
130 mir::protobuf::Void* response,
131 google::protobuf::Closure* done)
override;
133 mir::protobuf::PlatformOperationMessage
const* request,
134 mir::protobuf::PlatformOperationMessage* response,
135 google::protobuf::Closure* done)
override;
137 mir::protobuf::SurfaceSetting
const* request,
138 mir::protobuf::SurfaceSetting* response,
139 google::protobuf::Closure* done)
override;
141 mir::protobuf::DisplayConfiguration
const* request,
142 mir::protobuf::DisplayConfiguration* response,
143 google::protobuf::Closure* done)
override;
145 mir::protobuf::ScreencastParameters
const* request,
146 mir::protobuf::Screencast* response,
147 google::protobuf::Closure* done)
override;
149 mir::protobuf::ScreencastId
const* request,
150 mir::protobuf::Buffer* response,
151 google::protobuf::Closure* done)
override;
153 mir::protobuf::ScreencastId
const* request,
154 mir::protobuf::Void* response,
155 google::protobuf::Closure* done)
override;
157 mir::protobuf::BufferStreamParameters
const* request,
158 mir::protobuf::BufferStream* response,
159 google::protobuf::Closure* done)
override;
162 mir::protobuf::Void* response,
163 google::protobuf::Closure* done)
override;
165 mir::protobuf::CursorSetting
const* request,
166 mir::protobuf::Void* response,
167 google::protobuf::Closure* done)
override;
169 mir::protobuf::SocketFDRequest
const* request,
170 mir::protobuf::SocketFD* response,
171 google::protobuf::Closure* done)
override;
173 mir::protobuf::PromptSessionParameters
const* request,
174 mir::protobuf::Void* response,
175 google::protobuf::Closure* done)
override;
177 mir::protobuf::Void
const* request,
178 mir::protobuf::Void* response,
179 google::protobuf::Closure* done)
override;
181 mir::protobuf::BufferRequest
const* request,
182 mir::protobuf::Buffer* response,
183 google::protobuf::Closure* done)
override;
185 mir::protobuf::BufferRequest
const* request,
186 mir::protobuf::Void* response,
187 google::protobuf::Closure* done)
override;
189 mir::protobuf::BufferAllocation
const* request,
190 mir::protobuf::Void* response,
191 google::protobuf::Closure* done)
override;
193 mir::protobuf::BufferRelease
const* request,
194 mir::protobuf::Void* response,
195 google::protobuf::Closure* done)
override;
198 mir::protobuf::PersistentSurfaceId* response,
199 google::protobuf::Closure* done)
override;
201 mir::protobuf::PingEvent
const* request,
202 mir::protobuf::Void* response,
203 google::protobuf::Closure* done)
override;
205 mir::protobuf::StreamConfiguration
const* request,
206 mir::protobuf::Void*,
207 google::protobuf::Closure* done)
override;
211 mir::protobuf::CoordinateTranslationRequest
const* request,
212 mir::protobuf::CoordinateTranslationResponse* response,
213 google::protobuf::Closure* done)
override;
216 void pack_protobuf_buffer(protobuf::Buffer& protobuf_buffer,
226 virtual std::function<void(std::shared_ptr<Session>
const&)> prompt_session_connect_handler()
const;
229 std::shared_ptr<Shell>
const shell;
230 std::shared_ptr<graphics::PlatformIpcOperations>
const ipc_operations;
232 std::vector<MirPixelFormat>
const surface_pixel_formats;
234 std::shared_ptr<frontend::DisplayChanger>
const display_changer;
235 std::shared_ptr<SessionMediatorReport>
const report;
236 std::shared_ptr<EventSinkFactory>
const sink_factory;
237 std::shared_ptr<EventSink>
const event_sink;
238 std::shared_ptr<MessageSender>
const message_sender;
239 std::shared_ptr<MessageResourceCache>
const resource_cache;
240 std::shared_ptr<Screencast>
const screencast;
242 std::shared_ptr<input::CursorImages>
const cursor_images;
243 std::shared_ptr<scene::CoordinateTranslator>
const translator;
244 std::shared_ptr<scene::ApplicationNotRespondingDetector>
const anr_detector;
248 std::weak_ptr<Session> weak_session;
249 std::weak_ptr<PromptSession> weak_prompt_session;
All things Mir.
Definition: atomic_callback.h:25
IntWrapper< detail::SessionsSurfaceIdTag > SurfaceId
Definition: surface_id.h:29
IntWrapper< detail::SessionsBufferStreamIdTag > BufferStreamId
Definition: buffer_stream_id.h:29
BufferIpcMsgType
Definition: platform_ipc_operations.h:29
Definition: display_server_debug.h:28
Definition: buffer_stream_tracker.h:38
Definition: connection_context.h:32
Definition: buffer_stream.h:42
Definition: display_server.h:30