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
13class Profile;
14
15namespace invalidation {
16
17// A specialization of TiclSettingsProvider that reads settings from user prefs.
18class 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