1// Copyright (c) 2012 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_BOOKMARKS_BOOKMARK_PROMPT_PREFS_H_
6#define CHROME_BROWSER_BOOKMARKS_BOOKMARK_PROMPT_PREFS_H_
7
8#include "base/basictypes.h"
9
10class PrefService;
11
12namespace user_prefs {
13class PrefRegistrySyncable;
14}
15
16// Helper class for getting, changing bookmark prompt related preferences.
17class BookmarkPromptPrefs {
18 public:
19  // Constructs and associates to |prefs|. Further operations occurred on
20  // associated |prefs|.
21  explicit BookmarkPromptPrefs(PrefService* prefs);
22  ~BookmarkPromptPrefs();
23
24  // Disables bookmark prompt feature.
25  void DisableBookmarkPrompt();
26
27  // Returns number of times bookmark prompt displayed so far.
28  int GetPromptImpressionCount() const;
29
30  // Increments bookmark prompt impression counter.
31  void IncrementPromptImpressionCount();
32
33  // Returns true if bookmark prompt feature enabled, otherwise false.
34  bool IsBookmarkPromptEnabled() const;
35
36  // Registers user preferences used by bookmark prompt feature.
37  static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
38
39 private:
40  PrefService* prefs_;  // Weak.
41
42  DISALLOW_COPY_AND_ASSIGN(BookmarkPromptPrefs);
43};
44
45#endif  // CHROME_BROWSER_BOOKMARKS_BOOKMARK_PROMPT_PREFS_H_
46