Home | History | Annotate | Download | only in storage
      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_API_STORAGE_SETTINGS_OBSERVER_H_
      6 #define EXTENSIONS_BROWSER_API_STORAGE_SETTINGS_OBSERVER_H_
      7 
      8 #include "base/observer_list_threadsafe.h"
      9 #include "extensions/browser/api/storage/settings_namespace.h"
     10 
     11 namespace extensions {
     12 
     13 // Interface for classes that listen to changes to extension settings.
     14 class SettingsObserver {
     15  public:
     16   // Called when a list of settings have changed for an extension.
     17   virtual void OnSettingsChanged(
     18       const std::string& extension_id,
     19       settings_namespace::Namespace settings_namespace,
     20       const std::string& changes_json) = 0;
     21 
     22   virtual ~SettingsObserver() {}
     23 };
     24 
     25 typedef ObserverListThreadSafe<SettingsObserver>
     26     SettingsObserverList;
     27 
     28 }  // namespace extensions
     29 
     30 #endif  // EXTENSIONS_BROWSER_API_STORAGE_SETTINGS_OBSERVER_H_
     31