19 #ifndef MIR_FRONTEND_SHELL_H_ 20 #define MIR_FRONTEND_SHELL_H_ 25 #include <sys/types.h> 34 struct SurfaceCreationParameters;
35 struct PromptSessionCreationParameters;
38 namespace shell {
class SurfaceSpecification; }
49 virtual ~
Shell() =
default;
51 virtual std::shared_ptr<Session> open_session(
54 std::shared_ptr<EventSink>
const& sink) = 0;
56 virtual void close_session(std::shared_ptr<Session>
const& session) = 0;
58 virtual std::shared_ptr<PromptSession> start_prompt_session_for(std::shared_ptr<Session>
const& session,
60 virtual void add_prompt_provider_for(std::shared_ptr<PromptSession>
const& prompt_session,
61 std::shared_ptr<Session>
const& session) = 0;
62 virtual void stop_prompt_session(std::shared_ptr<PromptSession>
const& prompt_session) = 0;
65 std::shared_ptr<Session>
const& session,
67 std::shared_ptr<EventSink>
const& sink) = 0;
69 virtual void destroy_surface(std::shared_ptr<Session>
const& session,
SurfaceId surface) = 0;
71 virtual std::string persistent_id_for(std::shared_ptr<Session>
const& session,
SurfaceId surface) = 0;
72 virtual std::shared_ptr<scene::Surface> surface_for_id(
std::string const& serialised_id) = 0;
74 virtual int set_surface_attribute(
75 std::shared_ptr<Session>
const& session,
80 virtual int get_surface_attribute(
81 std::shared_ptr<Session>
const& session,
85 virtual void raise_surface(
86 std::shared_ptr<Session>
const& session,
88 uint64_t timestamp) = 0;
99 #endif // MIR_FRONTEND_SHELL_H_ All things Mir.
Definition: atomic_callback.h:25
Definition: surface_creation_parameters.h:41
Definition: prompt_session_creation_parameters.h:29
Specification of surface properties requested by client.
Definition: surface_specification.h:49