1 // Copyright (c) 2012 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 #include "chrome/browser/chromeos/login/screen_manager.h" 6 7 namespace chromeos { 8 ScreenManager()9ScreenManager::ScreenManager() { 10 } 11 ~ScreenManager()12ScreenManager::~ScreenManager() { 13 } 14 GetScreen(const std::string & screen_name)15WizardScreen* ScreenManager::GetScreen(const std::string& screen_name) { 16 ScreenMap::const_iterator iter = screens_.find(screen_name); 17 if (iter != screens_.end()) { 18 return iter->second.get(); 19 } 20 WizardScreen* result = CreateScreen(screen_name); 21 DCHECK(result) << "Can not create screen named " << screen_name; 22 screens_[screen_name] = make_linked_ptr(result); 23 return result; 24 } 25 HasScreen(const std::string & screen_name)26bool ScreenManager::HasScreen(const std::string& screen_name) { 27 return screens_.count(screen_name) > 0; 28 } 29 30 } // namespace chromeos 31