Home | History | Annotate | Download | only in profiles
      1 // Copyright 2013 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_PROFILES_STATE_H_
      6 #define CHROME_BROWSER_PROFILES_PROFILES_STATE_H_
      7 
      8 #include "base/strings/string16.h"
      9 
     10 class Browser;
     11 class PrefRegistrySimple;
     12 class Profile;
     13 namespace base { class FilePath; }
     14 
     15 namespace profiles {
     16 
     17 // Checks if multiple profiles is enabled.
     18 bool IsMultipleProfilesEnabled();
     19 
     20 // Checks if new profile management is enabled.
     21 bool IsNewProfileManagementEnabled();
     22 
     23 // Returns the path to the default profile directory, based on the given
     24 // user data directory.
     25 base::FilePath GetDefaultProfileDir(const base::FilePath& user_data_dir);
     26 
     27 // Returns the path to the preferences file given the user profile directory.
     28 base::FilePath GetProfilePrefsPath(const base::FilePath& profile_dir);
     29 
     30 // Register multi-profile related preferences in Local State.
     31 void RegisterPrefs(PrefRegistrySimple* registry);
     32 
     33 // Returns the display name of the active on-the-record profile (or guest).
     34 base::string16 GetActiveProfileDisplayName(Browser* browser);
     35 
     36 // Update the name of |profile| to |new_profile_name|. This updates the
     37 // profile preferences, which triggers an update in the ProfileInfoCache.
     38 void UpdateProfileName(Profile* profile,
     39                        const base::string16& new_profile_name);
     40 
     41 }  // namespace profiles
     42 
     43 #endif  // CHROME_BROWSER_PROFILES_PROFILES_STATE_H_
     44