app_restore_service_factory.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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 "apps/app_restore_service_factory.h"
6
7#include "apps/app_restore_service.h"
8#include "chrome/browser/profiles/profile_dependency_manager.h"
9
10namespace apps {
11
12// static
13AppRestoreService* AppRestoreServiceFactory::GetForProfile(Profile* profile) {
14  return static_cast<AppRestoreService*>(
15      GetInstance()->GetServiceForProfile(profile, true));
16}
17
18// static
19void AppRestoreServiceFactory::ResetForProfile(Profile* profile) {
20  AppRestoreServiceFactory* factory = GetInstance();
21  factory->ProfileShutdown(profile);
22  factory->ProfileDestroyed(profile);
23}
24
25AppRestoreServiceFactory* AppRestoreServiceFactory::GetInstance() {
26  return Singleton<AppRestoreServiceFactory>::get();
27}
28
29AppRestoreServiceFactory::AppRestoreServiceFactory()
30    : ProfileKeyedServiceFactory("AppRestoreService",
31                                 ProfileDependencyManager::GetInstance()) {
32}
33
34AppRestoreServiceFactory::~AppRestoreServiceFactory() {
35}
36
37ProfileKeyedService* AppRestoreServiceFactory::BuildServiceInstanceFor(
38    Profile* profile) const {
39  return new AppRestoreService(profile);
40}
41
42bool AppRestoreServiceFactory::ServiceIsCreatedWithProfile() const {
43  return true;
44}
45
46}  // namespace apps
47