#ifndef CHROME_BROWSER_MANAGED_MODE_CHROMEOS_MANAGED_USER_PASSWORD_SERVICE_H_
#define CHROME_BROWSER_MANAGED_MODE_CHROMEOS_MANAGED_USER_PASSWORD_SERVICE_H_
#include <string>
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "chrome/browser/managed_mode/managed_user_shared_settings_service.h"
#include "chrome/browser/managed_mode/managed_users.h"
#include "components/keyed_service/core/keyed_service.h"
namespace chromeos {
class ManagedUserPasswordService : public KeyedService {
public:
ManagedUserPasswordService();
virtual ~ManagedUserPasswordService();
virtual void Shutdown() OVERRIDE;
void Init(const std::string& user_id,
ManagedUserSharedSettingsService* service);
private:
void OnSharedSettingsChange(const std::string& mu_id, const std::string& key);
std::string user_id_;
ManagedUserSharedSettingsService* settings_service_;
scoped_ptr<ManagedUserSharedSettingsService::ChangeCallbackList::Subscription>
settings_service_subscription_;
base::WeakPtrFactory<ManagedUserPasswordService> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(ManagedUserPasswordService);
};
}
#endif