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"
23 
24 #include <memory>
25 #include <string>
26 
27 namespace android
28 {
29 class EventHubInterface;
30 class InputReaderInterface;
31 class InputReaderPolicyInterface;
32 class InputListenerInterface;
33 class InputDispatcherInterface;
34 class InputEnumerator;
35 class InputDispatcherPolicyInterface;
36 }
37 
38 namespace droidinput = android;
39 
40 namespace mir
41 {
42 class ServerActionQueue;
43 class SharedLibraryProberReport;
44 
45 namespace compositor
46 {
47 class Renderer;
48 class BufferStreamFactory;
49 class Scene;
50 class Drawer;
51 class DisplayBufferCompositorFactory;
52 class Compositor;
53 class RendererFactory;
54 class CompositorReport;
55 class FrameDroppingPolicyFactory;
56 }
57 namespace frontend
58 {
59 class Shell;
60 class Connector;
61 class ConnectorReport;
62 class ProtobufIpcFactory;
63 class ConnectionCreator;
64 class SessionMediatorReport;
65 class MessageProcessorReport;
66 class SessionAuthorizer;
67 class EventSink;
68 class DisplayChanger;
69 class Screencast;
70 }
71 
72 namespace shell
73 {
74 class InputTargeter;
75 class FocusSetter;
76 class FocusController;
77 class DisplayLayout;
79 class Shell;
80 namespace detail { class FrontendShell; }
81 }
82 namespace time
83 {
84 class Clock;
85 }
86 namespace scene
87 {
88 class SurfaceFactory;
92 class PixelBuffer;
93 class PlacementStrategy;
94 class SessionContainer;
95 class SessionEventSink;
97 class SessionListener;
98 class SessionCoordinator;
99 class SnapshotStrategy;
100 class SurfaceCoordinator;
101 class SurfaceConfigurator;
102 class SurfaceStackModel;
103 class SurfaceStack;
104 class SceneReport;
108 }
109 namespace graphics
110 {
111 class Platform;
112 class Display;
113 class DisplayReport;
114 class GraphicBufferAllocator;
115 class Cursor;
116 class CursorImage;
117 class GLConfig;
118 class GLProgramFactory;
119 namespace nested { class HostConnection; }
120 }
121 namespace input
122 {
123 class InputReport;
124 class Scene;
125 class InputManager;
126 class CompositeEventFilter;
127 class InputChannelFactory;
128 class CursorListener;
129 class TouchVisualizer;
130 class InputRegion;
131 class InputSender;
132 class InputSendObserver;
133 class NestedInputRelay;
134 class EventHandler;
135 class CursorImages;
136 namespace android
137 {
138 class InputRegistrar;
139 class InputThread;
140 }
141 }
142 
143 namespace logging
144 {
145 class Logger;
146 }
147 
148 namespace options
149 {
150 class Option;
151 class Configuration;
152 }
153 
154 namespace report
155 {
156 class ReportFactory;
157 }
158 
160 {
161 public:
162  DefaultServerConfiguration(int argc, char const* argv[]);
163  explicit DefaultServerConfiguration(std::shared_ptr<options::Configuration> const& configuration_options);
164 
168  std::shared_ptr<frontend::Connector> the_connector() override;
169  std::shared_ptr<frontend::Connector> the_prompt_connector() override;
170  std::shared_ptr<graphics::Display> the_display() override;
171  std::shared_ptr<compositor::Compositor> the_compositor() override;
172  std::shared_ptr<input::InputManager> the_input_manager() override;
173  std::shared_ptr<MainLoop> the_main_loop() override;
174  std::shared_ptr<ServerStatusListener> the_server_status_listener() override;
175  std::shared_ptr<DisplayChanger> the_display_changer() override;
176  std::shared_ptr<graphics::Platform> the_graphics_platform() override;
177  std::shared_ptr<input::InputDispatcher> the_input_dispatcher() override;
178  std::shared_ptr<EmergencyCleanup> the_emergency_cleanup() override;
187  auto the_fatal_error_strategy() -> void (*)(char const* reason, ...) override final;
193  virtual std::shared_ptr<compositor::RendererFactory> the_renderer_factory();
194  virtual std::shared_ptr<graphics::DisplayConfigurationPolicy> the_display_configuration_policy();
195  virtual std::shared_ptr<graphics::nested::HostConnection> the_host_connection();
196  virtual std::shared_ptr<graphics::GLConfig> the_gl_config();
202  virtual std::shared_ptr<graphics::DisplayReport> the_display_report();
203  virtual std::shared_ptr<graphics::Cursor> the_cursor();
204  virtual std::shared_ptr<graphics::CursorImage> the_default_cursor_image();
205  virtual std::shared_ptr<input::CursorImages> the_cursor_images();
206 
212  virtual std::shared_ptr<compositor::CompositorReport> the_compositor_report();
213  virtual std::shared_ptr<compositor::DisplayBufferCompositorFactory> the_display_buffer_compositor_factory();
214  virtual std::shared_ptr<compositor::DisplayBufferCompositorFactory> wrap_display_buffer_compositor_factory(
215  std::shared_ptr<compositor::DisplayBufferCompositorFactory> const& wrapped);
221  virtual std::shared_ptr<graphics::GraphicBufferAllocator> the_buffer_allocator();
222  virtual std::shared_ptr<compositor::Scene> the_scene();
223  virtual std::shared_ptr<compositor::FrameDroppingPolicyFactory> the_frame_dropping_policy_factory();
229  virtual std::shared_ptr<frontend::SessionMediatorReport> the_session_mediator_report();
230  virtual std::shared_ptr<frontend::MessageProcessorReport> the_message_processor_report();
231  virtual std::shared_ptr<frontend::SessionAuthorizer> the_session_authorizer();
232  // the_frontend_shell() is an adapter for the_shell().
233  // To customize this behaviour it is recommended you override wrap_shell().
234  std::shared_ptr<frontend::Shell> the_frontend_shell();
235  virtual std::shared_ptr<frontend::EventSink> the_global_event_sink();
236  virtual std::shared_ptr<frontend::DisplayChanger> the_frontend_display_changer();
237  virtual std::shared_ptr<frontend::Screencast> the_screencast();
241  virtual std::shared_ptr<frontend::ConnectionCreator> the_connection_creator();
242  virtual std::shared_ptr<frontend::ConnectionCreator> the_prompt_connection_creator();
243  virtual std::shared_ptr<frontend::ConnectorReport> the_connector_report();
247  // the_focus_controller() is an interface for the_shell().
248  std::shared_ptr<shell::FocusController> the_focus_controller();
249 
253  virtual auto the_shell() -> std::shared_ptr<shell::Shell>;
254  virtual std::shared_ptr<scene::PlacementStrategy> the_placement_strategy();
255  virtual std::shared_ptr<scene::SessionListener> the_session_listener();
256  virtual std::shared_ptr<shell::DisplayLayout> the_shell_display_layout();
257  virtual std::shared_ptr<scene::PromptSessionListener> the_prompt_session_listener();
258  virtual std::shared_ptr<scene::PromptSessionManager> the_prompt_session_manager();
259  virtual std::shared_ptr<shell::HostLifecycleEventListener> the_host_lifecycle_event_listener();
260 
267  virtual std::shared_ptr<scene::PixelBuffer> the_pixel_buffer();
268  virtual std::shared_ptr<scene::SnapshotStrategy> the_snapshot_strategy();
269  virtual std::shared_ptr<scene::SessionContainer> the_session_container();
270  virtual std::shared_ptr<scene::SessionEventSink> the_session_event_sink();
271  virtual std::shared_ptr<scene::SessionEventHandlerRegister> the_session_event_handler_register();
272  virtual std::shared_ptr<scene::SurfaceStackModel> the_surface_stack_model();
273  virtual std::shared_ptr<scene::SurfaceFactory> the_surface_factory();
274  virtual std::shared_ptr<scene::SurfaceCoordinator>the_surface_coordinator();
275  virtual std::shared_ptr<scene::SurfaceConfigurator> the_surface_configurator();
281  virtual std::shared_ptr<scene::BufferStreamFactory> the_buffer_stream_factory();
282  virtual std::shared_ptr<scene::SceneReport> the_scene_report();
288  virtual std::shared_ptr<scene::SessionCoordinator> the_session_coordinator();
289  virtual std::shared_ptr<scene::CoordinateTranslator> the_coordinate_translator();
295  virtual std::shared_ptr<input::InputReport> the_input_report();
296  virtual std::shared_ptr<input::CompositeEventFilter> the_composite_event_filter();
297  virtual std::shared_ptr<shell::InputTargeter> the_input_targeter();
298  virtual std::shared_ptr<input::Scene> the_input_scene();
299  virtual std::shared_ptr<input::CursorListener> the_cursor_listener();
300  virtual std::shared_ptr<input::TouchVisualizer> the_touch_visualizer();
301  virtual std::shared_ptr<input::InputRegion> the_input_region();
302  virtual std::shared_ptr<input::InputSender> the_input_sender();
303  virtual std::shared_ptr<input::InputSendObserver> the_input_send_observer();
304  virtual std::shared_ptr<droidinput::EventHubInterface> the_event_hub();
305  virtual std::shared_ptr<droidinput::InputReaderInterface> the_input_reader();
306  virtual std::shared_ptr<droidinput::InputReaderPolicyInterface> the_input_reader_policy();
307  virtual std::shared_ptr<droidinput::InputListenerInterface> the_input_translator();
308  virtual std::shared_ptr<input::android::InputThread> the_input_reader_thread();
314  virtual std::shared_ptr<logging::Logger> the_logger();
317  virtual std::shared_ptr<time::Clock> the_clock();
318  virtual std::shared_ptr<ServerActionQueue> the_server_action_queue();
319  virtual std::shared_ptr<SharedLibraryProberReport> the_shared_library_prober_report();
320 
321 protected:
322  std::shared_ptr<options::Option> the_options() const;
323 
324  virtual std::shared_ptr<graphics::GLProgramFactory> the_gl_program_factory();
325  virtual std::shared_ptr<input::InputChannelFactory> the_input_channel_factory();
326  virtual std::shared_ptr<scene::MediatingDisplayChanger> the_mediating_display_changer();
327  virtual std::shared_ptr<frontend::ProtobufIpcFactory> new_ipc_factory(
328  std::shared_ptr<frontend::SessionAuthorizer> const& session_authorizer);
329 
332  virtual std::shared_ptr<input::android::InputRegistrar> the_input_registrar();
333  virtual std::shared_ptr<droidinput::InputDispatcherInterface> the_android_input_dispatcher();
334  virtual std::shared_ptr<droidinput::InputEnumerator> the_input_target_enumerator();
335  virtual std::shared_ptr<input::android::InputThread> the_dispatcher_thread();
336  virtual std::shared_ptr<droidinput::InputDispatcherPolicyInterface> the_dispatcher_policy();
337  virtual bool is_key_repeat_enabled() const;
342  virtual std::shared_ptr<graphics::DisplayConfigurationPolicy> wrap_display_configuration_policy(
343  std::shared_ptr<graphics::DisplayConfigurationPolicy> const& wrapped);
344 
345  virtual std::shared_ptr<shell::Shell> wrap_shell(
346  std::shared_ptr<shell::Shell> const& wrapped);
347 
348  virtual std::shared_ptr<input::CursorListener> wrap_cursor_listener(
349  std::shared_ptr<input::CursorListener> const& wrapped);
362 
365 
382 
396 
427 
428 private:
429  std::shared_ptr<options::Configuration> const configuration_options;
430  std::shared_ptr<input::EventFilter> const default_filter;
431 
432  virtual std::string the_socket_file() const;
433 
434  // The following caches and factory functions are internal to the
435  // default implementations of corresponding the Mir components
436  CachedPtr<scene::BroadcastingSessionEventSink> broadcasting_session_event_sink;
437 
438  std::shared_ptr<scene::BroadcastingSessionEventSink> the_broadcasting_session_event_sink();
439 
440  auto report_factory(char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
441 
443 };
444 }
445 
446 
447 #endif /* MIR_DEFAULT_SERVER_CONFIGURATION_H_ */
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
Definition: shell.h:47
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
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: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
Definition: mediating_display_changer.h:44
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

Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015