20 #ifndef MIR_GRAPHICS_PLATFORM_H_
21 #define MIR_GRAPHICS_PLATFORM_H_
23 #include <boost/program_options/options_description.hpp>
31 class EmergencyCleanupRegistry;
50 class DisplayConfigurationPolicy;
51 class GraphicBufferAllocator;
53 class PlatformIpcOperations;
84 std::shared_ptr<DisplayConfigurationPolicy>
const& initial_conf_policy,
85 std::shared_ptr<GLConfig>
const& gl_config) = 0;
117 typedef std::shared_ptr<mir::graphics::Platform>(*CreateHostPlatform)(
118 std::shared_ptr<mir::options::Option>
const& options,
119 std::shared_ptr<mir::EmergencyCleanupRegistry>
const& emergency_cleanup_registry,
120 std::shared_ptr<mir::graphics::DisplayReport>
const& report);
122 typedef std::shared_ptr<mir::graphics::Platform>(*CreateGuestPlatform)(
123 std::shared_ptr<mir::graphics::DisplayReport>
const& report,
124 std::shared_ptr<mir::graphics::NestedContext>
const& nested_context);
128 boost::program_options::options_description& config);
152 std::shared_ptr<mir::options::Option>
const& options,
153 std::shared_ptr<mir::EmergencyCleanupRegistry>
const& emergency_cleanup_registry,
154 std::shared_ptr<mir::graphics::DisplayReport>
const& report);
168 std::shared_ptr<mir::graphics::DisplayReport>
const& report,
169 std::shared_ptr<mir::graphics::NestedContext>
const& nested_context);
181 boost::program_options::options_description& config);
191 #endif // MIR_GRAPHICS_PLATFORM_H_
All things Mir.
Definition: atomic_callback.h:25
Definition: program_option.h:32
Capable of providing a Platform with the best features and performance this device is capable of...
Definition: platform.h:112
Unable to function at all on this device.
Definition: platform.h:106
Describes a platform module.
Definition: module_properties.h:28
PlatformPriority
A measure of how well a platform supports a device.
Definition: platform.h:104
Used only for dummy or stub platforms.
Definition: platform.h:107
Capable of providing a functioning Platform on this device, possibly with degraded performance or fea...
Definition: platform.h:109
mir::graphics::PlatformPriority(* PlatformProbe)(mir::options::ProgramOption const &options)
Definition: platform.h:130
void(* AddPlatformOptions)(boost::program_options::options_description &config)
Definition: platform.h:127