19 #ifndef MIR_SCENE_APPLICATION_MANAGER_H_
20 #define MIR_SCENE_APPLICATION_MANAGER_H_
38 class SessionContainer;
39 class SessionEventSink;
40 class SessionListener;
41 class SnapshotStrategy;
42 class SurfaceCoordinator;
43 class PromptSessionManager;
49 explicit SessionManager(std::shared_ptr<SurfaceCoordinator>
const& surface_coordinator,
50 std::shared_ptr<SessionContainer>
const& app_container,
51 std::shared_ptr<shell::FocusSetter>
const& focus_setter,
52 std::shared_ptr<SnapshotStrategy>
const& snapshot_strategy,
53 std::shared_ptr<SessionEventSink>
const& session_event_sink,
54 std::shared_ptr<SessionListener>
const& session_listener,
55 std::shared_ptr<PromptSessionManager>
const& prompt_session_manager);
60 std::string
const& name,
61 std::shared_ptr<frontend::EventSink>
const& sink)
override;
63 virtual void close_session(std::shared_ptr<frontend::Session>
const& session)
override;
67 void set_focus_to(std::shared_ptr<Session>
const& focus)
override;
74 std::shared_ptr<frontend::Session>
const& session)
override;
75 void stop_prompt_session(std::shared_ptr<frontend::PromptSession>
const& prompt_session)
override;
82 std::shared_ptr<SurfaceCoordinator>
const surface_coordinator;
83 std::shared_ptr<SessionContainer>
const app_container;
84 std::shared_ptr<shell::FocusSetter>
const focus_setter;
85 std::shared_ptr<SnapshotStrategy>
const snapshot_strategy;
86 std::shared_ptr<SessionEventSink>
const session_event_sink;
87 std::shared_ptr<SessionListener>
const session_listener;
88 std::shared_ptr<PromptSessionManager>
const prompt_session_manager;
91 std::weak_ptr<Session> focus_application;
93 void set_focus_to_locked(std::unique_lock<std::mutex>
const& lock, std::shared_ptr<Session>
const& next_focus);
99 #endif // MIR_SCENE_APPLICATION_MANAGER_H_
All things Mir.
Definition: aging_buffer.h:24
Definition: session_coordinator.h:31
Interface used by the Shell to propagate changes in the focus model to interested views e...
Definition: focus_setter.h:33
void handle_surface_created(std::shared_ptr< frontend::Session > const &session) override
Definition: session_manager.cpp:160
void add_prompt_provider_for(std::shared_ptr< frontend::PromptSession > const &prompt_session, std::shared_ptr< frontend::Session > const &session) override
Definition: session_manager.cpp:175
SessionManager(std::shared_ptr< SurfaceCoordinator > const &surface_coordinator, std::shared_ptr< SessionContainer > const &app_container, std::shared_ptr< shell::FocusSetter > const &focus_setter, std::shared_ptr< SnapshotStrategy > const &snapshot_strategy, std::shared_ptr< SessionEventSink > const &session_event_sink, std::shared_ptr< SessionListener > const &session_listener, std::shared_ptr< PromptSessionManager > const &prompt_session_manager)
Definition: session_manager.h:46
virtual void close_session(std::shared_ptr< frontend::Session > const &session) override
Definition: session_manager.cpp:122
void set_focus_to(std::shared_ptr< Session > const &focus) override
Definition: session_manager.cpp:116
SessionManager & operator=(const SessionManager &)=delete
std::shared_ptr< frontend::PromptSession > start_prompt_session_for(std::shared_ptr< frontend::Session > const &session, PromptSessionCreationParameters const ¶ms) override
Definition: session_manager.cpp:165
void stop_prompt_session(std::shared_ptr< frontend::PromptSession > const &prompt_session) override
Definition: session_manager.cpp:185
virtual ~SessionManager() noexcept
Definition: session_manager.cpp:59
Definition: prompt_session_creation_parameters.h:29
std::weak_ptr< Session > focussed_application() const
Definition: session_manager.cpp:155
void focus_next() override
Definition: session_manager.cpp:140
virtual std::shared_ptr< frontend::Session > open_session(pid_t client_pid, std::string const &name, std::shared_ptr< frontend::EventSink > const &sink) override
Definition: session_manager.cpp:79