Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
default_connection_configuration.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License version 3 as
6  * 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 Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com>
17  */
18 
19 #ifndef MIR_CLIENT_DEFAULT_CONNECTION_CONFIGURATION_H_
20 #define MIR_CLIENT_DEFAULT_CONNECTION_CONFIGURATION_H_
21 
23 
24 #include "mir/cached_ptr.h"
25 
26 #include <string>
27 
28 namespace mir
29 {
30 class SharedLibraryProberReport;
31 
32 namespace input
33 {
34 namespace receiver
35 {
36 class InputReceiverReport;
37 }
38 }
39 namespace client
40 {
41 class EventDistributor;
42 
43 namespace rpc
44 {
45 class RpcReport;
46 }
47 
49 {
50 public:
51  DefaultConnectionConfiguration(std::string const& socket_file);
52 
53  std::shared_ptr<ConnectionSurfaceMap> the_surface_map();
54  std::shared_ptr<google::protobuf::RpcChannel> the_rpc_channel();
55  std::shared_ptr<mir::logging::Logger> the_logger();
56  std::shared_ptr<ClientPlatformFactory> the_client_platform_factory();
57  std::shared_ptr<input::receiver::InputPlatform> the_input_platform();
58  std::shared_ptr<DisplayConfiguration> the_display_configuration();
59  std::shared_ptr<LifecycleControl> the_lifecycle_control();
60  std::shared_ptr<EventSink> the_event_sink();
61  std::shared_ptr<EventHandlerRegister> the_event_handler_register();
62  std::shared_ptr<mir::SharedLibraryProberReport> the_shared_library_prober_report();
63  std::shared_ptr<SharedLibrary> the_platform_library() override;
64 
65  virtual std::string the_socket_file();
66  virtual std::shared_ptr<rpc::RpcReport> the_rpc_report();
67  virtual std::shared_ptr<input::receiver::InputReceiverReport> the_input_receiver_report();
68 
69 protected:
70  // MUST be first data member so it is destroyed last.
71  std::shared_ptr<mir::SharedLibrary> platform_library;
72 
81 
85 
86 private:
87  std::string const socket_file;
88 };
89 
90 }
91 }
92 
93 #endif /* MIR_CLIENT_DEFAULT_CONNECTION_CONFIGURATION_H_ */
std::shared_ptr< mir::SharedLibraryProberReport > the_shared_library_prober_report()
Definition: default_connection_configuration.cpp:207
All things Mir.
Definition: aging_buffer.h:24
DefaultConnectionConfiguration(std::string const &socket_file)
Definition: default_connection_configuration.cpp:69
CachedPtr< input::receiver::InputPlatform > input_platform
Definition: default_connection_configuration.h:76
std::shared_ptr< google::protobuf::RpcChannel > the_rpc_channel()
Definition: default_connection_configuration.cpp:85
Definition: default_connection_configuration.h:48
CachedPtr< DisplayConfiguration > display_configuration
Definition: default_connection_configuration.h:78
std::shared_ptr< input::receiver::InputPlatform > the_input_platform()
Definition: default_connection_configuration.cpp:120
virtual std::shared_ptr< input::receiver::InputReceiverReport > the_input_receiver_report()
Definition: default_connection_configuration.cpp:154
CachedPtr< mir::logging::Logger > logger
Definition: default_connection_configuration.h:74
std::shared_ptr< EventHandlerRegister > the_event_handler_register()
Definition: default_connection_configuration.cpp:198
Definition: rpc_report.h:44
std::shared_ptr< ClientPlatformFactory > the_client_platform_factory()
Definition: default_connection_configuration.cpp:106
std::shared_ptr< EventSink > the_event_sink()
Definition: default_connection_configuration.cpp:189
std::shared_ptr< mir::logging::Logger > the_logger()
Definition: default_connection_configuration.cpp:96
CachedPtr< mir::SharedLibraryProberReport > shared_library_prober_report
Definition: default_connection_configuration.h:84
CachedPtr< LifecycleControl > lifecycle_control
Definition: default_connection_configuration.h:79
CachedPtr< input::receiver::InputReceiverReport > input_receiver_report
Definition: default_connection_configuration.h:83
virtual std::string the_socket_file()
Definition: default_connection_configuration.cpp:130
std::shared_ptr< mir::SharedLibrary > platform_library
Definition: default_connection_configuration.h:71
std::shared_ptr< ConnectionSurfaceMap > the_surface_map()
Definition: default_connection_configuration.cpp:76
std::shared_ptr< SharedLibrary > the_platform_library() override
Definition: default_connection_configuration.cpp:223
virtual std::shared_ptr< rpc::RpcReport > the_rpc_report()
Definition: default_connection_configuration.cpp:136
CachedPtr< rpc::RpcReport > rpc_report
Definition: default_connection_configuration.h:82
CachedPtr< ClientPlatformFactory > client_platform_factory
Definition: default_connection_configuration.h:75
std::shared_ptr< DisplayConfiguration > the_display_configuration()
Definition: default_connection_configuration.cpp:171
Definition: connection_configuration.h:54
CachedPtr< EventDistributor > event_distributor
Definition: default_connection_configuration.h:80
CachedPtr< google::protobuf::RpcChannel > rpc_channel
Definition: default_connection_configuration.h:73
CachedPtr< ConnectionSurfaceMap > surface_map
Definition: default_connection_configuration.h:77
std::shared_ptr< LifecycleControl > the_lifecycle_control()
Definition: default_connection_configuration.cpp:180

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