19 #ifndef MIR_SHELL_ABSTRACT_SHELL_H_
20 #define MIR_SHELL_ABSTRACT_SHELL_H_
45 std::shared_ptr<frontend::EventSink>
const& sink)
override;
47 void close_session(std::shared_ptr<scene::Session>
const& session)
override;
56 std::shared_ptr<scene::Session>
const& session,
57 std::shared_ptr<scene::Surface>
const& surface,
62 std::shared_ptr<scene::Surface>
const& surface,
66 std::shared_ptr<scene::Session>
const& session,
70 std::shared_ptr<scene::PromptSession>
const& prompt_session,
71 std::shared_ptr<scene::Session>
const& session)
override;
73 void stop_prompt_session(std::shared_ptr<scene::PromptSession>
const& prompt_session)
override;
87 void set_focus_to(std::shared_ptr<scene::Session>
const& focus)
override;
102 virtual void setting_focus_to(std::shared_ptr<scene::Surface>
const& next_focus);
103 virtual void setting_focus_to(std::shared_ptr<scene::Session>
const& next_focus);
106 std::mutex
mutable focus_mutex;
107 std::weak_ptr<scene::Surface> focus_surface;
108 std::weak_ptr<scene::Session> focus_session;
110 void set_focus_to_locked(std::unique_lock<std::mutex>
const& lock, std::shared_ptr<scene::Surface>
const& next_focus);
111 void set_focus_to_locked(std::unique_lock<std::mutex>
const& lock, std::shared_ptr<scene::Session>
const& next_focus);
All things Mir.
Definition: buffer_stream.h:37
void add_prompt_provider_for(std::shared_ptr< scene::PromptSession > const &prompt_session, std::shared_ptr< scene::Session > const &session) override
Definition: abstract_shell.cpp:89
~AbstractShell() noexcept
Definition: abstract_shell.cpp:44
std::shared_ptr< scene::SurfaceCoordinator > const surface_coordinator
Definition: abstract_shell.h:92
void close_session(std::shared_ptr< scene::Session > const &session) override
Definition: abstract_shell.cpp:56
int set_surface_attribute(std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface, MirSurfaceAttrib attrib, int value) override
Definition: abstract_shell.cpp:102
std::shared_ptr< scene::SessionCoordinator > const session_coordinator
Definition: abstract_shell.h:93
std::shared_ptr< InputTargeter > const input_targeter
Definition: abstract_shell.h:91
int get_surface_attribute(std::shared_ptr< scene::Surface > const &surface, MirSurfaceAttrib attrib) override
Definition: abstract_shell.cpp:111
frontend::SurfaceId create_surface(std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const ¶ms) override
Definition: abstract_shell.cpp:63
AbstractShell(std::shared_ptr< InputTargeter > const &input_targeter, std::shared_ptr< scene::SurfaceCoordinator > const &surface_coordinator, std::shared_ptr< scene::SessionCoordinator > const &session_coordinator, std::shared_ptr< scene::PromptSessionManager > const &prompt_session_manager)
Definition: abstract_shell.cpp:32
void stop_prompt_session(std::shared_ptr< scene::PromptSession > const &prompt_session) override
Definition: abstract_shell.cpp:96
Definition: int_wrapper.h:27
void set_focus_to(std::shared_ptr< scene::Session > const &focus) override
Definition: abstract_shell.cpp:135
Definition: surface_creation_parameters.h:41
std::shared_ptr< scene::PromptSession > start_prompt_session_for(std::shared_ptr< scene::Session > const &session, scene::PromptSessionCreationParameters const ¶ms) override
Definition: abstract_shell.cpp:82
std::shared_ptr< scene::PromptSessionManager > const prompt_session_manager
Definition: abstract_shell.h:94
Definition: prompt_session_creation_parameters.h:29
void destroy_surface(std::shared_ptr< scene::Session > const &session, frontend::SurfaceId surface) override
Definition: abstract_shell.cpp:70
Minimal Shell implementation with none of the necessary window management logic.
Definition: abstract_shell.h:31
void handle_surface_created(std::shared_ptr< scene::Session > const &session) override
Definition: abstract_shell.cpp:77
std::shared_ptr< scene::Session > open_session(pid_t client_pid, std::string const &name, std::shared_ptr< frontend::EventSink > const &sink) override
Definition: abstract_shell.cpp:48
void focus_next() override
Definition: abstract_shell.cpp:119
std::weak_ptr< scene::Session > focussed_application() const override
Definition: abstract_shell.cpp:129