19 #ifndef MIR_SCENE_PROMPT_SESSION_MANAGERIMPL_H_ 20 #define MIR_SCENE_PROMPT_SESSION_MANAGERIMPL_H_ 33 class SessionContainer;
35 class PromptSessionContainer;
36 class PromptSessionCreationParameters;
37 class PromptSessionListener;
43 std::shared_ptr<SessionContainer>
const& app_container,
44 std::shared_ptr<PromptSessionListener>
const& prompt_session_listener);
47 std::shared_ptr<Session>
const& session,
51 std::shared_ptr<PromptSession>
const& prompt_session)
const override;
54 std::shared_ptr<PromptSession>
const& prompt_session)
const override;
57 std::shared_ptr<PromptSession>
const& prompt_session)
const override;
60 std::shared_ptr<PromptSession>
const& prompt_session,
61 std::shared_ptr<Session>
const& prompt_provider)
const override;
64 std::shared_ptr<Session>
const& session)
const override;
67 std::shared_ptr<PromptSession>
const& prompt_session)
const override;
70 std::shared_ptr<PromptSession>
const& prompt_session)
const override;
73 std::shared_ptr<PromptSession>
const& prompt_session,
74 std::function<
void(std::shared_ptr<Session>
const& prompt_provider)>
const& f)
const override;
77 std::shared_ptr<PromptSessionContainer>
const prompt_session_container;
78 std::shared_ptr<PromptSessionListener>
const prompt_session_listener;
79 std::shared_ptr<SessionContainer>
const app_container;
81 std::mutex
mutable prompt_sessions_mutex;
83 void stop_prompt_session_locked(
84 std::lock_guard<std::mutex>
const&,
85 std::shared_ptr<PromptSession>
const& prompt_session)
const;
90 #endif // MIR_SCENE_PROMPT_SESSION_MANAGERIMPL_H_ All things Mir.
Definition: atomic_callback.h:25
PromptSessionManagerImpl(std::shared_ptr< SessionContainer > const &app_container, std::shared_ptr< PromptSessionListener > const &prompt_session_listener)
Definition: prompt_session_manager_impl.cpp:30
std::shared_ptr< Session > helper_for(std::shared_ptr< PromptSession > const &prompt_session) const override
Retrieve the helper session for a prompt session.
Definition: prompt_session_manager_impl.cpp:177
void stop_prompt_session(std::shared_ptr< PromptSession > const &prompt_session) const override
Stop a started prompt session.
Definition: prompt_session_manager_impl.cpp:97
std::shared_ptr< PromptSession > start_prompt_session_for(std::shared_ptr< Session > const &session, PromptSessionCreationParameters const ¶ms) const override
Start a new prompt session.
Definition: prompt_session_manager_impl.cpp:120
void for_each_provider_in(std::shared_ptr< PromptSession > const &prompt_session, std::function< void(std::shared_ptr< Session > const &prompt_provider)> const &f) const override
Iterate over all the prompt providers associated with a prompt session.
Definition: prompt_session_manager_impl.cpp:191
void add_prompt_provider(std::shared_ptr< PromptSession > const &prompt_session, std::shared_ptr< Session > const &prompt_provider) const override
Add a prompt provider to an existing prompt session.
Definition: prompt_session_manager_impl.cpp:153
void resume_prompt_session(std::shared_ptr< PromptSession > const &prompt_session) const override
Resume a suspended prompt session.
Definition: prompt_session_manager_impl.cpp:112
void suspend_prompt_session(std::shared_ptr< PromptSession > const &prompt_session) const override
Suspend a prompt session.
Definition: prompt_session_manager_impl.cpp:104
Definition: prompt_session_manager.h:34
void remove_session(std::shared_ptr< Session > const &session) const override
Remove a session from all associated prompt sessions.
Definition: prompt_session_manager_impl.cpp:68
Definition: prompt_session_creation_parameters.h:29
std::shared_ptr< Session > application_for(std::shared_ptr< PromptSession > const &prompt_session) const override
Retrieve the application session for a prompt session.
Definition: prompt_session_manager_impl.cpp:163
Definition: prompt_session_manager_impl.h:39