1// Copyright 2013 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_EXTENSIONS_INSTALL_OBSERVER_H_
6#define CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_
7
8namespace gfx {
9class ImageSkia;
10}
11
12namespace extensions {
13
14class Extension;
15
16class InstallObserver {
17 public:
18  virtual void OnBeginExtensionInstall(
19      const std::string& extension_id,
20      const std::string& extension_name,
21      const gfx::ImageSkia& installing_icon,
22      bool is_app,
23      bool is_platform_app) = 0;
24
25  virtual void OnDownloadProgress(const std::string& extension_id,
26                                  int percent_downloaded) = 0;
27
28  virtual void OnInstallFailure(const std::string& extension_id) = 0;
29
30  virtual void OnExtensionInstalled(const Extension* extension) = 0;
31  virtual void OnExtensionLoaded(const Extension* extension) = 0;
32  virtual void OnExtensionUnloaded(const Extension* extension) = 0;
33  virtual void OnExtensionUninstalled(const Extension* extension) = 0;
34  virtual void OnAppsReordered() = 0;
35  virtual void OnAppInstalledToAppList(const std::string& extension_id) = 0;
36
37  // Notifies observers that the observed object is going away.
38  virtual void OnShutdown() = 0;
39
40 protected:
41  virtual ~InstallObserver() {}
42};
43
44}  // namespace extensions
45
46#endif  // CHROME_BROWSER_EXTENSIONS_INSTALL_OBSERVER_H_
47