Add new certificateProvider extension API.
[chromium-blink-merge.git] / chrome / browser / supervised_user / chromeos / supervised_user_password_service.h
blobb3fe78a432444bdad0ea16cbeb346a8ac385aec6
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_SUPERVISED_USER_CHROMEOS_SUPERVISED_USER_PASSWORD_SERVICE_H_
6 #define CHROME_BROWSER_SUPERVISED_USER_CHROMEOS_SUPERVISED_USER_PASSWORD_SERVICE_H_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/memory/weak_ptr.h"
13 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_service.h"
14 #include "chrome/browser/supervised_user/supervised_users.h"
15 #include "components/keyed_service/core/keyed_service.h"
17 namespace chromeos {
19 class SupervisedUserPasswordService : public KeyedService {
20 public:
21 SupervisedUserPasswordService();
22 ~SupervisedUserPasswordService() override;
24 void Shutdown() override;
26 void Init(const std::string& user_id,
27 SupervisedUserSharedSettingsService* service);
28 private:
29 void OnSharedSettingsChange(const std::string& su_id, const std::string& key);
31 // Cached value from Init().
32 // User id of currently logged in supervised user.
33 std::string user_id_;
34 SupervisedUserSharedSettingsService* settings_service_;
36 scoped_ptr<SupervisedUserSharedSettingsService::ChangeCallbackList::
37 Subscription>
38 settings_service_subscription_;
40 base::WeakPtrFactory<SupervisedUserPasswordService> weak_ptr_factory_;
42 DISALLOW_COPY_AND_ASSIGN(SupervisedUserPasswordService);
45 } // namespace chromeos
46 #endif // CHROME_BROWSER_SUPERVISED_USER_CHROMEOS_SUPERVISED_USER_PASSWORD_SERVICE_H_