18 #ifndef MIR_DEFAULT_SERVER_CONFIGURATION_H_
19 #define MIR_DEFAULT_SERVER_CONFIGURATION_H_
29 class InputDispatcherInterface;
30 class InputDispatcherPolicyInterface;
37 class ServerActionQueue;
42 class BufferStreamFactory;
45 class DisplayBufferCompositorFactory;
47 class RendererFactory;
48 class CompositorReport;
49 class FrameDroppingPolicyFactory;
55 class ConnectorReport;
56 class ProtobufIpcFactory;
57 class ConnectionCreator;
58 class SessionMediatorReport;
59 class MessageProcessorReport;
60 class SessionAuthorizer;
70 class FocusController;
72 class HostLifecycleEventListener;
81 class BroadcastingSessionEventSink;
82 class BufferStreamFactory;
83 class MediatingDisplayChanger;
85 class PlacementStrategy;
86 class SessionContainer;
87 class SessionEventSink;
88 class SessionEventHandlerRegister;
89 class SessionListener;
90 class SessionCoordinator;
91 class SnapshotStrategy;
92 class SurfaceCoordinator;
93 class SurfaceConfigurator;
94 class SurfaceStackModel;
97 class PromptSessionListener;
98 class PromptSessionManager;
102 class NativePlatform;
105 class BufferInitializer;
107 class GraphicBufferAllocator;
112 class GLProgramFactory;
113 namespace nested {
class HostConnection; }
120 class CompositeEventFilter;
121 class InputChannelFactory;
122 class InputConfiguration;
123 class CursorListener;
124 class TouchVisualizer;
127 class InputSendObserver;
128 class NestedInputRelay;
133 class InputRegistrar;
163 std::shared_ptr<frontend::Connector>
the_connector()
override;
165 std::shared_ptr<graphics::Display>
the_display()
override;
166 std::shared_ptr<compositor::Compositor>
the_compositor()
override;
201 virtual std::shared_ptr<graphics::Cursor>
the_cursor();
219 virtual std::shared_ptr<compositor::Scene>
the_scene();
307 virtual std::shared_ptr<logging::Logger>
the_logger();
310 virtual std::shared_ptr<time::Clock>
the_clock();
314 std::shared_ptr<options::Option>
the_options()
const;
334 std::shared_ptr<scene::SurfaceCoordinator>
const& wrapped);
337 std::shared_ptr<scene::SessionCoordinator>
const& wrapped);
415 std::shared_ptr<options::Configuration>
const configuration_options;
416 std::shared_ptr<input::EventFilter>
const default_filter;
418 virtual std::string the_socket_file()
const;
424 std::shared_ptr<scene::BroadcastingSessionEventSink> the_broadcasting_session_event_sink();
426 auto report_factory(
char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
CachedPtr< scene::PlacementStrategy > shell_placement_strategy
Definition: default_server_configuration.h:388
virtual std::shared_ptr< graphics::DisplayConfigurationPolicy > the_display_configuration_policy()
Definition: default_configuration.cpp:57
CachedPtr< droidinput::InputDispatcherPolicyInterface > android_dispatcher_policy
Definition: default_server_configuration.h:343
virtual std::shared_ptr< graphics::nested::HostConnection > the_host_connection()
Definition: default_configuration.cpp:165
CachedPtr< logging::Logger > logger
Definition: default_server_configuration.h:397
std::shared_ptr< frontend::Connector > the_prompt_connector() override
Definition: default_configuration.cpp:110
All things Mir.
Definition: aging_buffer.h:24
virtual std::shared_ptr< input::InputRegion > the_input_region()
Definition: default_configuration.cpp:59
CachedPtr< input::InputManager > input_manager
Definition: default_server_configuration.h:352
virtual std::shared_ptr< frontend::MessageProcessorReport > the_message_processor_report()
Definition: default_server_configuration.cpp:85
std::shared_ptr< ServerStatusListener > the_server_status_listener() override
Definition: default_server_configuration.cpp:178
CachedPtr< compositor::Compositor > compositor
Definition: default_server_configuration.h:395
CachedPtr< graphics::GLProgramFactory > gl_program_factory
Definition: default_server_configuration.h:406
virtual std::shared_ptr< shell::DisplayLayout > the_shell_display_layout()
Definition: default_configuration.cpp:55
CachedPtr< graphics::GLConfig > gl_config
Definition: default_server_configuration.h:407
CachedPtr< graphics::DisplayReport > display_report
Definition: default_server_configuration.h:398
virtual std::shared_ptr< input::InputSendObserver > the_input_send_observer()
Definition: default_configuration.cpp:145
CachedPtr< input::InputConfiguration > input_configuration
Definition: default_server_configuration.h:348
CachedPtr< input::InputReport > input_report
Definition: default_server_configuration.h:350
std::shared_ptr< options::Option > the_options() const
Definition: default_server_configuration.cpp:64
virtual std::shared_ptr< graphics::NativePlatform > the_graphics_native_platform()
Definition: default_configuration.cpp:87
CachedPtr< scene::SurfaceStack > surface_stack
Definition: default_server_configuration.h:381
virtual std::shared_ptr< shell::HostLifecycleEventListener > the_host_lifecycle_event_listener()
Definition: default_configuration.cpp:65
CachedPtr< scene::SessionContainer > session_container
Definition: default_server_configuration.h:385
CachedPtr< graphics::Cursor > cursor
Definition: default_server_configuration.h:366
virtual std::shared_ptr< input::CursorImages > the_cursor_images()
Definition: default_configuration.cpp:286
CachedPtr< ServerStatusListener > server_status_listener
Definition: default_server_configuration.h:402
CachedPtr< input::InputRegion > input_region
Definition: default_server_configuration.h:356
CachedPtr< MainLoop > main_loop
Definition: default_server_configuration.h:401
virtual std::shared_ptr< scene::SurfaceCoordinator > wrap_surface_coordinator(std::shared_ptr< scene::SurfaceCoordinator > const &wrapped)
wrapper functions
Definition: default_configuration.cpp:97
CachedPtr< frontend::Screencast > screencast
Definition: default_server_configuration.h:377
virtual std::shared_ptr< scene::PixelBuffer > the_pixel_buffer()
Definition: default_configuration.cpp:209
virtual std::shared_ptr< input::InputChannelFactory > the_input_channel_factory()
Definition: default_configuration.cpp:223
CachedPtr< frontend::MessageProcessorReport > message_processor_report
Definition: default_server_configuration.h:372
CachedPtr< shell::HostLifecycleEventListener > host_lifecycle_event_listener
Definition: default_server_configuration.h:412
CachedPtr< scene::SurfaceConfigurator > surface_configurator
Definition: default_server_configuration.h:393
Definition: server_configuration.h:57
static CachedPtr< time::Clock > clock
Definition: default_server_configuration.h:400
CachedPtr< scene::MediatingDisplayChanger > mediating_display_changer
Definition: default_server_configuration.h:405
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:360
virtual std::shared_ptr< droidinput::InputDispatcherInterface > the_android_input_dispatcher()
Definition: default_configuration.cpp:109
std::shared_ptr< graphics::Display > the_display() override
Definition: default_configuration.cpp:120
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:354
CachedPtr< droidinput::InputDispatcherInterface > android_input_dispatcher
Definition: default_server_configuration.h:342
std::shared_ptr< DisplayChanger > the_display_changer() override
Definition: default_configuration.cpp:156
CachedPtr< input::android::InputThread > dispatcher_thread
Definition: default_server_configuration.h:341
CachedPtr< scene::SessionListener > session_listener
Definition: default_server_configuration.h:389
virtual std::shared_ptr< frontend::EventSink > the_global_event_sink()
Definition: default_configuration.cpp:162
CachedPtr< graphics::DisplayConfigurationPolicy > display_configuration_policy
Definition: default_server_configuration.h:403
std::shared_ptr< input::InputConfiguration > the_input_configuration() override
Definition: default_configuration.cpp:80
CachedPtr< graphics::NativePlatform > graphics_native_platform
Definition: default_server_configuration.h:361
virtual std::shared_ptr< input::InputSender > the_input_sender()
Definition: default_configuration.cpp:135
std::shared_ptr< input::InputDispatcher > the_input_dispatcher() override
Definition: default_configuration.cpp:196
virtual std::shared_ptr< scene::PromptSessionManager > the_prompt_session_manager()
Definition: default_configuration.cpp:231
virtual std::shared_ptr< frontend::Screencast > the_screencast()
Definition: default_configuration.cpp:95
CachedPtr< graphics::nested::HostConnection > host_connection
Definition: default_server_configuration.h:404
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:74
CachedPtr< scene::PromptSessionManager > prompt_session_manager
Definition: default_server_configuration.h:409
virtual std::shared_ptr< scene::PromptSessionListener > the_prompt_session_listener()
Definition: default_server_configuration.cpp:93
CachedPtr< input::InputSendObserver > input_send_observer
Definition: default_server_configuration.h:355
virtual std::shared_ptr< scene::SessionEventSink > the_session_event_sink()
Definition: default_configuration.cpp:114
std::shared_ptr< input::InputManager > the_input_manager() override
Definition: default_configuration.cpp:212
virtual std::shared_ptr< shell::FocusSetter > the_shell_focus_setter()
Definition: default_configuration.cpp:43
virtual std::shared_ptr< input::CompositeEventFilter > the_composite_event_filter()
Definition: default_configuration.cpp:69
std::shared_ptr< EmergencyCleanup > the_emergency_cleanup() override
Definition: default_server_configuration.cpp:187
CachedPtr< input::CursorImages > cursor_images
Definition: default_server_configuration.h:368
CachedPtr< frontend::Connector > prompt_connector
Definition: default_server_configuration.h:346
virtual std::shared_ptr< scene::SessionListener > the_session_listener()
Definition: default_server_configuration.cpp:83
virtual std::shared_ptr< graphics::Cursor > the_cursor()
Definition: default_configuration.cpp:143
std::shared_ptr< compositor::Compositor > the_compositor() override
Definition: default_configuration.cpp:72
virtual std::shared_ptr< scene::SurfaceConfigurator > the_surface_configurator()
Definition: default_server_configuration.cpp:102
CachedPtr< scene::PromptSessionListener > prompt_session_listener
Definition: default_server_configuration.h:408
CachedPtr< frontend::ConnectionCreator > connection_creator
Definition: default_server_configuration.h:375
std::shared_ptr< MainLoop > the_main_loop() override
Definition: default_server_configuration.cpp:164
virtual std::shared_ptr< input::CursorListener > the_cursor_listener()
Definition: default_configuration.cpp:233
CachedPtr< shell::InputTargeter > input_targeter
Definition: default_server_configuration.h:357
CachedPtr< frontend::Connector > connector
Definition: default_server_configuration.h:345
CachedPtr< scene::SceneReport > scene_report
Definition: default_server_configuration.h:382
CachedPtr< compositor::RendererFactory > renderer_factory
Definition: default_server_configuration.h:378
CachedPtr< input::CompositeEventFilter > composite_event_filter
Definition: default_server_configuration.h:351
CachedPtr< scene::SurfaceCoordinator > surface_coordinator
Definition: default_server_configuration.h:386
CachedPtr< frontend::SessionMediatorReport > session_mediator_report
Definition: default_server_configuration.h:371
virtual std::shared_ptr< scene::MediatingDisplayChanger > the_mediating_display_changer()
Definition: default_configuration.cpp:133
virtual std::shared_ptr< scene::SessionContainer > the_session_container()
Definition: default_configuration.cpp:126
virtual std::shared_ptr< scene::SessionEventHandlerRegister > the_session_event_handler_register()
Definition: default_configuration.cpp:120
CachedPtr< compositor::CompositorReport > compositor_report
Definition: default_server_configuration.h:396
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:370
CachedPtr< input::InputDispatcher > input_dispatcher
Definition: default_server_configuration.h:353
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
CachedPtr< scene::SessionCoordinator > session_coordinator
Definition: default_server_configuration.h:410
DefaultServerConfiguration(int argc, char const *argv[])
Definition: default_server_configuration.cpp:53
virtual std::shared_ptr< input::android::InputRegistrar > the_input_registrar()
Definition: default_configuration.cpp:125
CachedPtr< input::android::InputRegistrar > input_registrar
Definition: default_server_configuration.h:340
std::shared_ptr< frontend::Shell > the_frontend_shell()
Definition: default_configuration.cpp:197
CachedPtr< scene::SurfaceFactory > surface_factory
Definition: default_server_configuration.h:384
std::shared_ptr< graphics::Platform > the_graphics_platform() override
Definition: default_configuration.cpp:66
CachedPtr< shell::DisplayLayout > shell_display_layout
Definition: default_server_configuration.h:392
CachedPtr< graphics::Display > display
Definition: default_server_configuration.h:365
virtual std::shared_ptr< graphics::GLConfig > the_gl_config()
Definition: default_configuration.cpp:204
virtual std::shared_ptr< compositor::RendererFactory > the_renderer_factory()
Definition: default_configuration.cpp:86
std::shared_ptr< shell::FocusController > the_focus_controller()
Definition: default_configuration.cpp:203
virtual std::shared_ptr< compositor::Scene > the_scene()
Definition: default_configuration.cpp:54
virtual std::shared_ptr< shell::InputTargeter > the_input_targeter()
Definition: default_configuration.cpp:156
CachedPtr< input::TouchVisualizer > touch_visualizer
Definition: default_server_configuration.h:359
virtual std::shared_ptr< frontend::ProtobufIpcFactory > new_ipc_factory(std::shared_ptr< frontend::SessionAuthorizer > const &session_authorizer)
Definition: default_configuration.cpp:137
virtual std::shared_ptr< graphics::GLProgramFactory > the_gl_program_factory()
Definition: default_configuration.cpp:219
virtual std::shared_ptr< input::TouchVisualizer > the_touch_visualizer()
Definition: default_configuration.cpp:245
virtual std::shared_ptr< input::android::InputThread > the_dispatcher_thread()
Definition: default_configuration.cpp:170
CachedPtr< graphics::BufferWriter > buffer_writer
Definition: default_server_configuration.h:364
CachedPtr< input::CursorListener > cursor_listener
Definition: default_server_configuration.h:358
virtual std::shared_ptr< scene::SessionCoordinator > the_session_coordinator()
Definition: default_configuration.cpp:172
virtual std::shared_ptr< input::Scene > the_input_scene()
Definition: default_configuration.cpp:60
CachedPtr< scene::PixelBuffer > pixel_buffer
Definition: default_server_configuration.h:390
CachedPtr< graphics::CursorImage > default_cursor_image
Definition: default_server_configuration.h:367
virtual std::shared_ptr< graphics::BufferWriter > the_buffer_writer()
Definition: default_configuration.cpp:110
virtual std::shared_ptr< graphics::CursorImage > the_default_cursor_image()
Definition: default_configuration.cpp:266
virtual std::shared_ptr< scene::SessionCoordinator > wrap_session_coordinator(std::shared_ptr< scene::SessionCoordinator > const &wrapped)
Definition: default_configuration.cpp:190
virtual std::shared_ptr< graphics::GraphicBufferAllocator > the_buffer_allocator()
Definition: default_configuration.cpp:100
CachedPtr< graphics::BufferInitializer > buffer_initializer
Definition: default_server_configuration.h:362
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
std::shared_ptr< frontend::Connector > the_connector() override
Definition: default_configuration.cpp:47
CachedPtr< frontend::EventSink > global_event_sink
Definition: default_server_configuration.h:374
virtual std::shared_ptr< scene::SurfaceStackModel > the_surface_stack_model()
Definition: default_configuration.cpp:47
Definition: android_input_receiver.h:32
Definition: default_server_configuration.h:154
virtual std::shared_ptr< scene::PlacementStrategy > the_placement_strategy()
Definition: default_configuration.cpp:32
virtual std::shared_ptr< graphics::BufferInitializer > the_buffer_initializer()
Definition: default_configuration.cpp:47
CachedPtr< compositor::FrameDroppingPolicyFactory > frame_dropping_policy_factory
Definition: default_server_configuration.h:380
CachedPtr< compositor::BufferStreamFactory > buffer_stream_factory
Definition: default_server_configuration.h:379
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:394
virtual std::shared_ptr< scene::SurfaceFactory > the_surface_factory()
Definition: default_configuration.cpp:66
virtual std::shared_ptr< frontend::ConnectionCreator > the_connection_creator()
Definition: default_configuration.cpp:34
virtual std::shared_ptr< frontend::DisplayChanger > the_frontend_display_changer()
Definition: default_configuration.cpp:150
virtual std::shared_ptr< droidinput::InputDispatcherPolicyInterface > the_dispatcher_policy()
Definition: default_configuration.cpp:181
CachedPtr< scene::SnapshotStrategy > snapshot_strategy
Definition: default_server_configuration.h:391
virtual std::shared_ptr< graphics::DisplayReport > the_display_report()
Definition: default_server_configuration.cpp:94
CachedPtr< EmergencyCleanup > emergency_cleanup
Definition: default_server_configuration.h:411
CachedPtr< graphics::GraphicBufferAllocator > buffer_allocator
Definition: default_server_configuration.h:363
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:220
virtual std::shared_ptr< scene::SceneReport > the_scene_report()
Definition: default_server_configuration.cpp:112
CachedPtr< frontend::SessionAuthorizer > session_authorizer
Definition: default_server_configuration.h:373
CachedPtr< frontend::ConnectionCreator > prompt_connection_creator
Definition: default_server_configuration.h:376
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:122
CachedPtr< shell::FocusSetter > shell_focus_setter
Definition: default_server_configuration.h:387
virtual bool is_key_repeat_enabled() const
Definition: default_configuration.cpp:190