Home | History | Annotate | Download | only in multi_user
      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_UI_ASH_MULTI_USER_MULTI_USER_UTIL_H_
      6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_UTIL_H_
      7 
      8 #include <string>
      9 
     10 class Profile;
     11 
     12 namespace aura {
     13 class Window;
     14 }
     15 
     16 namespace multi_user_util {
     17 
     18 // Get the user id from a given profile.
     19 std::string GetUserIDFromProfile(Profile* profile);
     20 
     21 // Get the user id from an email address.
     22 std::string GetUserIDFromEmail(const std::string& email);
     23 
     24 // Get a profile for a given user id.
     25 Profile* GetProfileFromUserID(const std::string& user_id);
     26 
     27 // Get a profile for a |window|. Returns NULL if window belongs to no profile.
     28 Profile* GetProfileFromWindow(aura::Window* window);
     29 
     30 // Check if the given profile is from the currently active user. Note that since
     31 // only Chrome OS has the concept of an active user, only Chrome OS can ever
     32 // return false.
     33 bool IsProfileFromActiveUser(Profile* profile);
     34 
     35 // Gets the current user. Note that this will only return for ChromeOS a string.
     36 // All other operating systems will get an empty string.
     37 const std::string& GetCurrentUserId();
     38 
     39 // Move the window to the current user's desktop.
     40 void MoveWindowToCurrentDesktop(aura::Window* window);
     41 
     42 }  // namespace multi_user_util
     43 
     44 #endif  // CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_UTIL_H_
     45