Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 InputDispatcherInterface;
30 class InputDispatcherPolicyInterface;
31 }
32 
33 namespace droidinput = android;
34 
35 namespace mir
36 {
37 class ServerActionQueue;
38 
39 namespace compositor
40 {
41 class Renderer;
42 class BufferStreamFactory;
43 class Scene;
44 class Drawer;
45 class DisplayBufferCompositorFactory;
46 class Compositor;
47 class RendererFactory;
48 class CompositorReport;
49 class FrameDroppingPolicyFactory;
50 }
51 namespace frontend
52 {
53 class Shell;
54 class Connector;
55 class ConnectorReport;
56 class ProtobufIpcFactory;
57 class ConnectionCreator;
58 class SessionMediatorReport;
59 class MessageProcessorReport;
60 class SessionAuthorizer;
61 class EventSink;
62 class DisplayChanger;
63 class Screencast;
64 }
65 
66 namespace shell
67 {
68 class InputTargeter;
69 class FocusSetter;
70 class FocusController;
71 class DisplayLayout;
72 class HostLifecycleEventListener;
73 }
74 namespace time
75 {
76 class Clock;
77 }
78 namespace scene
79 {
80 class SurfaceFactory;
81 class BroadcastingSessionEventSink;
82 class BufferStreamFactory;
83 class MediatingDisplayChanger;
84 class PixelBuffer;
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;
95 class SurfaceStack;
96 class SceneReport;
97 class PromptSessionListener;
98 class PromptSessionManager;
99 }
100 namespace graphics
101 {
102 class NativePlatform;
103 class Platform;
104 class Display;
105 class BufferInitializer;
106 class DisplayReport;
107 class GraphicBufferAllocator;
108 class BufferWriter;
109 class Cursor;
110 class CursorImage;
111 class GLConfig;
112 class GLProgramFactory;
113 namespace nested { class HostConnection; }
114 }
115 namespace input
116 {
117 class InputReport;
118 class Scene;
119 class InputManager;
120 class CompositeEventFilter;
121 class InputChannelFactory;
122 class InputConfiguration;
123 class CursorListener;
124 class TouchVisualizer;
125 class InputRegion;
126 class InputSender;
127 class InputSendObserver;
128 class NestedInputRelay;
129 class EventHandler;
130 class CursorImages;
131 namespace android
132 {
133 class InputRegistrar;
134 class InputThread;
135 }
136 }
137 
138 namespace logging
139 {
140 class Logger;
141 }
142 
143 namespace options
144 {
145 class Option;
146 class Configuration;
147 }
148 
149 namespace report
150 {
151 class ReportFactory;
152 }
153 
155 {
156 public:
157  DefaultServerConfiguration(int argc, char const* argv[]);
158  explicit DefaultServerConfiguration(std::shared_ptr<options::Configuration> const& configuration_options);
159 
163  std::shared_ptr<frontend::Connector> the_connector() override;
164  std::shared_ptr<frontend::Connector> the_prompt_connector() override;
165  std::shared_ptr<graphics::Display> the_display() override;
166  std::shared_ptr<compositor::Compositor> the_compositor() override;
167  std::shared_ptr<input::InputManager> the_input_manager() override;
168  std::shared_ptr<MainLoop> the_main_loop() override;
169  std::shared_ptr<ServerStatusListener> the_server_status_listener() override;
170  std::shared_ptr<DisplayChanger> the_display_changer() override;
171  std::shared_ptr<graphics::Platform> the_graphics_platform() override;
172  std::shared_ptr<input::InputConfiguration> the_input_configuration() override;
173  std::shared_ptr<input::InputDispatcher> the_input_dispatcher() override;
174  std::shared_ptr<EmergencyCleanup> the_emergency_cleanup() override;
183  auto the_fatal_error_strategy() -> void (*)(char const* reason, ...) override final;
189  virtual std::shared_ptr<graphics::BufferInitializer> the_buffer_initializer();
190  virtual std::shared_ptr<compositor::RendererFactory> the_renderer_factory();
191  virtual std::shared_ptr<graphics::DisplayConfigurationPolicy> the_display_configuration_policy();
192  virtual std::shared_ptr<graphics::nested::HostConnection> the_host_connection();
193  virtual std::shared_ptr<graphics::GLConfig> the_gl_config();
194  virtual std::shared_ptr<graphics::NativePlatform> the_graphics_native_platform();
200  virtual std::shared_ptr<graphics::DisplayReport> the_display_report();
201  virtual std::shared_ptr<graphics::Cursor> the_cursor();
202  virtual std::shared_ptr<graphics::CursorImage> the_default_cursor_image();
203  virtual std::shared_ptr<input::CursorImages> the_cursor_images();
204 
210  virtual std::shared_ptr<compositor::CompositorReport> the_compositor_report();
211  virtual std::shared_ptr<compositor::DisplayBufferCompositorFactory> the_display_buffer_compositor_factory();
217  virtual std::shared_ptr<graphics::GraphicBufferAllocator> the_buffer_allocator();
218  virtual std::shared_ptr<graphics::BufferWriter> the_buffer_writer();
219  virtual std::shared_ptr<compositor::Scene> the_scene();
220  virtual std::shared_ptr<compositor::FrameDroppingPolicyFactory> the_frame_dropping_policy_factory();
226  virtual std::shared_ptr<frontend::SessionMediatorReport> the_session_mediator_report();
227  virtual std::shared_ptr<frontend::MessageProcessorReport> the_message_processor_report();
228  virtual std::shared_ptr<frontend::SessionAuthorizer> the_session_authorizer();
229  // the_frontend_shell() is an adapter for the_session_coordinator().
230  // To customize this behaviour it is recommended you override wrap_session_coordinator().
231  std::shared_ptr<frontend::Shell> the_frontend_shell();
232  virtual std::shared_ptr<frontend::EventSink> the_global_event_sink();
233  virtual std::shared_ptr<frontend::DisplayChanger> the_frontend_display_changer();
234  virtual std::shared_ptr<frontend::Screencast> the_screencast();
238  virtual std::shared_ptr<frontend::ConnectionCreator> the_connection_creator();
239  virtual std::shared_ptr<frontend::ConnectionCreator> the_prompt_connection_creator();
240  virtual std::shared_ptr<frontend::ConnectorReport> the_connector_report();
244  // the_focus_controller() is an adapter for the_session_coordinator().
245  // To customize this behaviour it is recommended you override wrap_session_coordinator().
246  std::shared_ptr<shell::FocusController> the_focus_controller();
247 
251  virtual std::shared_ptr<shell::FocusSetter> the_shell_focus_setter();
252  virtual std::shared_ptr<scene::PlacementStrategy> the_placement_strategy();
253  virtual std::shared_ptr<scene::SessionListener> the_session_listener();
254  virtual std::shared_ptr<shell::DisplayLayout> the_shell_display_layout();
255  virtual std::shared_ptr<scene::PromptSessionListener> the_prompt_session_listener();
256  virtual std::shared_ptr<scene::PromptSessionManager> the_prompt_session_manager();
257  virtual std::shared_ptr<shell::HostLifecycleEventListener> the_host_lifecycle_event_listener();
258 
265  virtual std::shared_ptr<scene::PixelBuffer> the_pixel_buffer();
266  virtual std::shared_ptr<scene::SnapshotStrategy> the_snapshot_strategy();
267  virtual std::shared_ptr<scene::SessionContainer> the_session_container();
268  virtual std::shared_ptr<scene::SessionEventSink> the_session_event_sink();
269  virtual std::shared_ptr<scene::SessionEventHandlerRegister> the_session_event_handler_register();
270  virtual std::shared_ptr<scene::SurfaceStackModel> the_surface_stack_model();
271  virtual std::shared_ptr<scene::SurfaceFactory> the_surface_factory();
272  virtual std::shared_ptr<scene::SurfaceCoordinator>the_surface_coordinator();
273  virtual std::shared_ptr<scene::SurfaceConfigurator> the_surface_configurator();
279  virtual std::shared_ptr<scene::BufferStreamFactory> the_buffer_stream_factory();
280  virtual std::shared_ptr<scene::SceneReport> the_scene_report();
286  // To customize this behaviour it is recommended you override wrap_session_coordinator().
287  virtual std::shared_ptr<scene::SessionCoordinator> the_session_coordinator();
293  virtual std::shared_ptr<input::InputReport> the_input_report();
294  virtual std::shared_ptr<input::CompositeEventFilter> the_composite_event_filter();
295  virtual std::shared_ptr<shell::InputTargeter> the_input_targeter();
296  virtual std::shared_ptr<input::Scene> the_input_scene();
297  virtual std::shared_ptr<input::CursorListener> the_cursor_listener();
298  virtual std::shared_ptr<input::TouchVisualizer> the_touch_visualizer();
299  virtual std::shared_ptr<input::InputRegion> the_input_region();
300  virtual std::shared_ptr<input::InputSender> the_input_sender();
301  virtual std::shared_ptr<input::InputSendObserver> the_input_send_observer();
307  virtual std::shared_ptr<logging::Logger> the_logger();
310  virtual std::shared_ptr<time::Clock> the_clock();
311  virtual std::shared_ptr<ServerActionQueue> the_server_action_queue();
312 
313 protected:
314  std::shared_ptr<options::Option> the_options() const;
315 
316  virtual std::shared_ptr<graphics::GLProgramFactory> the_gl_program_factory();
317  virtual std::shared_ptr<input::InputChannelFactory> the_input_channel_factory();
318  virtual std::shared_ptr<scene::MediatingDisplayChanger> the_mediating_display_changer();
319  virtual std::shared_ptr<frontend::ProtobufIpcFactory> new_ipc_factory(
320  std::shared_ptr<frontend::SessionAuthorizer> const& session_authorizer);
321 
324  virtual std::shared_ptr<input::android::InputRegistrar> the_input_registrar();
325  virtual std::shared_ptr<droidinput::InputDispatcherInterface> the_android_input_dispatcher();
326  virtual std::shared_ptr<input::android::InputThread> the_dispatcher_thread();
327  virtual std::shared_ptr<droidinput::InputDispatcherPolicyInterface> the_dispatcher_policy();
328  virtual bool is_key_repeat_enabled() const;
333  virtual std::shared_ptr<scene::SurfaceCoordinator> wrap_surface_coordinator(
334  std::shared_ptr<scene::SurfaceCoordinator> const& wrapped);
335 
336  virtual std::shared_ptr<scene::SessionCoordinator> wrap_session_coordinator(
337  std::shared_ptr<scene::SessionCoordinator> const& wrapped);
344 
347 
349 
369 
383 
399  // static to workaround the singleton clock in AsioMainLoop when running multiple servers
413 
414 private:
415  std::shared_ptr<options::Configuration> const configuration_options;
416  std::shared_ptr<input::EventFilter> const default_filter;
417 
418  virtual std::string the_socket_file() const;
419 
420  // The following caches and factory functions are internal to the
421  // default implementations of corresponding the Mir components
422  CachedPtr<scene::BroadcastingSessionEventSink> broadcasting_session_event_sink;
423 
424  std::shared_ptr<scene::BroadcastingSessionEventSink> the_broadcasting_session_event_sink();
425 
426  auto report_factory(char const* report_opt) -> std::unique_ptr<report::ReportFactory>;
427 };
428 }
429 
430 
431 #endif /* MIR_DEFAULT_SERVER_CONFIGURATION_H_ */
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

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014