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