18 #ifndef MIR_DEFAULT_SERVER_CONFIGURATION_H_
19 #define MIR_DEFAULT_SERVER_CONFIGURATION_H_
29 class EventHubInterface;
30 class InputReaderInterface;
31 class InputReaderPolicyInterface;
32 class InputListenerInterface;
33 class InputDispatcherInterface;
34 class InputEnumerator;
35 class InputDispatcherPolicyInterface;
42 class ServerActionQueue;
43 class SharedLibraryProberReport;
48 class BufferStreamFactory;
51 class DisplayBufferCompositorFactory;
53 class RendererFactory;
54 class CompositorReport;
55 class FrameDroppingPolicyFactory;
61 class ConnectorReport;
62 class ProtobufIpcFactory;
63 class ConnectionCreator;
64 class SessionMediatorReport;
65 class MessageProcessorReport;
66 class SessionAuthorizer;
114 class GraphicBufferAllocator;
118 class GLProgramFactory;
126 class CompositeEventFilter;
127 class InputChannelFactory;
128 class CursorListener;
129 class TouchVisualizer;
132 class InputSendObserver;
133 class NestedInputRelay;
138 class InputRegistrar;
168 std::shared_ptr<frontend::Connector>
the_connector()
override;
170 std::shared_ptr<graphics::Display>
the_display()
override;
171 std::shared_ptr<compositor::Compositor>
the_compositor()
override;
203 virtual std::shared_ptr<graphics::Cursor>
the_cursor();
215 std::shared_ptr<compositor::DisplayBufferCompositorFactory>
const& wrapped);
222 virtual std::shared_ptr<compositor::Scene>
the_scene();
253 virtual auto the_shell() -> std::shared_ptr<shell::Shell>;
304 virtual std::shared_ptr<droidinput::EventHubInterface>
the_event_hub();
305 virtual std::shared_ptr<droidinput::InputReaderInterface>
the_input_reader();
314 virtual std::shared_ptr<logging::Logger>
the_logger();
317 virtual std::shared_ptr<time::Clock>
the_clock();
322 std::shared_ptr<options::Option>
the_options()
const;
343 std::shared_ptr<graphics::DisplayConfigurationPolicy>
const& wrapped);
345 virtual std::shared_ptr<shell::Shell>
wrap_shell(
346 std::shared_ptr<shell::Shell>
const& wrapped);
349 std::shared_ptr<input::CursorListener>
const& wrapped);
429 std::shared_ptr<options::Configuration>
const configuration_options;
430 std::shared_ptr<input::EventFilter>
const default_filter;
438 std::shared_ptr<scene::BroadcastingSessionEventSink> the_broadcasting_session_event_sink();
440 auto report_factory(
char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
virtual std::shared_ptr< droidinput::InputReaderPolicyInterface > the_input_reader_policy()
Definition: default_configuration.cpp:235
virtual std::shared_ptr< graphics::DisplayConfigurationPolicy > the_display_configuration_policy()
Definition: default_configuration.cpp:58
CachedPtr< droidinput::InputDispatcherPolicyInterface > android_dispatcher_policy
Definition: default_server_configuration.h:357
virtual std::shared_ptr< graphics::nested::HostConnection > the_host_connection()
Definition: default_configuration.cpp:193
CachedPtr< logging::Logger > logger
Definition: default_server_configuration.h:409
std::shared_ptr< frontend::Connector > the_prompt_connector() override
Definition: default_configuration.cpp:114
All things Mir.
Definition: buffer_stream.h:37
virtual std::shared_ptr< input::InputRegion > the_input_region()
Definition: default_configuration.cpp:66
Interface to the layout of the display outputs.
Definition: display_layout.h:36
CachedPtr< input::InputManager > input_manager
Definition: default_server_configuration.h:368
Definition: surface_stack_model.h:34
Definition: session_coordinator.h:41
virtual std::shared_ptr< frontend::MessageProcessorReport > the_message_processor_report()
Definition: default_server_configuration.cpp:85
virtual std::shared_ptr< droidinput::InputListenerInterface > the_input_translator()
Definition: default_configuration.cpp:265
Interface for extracting the pixels from a graphics::Buffer.
Definition: pixel_buffer.h:36
virtual std::shared_ptr< shell::Shell > wrap_shell(std::shared_ptr< shell::Shell > const &wrapped)
Definition: default_configuration.cpp:47
std::shared_ptr< ServerStatusListener > the_server_status_listener() override
Definition: default_server_configuration.cpp:178
CachedPtr< compositor::Compositor > compositor
Definition: default_server_configuration.h:407
Support for the debug "surface to screen" coordinate translation interface.
Definition: coordinate_translator.h:40
CachedPtr< graphics::GLProgramFactory > gl_program_factory
Definition: default_server_configuration.h:417
virtual std::shared_ptr< shell::DisplayLayout > the_shell_display_layout()
Definition: default_configuration.cpp:79
CachedPtr< graphics::GLConfig > gl_config
Definition: default_server_configuration.h:418
Definition: surface_stack.h:67
Definition: scene_report.h:29
CachedPtr< graphics::DisplayReport > display_report
Definition: default_server_configuration.h:410
virtual std::shared_ptr< input::InputSendObserver > the_input_send_observer()
Definition: default_configuration.cpp:133
virtual std::shared_ptr< SharedLibraryProberReport > the_shared_library_prober_report()
Definition: default_server_configuration.cpp:121
CachedPtr< input::InputReport > input_report
Definition: default_server_configuration.h:366
std::shared_ptr< options::Option > the_options() const
Definition: default_server_configuration.cpp:66
CachedPtr< scene::SurfaceStack > surface_stack
Definition: default_server_configuration.h:394
virtual std::shared_ptr< shell::HostLifecycleEventListener > the_host_lifecycle_event_listener()
Definition: default_configuration.cpp:89
CachedPtr< scene::SessionContainer > session_container
Definition: default_server_configuration.h:398
CachedPtr< graphics::Cursor > cursor
Definition: default_server_configuration.h:379
virtual std::shared_ptr< input::CursorImages > the_cursor_images()
Definition: default_configuration.cpp:346
CachedPtr< ServerStatusListener > server_status_listener
Definition: default_server_configuration.h:413
virtual std::shared_ptr< input::CursorListener > wrap_cursor_listener(std::shared_ptr< input::CursorListener > const &wrapped)
Definition: default_configuration.cpp:298
CachedPtr< input::InputRegion > input_region
Definition: default_server_configuration.h:372
CachedPtr< MainLoop > main_loop
Definition: default_server_configuration.h:412
virtual std::shared_ptr< droidinput::EventHubInterface > the_event_hub()
Definition: default_configuration.cpp:225
CachedPtr< droidinput::InputReaderPolicyInterface > input_reader_policy
Definition: default_server_configuration.h:359
CachedPtr< frontend::Screencast > screencast
Definition: default_server_configuration.h:390
virtual std::shared_ptr< scene::PixelBuffer > the_pixel_buffer()
Definition: default_configuration.cpp:178
virtual std::shared_ptr< input::InputChannelFactory > the_input_channel_factory()
Definition: default_configuration.cpp:274
CachedPtr< frontend::MessageProcessorReport > message_processor_report
Definition: default_server_configuration.h:385
CachedPtr< shell::HostLifecycleEventListener > host_lifecycle_event_listener
Definition: default_server_configuration.h:424
CachedPtr< scene::SurfaceConfigurator > surface_configurator
Definition: default_server_configuration.h:405
Definition: prompt_session_listener.h:31
Definition: server_configuration.h:57
CachedPtr< scene::MediatingDisplayChanger > mediating_display_changer
Definition: default_server_configuration.h:416
virtual std::shared_ptr< compositor::DisplayBufferCompositorFactory > the_display_buffer_compositor_factory()
Definition: default_configuration.cpp:61
virtual std::shared_ptr< ServerActionQueue > the_server_action_queue()
Definition: default_server_configuration.cpp:173
CachedPtr< graphics::Platform > graphics_platform
Definition: default_server_configuration.h:376
CachedPtr< SharedLibraryProberReport > shared_library_prober_report
Definition: default_server_configuration.h:425
Definition: host_connection.h:54
virtual std::shared_ptr< droidinput::InputDispatcherInterface > the_android_input_dispatcher()
Definition: default_configuration.cpp:98
std::shared_ptr< graphics::Display > the_display() override
Definition: default_configuration.cpp:134
CachedPtr< time::Clock > clock
Definition: default_server_configuration.h:411
virtual std::shared_ptr< compositor::FrameDroppingPolicyFactory > the_frame_dropping_policy_factory()
Definition: default_configuration.cpp:50
CachedPtr< input::InputSender > input_sender
Definition: default_server_configuration.h:370
CachedPtr< droidinput::InputDispatcherInterface > android_input_dispatcher
Definition: default_server_configuration.h:355
Definition: focus_controller.h:34
std::shared_ptr< DisplayChanger > the_display_changer() override
Definition: default_configuration.cpp:147
CachedPtr< input::android::InputThread > dispatcher_thread
Definition: default_server_configuration.h:353
CachedPtr< scene::SessionListener > session_listener
Definition: default_server_configuration.h:401
virtual std::shared_ptr< frontend::EventSink > the_global_event_sink()
Definition: default_configuration.cpp:153
virtual std::shared_ptr< graphics::DisplayConfigurationPolicy > wrap_display_configuration_policy(std::shared_ptr< graphics::DisplayConfigurationPolicy > const &wrapped)
wrapper functions
Definition: default_configuration.cpp:69
CachedPtr< graphics::DisplayConfigurationPolicy > display_configuration_policy
Definition: default_server_configuration.h:414
Definition: surface_coordinator.h:34
virtual std::shared_ptr< input::InputSender > the_input_sender()
Definition: default_configuration.cpp:123
std::shared_ptr< input::InputDispatcher > the_input_dispatcher() override
Definition: default_configuration.cpp:184
virtual std::shared_ptr< scene::PromptSessionManager > the_prompt_session_manager()
Definition: default_configuration.cpp:200
virtual std::shared_ptr< frontend::Screencast > the_screencast()
Definition: default_configuration.cpp:102
CachedPtr< graphics::nested::HostConnection > host_connection
Definition: default_server_configuration.h:415
virtual std::shared_ptr< time::Clock > the_clock()
Definition: default_server_configuration.cpp:155
virtual std::shared_ptr< frontend::ConnectionCreator > the_prompt_connection_creator()
Definition: default_configuration.cpp:78
CachedPtr< scene::CoordinateTranslator > coordinate_translator
Definition: default_server_configuration.h:422
CachedPtr< scene::PromptSessionManager > prompt_session_manager
Definition: default_server_configuration.h:420
virtual std::shared_ptr< scene::PromptSessionListener > the_prompt_session_listener()
Definition: default_server_configuration.cpp:95
CachedPtr< input::InputSendObserver > input_send_observer
Definition: default_server_configuration.h:371
virtual std::shared_ptr< scene::SessionEventSink > the_session_event_sink()
Definition: default_configuration.cpp:105
Definition: surface_factory.h:31
std::shared_ptr< input::InputManager > the_input_manager() override
Definition: default_configuration.cpp:200
CachedPtr< droidinput::InputReaderInterface > input_reader
Definition: default_server_configuration.h:360
virtual std::shared_ptr< input::CompositeEventFilter > the_composite_event_filter()
Definition: default_configuration.cpp:76
std::shared_ptr< EmergencyCleanup > the_emergency_cleanup() override
Definition: default_server_configuration.cpp:187
CachedPtr< input::android::InputThread > input_reader_thread
Definition: default_server_configuration.h:354
CachedPtr< input::CursorImages > cursor_images
Definition: default_server_configuration.h:381
CachedPtr< frontend::Connector > prompt_connector
Definition: default_server_configuration.h:364
virtual std::shared_ptr< scene::SessionListener > the_session_listener()
Definition: default_server_configuration.cpp:85
virtual std::shared_ptr< graphics::Cursor > the_cursor()
Definition: default_configuration.cpp:166
std::shared_ptr< compositor::Compositor > the_compositor() override
Definition: default_configuration.cpp:79
CachedPtr< droidinput::InputEnumerator > input_target_enumerator
Definition: default_server_configuration.h:356
virtual std::shared_ptr< scene::SurfaceConfigurator > the_surface_configurator()
Definition: default_server_configuration.cpp:104
CachedPtr< shell::Shell > shell
Definition: default_server_configuration.h:426
CachedPtr< scene::PromptSessionListener > prompt_session_listener
Definition: default_server_configuration.h:419
CachedPtr< frontend::ConnectionCreator > connection_creator
Definition: default_server_configuration.h:388
std::shared_ptr< MainLoop > the_main_loop() override
Definition: default_server_configuration.cpp:164
Definition: session_container.h:32
virtual std::shared_ptr< input::CursorListener > the_cursor_listener()
Definition: default_configuration.cpp:284
CachedPtr< shell::InputTargeter > input_targeter
Definition: default_server_configuration.h:373
CachedPtr< frontend::Connector > connector
Definition: default_server_configuration.h:363
CachedPtr< scene::SceneReport > scene_report
Definition: default_server_configuration.h:395
CachedPtr< compositor::RendererFactory > renderer_factory
Definition: default_server_configuration.h:391
CachedPtr< input::CompositeEventFilter > composite_event_filter
Definition: default_server_configuration.h:367
CachedPtr< scene::SurfaceCoordinator > surface_coordinator
Definition: default_server_configuration.h:399
Definition: broadcasting_session_event_sink.h:32
CachedPtr< frontend::SessionMediatorReport > session_mediator_report
Definition: default_server_configuration.h:384
virtual std::shared_ptr< scene::MediatingDisplayChanger > the_mediating_display_changer()
Definition: default_configuration.cpp:124
virtual std::shared_ptr< scene::SessionContainer > the_session_container()
Definition: default_configuration.cpp:117
Definition: session_event_sink.h:30
virtual std::shared_ptr< scene::SessionEventHandlerRegister > the_session_event_handler_register()
Definition: default_configuration.cpp:111
CachedPtr< compositor::CompositorReport > compositor_report
Definition: default_server_configuration.h:408
virtual std::shared_ptr< frontend::ConnectorReport > the_connector_report()
Definition: default_server_configuration.cpp:67
CachedPtr< frontend::ConnectorReport > connector_report
Definition: default_server_configuration.h:383
CachedPtr< input::InputDispatcher > input_dispatcher
Definition: default_server_configuration.h:369
virtual std::shared_ptr< logging::Logger > the_logger()
Definition: default_server_configuration.cpp:205
virtual std::shared_ptr< input::InputReport > the_input_report()
Definition: default_server_configuration.cpp:103
virtual std::shared_ptr< droidinput::InputReaderInterface > the_input_reader()
Definition: default_configuration.cpp:245
CachedPtr< scene::SessionCoordinator > session_coordinator
Definition: default_server_configuration.h:421
DefaultServerConfiguration(int argc, char const *argv[])
Definition: default_server_configuration.cpp:55
virtual std::shared_ptr< input::android::InputRegistrar > the_input_registrar()
Definition: default_configuration.cpp:113
CachedPtr< input::android::InputRegistrar > input_registrar
Definition: default_server_configuration.h:352
std::shared_ptr< frontend::Shell > the_frontend_shell()
Definition: default_configuration.cpp:53
CachedPtr< scene::SurfaceFactory > surface_factory
Definition: default_server_configuration.h:397
std::shared_ptr< graphics::Platform > the_graphics_platform() override
Definition: default_configuration.cpp:75
CachedPtr< shell::DisplayLayout > shell_display_layout
Definition: default_server_configuration.h:404
virtual std::shared_ptr< scene::CoordinateTranslator > the_coordinate_translator()
Definition: default_configuration.cpp:212
CachedPtr< scene::PlacementStrategy > placement_strategy
Definition: default_server_configuration.h:400
CachedPtr< graphics::Display > display
Definition: default_server_configuration.h:378
Definition: placement_strategy.h:30
virtual std::shared_ptr< graphics::GLConfig > the_gl_config()
Definition: default_configuration.cpp:232
virtual std::shared_ptr< compositor::RendererFactory > the_renderer_factory()
Definition: default_configuration.cpp:93
std::shared_ptr< shell::FocusController > the_focus_controller()
Definition: default_configuration.cpp:62
virtual std::shared_ptr< compositor::Scene > the_scene()
Definition: default_configuration.cpp:55
virtual std::shared_ptr< shell::InputTargeter > the_input_targeter()
Definition: default_configuration.cpp:144
virtual std::shared_ptr< input::android::InputThread > the_input_reader_thread()
Definition: default_configuration.cpp:255
CachedPtr< input::TouchVisualizer > touch_visualizer
Definition: default_server_configuration.h:375
Definition: prompt_session_manager.h:34
virtual std::shared_ptr< frontend::ProtobufIpcFactory > new_ipc_factory(std::shared_ptr< frontend::SessionAuthorizer > const &session_authorizer)
Definition: default_configuration.cpp:141
virtual std::shared_ptr< graphics::GLProgramFactory > the_gl_program_factory()
Definition: default_configuration.cpp:247
virtual std::shared_ptr< input::TouchVisualizer > the_touch_visualizer()
Definition: default_configuration.cpp:305
virtual std::shared_ptr< input::android::InputThread > the_dispatcher_thread()
Definition: default_configuration.cpp:158
CachedPtr< input::CursorListener > cursor_listener
Definition: default_server_configuration.h:374
virtual std::shared_ptr< scene::SessionCoordinator > the_session_coordinator()
Definition: default_configuration.cpp:163
virtual std::shared_ptr< input::Scene > the_input_scene()
Definition: default_configuration.cpp:61
CachedPtr< scene::PixelBuffer > pixel_buffer
Definition: default_server_configuration.h:402
CachedPtr< graphics::CursorImage > default_cursor_image
Definition: default_server_configuration.h:380
virtual std::shared_ptr< graphics::CursorImage > the_default_cursor_image()
Definition: default_configuration.cpp:326
virtual std::shared_ptr< graphics::GraphicBufferAllocator > the_buffer_allocator()
Definition: default_configuration.cpp:124
virtual std::shared_ptr< compositor::CompositorReport > the_compositor_report()
Definition: default_server_configuration.cpp:58
virtual auto the_shell() -> std::shared_ptr< shell::Shell >
Definition: default_configuration.cpp:33
virtual std::shared_ptr< frontend::SessionMediatorReport > the_session_mediator_report()
Definition: default_server_configuration.cpp:76
std::shared_ptr< frontend::Connector > the_connector() override
Definition: default_configuration.cpp:51
CachedPtr< frontend::EventSink > global_event_sink
Definition: default_server_configuration.h:387
virtual std::shared_ptr< droidinput::InputEnumerator > the_input_target_enumerator()
Definition: default_configuration.cpp:87
virtual std::shared_ptr< scene::SurfaceStackModel > the_surface_stack_model()
Definition: default_configuration.cpp:48
Definition: android_input_receiver.h:32
Definition: surface_configurator.h:33
Definition: frontend_shell.h:36
Definition: default_server_configuration.h:159
virtual std::shared_ptr< scene::PlacementStrategy > the_placement_strategy()
Definition: default_configuration.cpp:68
Definition: session_event_handler_register.h:31
CachedPtr< compositor::FrameDroppingPolicyFactory > frame_dropping_policy_factory
Definition: default_server_configuration.h:393
Definition: host_lifecycle_event_listener.h:29
CachedPtr< compositor::BufferStreamFactory > buffer_stream_factory
Definition: default_server_configuration.h:392
auto the_fatal_error_strategy() -> void(*)(char const *reason,...) overridefinal
Function to call when a "fatal" error occurs.
Definition: default_server_configuration.cpp:196
CachedPtr< compositor::DisplayBufferCompositorFactory > display_buffer_compositor_factory
Definition: default_server_configuration.h:406
virtual std::shared_ptr< scene::SurfaceFactory > the_surface_factory()
Definition: default_configuration.cpp:67
virtual std::shared_ptr< frontend::ConnectionCreator > the_connection_creator()
Definition: default_configuration.cpp:38
CachedPtr< droidinput::EventHubInterface > event_hub
Definition: default_server_configuration.h:358
virtual std::shared_ptr< frontend::DisplayChanger > the_frontend_display_changer()
Definition: default_configuration.cpp:141
virtual std::shared_ptr< droidinput::InputDispatcherPolicyInterface > the_dispatcher_policy()
Definition: default_configuration.cpp:169
CachedPtr< scene::SnapshotStrategy > snapshot_strategy
Definition: default_server_configuration.h:403
Definition: snapshot_strategy.h:32
virtual std::shared_ptr< graphics::DisplayReport > the_display_report()
Definition: default_server_configuration.cpp:94
CachedPtr< EmergencyCleanup > emergency_cleanup
Definition: default_server_configuration.h:423
virtual std::shared_ptr< compositor::DisplayBufferCompositorFactory > wrap_display_buffer_compositor_factory(std::shared_ptr< compositor::DisplayBufferCompositorFactory > const &wrapped)
Definition: default_configuration.cpp:72
CachedPtr< graphics::GraphicBufferAllocator > buffer_allocator
Definition: default_server_configuration.h:377
Definition: session_listener.h:31
virtual std::shared_ptr< scene::BufferStreamFactory > the_buffer_stream_factory()
Definition: default_configuration.cpp:39
virtual std::shared_ptr< scene::SnapshotStrategy > the_snapshot_strategy()
Definition: default_configuration.cpp:189
virtual std::shared_ptr< scene::SceneReport > the_scene_report()
Definition: default_server_configuration.cpp:112
Definition: buffer_stream_factory.h:33
CachedPtr< frontend::SessionAuthorizer > session_authorizer
Definition: default_server_configuration.h:386
CachedPtr< frontend::ConnectionCreator > prompt_connection_creator
Definition: default_server_configuration.h:389
virtual std::shared_ptr< scene::SurfaceCoordinator > the_surface_coordinator()
Definition: default_configuration.cpp:83
virtual std::shared_ptr< frontend::SessionAuthorizer > the_session_authorizer()
Definition: default_server_configuration.cpp:124
CachedPtr< droidinput::InputListenerInterface > input_translator
Definition: default_server_configuration.h:361
virtual bool is_key_repeat_enabled() const
Definition: default_configuration.cpp:178