|
| SessionMediator (std::shared_ptr< Shell > const &shell, std::shared_ptr< graphics::PlatformIpcOperations > const &ipc_operations, std::shared_ptr< frontend::DisplayChanger > const &display_changer, std::vector< MirPixelFormat > const &surface_pixel_formats, std::shared_ptr< SessionMediatorReport > const &report, std::shared_ptr< EventSinkFactory > const &sink_factory, std::shared_ptr< MessageSender > const &message_sender, std::shared_ptr< MessageResourceCache > const &resource_cache, std::shared_ptr< Screencast > const &screencast, ConnectionContext const &connection_context, std::shared_ptr< input::CursorImages > const &cursor_images, std::shared_ptr< scene::CoordinateTranslator > const &translator, std::shared_ptr< scene::ApplicationNotRespondingDetector > const &anr_detector, std::shared_ptr< cookie::Authority > const &cookie_authority, std::shared_ptr< input::InputDeviceHub > const &hub) |
|
| ~SessionMediator () noexcept |
|
void | client_pid (int pid) override |
|
void | connect (mir::protobuf::ConnectParameters const *request, mir::protobuf::Connection *response, google::protobuf::Closure *done) override |
|
void | disconnect (mir::protobuf::Void const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | create_surface (mir::protobuf::SurfaceParameters const *request, mir::protobuf::Surface *response, google::protobuf::Closure *done) override |
|
void | modify_surface (mir::protobuf::SurfaceModifications const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | release_surface (mir::protobuf::SurfaceId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | platform_operation (mir::protobuf::PlatformOperationMessage const *request, mir::protobuf::PlatformOperationMessage *response, google::protobuf::Closure *done) override |
|
void | configure_surface (mir::protobuf::SurfaceSetting const *request, mir::protobuf::SurfaceSetting *response, google::protobuf::Closure *done) override |
|
void | configure_display (mir::protobuf::DisplayConfiguration const *request, mir::protobuf::DisplayConfiguration *response, google::protobuf::Closure *done) override |
|
void | set_base_display_configuration (mir::protobuf::DisplayConfiguration const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | preview_base_display_configuration (mir::protobuf::PreviewConfiguration const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | confirm_base_display_configuration (mir::protobuf::DisplayConfiguration const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | create_screencast (mir::protobuf::ScreencastParameters const *request, mir::protobuf::Screencast *response, google::protobuf::Closure *done) override |
|
void | screencast_buffer (mir::protobuf::ScreencastId const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done) override |
|
void | release_screencast (mir::protobuf::ScreencastId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | create_buffer_stream (mir::protobuf::BufferStreamParameters const *request, mir::protobuf::BufferStream *response, google::protobuf::Closure *done) override |
|
void | release_buffer_stream (mir::protobuf::BufferStreamId const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | configure_cursor (mir::protobuf::CursorSetting const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | new_fds_for_prompt_providers (mir::protobuf::SocketFDRequest const *request, mir::protobuf::SocketFD *response, google::protobuf::Closure *done) override |
|
void | start_prompt_session (mir::protobuf::PromptSessionParameters const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | stop_prompt_session (mir::protobuf::Void const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | exchange_buffer (mir::protobuf::BufferRequest const *request, mir::protobuf::Buffer *response, google::protobuf::Closure *done) override |
|
void | submit_buffer (mir::protobuf::BufferRequest const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | allocate_buffers (mir::protobuf::BufferAllocation const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | release_buffers (mir::protobuf::BufferRelease const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | request_persistent_surface_id (mir::protobuf::SurfaceId const *request, mir::protobuf::PersistentSurfaceId *response, google::protobuf::Closure *done) override |
|
void | pong (mir::protobuf::PingEvent const *request, mir::protobuf::Void *response, google::protobuf::Closure *done) override |
|
void | configure_buffer_stream (mir::protobuf::StreamConfiguration const *request, mir::protobuf::Void *, google::protobuf::Closure *done) override |
|
void | raise_surface (mir::protobuf::RaiseRequest const *request, mir::protobuf::Void *, google::protobuf::Closure *done) override |
|
void | translate_surface_to_screen (mir::protobuf::CoordinateTranslationRequest const *request, mir::protobuf::CoordinateTranslationResponse *response, google::protobuf::Closure *done) override |
|
virtual | ~DisplayServer ()=default |
|
virtual | ~DisplayServerDebug ()=default |
|
SessionMediator relays requests from the client process into the server.
Each SessionMediator is associated with exactly one client socket connection, and visa versa.
- Note
- SessionMediator is not reentrant. If two threads want to process events on a client socket at the same time they must perform their own locking.