OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 ASH_SYSUI_SYSUI_APPLICATION_H_ | 5 #ifndef ASH_SYSUI_SYSUI_APPLICATION_H_ |
6 #define ASH_SYSUI_SYSUI_APPLICATION_H_ | 6 #define ASH_SYSUI_SYSUI_APPLICATION_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
| 10 #include "ash/sysui/public/interfaces/wallpaper.mojom.h" |
10 #include "base/macros.h" | 11 #include "base/macros.h" |
11 #include "mash/shelf/public/interfaces/shelf.mojom.h" | 12 #include "mash/shelf/public/interfaces/shelf.mojom.h" |
12 #include "mojo/public/cpp/bindings/binding_set.h" | 13 #include "mojo/public/cpp/bindings/binding_set.h" |
13 #include "services/shell/public/cpp/shell_client.h" | 14 #include "services/shell/public/cpp/shell_client.h" |
14 #include "services/tracing/public/cpp/tracing_impl.h" | 15 #include "services/tracing/public/cpp/tracing_impl.h" |
15 | 16 |
16 namespace ash { | 17 namespace ash { |
17 namespace sysui { | 18 namespace sysui { |
18 | 19 |
19 class AshInit; | 20 class AshInit; |
20 | 21 |
21 class SysUIApplication | 22 class SysUIApplication |
22 : public shell::ShellClient, | 23 : public shell::ShellClient, |
23 public shell::InterfaceFactory<mash::shelf::mojom::ShelfController> { | 24 public shell::InterfaceFactory<mash::shelf::mojom::ShelfController>, |
| 25 public shell::InterfaceFactory<mojom::WallpaperController> { |
24 public: | 26 public: |
25 SysUIApplication(); | 27 SysUIApplication(); |
26 ~SysUIApplication() override; | 28 ~SysUIApplication() override; |
27 | 29 |
28 private: | 30 private: |
29 // shell::ShellClient: | 31 // shell::ShellClient: |
30 void Initialize(::shell::Connector* connector, | 32 void Initialize(::shell::Connector* connector, |
31 const ::shell::Identity& identity, | 33 const ::shell::Identity& identity, |
32 uint32_t id) override; | 34 uint32_t id) override; |
33 bool AcceptConnection(shell::Connection* connection) override; | 35 bool AcceptConnection(shell::Connection* connection) override; |
34 | 36 |
35 // InterfaceFactory<mash::shelf::mojom::ShelfController>: | 37 // InterfaceFactory<mash::shelf::mojom::ShelfController>: |
36 void Create(shell::Connection* connection, | 38 void Create(shell::Connection* connection, |
37 mojo::InterfaceRequest<mash::shelf::mojom::ShelfController> | 39 mash::shelf::mojom::ShelfControllerRequest request) override; |
38 request) override; | 40 |
| 41 // InterfaceFactory<mojom::WallpaperController>: |
| 42 void Create(shell::Connection* connection, |
| 43 mojom::WallpaperControllerRequest request) override; |
39 | 44 |
40 mojo::TracingImpl tracing_; | 45 mojo::TracingImpl tracing_; |
41 std::unique_ptr<AshInit> ash_init_; | 46 std::unique_ptr<AshInit> ash_init_; |
42 | 47 |
43 mojo::BindingSet<mash::shelf::mojom::ShelfController> | 48 mojo::BindingSet<mash::shelf::mojom::ShelfController> |
44 shelf_controller_bindings_; | 49 shelf_controller_bindings_; |
| 50 mojo::BindingSet<mojom::WallpaperController> wallpaper_controller_bindings_; |
45 | 51 |
46 DISALLOW_COPY_AND_ASSIGN(SysUIApplication); | 52 DISALLOW_COPY_AND_ASSIGN(SysUIApplication); |
47 }; | 53 }; |
48 | 54 |
49 } // namespace sysui | 55 } // namespace sysui |
50 } // namespace ash | 56 } // namespace ash |
51 | 57 |
52 #endif // ASH_SYSUI_SYSUI_APPLICATION_H_ | 58 #endif // ASH_SYSUI_SYSUI_APPLICATION_H_ |
OLD | NEW |