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.
4
5#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_FAKE_SUPERVISED_USER_MANAGER_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_FAKE_SUPERVISED_USER_MANAGER_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
11
12namespace chromeos {
13
14// Fake supervised user manager with a barebones implementation.
15class FakeSupervisedUserManager : public SupervisedUserManager {
16 public:
17  FakeSupervisedUserManager();
18  virtual ~FakeSupervisedUserManager();
19
20  virtual bool HasSupervisedUsers(const std::string& manager_id) const OVERRIDE;
21  virtual const user_manager::User* CreateUserRecord(
22      const std::string& manager_id,
23      const std::string& local_user_id,
24      const std::string& sync_user_id,
25      const base::string16& display_name) OVERRIDE;
26  virtual std::string GenerateUserId() OVERRIDE;
27  virtual const user_manager::User* FindByDisplayName(
28      const base::string16& display_name) const OVERRIDE;
29  virtual const user_manager::User* FindBySyncId(
30      const std::string& sync_id) const OVERRIDE;
31  virtual std::string GetUserSyncId(const std::string& user_id) const OVERRIDE;
32  virtual base::string16 GetManagerDisplayName(const std::string& user_id) const
33      OVERRIDE;
34  virtual std::string GetManagerUserId(const std::string& user_id) const
35      OVERRIDE;
36  virtual std::string GetManagerDisplayEmail(const std::string& user_id) const
37      OVERRIDE;
38  virtual void StartCreationTransaction(const base::string16& display_name)
39      OVERRIDE {}
40  virtual void SetCreationTransactionUserId(const std::string& user_id)
41      OVERRIDE {}
42  virtual void CommitCreationTransaction() OVERRIDE {}
43  virtual SupervisedUserAuthentication* GetAuthentication() OVERRIDE;
44  virtual void GetPasswordInformation(
45      const std::string& user_id,
46      base::DictionaryValue* result) OVERRIDE {}
47  virtual void SetPasswordInformation(
48      const std::string& user_id,
49      const base::DictionaryValue* password_info) OVERRIDE {}
50  virtual void LoadSupervisedUserToken(
51      Profile * profile,
52      const LoadTokenCallback& callback) OVERRIDE;
53  virtual void ConfigureSyncWithToken(
54      Profile* profile,
55      const std::string& token) OVERRIDE {}
56
57 private:
58  DISALLOW_COPY_AND_ASSIGN(FakeSupervisedUserManager);
59};
60
61}  // namespace chromeos
62
63#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_FAKE_SUPERVISED_USER_MANAGER_H_
64