// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/chromeos/login/screen_manager.h" namespace chromeos { ScreenManager::ScreenManager() { } ScreenManager::~ScreenManager() { } BaseScreen* ScreenManager::GetScreen(const std::string& screen_name) { ScreenMap::const_iterator iter = screens_.find(screen_name); if (iter != screens_.end()) { return iter->second.get(); } BaseScreen* result = CreateScreen(screen_name); DCHECK(result) << "Can not create screen named " << screen_name; screens_[screen_name] = make_linked_ptr(result); return result; } bool ScreenManager::HasScreen(const std::string& screen_name) { return screens_.count(screen_name) > 0; } } // namespace chromeos