OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_ | 5 #ifndef COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_ |
6 #define COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_ | 6 #define COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "components/view_manager/connection_manager_delegate.h" | 9 #include "components/view_manager/connection_manager_delegate.h" |
10 #include "components/view_manager/public/interfaces/view_manager.mojom.h" | 10 #include "components/view_manager/public/interfaces/view_manager.mojom.h" |
11 #include "components/window_manager/public/interfaces/window_manager_internal.mo
jom.h" | 11 #include "components/view_manager/public/interfaces/view_manager_root.mojom.h" |
12 #include "mojo/application/public/cpp/application_delegate.h" | 12 #include "mojo/application/public/cpp/application_delegate.h" |
13 #include "mojo/application/public/cpp/interface_factory.h" | 13 #include "mojo/application/public/cpp/interface_factory.h" |
14 #include "mojo/common/tracing_impl.h" | 14 #include "mojo/common/tracing_impl.h" |
15 #include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h" | |
16 #include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h" | |
17 | 15 |
18 namespace mojo { | 16 namespace mojo { |
19 class ApplicationImpl; | 17 class ApplicationImpl; |
20 } | 18 } |
21 | 19 |
22 namespace view_manager { | 20 namespace view_manager { |
23 | 21 |
24 class ConnectionManager; | 22 class ConnectionManager; |
25 | 23 |
26 class ViewManagerApp | 24 class ViewManagerApp : public mojo::ApplicationDelegate, |
27 : public mojo::ApplicationDelegate, | 25 public ConnectionManagerDelegate, |
28 public ConnectionManagerDelegate, | 26 public mojo::ErrorHandler, |
29 public mojo::ErrorHandler, | 27 public mojo::InterfaceFactory<mojo::ViewManagerRoot>, |
30 public mojo::InterfaceFactory<mojo::ViewManagerService>, | 28 public mojo::InterfaceFactory<mojo::ViewManagerService> { |
31 public mojo::InterfaceFactory<mojo::WindowManagerInternalClient> { | |
32 public: | 29 public: |
33 ViewManagerApp(); | 30 ViewManagerApp(); |
34 ~ViewManagerApp() override; | 31 ~ViewManagerApp() override; |
35 | 32 |
36 private: | 33 private: |
37 // ApplicationDelegate: | 34 // ApplicationDelegate: |
38 void Initialize(mojo::ApplicationImpl* app) override; | 35 void Initialize(mojo::ApplicationImpl* app) override; |
39 bool ConfigureIncomingConnection( | 36 bool ConfigureIncomingConnection( |
40 mojo::ApplicationConnection* connection) override; | 37 mojo::ApplicationConnection* connection) override; |
41 | 38 |
(...skipping 12 matching lines...) Expand all Loading... |
54 mojo::ConnectionSpecificId creator_id, | 51 mojo::ConnectionSpecificId creator_id, |
55 const std::string& creator_url, | 52 const std::string& creator_url, |
56 const ViewId& root_id, | 53 const ViewId& root_id, |
57 mojo::ViewManagerClientPtr view_manager_client) override; | 54 mojo::ViewManagerClientPtr view_manager_client) override; |
58 | 55 |
59 // mojo::InterfaceFactory<mojo::ViewManagerService>: | 56 // mojo::InterfaceFactory<mojo::ViewManagerService>: |
60 void Create( | 57 void Create( |
61 mojo::ApplicationConnection* connection, | 58 mojo::ApplicationConnection* connection, |
62 mojo::InterfaceRequest<mojo::ViewManagerService> request) override; | 59 mojo::InterfaceRequest<mojo::ViewManagerService> request) override; |
63 | 60 |
64 // mojo::InterfaceFactory<mojo::WindowManagerInternalClient>: | 61 // mojo::InterfaceFactory<mojo::ViewManagerRoot>: |
65 void Create(mojo::ApplicationConnection* connection, | 62 void Create(mojo::ApplicationConnection* connection, |
66 mojo::InterfaceRequest<mojo::WindowManagerInternalClient> request) | 63 mojo::InterfaceRequest<mojo::ViewManagerRoot> request) override; |
67 override; | |
68 | 64 |
69 // ErrorHandler (for |wm_internal_| and |wm_internal_client_binding_|). | 65 // ErrorHandler (for |wm_internal_| and |wm_internal_client_binding_|). |
70 void OnConnectionError() override; | 66 void OnConnectionError() override; |
71 | 67 |
72 mojo::ApplicationImpl* app_impl_; | 68 mojo::ApplicationImpl* app_impl_; |
73 mojo::ApplicationConnection* wm_app_connection_; | 69 mojo::ApplicationConnection* wm_app_connection_; |
74 scoped_ptr<mojo::Binding<mojo::WindowManagerInternalClient>> | 70 scoped_ptr<mojo::Binding<mojo::ViewManagerRoot>> view_manager_root_binding_; |
75 wm_internal_client_binding_; | |
76 mojo::InterfaceRequest<mojo::ViewManagerClient> wm_internal_client_request_; | |
77 mojo::WindowManagerInternalPtr wm_internal_; | |
78 scoped_ptr<ConnectionManager> connection_manager_; | 71 scoped_ptr<ConnectionManager> connection_manager_; |
79 mojo::TracingImpl tracing_; | 72 mojo::TracingImpl tracing_; |
80 | 73 |
81 DISALLOW_COPY_AND_ASSIGN(ViewManagerApp); | 74 DISALLOW_COPY_AND_ASSIGN(ViewManagerApp); |
82 }; | 75 }; |
83 | 76 |
84 } // namespace view_manager | 77 } // namespace view_manager |
85 | 78 |
86 #endif // COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_ | 79 #endif // COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_ |
OLD | NEW |