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