Mir
default_server_configuration.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2012-2014 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Alan Griffiths <alan@octopull.co.uk>
17  */
18 #ifndef MIR_DEFAULT_SERVER_CONFIGURATION_H_
19 #define MIR_DEFAULT_SERVER_CONFIGURATION_H_
20 
21 #include "mir/cached_ptr.h"
24 
25 #include <memory>
26 #include <string>
27 
28 namespace android
29 {
30 class EventHubInterface;
31 class InputReaderInterface;
32 class InputReaderPolicyInterface;
33 class InputListenerInterface;
34 }
35 
36 namespace droidinput = android;
37 
38 namespace mir
39 {
40 class ServerActionQueue;
41 class SharedLibrary;
42 class SharedLibraryProberReport;
43 
44 namespace cookie
45 {
46 class CookieFactory;
47 }
48 namespace dispatch
49 {
50 class MultiplexingDispatchable;
51 }
52 namespace compositor
53 {
54 class Renderer;
55 class BufferStreamFactory;
56 class Scene;
57 class Drawer;
58 class DisplayBufferCompositorFactory;
59 class Compositor;
60 class RendererFactory;
61 class CompositorReport;
62 class FrameDroppingPolicyFactory;
63 }
64 namespace frontend
65 {
66 class Shell;
67 class Connector;
68 class ConnectorReport;
69 class ProtobufIpcFactory;
70 class ConnectionCreator;
71 class SessionMediatorReport;
72 class MessageProcessorReport;
73 class SessionAuthorizer;
74 class EventSink;
75 class DisplayChanger;
76 class Screencast;
77 }
78 
79 namespace shell
80 {
82 class InputTargeter;
83 class FocusSetter;
84 class FocusController;
85 class DisplayLayout;
87 class Shell;
89 namespace detail { class FrontendShell; }
90 }
91 namespace time
92 {
93 class Clock;
94 }
95 namespace scene
96 {
97 class SurfaceFactory;
101 class PixelBuffer;
102 class PlacementStrategy;
103 class SessionContainer;
104 class SessionEventSink;
106 class SessionListener;
107 class SessionCoordinator;
108 class SnapshotStrategy;
109 class SurfaceCoordinator;
110 class SurfaceStackModel;
111 class SurfaceStack;
112 class SceneReport;
116 }
117 namespace graphics
118 {
119 class Platform;
120 class Display;
121 class DisplayReport;
122 class DisplayConfigurationReport;
123 class GraphicBufferAllocator;
124 class Cursor;
125 class CursorImage;
126 class GLConfig;
127 namespace nested { class HostConnection; }
128 }
129 namespace input
130 {
131 class InputReport;
132 class Scene;
133 class InputManager;
134 class SurfaceInputDispatcher;
135 class Platform;
136 class InputDeviceRegistry;
137 class InputDeviceHub;
138 class DefaultInputDeviceHub;
139 class CompositeEventFilter;
140 class EventFilterChainDispatcher;
141 class InputChannelFactory;
142 class CursorListener;
143 class TouchVisualizer;
144 class InputRegion;
145 class InputSender;
146 class InputSendObserver;
147 class NestedInputRelay;
148 class EventHandler;
149 class CursorImages;
150 class LegacyInputDispatchable;
151 namespace android
152 {
153 class InputRegistrar;
154 class InputThread;
155 }
156 }
157 
158 namespace logging
159 {
160 class Logger;
161 }
162 
163 namespace options
164 {
165 class Option;
166 class Configuration;
167 }
168 
169 namespace report
170 {
171 class ReportFactory;
172 }
173 
175 {
176 public:
177  DefaultServerConfiguration(int argc, char const* argv[]);
178  explicit DefaultServerConfiguration(std::shared_ptr<options::Configuration> const& configuration_options);
179 
183  std::shared_ptr<frontend::Connector> the_connector() override;
184  std::shared_ptr<frontend::Connector> the_prompt_connector() override;
185  std::shared_ptr<graphics::Display> the_display() override;
186  std::shared_ptr<compositor::Compositor> the_compositor() override;
187  std::shared_ptr<input::InputManager> the_input_manager() override;
188  std::shared_ptr<MainLoop> the_main_loop() override;
189  std::shared_ptr<ServerStatusListener> the_server_status_listener() override;
190  std::shared_ptr<DisplayChanger> the_display_changer() override;
191  std::shared_ptr<graphics::Platform> the_graphics_platform() override;
192  std::shared_ptr<input::InputDispatcher> the_input_dispatcher() override;
193  std::shared_ptr<EmergencyCleanup> the_emergency_cleanup() override;
194  std::shared_ptr<cookie::CookieFactory> the_cookie_factory() override;
203  auto the_fatal_error_strategy() -> void (*)(char const* reason, ...) override final;
204  std::shared_ptr<scene::ApplicationNotRespondingDetector> the_application_not_responding_detector() override;
210  virtual std::shared_ptr<compositor::RendererFactory> the_renderer_factory();
211  virtual std::shared_ptr<shell::DisplayConfigurationController> the_display_configuration_controller();
212  virtual std::shared_ptr<graphics::DisplayConfigurationPolicy> the_display_configuration_policy();
213  virtual std::shared_ptr<graphics::nested::HostConnection> the_host_connection();
214  virtual std::shared_ptr<graphics::GLConfig> the_gl_config();
220  virtual std::shared_ptr<graphics::DisplayReport> the_display_report();
221  virtual std::shared_ptr<graphics::Cursor> the_cursor();
222  virtual std::shared_ptr<graphics::Cursor> wrap_cursor(std::shared_ptr<graphics::Cursor> const& wrapped);
223  virtual std::shared_ptr<graphics::CursorImage> the_default_cursor_image();
224  virtual std::shared_ptr<input::CursorImages> the_cursor_images();
225  virtual std::shared_ptr<graphics::DisplayConfigurationReport> the_display_configuration_report();
226 
232  virtual std::shared_ptr<compositor::CompositorReport> the_compositor_report();
233  virtual std::shared_ptr<compositor::DisplayBufferCompositorFactory> the_display_buffer_compositor_factory();
234  virtual std::shared_ptr<compositor::DisplayBufferCompositorFactory> wrap_display_buffer_compositor_factory(
235  std::shared_ptr<compositor::DisplayBufferCompositorFactory> const& wrapped);
241  virtual std::shared_ptr<graphics::GraphicBufferAllocator> the_buffer_allocator();
242  virtual std::shared_ptr<compositor::Scene> the_scene();
243  virtual std::shared_ptr<compositor::FrameDroppingPolicyFactory> the_frame_dropping_policy_factory();
249  virtual std::shared_ptr<frontend::SessionMediatorReport> the_session_mediator_report();
250  virtual std::shared_ptr<frontend::MessageProcessorReport> the_message_processor_report();
251  virtual std::shared_ptr<frontend::SessionAuthorizer> the_session_authorizer();
252  // the_frontend_shell() is an adapter for the_shell().
253  // To customize this behaviour it is recommended you override wrap_shell().
254  std::shared_ptr<frontend::Shell> the_frontend_shell();
255  virtual std::shared_ptr<frontend::EventSink> the_global_event_sink();
256  virtual std::shared_ptr<frontend::DisplayChanger> the_frontend_display_changer();
257  virtual std::shared_ptr<frontend::Screencast> the_screencast();
261  virtual std::shared_ptr<frontend::ConnectionCreator> the_connection_creator();
262  virtual std::shared_ptr<frontend::ConnectionCreator> the_prompt_connection_creator();
263  virtual std::shared_ptr<frontend::ConnectorReport> the_connector_report();
267  // the_focus_controller() is an interface for the_shell().
268  std::shared_ptr<shell::FocusController> the_focus_controller();
269 
273  virtual auto the_shell() -> std::shared_ptr<shell::Shell>;
275  virtual std::shared_ptr<scene::SessionListener> the_session_listener();
276  virtual std::shared_ptr<shell::DisplayLayout> the_shell_display_layout();
277  virtual std::shared_ptr<scene::PromptSessionListener> the_prompt_session_listener();
278  virtual std::shared_ptr<scene::PromptSessionManager> the_prompt_session_manager();
279  virtual std::shared_ptr<shell::HostLifecycleEventListener> the_host_lifecycle_event_listener();
280  virtual std::shared_ptr<shell::PersistentSurfaceStore> the_persistent_surface_store();
281 
288  virtual std::shared_ptr<scene::PixelBuffer> the_pixel_buffer();
289  virtual std::shared_ptr<scene::SnapshotStrategy> the_snapshot_strategy();
290  virtual std::shared_ptr<scene::SessionContainer> the_session_container();
291  virtual std::shared_ptr<scene::SessionEventSink> the_session_event_sink();
292  virtual std::shared_ptr<scene::SessionEventHandlerRegister> the_session_event_handler_register();
293  virtual std::shared_ptr<scene::SurfaceStackModel> the_surface_stack_model();
294  virtual std::shared_ptr<scene::SurfaceFactory> the_surface_factory();
295  virtual std::shared_ptr<scene::SurfaceCoordinator>the_surface_coordinator();
301  virtual std::shared_ptr<scene::BufferStreamFactory> the_buffer_stream_factory();
302  virtual std::shared_ptr<scene::SceneReport> the_scene_report();
308  virtual std::shared_ptr<scene::SessionCoordinator> the_session_coordinator();
309  virtual std::shared_ptr<scene::CoordinateTranslator> the_coordinate_translator();
315  virtual std::shared_ptr<input::InputReport> the_input_report();
316  virtual std::shared_ptr<input::CompositeEventFilter> the_composite_event_filter();
317 
318  virtual std::shared_ptr<input::EventFilterChainDispatcher> the_event_filter_chain_dispatcher();
319 
320  virtual std::shared_ptr<shell::InputTargeter> the_input_targeter();
321  virtual std::shared_ptr<input::Scene> the_input_scene();
322  virtual std::shared_ptr<input::CursorListener> the_cursor_listener();
323  virtual std::shared_ptr<input::TouchVisualizer> the_touch_visualizer();
324  virtual std::shared_ptr<input::InputRegion> the_input_region();
325  virtual std::shared_ptr<input::InputSender> the_input_sender();
326  virtual std::shared_ptr<input::InputSendObserver> the_input_send_observer();
327  virtual std::shared_ptr<input::LegacyInputDispatchable> the_legacy_input_dispatchable();
328  virtual std::shared_ptr<droidinput::EventHubInterface> the_event_hub();
329  virtual std::shared_ptr<droidinput::InputReaderInterface> the_input_reader();
330  virtual std::shared_ptr<droidinput::InputReaderPolicyInterface> the_input_reader_policy();
331  virtual std::shared_ptr<droidinput::InputListenerInterface> the_input_translator();
332 
333  // new input reading related parts:
334  virtual std::shared_ptr<input::Platform> the_input_platform();
335  virtual std::shared_ptr<dispatch::MultiplexingDispatchable> the_input_reading_multiplexer();
336  virtual std::shared_ptr<input::InputDeviceRegistry> the_input_device_registry();
337  virtual std::shared_ptr<input::InputDeviceHub> the_input_device_hub();
338  virtual std::shared_ptr<input::SurfaceInputDispatcher> the_surface_input_dispatcher();
344  virtual std::shared_ptr<logging::Logger> the_logger();
347  virtual std::shared_ptr<time::Clock> the_clock();
348  virtual std::shared_ptr<ServerActionQueue> the_server_action_queue();
349  virtual std::shared_ptr<SharedLibraryProberReport> the_shared_library_prober_report();
350 
351 protected:
352  std::shared_ptr<options::Option> the_options() const;
353 
354  virtual std::shared_ptr<input::InputChannelFactory> the_input_channel_factory();
355  virtual std::shared_ptr<scene::MediatingDisplayChanger> the_mediating_display_changer();
356  virtual std::shared_ptr<frontend::ProtobufIpcFactory> new_ipc_factory(
357  std::shared_ptr<frontend::SessionAuthorizer> const& session_authorizer);
358 
363  virtual std::shared_ptr<graphics::DisplayConfigurationPolicy> wrap_display_configuration_policy(
364  std::shared_ptr<graphics::DisplayConfigurationPolicy> const& wrapped);
365 
366  virtual std::shared_ptr<shell::Shell> wrap_shell(
367  std::shared_ptr<shell::Shell> const& wrapped);
368 
369  virtual std::shared_ptr<input::CursorListener> wrap_cursor_listener(
370  std::shared_ptr<input::CursorListener> const& wrapped);
378 
381 
388  CachedPtr<input::Platform> input_platform; // currently not used by default
403 
417 
450 
451 private:
452  std::shared_ptr<options::Configuration> const configuration_options;
453  std::shared_ptr<input::EventFilter> const default_filter;
454 
455  virtual std::string the_socket_file() const;
456 
457  // The following caches and factory functions are internal to the
458  // default implementations of corresponding the Mir components
459  CachedPtr<scene::BroadcastingSessionEventSink> broadcasting_session_event_sink;
460 
461  std::shared_ptr<scene::BroadcastingSessionEventSink> the_broadcasting_session_event_sink();
462 
463  auto report_factory(char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
464 
466 };
467 }
468 
469 
470 #endif /* MIR_DEFAULT_SERVER_CONFIGURATION_H_ */
virtual std::shared_ptr< droidinput::InputReaderPolicyInterface > the_input_reader_policy()
Definition: default_configuration.cpp:194
virtual std::shared_ptr< graphics::DisplayConfigurationPolicy > the_display_configuration_policy()
Definition: default_configuration.cpp:58
virtual std::shared_ptr< graphics::nested::HostConnection > the_host_connection()
Definition: default_configuration.cpp:202
CachedPtr< dispatch::MultiplexingDispatchable > input_reading_multiplexer
Definition: default_server_configuration.h:389
Definition: shell.h:51
CachedPtr< logging::Logger > logger
Definition: default_server_configuration.h:429
std::shared_ptr< frontend::Connector > the_prompt_connector() override
Definition: default_configuration.cpp:121
All things Mir.
Definition: atomic_callback.h:25
virtual std::shared_ptr< input::InputRegion > the_input_region()
Definition: default_configuration.cpp:67
Interface to the layout of the display outputs.
Definition: display_layout.h:36
CachedPtr< input::InputManager > input_manager
Definition: default_server_configuration.h:385
virtual auto the_window_manager_builder() -> shell::WindowManagerBuilder
Definition: default_configuration.cpp:51
CachedPtr< input::DefaultInputDeviceHub > default_input_device_hub
Definition: default_server_configuration.h:387
Definition: surface_stack_model.h:37
Definition: session_coordinator.h:41
virtual std::shared_ptr< frontend::MessageProcessorReport > the_message_processor_report()
Definition: default_server_configuration.cpp:86
virtual std::shared_ptr< droidinput::InputListenerInterface > the_input_translator()
Definition: default_configuration.cpp:214
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:59
virtual std::shared_ptr< shell::DisplayConfigurationController > the_display_configuration_controller()
Definition: default_configuration.cpp:246
std::shared_ptr< ServerStatusListener > the_server_status_listener() override
Definition: default_server_configuration.cpp:166
CachedPtr< compositor::Compositor > compositor
Definition: default_server_configuration.h:427
Support for the debug "surface to screen" coordinate translation interface.
Definition: coordinate_translator.h:40
virtual std::shared_ptr< shell::DisplayLayout > the_shell_display_layout()
Definition: default_configuration.cpp:90
CachedPtr< graphics::GLConfig > gl_config
Definition: default_server_configuration.h:438
Definition: surface_stack.h:67
std::shared_ptr< cookie::CookieFactory > the_cookie_factory() override
Definition: default_server_configuration.cpp:184
Definition: scene_report.h:29
CachedPtr< graphics::DisplayReport > display_report
Definition: default_server_configuration.h:430
virtual std::shared_ptr< input::InputSendObserver > the_input_send_observer()
Definition: default_configuration.cpp:121
virtual std::shared_ptr< SharedLibraryProberReport > the_shared_library_prober_report()
Definition: default_server_configuration.cpp:130
CachedPtr< input::InputReport > input_report
Definition: default_server_configuration.h:382
std::shared_ptr< options::Option > the_options() const
Definition: default_server_configuration.cpp:73
CachedPtr< scene::SurfaceStack > surface_stack
Definition: default_server_configuration.h:415
std::shared_ptr< scene::ApplicationNotRespondingDetector > the_application_not_responding_detector() override
Definition: default_configuration.cpp:233
virtual std::shared_ptr< shell::HostLifecycleEventListener > the_host_lifecycle_event_listener()
Definition: default_configuration.cpp:100
CachedPtr< scene::SessionContainer > session_container
Definition: default_server_configuration.h:419
CachedPtr< graphics::Cursor > cursor
Definition: default_server_configuration.h:400
virtual std::shared_ptr< input::CursorImages > the_cursor_images()
Definition: default_configuration.cpp:295
CachedPtr< ServerStatusListener > server_status_listener
Definition: default_server_configuration.h:434
virtual std::shared_ptr< graphics::Cursor > wrap_cursor(std::shared_ptr< graphics::Cursor > const &wrapped)
Definition: default_configuration.cpp:197
virtual std::shared_ptr< input::CursorListener > wrap_cursor_listener(std::shared_ptr< input::CursorListener > const &wrapped)
Definition: default_configuration.cpp:247
CachedPtr< input::InputRegion > input_region
Definition: default_server_configuration.h:393
CachedPtr< MainLoop > main_loop
Definition: default_server_configuration.h:433
virtual std::shared_ptr< input::InputDeviceRegistry > the_input_device_registry()
Definition: default_configuration.cpp:392
virtual std::shared_ptr< droidinput::EventHubInterface > the_event_hub()
Definition: default_configuration.cpp:174
CachedPtr< droidinput::InputReaderPolicyInterface > input_reader_policy
Definition: default_server_configuration.h:374
CachedPtr< frontend::Screencast > screencast
Definition: default_server_configuration.h:411
virtual std::shared_ptr< scene::PixelBuffer > the_pixel_buffer()
Definition: default_configuration.cpp:190
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:406
CachedPtr< shell::HostLifecycleEventListener > host_lifecycle_event_listener
Definition: default_server_configuration.h:444
Definition: prompt_session_listener.h:31
Definition: server_configuration.h:66
CachedPtr< input::LegacyInputDispatchable > legacy_input_dispatchable
Definition: default_server_configuration.h:377
CachedPtr< scene::MediatingDisplayChanger > mediating_display_changer
Definition: default_server_configuration.h:437
virtual std::shared_ptr< compositor::DisplayBufferCompositorFactory > the_display_buffer_compositor_factory()
Definition: default_configuration.cpp:64
virtual std::shared_ptr< ServerActionQueue > the_server_action_queue()
Definition: default_server_configuration.cpp:161
CachedPtr< graphics::Platform > graphics_platform
Definition: default_server_configuration.h:397
CachedPtr< SharedLibraryProberReport > shared_library_prober_report
Definition: default_server_configuration.h:446
Definition: host_connection.h:40
CachedPtr< scene::ApplicationNotRespondingDetector > application_not_responding_detector
Definition: default_server_configuration.h:448
std::shared_ptr< graphics::Display > the_display() override
Definition: default_configuration.cpp:133
CachedPtr< time::Clock > clock
Definition: default_server_configuration.h:432
An interface used to control the selection of keyboard input focus.
Definition: input_targeter.h:35
virtual std::shared_ptr< compositor::FrameDroppingPolicyFactory > the_frame_dropping_policy_factory()
Definition: default_configuration.cpp:53
CachedPtr< input::InputSender > input_sender
Definition: default_server_configuration.h:391
Definition: focus_controller.h:38
std::shared_ptr< DisplayChanger > the_display_changer() override
Definition: default_configuration.cpp:155
CachedPtr< scene::SessionListener > session_listener
Definition: default_server_configuration.h:422
virtual std::shared_ptr< frontend::EventSink > the_global_event_sink()
Definition: default_configuration.cpp:161
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:435
Definition: surface_coordinator.h:38
CachedPtr< input::Platform > input_platform
Definition: default_server_configuration.h:388
virtual std::shared_ptr< input::EventFilterChainDispatcher > the_event_filter_chain_dispatcher()
Definition: default_configuration.cpp:87
CachedPtr< input::SurfaceInputDispatcher > surface_input_dispatcher
Definition: default_server_configuration.h:386
virtual std::shared_ptr< input::InputSender > the_input_sender()
Definition: default_configuration.cpp:108
A store for Surface information divorced from the lifetime of any given Session.
Definition: persistent_surface_store.h:46
virtual std::shared_ptr< input::InputDeviceHub > the_input_device_hub()
Definition: default_configuration.cpp:406
std::shared_ptr< input::InputDispatcher > the_input_dispatcher() override
Definition: default_configuration.cpp:156
virtual std::shared_ptr< scene::PromptSessionManager > the_prompt_session_manager()
Definition: default_configuration.cpp:212
virtual std::shared_ptr< frontend::Screencast > the_screencast()
Definition: default_configuration.cpp:110
CachedPtr< graphics::nested::HostConnection > host_connection
Definition: default_server_configuration.h:436
virtual std::shared_ptr< time::Clock > the_clock()
Definition: default_server_configuration.cpp:143
virtual std::shared_ptr< frontend::ConnectionCreator > the_prompt_connection_creator()
Definition: default_configuration.cpp:84
CachedPtr< scene::CoordinateTranslator > coordinate_translator
Definition: default_server_configuration.h:442
CachedPtr< scene::PromptSessionManager > prompt_session_manager
Definition: default_server_configuration.h:440
virtual std::shared_ptr< scene::PromptSessionListener > the_prompt_session_listener()
Definition: default_server_configuration.cpp:102
CachedPtr< input::InputSendObserver > input_send_observer
Definition: default_server_configuration.h:392
virtual std::shared_ptr< scene::SessionEventSink > the_session_event_sink()
Definition: default_configuration.cpp:112
Definition: surface_factory.h:32
std::shared_ptr< input::InputManager > the_input_manager() override
Definition: default_configuration.cpp:344
CachedPtr< droidinput::InputReaderInterface > input_reader
Definition: default_server_configuration.h:375
virtual std::shared_ptr< input::SurfaceInputDispatcher > the_surface_input_dispatcher()
Definition: default_configuration.cpp:146
virtual std::shared_ptr< input::CompositeEventFilter > the_composite_event_filter()
Definition: default_configuration.cpp:77
std::shared_ptr< EmergencyCleanup > the_emergency_cleanup() override
Definition: default_server_configuration.cpp:175
CachedPtr< input::CursorImages > cursor_images
Definition: default_server_configuration.h:402
CachedPtr< frontend::Connector > prompt_connector
Definition: default_server_configuration.h:380
virtual std::shared_ptr< scene::SessionListener > the_session_listener()
Definition: default_server_configuration.cpp:92
virtual std::shared_ptr< graphics::Cursor > the_cursor()
Definition: default_configuration.cpp:165
std::shared_ptr< compositor::Compositor > the_compositor() override
Definition: default_configuration.cpp:82
CachedPtr< shell::Shell > shell
Definition: default_server_configuration.h:447
CachedPtr< scene::PromptSessionListener > prompt_session_listener
Definition: default_server_configuration.h:439
CachedPtr< frontend::ConnectionCreator > connection_creator
Definition: default_server_configuration.h:409
std::shared_ptr< MainLoop > the_main_loop() override
Definition: default_server_configuration.cpp:152
Definition: session_container.h:32
virtual std::shared_ptr< input::CursorListener > the_cursor_listener()
Definition: default_configuration.cpp:233
CachedPtr< shell::InputTargeter > input_targeter
Definition: default_server_configuration.h:394
CachedPtr< frontend::Connector > connector
Definition: default_server_configuration.h:379
CachedPtr< scene::SceneReport > scene_report
Definition: default_server_configuration.h:416
CachedPtr< compositor::RendererFactory > renderer_factory
Definition: default_server_configuration.h:412
CachedPtr< input::CompositeEventFilter > composite_event_filter
Definition: default_server_configuration.h:384
CachedPtr< scene::SurfaceCoordinator > surface_coordinator
Definition: default_server_configuration.h:420
Definition: broadcasting_session_event_sink.h:32
CachedPtr< frontend::SessionMediatorReport > session_mediator_report
Definition: default_server_configuration.h:405
CachedPtr< cookie::CookieFactory > cookie_factory
Definition: default_server_configuration.h:449
virtual std::shared_ptr< scene::MediatingDisplayChanger > the_mediating_display_changer()
Definition: default_configuration.cpp:131
virtual std::shared_ptr< scene::SessionContainer > the_session_container()
Definition: default_configuration.cpp:124
Definition: session_event_sink.h:30
virtual std::shared_ptr< scene::SessionEventHandlerRegister > the_session_event_handler_register()
Definition: default_configuration.cpp:118
CachedPtr< compositor::CompositorReport > compositor_report
Definition: default_server_configuration.h:428
virtual std::shared_ptr< frontend::ConnectorReport > the_connector_report()
Definition: default_server_configuration.cpp:68
CachedPtr< frontend::ConnectorReport > connector_report
Definition: default_server_configuration.h:404
CachedPtr< input::InputDispatcher > input_dispatcher
Definition: default_server_configuration.h:390
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:112
virtual std::shared_ptr< droidinput::InputReaderInterface > the_input_reader()
Definition: default_configuration.cpp:204
CachedPtr< scene::SessionCoordinator > session_coordinator
Definition: default_server_configuration.h:441
DefaultServerConfiguration(int argc, char const *argv[])
Definition: default_server_configuration.cpp:62
std::shared_ptr< frontend::Shell > the_frontend_shell()
Definition: default_configuration.cpp:74
CachedPtr< scene::SurfaceFactory > surface_factory
Definition: default_server_configuration.h:418
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:425
virtual std::shared_ptr< scene::CoordinateTranslator > the_coordinate_translator()
Definition: default_configuration.cpp:224
CachedPtr< scene::PlacementStrategy > placement_strategy
Definition: default_server_configuration.h:421
CachedPtr< shell::PersistentSurfaceStore > surface_store
Definition: default_server_configuration.h:445
CachedPtr< graphics::Display > display
Definition: default_server_configuration.h:399
virtual std::shared_ptr< graphics::GLConfig > the_gl_config()
Definition: default_configuration.cpp:241
virtual std::shared_ptr< compositor::RendererFactory > the_renderer_factory()
Definition: default_configuration.cpp:101
std::shared_ptr< shell::FocusController > the_focus_controller()
Definition: default_configuration.cpp:84
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:132
virtual std::shared_ptr< dispatch::MultiplexingDispatchable > the_input_reading_multiplexer()
Definition: default_configuration.cpp:382
CachedPtr< input::TouchVisualizer > touch_visualizer
Definition: default_server_configuration.h:396
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:148
virtual std::shared_ptr< input::TouchVisualizer > the_touch_visualizer()
Definition: default_configuration.cpp:254
CachedPtr< input::CursorListener > cursor_listener
Definition: default_server_configuration.h:395
virtual std::shared_ptr< scene::SessionCoordinator > the_session_coordinator()
Definition: default_configuration.cpp:171
virtual std::shared_ptr< input::Scene > the_input_scene()
Definition: default_configuration.cpp:69
CachedPtr< scene::PixelBuffer > pixel_buffer
Definition: default_server_configuration.h:423
Definition: mediating_display_changer.h:46
CachedPtr< graphics::CursorImage > default_cursor_image
Definition: default_server_configuration.h:401
virtual std::shared_ptr< graphics::CursorImage > the_default_cursor_image()
Definition: default_configuration.cpp:275
virtual std::shared_ptr< graphics::GraphicBufferAllocator > the_buffer_allocator()
Definition: default_configuration.cpp:123
virtual std::shared_ptr< compositor::CompositorReport > the_compositor_report()
Definition: default_server_configuration.cpp:59
virtual auto the_shell() -> std::shared_ptr< shell::Shell >
Definition: default_configuration.cpp:34
virtual std::shared_ptr< frontend::SessionMediatorReport > the_session_mediator_report()
Definition: default_server_configuration.cpp:77
std::shared_ptr< frontend::Connector > the_connector() override
Definition: default_configuration.cpp:52
CachedPtr< frontend::EventSink > global_event_sink
Definition: default_server_configuration.h:408
virtual std::shared_ptr< scene::SurfaceStackModel > the_surface_stack_model()
Definition: default_configuration.cpp:56
Definition: android_input_receiver.h:36
Definition: frontend_shell.h:37
Definition: default_server_configuration.h:174
Definition: session_event_handler_register.h:31
CachedPtr< compositor::FrameDroppingPolicyFactory > frame_dropping_policy_factory
Definition: default_server_configuration.h:414
virtual std::shared_ptr< graphics::DisplayConfigurationReport > the_display_configuration_report()
Definition: default_server_configuration.cpp:104
Definition: host_lifecycle_event_listener.h:29
CachedPtr< compositor::BufferStreamFactory > buffer_stream_factory
Definition: default_server_configuration.h:413
virtual std::shared_ptr< shell::PersistentSurfaceStore > the_persistent_surface_store()
Definition: default_configuration.cpp:65
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:426
Definition: display_configuration_controller.h:34
virtual std::shared_ptr< scene::SurfaceFactory > the_surface_factory()
Definition: default_configuration.cpp:75
virtual std::shared_ptr< frontend::ConnectionCreator > the_connection_creator()
Definition: default_configuration.cpp:38
CachedPtr< droidinput::EventHubInterface > event_hub
Definition: default_server_configuration.h:373
CachedPtr< input::EventFilterChainDispatcher > event_filter_chain_dispatcher
Definition: default_server_configuration.h:383
virtual std::shared_ptr< frontend::DisplayChanger > the_frontend_display_changer()
Definition: default_configuration.cpp:149
CachedPtr< scene::SnapshotStrategy > snapshot_strategy
Definition: default_server_configuration.h:424
Definition: snapshot_strategy.h:32
std::function< std::shared_ptr< WindowManager >(FocusController *focus_controller)> WindowManagerBuilder
WindowManagers are built while initializing an AbstractShell, so a builder functor is needed...
Definition: window_manager_builder.h:34
virtual std::shared_ptr< graphics::DisplayReport > the_display_report()
Definition: default_server_configuration.cpp:95
CachedPtr< EmergencyCleanup > emergency_cleanup
Definition: default_server_configuration.h:443
virtual std::shared_ptr< compositor::DisplayBufferCompositorFactory > wrap_display_buffer_compositor_factory(std::shared_ptr< compositor::DisplayBufferCompositorFactory > const &wrapped)
Definition: default_configuration.cpp:75
CachedPtr< graphics::GraphicBufferAllocator > buffer_allocator
Definition: default_server_configuration.h:398
virtual std::shared_ptr< input::Platform > the_input_platform()
Definition: default_configuration.cpp:309
Definition: session_listener.h:31
virtual std::shared_ptr< scene::BufferStreamFactory > the_buffer_stream_factory()
Definition: default_configuration.cpp:40
virtual std::shared_ptr< scene::SnapshotStrategy > the_snapshot_strategy()
Definition: default_configuration.cpp:201
virtual std::shared_ptr< scene::SceneReport > the_scene_report()
Definition: default_server_configuration.cpp:121
Definition: buffer_stream_factory.h:34
virtual std::shared_ptr< input::LegacyInputDispatchable > the_legacy_input_dispatchable()
Definition: default_configuration.cpp:184
CachedPtr< frontend::SessionAuthorizer > session_authorizer
Definition: default_server_configuration.h:407
CachedPtr< frontend::ConnectionCreator > prompt_connection_creator
Definition: default_server_configuration.h:410
CachedPtr< graphics::DisplayConfigurationReport > display_configuration_report
Definition: default_server_configuration.h:431
virtual std::shared_ptr< scene::SurfaceCoordinator > the_surface_coordinator()
Definition: default_configuration.cpp:90
virtual std::shared_ptr< frontend::SessionAuthorizer > the_session_authorizer()
Definition: default_server_configuration.cpp:112
CachedPtr< droidinput::InputListenerInterface > input_translator
Definition: default_server_configuration.h:376

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015