user_selection_screen.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
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 CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_USER_SELECTION_SCREEN_H_ 6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_USER_SELECTION_SCREEN_H_ 7 8#include <string> 9 10#include "base/bind.h" 11#include "base/compiler_specific.h" 12#include "chrome/browser/chromeos/login/users/user.h" 13 14namespace chromeos { 15 16class LoginDisplayWebUIHandler; 17 18// This class represents User Selection screen: user pod-based login screen. 19class UserSelectionScreen { 20 public: 21 UserSelectionScreen(); 22 virtual ~UserSelectionScreen(); 23 24 void SetHandler(LoginDisplayWebUIHandler* handler); 25 26 void Init(const UserList& users); 27 const UserList& GetUsers() const; 28 void OnUserImageChanged(const User& user); 29 void OnBeforeUserRemoved(const std::string& username); 30 void OnUserRemoved(const std::string& username); 31 32 private: 33 LoginDisplayWebUIHandler* handler_; 34 35 // Set of Users that are visible. 36 UserList users_; 37 38 DISALLOW_COPY_AND_ASSIGN(UserSelectionScreen); 39}; 40 41} // namespace chromeos 42 43#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_USER_SELECTION_SCREEN_H_ 44