1// Copyright (c) 2012 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_PROFILES_PROFILE_INFO_CACHE_OBSERVER_H_
6#define CHROME_BROWSER_PROFILES_PROFILE_INFO_CACHE_OBSERVER_H_
7
8#include "base/strings/string16.h"
9#include "ui/gfx/image/image.h"
10
11namespace base {
12class FilePath;
13}
14
15// This class provides an Observer interface to watch for changes to the
16// ProfileInfoCache.
17class ProfileInfoCacheObserver {
18 public:
19  virtual ~ProfileInfoCacheObserver() {}
20
21  virtual void OnProfileAdded(const base::FilePath& profile_path) {}
22  virtual void OnProfileWillBeRemoved(const base::FilePath& profile_path) {}
23  virtual void OnProfileWasRemoved(const base::FilePath& profile_path,
24                                   const base::string16& profile_name) {}
25  virtual void OnProfileNameChanged(const base::FilePath& profile_path,
26                                    const base::string16& old_profile_name) {}
27  virtual void OnProfileAvatarChanged(const base::FilePath& profile_path) {}
28  virtual void OnProfileSigninRequiredChanged(
29      const base::FilePath& profile_path) {}
30  virtual void OnProfileSupervisedUserIdChanged(
31      const base::FilePath& profile_path) {}
32
33 protected:
34  ProfileInfoCacheObserver() {}
35
36  DISALLOW_COPY_AND_ASSIGN(ProfileInfoCacheObserver);
37};
38
39#endif  // CHROME_BROWSER_PROFILES_PROFILE_INFO_CACHE_OBSERVER_H_
40