| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_SHELL_INIT_PARAMS_H_ |
| #define ASH_SHELL_INIT_PARAMS_H_ |
| |
| #include <memory> |
| |
| #include "ash/ash_export.h" |
| #include "base/memory/scoped_refptr.h" |
| #include "dbus/bus.h" |
| |
| class PrefService; |
| |
| namespace keyboard { |
| class KeyboardUIFactory; |
| } |
| |
| namespace ui { |
| class ContextFactory; |
| } |
| |
| namespace ash { |
| |
| class ShellDelegate; |
| |
| struct ASH_EXPORT ShellInitParams { |
| ShellInitParams(); |
| ShellInitParams(ShellInitParams&& other); |
| ~ShellInitParams(); |
| |
| std::unique_ptr<ShellDelegate> delegate; |
| ui::ContextFactory* context_factory = nullptr; // Non-owning. |
| PrefService* local_state = nullptr; // Non-owning. |
| |
| // Factory for creating the virtual keyboard UI. Must be non-null. |
| std::unique_ptr<keyboard::KeyboardUIFactory> keyboard_ui_factory; |
| |
| // Bus used by dbus clients. May be null in tests or when not running on a |
| // device, in which case fake clients will be created. |
| scoped_refptr<dbus::Bus> dbus_bus; |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_SHELL_INIT_PARAMS_H_ |