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