• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
10 class PrefService;
11 
12 namespace user_prefs {
13 class PrefRegistrySyncable;
14 }
15 
16 // Helper class for getting, changing bookmark prompt related preferences.
17 class 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