1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/chromeos/policy/recommendation_restorer_factory.h"
6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/chromeos/policy/recommendation_restorer.h"
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/profiles/profile.h"
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "content/public/browser/browser_context.h"
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace policy {
13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// static
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorerFactory* RecommendationRestorerFactory::GetInstance() {
16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return Singleton<RecommendationRestorerFactory>::get();
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// static
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorer* RecommendationRestorerFactory::GetForProfile(
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    Profile* profile) {
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return reinterpret_cast<RecommendationRestorer*>(
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          GetInstance()->GetServiceForBrowserContext(profile, false));
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochBrowserContextKeyedService*
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    RecommendationRestorerFactory::BuildServiceInstanceFor(
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        content::BrowserContext* context) const {
29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return new RecommendationRestorer(static_cast<Profile*>(context));
30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochbool RecommendationRestorerFactory::ServiceIsCreatedWithBrowserContext() const {
33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return true;
34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorerFactory::RecommendationRestorerFactory()
37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    : BrowserContextKeyedServiceFactory(
38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          "RecommendationRestorer",
39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          BrowserContextDependencyManager::GetInstance()) {
40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorerFactory::~RecommendationRestorerFactory() {
43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
45eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace policy
46