18 #ifndef MIR_DEFAULT_SERVER_CONFIGURATION_H_
19 #define MIR_DEFAULT_SERVER_CONFIGURATION_H_
32 class BufferStreamFactory;
35 class DisplayBufferCompositorFactory;
37 class RendererFactory;
38 class CompositorReport;
44 class ConnectorReport;
45 class ProtobufIpcFactory;
47 class SessionMediatorReport;
48 class MessageProcessorReport;
49 class SessionAuthorizer;
60 class PlacementStrategy;
61 class SessionListener;
62 class FocusController;
72 class BroadcastingSessionEventSink;
73 class BufferStreamFactory;
74 class MediatingDisplayChanger;
76 class SessionContainer;
77 class SessionEventSink;
78 class SessionEventHandlerRegister;
80 class SnapshotStrategy;
81 class SurfaceCoordinator;
82 class SurfaceConfigurator;
83 class SurfaceStackModel;
86 class SurfaceController;
94 class BufferInitializer;
96 class GraphicBufferAllocator;
98 namespace nested {
class HostConnection; }
104 class CompositeEventFilter;
105 class InputChannelFactory;
106 class InputConfiguration;
107 class CursorListener;
109 class NestedInputRelay;
138 virtual std::shared_ptr<frontend::Connector>
the_connector();
139 virtual std::shared_ptr<graphics::Display>
the_display();
177 virtual std::shared_ptr<compositor::Scene>
the_scene();
247 virtual std::shared_ptr<logging::Logger>
the_logger();
250 virtual std::shared_ptr<time::Clock>
the_clock();
253 std::shared_ptr<options::Option>
the_options()
const;
258 std::shared_ptr<frontend::Shell>
const& shell,
259 std::shared_ptr<graphics::GraphicBufferAllocator>
const& allocator);
314 std::shared_ptr<options::Configuration>
const configuration_options;
315 std::shared_ptr<input::EventFilter>
const default_filter;
317 virtual std::string the_socket_file()
const;
326 std::shared_ptr<scene::BroadcastingSessionEventSink> the_broadcasting_session_event_sink();
327 std::shared_ptr<input::NestedInputRelay> the_nested_input_relay();
328 std::shared_ptr<scene::SessionManager> the_session_manager();
329 std::shared_ptr<scene::SurfaceController> the_surface_controller();
331 auto report_factory(
char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
virtual std::shared_ptr< graphics::DisplayConfigurationPolicy > the_display_configuration_policy()
Definition: default_configuration.cpp:52
virtual std::shared_ptr< graphics::nested::HostConnection > the_host_connection()
Definition: default_configuration.cpp:117
CachedPtr< logging::Logger > logger
Definition: default_server_configuration.h:303
virtual std::shared_ptr< input::InputRegion > the_input_region()
Definition: default_configuration.cpp:39
CachedPtr< input::InputManager > input_manager
Definition: default_server_configuration.h:267
virtual std::shared_ptr< frontend::MessageProcessorReport > the_message_processor_report()
Definition: default_server_configuration.cpp:85
CachedPtr< compositor::Compositor > compositor
Definition: default_server_configuration.h:301
virtual std::shared_ptr< shell::DisplayLayout > the_shell_display_layout()
Definition: default_configuration.cpp:66
CachedPtr< graphics::GLConfig > gl_config
Definition: default_server_configuration.h:311
virtual std::shared_ptr< ServerStatusListener > the_server_status_listener()
Definition: default_server_configuration.cpp:186
CachedPtr< graphics::DisplayReport > display_report
Definition: default_server_configuration.h:304
CachedPtr< input::InputConfiguration > input_configuration
Definition: default_server_configuration.h:263
CachedPtr< input::InputReport > input_report
Definition: default_server_configuration.h:265
CachedPtr< shell::SurfaceFactory > shell_surface_factory
Definition: default_server_configuration.h:290
std::shared_ptr< options::Option > the_options() const
Definition: default_server_configuration.cpp:61
CachedPtr< scene::SurfaceStack > surface_stack
Definition: default_server_configuration.h:287
CachedPtr< scene::SessionContainer > session_container
Definition: default_server_configuration.h:292
virtual std::shared_ptr< input::EventFilter > the_nested_event_filter()
Definition: default_configuration.cpp:127
CachedPtr< ServerStatusListener > server_status_listener
Definition: default_server_configuration.h:307
CachedPtr< input::InputRegion > input_region
Definition: default_server_configuration.h:268
CachedPtr< MainLoop > main_loop
Definition: default_server_configuration.h:306
CachedPtr< frontend::Screencast > screencast
Definition: default_server_configuration.h:284
virtual std::shared_ptr< scene::PixelBuffer > the_pixel_buffer()
Definition: default_configuration.cpp:214
virtual std::shared_ptr< input::InputChannelFactory > the_input_channel_factory()
Definition: default_server_configuration.cpp:162
CachedPtr< frontend::MessageProcessorReport > message_processor_report
Definition: default_server_configuration.h:280
CachedPtr< scene::SurfaceConfigurator > surface_configurator
Definition: default_server_configuration.h:299
Definition: server_configuration.h:55
CachedPtr< scene::MediatingDisplayChanger > mediating_display_changer
Definition: default_server_configuration.h:310
virtual std::shared_ptr< compositor::DisplayBufferCompositorFactory > the_display_buffer_compositor_factory()
Definition: default_configuration.cpp:47
CachedPtr< graphics::Platform > graphics_platform
Definition: default_server_configuration.h:272
CachedPtr< time::Clock > clock
Definition: default_server_configuration.h:305
CachedPtr< frontend::ProtobufIpcFactory > ipc_factory
Definition: default_server_configuration.h:278
virtual std::shared_ptr< frontend::EventSink > the_global_event_sink()
Definition: default_configuration.cpp:176
CachedPtr< graphics::DisplayConfigurationPolicy > display_configuration_policy
Definition: default_server_configuration.h:308
virtual std::shared_ptr< scene::SurfaceRanker > the_surface_ranker()
Definition: default_configuration.cpp:107
virtual std::shared_ptr< frontend::Screencast > the_screencast()
Definition: default_configuration.cpp:81
CachedPtr< graphics::nested::HostConnection > host_connection
Definition: default_server_configuration.h:309
virtual std::shared_ptr< graphics::Platform > the_graphics_platform()
Definition: default_configuration.cpp:61
virtual std::shared_ptr< time::Clock > the_clock()
Definition: default_server_configuration.cpp:167
input_rectangles report(report)
virtual std::shared_ptr< scene::SessionEventSink > the_session_event_sink()
Definition: default_configuration.cpp:129
virtual std::shared_ptr< shell::FocusSetter > the_shell_focus_setter()
Definition: default_configuration.cpp:54
virtual std::shared_ptr< input::CompositeEventFilter > the_composite_event_filter()
Definition: default_configuration.cpp:49
virtual std::shared_ptr< graphics::Display > the_display()
Definition: default_configuration.cpp:96
virtual std::shared_ptr< scene::SurfaceConfigurator > the_surface_configurator()
Definition: default_server_configuration.cpp:116
CachedPtr< shell::SessionListener > shell_session_listener
Definition: default_server_configuration.h:295
virtual std::shared_ptr< input::CursorListener > the_cursor_listener()
Definition: default_server_configuration.cpp:90
virtual std::shared_ptr< shell::PlacementStrategy > the_shell_placement_strategy()
Definition: default_configuration.cpp:43
CachedPtr< frontend::SessionCreator > session_creator
Definition: default_server_configuration.h:283
CachedPtr< shell::InputTargeter > input_targeter
Definition: default_server_configuration.h:270
CachedPtr< frontend::Connector > connector
Definition: default_server_configuration.h:261
CachedPtr< scene::SceneReport > scene_report
Definition: default_server_configuration.h:288
CachedPtr< compositor::RendererFactory > renderer_factory
Definition: default_server_configuration.h:285
CachedPtr< input::CompositeEventFilter > composite_event_filter
Definition: default_server_configuration.h:266
CachedPtr< frontend::SessionMediatorReport > session_mediator_report
Definition: default_server_configuration.h:279
virtual std::shared_ptr< scene::MediatingDisplayChanger > the_mediating_display_changer()
Definition: default_configuration.cpp:148
virtual std::shared_ptr< scene::SessionContainer > the_session_container()
Definition: default_configuration.cpp:141
virtual std::shared_ptr< scene::SessionEventHandlerRegister > the_session_event_handler_register()
Definition: default_configuration.cpp:135
CachedPtr< compositor::CompositorReport > compositor_report
Definition: default_server_configuration.h:302
virtual std::shared_ptr< frontend::ConnectorReport > the_connector_report()
Definition: default_server_configuration.cpp:67
virtual std::shared_ptr< shell::SessionListener > the_shell_session_listener()
Definition: default_server_configuration.cpp:80
CachedPtr< frontend::ConnectorReport > connector_report
Definition: default_server_configuration.h:277
virtual std::shared_ptr< logging::Logger > the_logger()
Definition: default_configuration.cpp:27
virtual std::shared_ptr< input::InputReport > the_input_report()
Definition: default_server_configuration.cpp:103
virtual std::shared_ptr< input::InputManager > the_input_manager()
Definition: default_configuration.cpp:92
virtual std::shared_ptr< input::InputConfiguration > the_input_configuration()
Definition: default_configuration.cpp:60
DefaultServerConfiguration(int argc, char const *argv[])
Definition: default_server_configuration.cpp:50
CachedPtr< shell::PlacementStrategy > shell_placement_strategy
Definition: default_server_configuration.h:294
virtual std::shared_ptr< frontend::Shell > the_frontend_shell()
Definition: default_configuration.cpp:202
CachedPtr< scene::SurfaceFactory > surface_factory
Definition: default_server_configuration.h:291
CachedPtr< shell::DisplayLayout > shell_display_layout
Definition: default_server_configuration.h:298
CachedPtr< graphics::Display > display
Definition: default_server_configuration.h:275
virtual std::shared_ptr< graphics::GLConfig > the_gl_config()
Definition: default_configuration.cpp:155
virtual std::shared_ptr< compositor::RendererFactory > the_renderer_factory()
Definition: default_configuration.cpp:72
virtual std::shared_ptr< shell::FocusController > the_focus_controller()
Definition: default_configuration.cpp:208
virtual std::shared_ptr< compositor::Scene > the_scene()
Definition: default_configuration.cpp:63
virtual std::shared_ptr< shell::InputTargeter > the_input_targeter()
Definition: default_configuration.cpp:103
virtual std::shared_ptr< MainLoop > the_main_loop()
Definition: default_server_configuration.cpp:176
virtual std::shared_ptr< shell::SurfaceFactory > the_shell_surface_factory()
Definition: default_configuration.cpp:31
CachedPtr< input::CursorListener > cursor_listener
Definition: default_server_configuration.h:271
CachedPtr< scene::InputRegistrar > input_registrar
Definition: default_server_configuration.h:269
CachedPtr< scene::PixelBuffer > pixel_buffer
Definition: default_server_configuration.h:296
virtual std::shared_ptr< graphics::GraphicBufferAllocator > the_buffer_allocator()
Definition: default_configuration.cpp:86
CachedPtr< graphics::BufferInitializer > buffer_initializer
Definition: default_server_configuration.h:273
virtual std::shared_ptr< compositor::CompositorReport > the_compositor_report()
Definition: default_server_configuration.cpp:58
virtual std::shared_ptr< frontend::SessionMediatorReport > the_session_mediator_report()
Definition: default_server_configuration.cpp:76
CachedPtr< frontend::EventSink > global_event_sink
Definition: default_server_configuration.h:282
virtual std::shared_ptr< scene::SurfaceStackModel > the_surface_stack_model()
Definition: default_configuration.cpp:45
Definition: default_server_configuration.h:129
virtual std::shared_ptr< graphics::BufferInitializer > the_buffer_initializer()
Definition: default_configuration.cpp:42
virtual std::shared_ptr< compositor::Compositor > the_compositor()
Definition: default_configuration.cpp:58
virtual std::shared_ptr< DisplayChanger > the_display_changer()
Definition: default_configuration.cpp:170
CachedPtr< compositor::BufferStreamFactory > buffer_stream_factory
Definition: default_server_configuration.h:286
CachedPtr< compositor::DisplayBufferCompositorFactory > display_buffer_compositor_factory
Definition: default_server_configuration.h:300
virtual std::shared_ptr< scene::InputRegistrar > the_input_registrar()
Definition: default_configuration.cpp:112
virtual std::shared_ptr< scene::SurfaceFactory > the_surface_factory()
Definition: default_configuration.cpp:80
virtual std::shared_ptr< frontend::DisplayChanger > the_frontend_display_changer()
Definition: default_configuration.cpp:164
virtual std::shared_ptr< frontend::Connector > the_connector()
Definition: default_configuration.cpp:129
CachedPtr< scene::SnapshotStrategy > snapshot_strategy
Definition: default_server_configuration.h:297
virtual std::shared_ptr< graphics::DisplayReport > the_display_report()
Definition: default_server_configuration.cpp:94
CachedPtr< graphics::GraphicBufferAllocator > buffer_allocator
Definition: default_server_configuration.h:274
virtual std::shared_ptr< frontend::SessionCreator > the_session_creator()
Definition: default_configuration.cpp:117
virtual std::shared_ptr< scene::BufferStreamFactory > the_buffer_stream_factory()
Definition: default_configuration.cpp:37
virtual std::shared_ptr< scene::SnapshotStrategy > the_snapshot_strategy()
Definition: default_configuration.cpp:225
virtual std::shared_ptr< scene::SceneReport > the_scene_report()
Definition: default_server_configuration.cpp:112
virtual std::shared_ptr< frontend::ProtobufIpcFactory > the_ipc_factory(std::shared_ptr< frontend::Shell > const &shell, std::shared_ptr< graphics::GraphicBufferAllocator > const &allocator)
Definition: default_configuration.cpp:155
CachedPtr< frontend::SessionAuthorizer > session_authorizer
Definition: default_server_configuration.h:281
virtual std::shared_ptr< scene::SurfaceCoordinator > the_surface_coordinator()
Definition: default_configuration.cpp:113
virtual std::shared_ptr< frontend::SessionAuthorizer > the_session_authorizer()
Definition: default_server_configuration.cpp:136
CachedPtr< shell::FocusSetter > shell_focus_setter
Definition: default_server_configuration.h:293