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 CHROME_BROWSER_INVALIDATION_TICL_PROFILE_SETTINGS_PROVIDER_H_ 6 #define CHROME_BROWSER_INVALIDATION_TICL_PROFILE_SETTINGS_PROVIDER_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/macros.h" 10 #include "base/prefs/pref_change_registrar.h" 11 #include "components/invalidation/ticl_settings_provider.h" 12 13 class Profile; 14 15 namespace invalidation { 16 17 // A specialization of TiclSettingsProvider that reads settings from user prefs. 18 class TiclProfileSettingsProvider : public TiclSettingsProvider { 19 public: 20 explicit TiclProfileSettingsProvider(Profile* profile); 21 virtual ~TiclProfileSettingsProvider(); 22 23 // TiclInvalidationServiceSettingsProvider: 24 virtual bool UseGCMChannel() const OVERRIDE; 25 26 private: 27 PrefChangeRegistrar registrar_; 28 Profile* const profile_; 29 30 DISALLOW_COPY_AND_ASSIGN(TiclProfileSettingsProvider); 31 }; 32 33 } // namespace invalidation 34 35 #endif // CHROME_BROWSER_INVALIDATION_TICL_PROFILE_SETTINGS_PROVIDER_H_ 36