Home | History | Annotate | Download | only in profiles
      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