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 EXTENSIONS_BROWSER_EXTENSION_PREFS_OBSERVER_H_
6#define EXTENSIONS_BROWSER_EXTENSION_PREFS_OBSERVER_H_
7
8#include <string>
9
10#include "base/time/time.h"
11
12namespace extensions {
13
14class ExtensionPrefs;
15
16class ExtensionPrefsObserver {
17 public:
18  // Called when the reasons for an extension being disabled have changed.
19  virtual void OnExtensionDisableReasonsChanged(const std::string& extension_id,
20                                                int disabled_reasons) {}
21
22  // Called when an extension is registered with ExtensionPrefs.
23  virtual void OnExtensionRegistered(const std::string& extension_id,
24                                     const base::Time& install_time,
25                                     bool is_enabled) {}
26
27  // Called when an extension's prefs have been loaded.
28  virtual void OnExtensionPrefsLoaded(const std::string& extension_id,
29                                      const ExtensionPrefs* prefs) {}
30
31  // Called when an extension's prefs are deleted.
32  virtual void OnExtensionPrefsDeleted(const std::string& extension_id) {}
33
34  // Called when an extension's enabled state pref is changed.
35  virtual void OnExtensionStateChanged(const std::string& extension_id,
36                                       bool state) {}
37};
38
39}  // namespace extensions
40
41#endif  // EXTENSIONS_BROWSER_EXTENSION_PREFS_OBSERVER_H_
42