15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef BASE_PREFS_PREF_STORE_OBSERVER_MOCK_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_PREFS_PREF_STORE_OBSERVER_MOCK_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include <string> 9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include <vector> 10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/compiler_specific.h" 12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/macros.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/prefs/pref_store.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// A mock implementation of PrefStore::Observer. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class PrefStoreObserverMock : public PrefStore::Observer { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefStoreObserverMock(); 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~PrefStoreObserverMock(); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch void VerifyAndResetChangedKey(const std::string& expected); 22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch // PrefStore::Observer implementation 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnPrefValueChanged(const std::string& key) OVERRIDE; 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnInitializationCompleted(bool success) OVERRIDE; 26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch std::vector<std::string> changed_keys; 28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch bool initialized; 29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch bool initialization_success; // Only valid if |initialized|. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(PrefStoreObserverMock); 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // BASE_PREFS_PREF_STORE_OBSERVER_MOCK_H_ 36