• 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_PROFILES_CHROME_VERSION_SERVICE_H_
6 #define CHROME_BROWSER_PROFILES_CHROME_VERSION_SERVICE_H_
7 
8 #include <string>
9 
10 #include "base/basictypes.h"
11 
12 class PrefService;
13 
14 namespace user_prefs {
15 class PrefRegistrySyncable;
16 }
17 
18 // This service manages a pref which is used to determine the version of
19 // Chrome by which the profile was created.
20 class ChromeVersionService {
21  public:
22   // Register the user pref we use.
23   static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
24 
25   // Sets the version string in the pref for the current profile.
26   static void SetVersion(PrefService* prefs, const std::string& version);
27 
28   // Returns the version of Chrome which created the profile.
29   static std::string GetVersion(PrefService* prefs);
30 
31   // Handles setting the profile.created_by_version Pref
32   static void OnProfileLoaded(PrefService* prefs, bool is_new_profile);
33 
34  private:
35   DISALLOW_IMPLICIT_CONSTRUCTORS(ChromeVersionService);
36 };
37 
38 #endif  // CHROME_BROWSER_PROFILES_CHROME_VERSION_SERVICE_H_
39