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