[email protected] | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 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 | ||||
3 | // found in the LICENSE file. | ||||
4 | |||||
5 | #ifndef ASH_SHELL_INIT_PARAMS_H_ | ||||
6 | #define ASH_SHELL_INIT_PARAMS_H_ | ||||
7 | |||||
Scott Violet | c8a1c6c | 2017-11-29 23:17:36 | [diff] [blame] | 8 | #include <memory> |
9 | |||||
[email protected] | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 10 | #include "ash/ash_export.h" |
Steven Bennetts | adc71d0 | 2019-04-17 18:15:54 | [diff] [blame] | 11 | #include "base/memory/scoped_refptr.h" |
12 | #include "dbus/bus.h" | ||||
[email protected] | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 13 | |
Xiyuan Xia | 14619a2 | 2019-05-14 20:20:44 | [diff] [blame] | 14 | class PrefService; |
Steven Bennetts | ca10851 | 2018-05-02 11:05:03 | [diff] [blame] | 15 | |
Jun Mukai | f235779 | 2018-12-20 19:58:00 | [diff] [blame] | 16 | namespace keyboard { |
17 | class KeyboardUIFactory; | ||||
18 | } | ||||
19 | |||||
[email protected] | fa69f2b6 | 2014-05-22 21:47:58 | [diff] [blame] | 20 | namespace ui { |
21 | class ContextFactory; | ||||
Scott Violet | b7f4df2 | 2018-05-17 04:43:12 | [diff] [blame] | 22 | } |
Scott Violet | 7e33efc | 2018-08-29 22:30:15 | [diff] [blame] | 23 | |
[email protected] | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 24 | namespace ash { |
25 | |||||
26 | class ShellDelegate; | ||||
27 | |||||
28 | struct ASH_EXPORT ShellInitParams { | ||||
Scott Violet | c8a1c6c | 2017-11-29 23:17:36 | [diff] [blame] | 29 | ShellInitParams(); |
30 | ShellInitParams(ShellInitParams&& other); | ||||
31 | ~ShellInitParams(); | ||||
32 | |||||
Scott Violet | c8a1c6c | 2017-11-29 23:17:36 | [diff] [blame] | 33 | std::unique_ptr<ShellDelegate> delegate; |
34 | ui::ContextFactory* context_factory = nullptr; // Non-owning. | ||||
Xiyuan Xia | 14619a2 | 2019-05-14 20:20:44 | [diff] [blame] | 35 | PrefService* local_state = nullptr; // Non-owning. |
Scott Violet | b7f4df2 | 2018-05-17 04:43:12 | [diff] [blame] | 36 | |
Scott Violet | 9b25e236 | 2019-05-08 00:51:25 | [diff] [blame] | 37 | // Factory for creating the virtual keyboard UI. Must be non-null. |
Jun Mukai | f235779 | 2018-12-20 19:58:00 | [diff] [blame] | 38 | std::unique_ptr<keyboard::KeyboardUIFactory> keyboard_ui_factory; |
Steven Bennetts | adc71d0 | 2019-04-17 18:15:54 | [diff] [blame] | 39 | |
40 | // Bus used by dbus clients. May be null in tests or when not running on a | ||||
41 | // device, in which case fake clients will be created. | ||||
42 | scoped_refptr<dbus::Bus> dbus_bus; | ||||
[email protected] | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 43 | }; |
44 | |||||
45 | } // namespace ash | ||||
46 | |||||
47 | #endif // ASH_SHELL_INIT_PARAMS_H_ |