Home | History | Annotate | Download | only in user_manager
      1 // Copyright 2014 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 COMPONENTS_USER_MANAGER_USER_INFO_H_
      6 #define COMPONENTS_USER_MANAGER_USER_INFO_H_
      7 
      8 #include <string>
      9 
     10 #include "base/strings/string16.h"
     11 #include "components/user_manager/user_manager_export.h"
     12 
     13 namespace gfx {
     14 class ImageSkia;
     15 }
     16 
     17 namespace user_manager {
     18 
     19 // A class that represents user related info.
     20 class USER_MANAGER_EXPORT UserInfo {
     21  public:
     22   UserInfo();
     23   virtual ~UserInfo();
     24 
     25   // Gets the display name for the user.
     26   virtual base::string16 GetDisplayName() const = 0;
     27 
     28   // Gets the given name of the user.
     29   virtual base::string16 GetGivenName() const = 0;
     30 
     31   // Gets the display email address for the user.
     32   // The display email address might contains some periods in the email name
     33   // as well as capitalized letters. For example: "Foo.Bar (at) mock.com".
     34   virtual std::string GetEmail() const = 0;
     35 
     36   // Gets the user id (sanitized email address) for the user.
     37   // The function would return something like "foobar (at) mock.com".
     38   virtual std::string GetUserID() const = 0;
     39 
     40   // Gets the avatar image for the user.
     41   virtual const gfx::ImageSkia& GetImage() const = 0;
     42 };
     43 
     44 }  // namespace user_manager
     45 
     46 #endif  // COMPONENTS_USER_MANAGER_USER_INFO_H_
     47