shell_init_params.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. #ifndef ASH_SHELL_INIT_PARAMS_H_
  5. #define ASH_SHELL_INIT_PARAMS_H_
  6. #include <memory>
  7. #include "ash/ash_export.h"
  8. #include "base/memory/scoped_refptr.h"
  9. #include "dbus/bus.h"
  10. class PrefService;
  11. namespace keyboard {
  12. class KeyboardUIFactory;
  13. }
  14. namespace ui {
  15. class ContextFactory;
  16. }
  17. namespace ash {
  18. class ShellDelegate;
  19. struct ASH_EXPORT ShellInitParams {
  20. ShellInitParams();
  21. ShellInitParams(ShellInitParams&& other);
  22. ~ShellInitParams();
  23. std::unique_ptr<ShellDelegate> delegate;
  24. ui::ContextFactory* context_factory = nullptr; // Non-owning.
  25. PrefService* local_state = nullptr; // Non-owning.
  26. // Factory for creating the virtual keyboard UI. Must be non-null.
  27. std::unique_ptr<keyboard::KeyboardUIFactory> keyboard_ui_factory;
  28. // Bus used by dbus clients. May be null in tests or when not running on a
  29. // device, in which case fake clients will be created.
  30. scoped_refptr<dbus::Bus> dbus_bus;
  31. };
  32. } // namespace ash
  33. #endif // ASH_SHELL_INIT_PARAMS_H_