- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / bookmarks / bookmark_prompt_prefs.h
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_