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/printing/cloud_print/cloud_print_proxy_service_factory.h"
6
7#include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h"
8#include "chrome/browser/profiles/profile.h"
9#include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
10
11// static
12CloudPrintProxyService* CloudPrintProxyServiceFactory::GetForProfile(
13    Profile* profile) {
14  return static_cast<CloudPrintProxyService*>(
15      GetInstance()->GetServiceForBrowserContext(profile, true));
16}
17
18CloudPrintProxyServiceFactory* CloudPrintProxyServiceFactory::GetInstance() {
19  return Singleton<CloudPrintProxyServiceFactory>::get();
20}
21
22CloudPrintProxyServiceFactory::CloudPrintProxyServiceFactory()
23    : BrowserContextKeyedServiceFactory(
24        "CloudPrintProxyService",
25        BrowserContextDependencyManager::GetInstance()) {
26}
27
28CloudPrintProxyServiceFactory::~CloudPrintProxyServiceFactory() {
29}
30
31BrowserContextKeyedService*
32CloudPrintProxyServiceFactory::BuildServiceInstanceFor(
33    content::BrowserContext* profile) const {
34  CloudPrintProxyService* service =
35      new CloudPrintProxyService(static_cast<Profile*>(profile));
36  service->Initialize();
37
38  return service;
39}
40
41bool CloudPrintProxyServiceFactory::ServiceIsNULLWhileTesting() const {
42  return true;
43}
44