1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be
3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file.
4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/background_mode_manager_factory.h"
6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/command_line.h"
8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/background_mode_manager.h"
9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/profiles/profile.h"
10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/profiles/profile_dependency_manager.h"
11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// static
13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenBackgroundModeManager* BackgroundModeManagerFactory::GetForProfile(
14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    Profile* profile) {
15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  return static_cast<BackgroundModeManager*>(
16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      GetInstance()->GetServiceForProfile(profile));
17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// static
20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenBackgroundModeManagerFactory* BackgroundModeManagerFactory::GetInstance() {
21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  return Singleton<BackgroundModeManagerFactory>::get();
22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenBackgroundModeManagerFactory::BackgroundModeManagerFactory()
25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    : ProfileKeyedServiceFactory(ProfileDependencyManager::GetInstance()) {
26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenBackgroundModeManagerFactory::~BackgroundModeManagerFactory() {
29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenProfileKeyedService* BackgroundModeManagerFactory::BuildServiceInstanceFor(
32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    Profile* profile) const {
33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  return new BackgroundModeManager(profile, CommandLine::ForCurrentProcess());
34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen}
35