blob: eb183494b0132e65026ca0a357b40e103a273acf [file] [log] [blame]
[email protected]1b4c7472014-05-15 18:32:231// 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 Violetc8a1c6c2017-11-29 23:17:368#include <memory>
9
[email protected]1b4c7472014-05-15 18:32:2310#include "ash/ash_export.h"
Steven Bennettsadc71d02019-04-17 18:15:5411#include "base/memory/scoped_refptr.h"
12#include "dbus/bus.h"
[email protected]1b4c7472014-05-15 18:32:2313
Xiyuan Xia14619a22019-05-14 20:20:4414class PrefService;
Steven Bennettsca108512018-05-02 11:05:0315
Jun Mukaif2357792018-12-20 19:58:0016namespace keyboard {
17class KeyboardUIFactory;
18}
19
[email protected]fa69f2b62014-05-22 21:47:5820namespace ui {
21class ContextFactory;
Scott Violetb7f4df22018-05-17 04:43:1222}
Scott Violet7e33efc2018-08-29 22:30:1523
[email protected]1b4c7472014-05-15 18:32:2324namespace ash {
25
26class ShellDelegate;
27
28struct ASH_EXPORT ShellInitParams {
Scott Violetc8a1c6c2017-11-29 23:17:3629 ShellInitParams();
30 ShellInitParams(ShellInitParams&& other);
31 ~ShellInitParams();
32
Scott Violetc8a1c6c2017-11-29 23:17:3633 std::unique_ptr<ShellDelegate> delegate;
34 ui::ContextFactory* context_factory = nullptr; // Non-owning.
Xiyuan Xia14619a22019-05-14 20:20:4435 PrefService* local_state = nullptr; // Non-owning.
Scott Violetb7f4df22018-05-17 04:43:1236
Scott Violet9b25e2362019-05-08 00:51:2537 // Factory for creating the virtual keyboard UI. Must be non-null.
Jun Mukaif2357792018-12-20 19:58:0038 std::unique_ptr<keyboard::KeyboardUIFactory> keyboard_ui_factory;
Steven Bennettsadc71d02019-04-17 18:15:5439
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]1b4c7472014-05-15 18:32:2343};
44
45} // namespace ash
46
47#endif // ASH_SHELL_INIT_PARAMS_H_