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_
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"
19 class SupervisedUserPasswordService
: public KeyedService
{
21 SupervisedUserPasswordService();
22 ~SupervisedUserPasswordService() override
;
24 void Shutdown() override
;
26 void Init(const std::string
& user_id
,
27 SupervisedUserSharedSettingsService
* service
);
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.
34 SupervisedUserSharedSettingsService
* settings_service_
;
36 scoped_ptr
<SupervisedUserSharedSettingsService::ChangeCallbackList::
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_