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 7namespace chromeos { 8 9ScreenManager::ScreenManager() { 10} 11 12ScreenManager::~ScreenManager() { 13} 14 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 26bool ScreenManager::HasScreen(const std::string& screen_name) { 27 return screens_.count(screen_name) > 0; 28} 29 30} // namespace chromeos 31