Avi Drissman | 3a215d1e | 2022-09-07 19:43:09 | [diff] [blame] | 1 | // Copyright 2014 The Chromium Authors |
sky@chromium.org | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 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 | |
sky@chromium.org | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 10 | #include"ash/ash_export.h" |
Jack Shira | 8da3c5c | 2023-04-28 17:17:25 | [diff] [blame] | 11 | #include"ash/quick_pair/keyed_service/quick_pair_mediator.h" |
Arthur Sonzogni | 834e018f | 2023-04-22 10:20:02 | [diff] [blame] | 12 | #include"base/memory/raw_ptr.h" |
Steven Bennetts | adc71d0 | 2019-04-17 18:15:54 | [diff] [blame] | 13 | #include"base/memory/scoped_refptr.h" |
| 14 | #include"dbus/bus.h" |
sky@chromium.org | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 15 | |
Xiyuan Xia | 14619a2 | 2019-05-14 20:20:44 | [diff] [blame] | 16 | classPrefService; |
Steven Bennetts | ca10851 | 2018-05-02 11:05:03 | [diff] [blame] | 17 | |
Takuto Ikuta | 3907087 | 2024-08-01 15:02:12 | [diff] [blame] | 18 | namespace display{ |
| 19 | classNativeDisplayDelegate; |
| 20 | }// namespace display |
| 21 | |
Jun Mukai | f235779 | 2018-12-20 19:58:00 | [diff] [blame] | 22 | namespace keyboard{ |
| 23 | classKeyboardUIFactory; |
| 24 | } |
| 25 | |
sky@chromium.org | fa69f2b6 | 2014-05-22 21:47:58 | [diff] [blame] | 26 | namespace ui{ |
| 27 | classContextFactory; |
Scott Violet | b7f4df2 | 2018-05-17 04:43:12 | [diff] [blame] | 28 | } |
Scott Violet | 7e33efc | 2018-08-29 22:30:15 | [diff] [blame] | 29 | |
sky@chromium.org | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 30 | namespace ash{ |
| 31 | |
| 32 | classShellDelegate; |
| 33 | |
| 34 | struct ASH_EXPORTShellInitParams{ |
Scott Violet | c8a1c6c | 2017-11-29 23:17:36 | [diff] [blame] | 35 | ShellInitParams(); |
| 36 | ShellInitParams(ShellInitParams&& other); |
| 37 | ~ShellInitParams(); |
| 38 | |
Scott Violet | c8a1c6c | 2017-11-29 23:17:36 | [diff] [blame] | 39 | std::unique_ptr<ShellDelegate>delegate; |
Bartek Nowierski | deb7584 | 2023-12-27 02:32:42 | [diff] [blame] | 40 | raw_ptr<ui::ContextFactory> context_factory=nullptr;// Non-owning. |
| 41 | raw_ptr<PrefService> local_state=nullptr;// Non-owning. |
Scott Violet | b7f4df2 | 2018-05-17 04:43:12 | [diff] [blame] | 42 | |
Scott Violet | 9b25e236 | 2019-05-08 00:51:25 | [diff] [blame] | 43 | // Factory for creating the virtual keyboard UI. Must be non-null. |
Jun Mukai | f235779 | 2018-12-20 19:58:00 | [diff] [blame] | 44 | std::unique_ptr<keyboard::KeyboardUIFactory> keyboard_ui_factory; |
Steven Bennetts | adc71d0 | 2019-04-17 18:15:54 | [diff] [blame] | 45 | |
Jack Shira | ce48af8 | 2023-04-29 01:08:43 | [diff] [blame] | 46 | // Factory for creating the quick_pair mediator. |
Jack Shira | 8da3c5c | 2023-04-28 17:17:25 | [diff] [blame] | 47 | std::unique_ptr<ash::quick_pair::Mediator::Factory> |
| 48 | quick_pair_mediator_factory; |
| 49 | |
Steven Bennetts | adc71d0 | 2019-04-17 18:15:54 | [diff] [blame] | 50 | // Bus used by dbus clients. May be null in tests or when not running on a |
| 51 | // device, in which case fake clients will be created. |
| 52 | scoped_refptr<dbus::Bus> dbus_bus; |
Mitsuru Oshima | f56d848 | 2023-06-14 19:10:40 | [diff] [blame] | 53 | |
| 54 | // A native display delegate used in the shell. |
| 55 | std::unique_ptr<display::NativeDisplayDelegate> native_display_delegate; |
sky@chromium.org | 1b4c747 | 2014-05-15 18:32:23 | [diff] [blame] | 56 | }; |
| 57 | |
| 58 | }// namespace ash |
| 59 | |
| 60 | #endif// ASH_SHELL_INIT_PARAMS_H_ |