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