Standardize usage of virtual/override/final in chrome/browser/signin/
[chromium-blink-merge.git] / chrome / browser / signin / easy_unlock_service_regular.h
blobccbe57d69a10c2627656df68237e94e6718386ea
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.
5 #ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_REGULAR_H_
6 #define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_REGULAR_H_
8 #include <string>
10 #include "base/macros.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/prefs/pref_change_registrar.h"
13 #include "chrome/browser/signin/easy_unlock_service.h"
15 namespace base {
16 class DictionaryValue;
17 class ListValue;
20 class EasyUnlockToggleFlow;
21 class Profile;
23 // EasyUnlockService instance that should be used for regular, non-signin
24 // profiles.
25 class EasyUnlockServiceRegular : public EasyUnlockService {
26 public:
27 explicit EasyUnlockServiceRegular(Profile* profile);
28 ~EasyUnlockServiceRegular() override;
30 private:
31 // EasyUnlockService implementation.
32 EasyUnlockService::Type GetType() const override;
33 std::string GetUserEmail() const override;
34 void LaunchSetup() override;
35 const base::DictionaryValue* GetPermitAccess() const override;
36 void SetPermitAccess(const base::DictionaryValue& permit) override;
37 void ClearPermitAccess() override;
38 const base::ListValue* GetRemoteDevices() const override;
39 void SetRemoteDevices(const base::ListValue& devices) override;
40 void ClearRemoteDevices() override;
41 void RunTurnOffFlow() override;
42 void ResetTurnOffFlow() override;
43 TurnOffFlowStatus GetTurnOffFlowStatus() const override;
44 std::string GetChallenge() const override;
45 std::string GetWrappedSecret() const override;
46 void InitializeInternal() override;
47 void ShutdownInternal() override;
48 bool IsAllowedInternal() override;
50 // Callback when the controlling pref changes.
51 void OnPrefsChanged();
53 // Sets the new turn-off flow status.
54 void SetTurnOffFlowStatus(TurnOffFlowStatus status);
56 // Callback invoked when turn off flow has finished.
57 void OnTurnOffFlowFinished(bool success);
59 PrefChangeRegistrar registrar_;
61 TurnOffFlowStatus turn_off_flow_status_;
62 scoped_ptr<EasyUnlockToggleFlow> turn_off_flow_;
64 DISALLOW_COPY_AND_ASSIGN(EasyUnlockServiceRegular);
67 #endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_REGULAR_H_