screen_lock_manager_impl.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2021 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_COMPONENTS_PHONEHUB_SCREEN_LOCK_MANAGER_IMPL_H_
  5. #define ASH_COMPONENTS_PHONEHUB_SCREEN_LOCK_MANAGER_IMPL_H_
  6. #include "ash/components/phonehub/screen_lock_manager.h"
  7. class PrefRegistrySimple;
  8. class PrefService;
  9. namespace ash {
  10. namespace phonehub {
  11. // Implements ScreenLockManager by persisting the last-known screen lock value
  12. // to user prefs.
  13. class ScreenLockManagerImpl : public ScreenLockManager {
  14. public:
  15. static void RegisterPrefs(PrefRegistrySimple* registry);
  16. explicit ScreenLockManagerImpl(PrefService* pref_service);
  17. ~ScreenLockManagerImpl() override;
  18. private:
  19. // ScreenLockManager:
  20. LockStatus GetLockStatus() const override;
  21. void SetLockStatusInternal(LockStatus lock_status) override;
  22. PrefService* pref_service_;
  23. };
  24. } // namespace phonehub
  25. } // namespace ash
  26. #endif // ASH_COMPONENTS_PHONEHUB_SCREEN_LOCK_MANAGER_IMPL_H_