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