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_EMPTY_USER_INFO_H_ 6 #define COMPONENTS_USER_MANAGER_EMPTY_USER_INFO_H_ 7 8 #include <string> 9 10 #include "base/strings/string16.h" 11 #include "components/user_manager/user_info.h" 12 #include "components/user_manager/user_manager_export.h" 13 #include "ui/gfx/image/image_skia.h" 14 15 namespace user_manager { 16 17 // Trivial implementation of UserInfo interface which triggers 18 // NOTIMPLEMENTED() for each method. 19 class USER_MANAGER_EXPORT EmptyUserInfo : public UserInfo { 20 public: 21 EmptyUserInfo(); 22 virtual ~EmptyUserInfo(); 23 24 // UserInfo: 25 virtual base::string16 GetDisplayName() const OVERRIDE; 26 virtual base::string16 GetGivenName() const OVERRIDE; 27 virtual std::string GetEmail() const OVERRIDE; 28 virtual std::string GetUserID() const OVERRIDE; 29 virtual const gfx::ImageSkia& GetImage() const OVERRIDE; 30 31 private: 32 const gfx::ImageSkia null_image_; 33 34 DISALLOW_COPY_AND_ASSIGN(EmptyUserInfo); 35 }; 36 37 } // namespace user_manager 38 39 #endif // COMPONENTS_USER_MANAGER_EMPTY_USER_INFO_H_ 40