1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// found in the LICENSE file. 4a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#ifndef CHROME_BROWSER_SUPERVISED_USER_CUSTODIAN_PROFILE_DOWNLOADER_SERVICE_FACTORY_H_ 6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#define CHROME_BROWSER_SUPERVISED_USER_CUSTODIAN_PROFILE_DOWNLOADER_SERVICE_FACTORY_H_ 7a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 8a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "base/memory/singleton.h" 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/keyed_service/content/browser_context_keyed_service_factory.h" 10a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 11a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)class CustodianProfileDownloaderService; 12a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)class Profile; 13a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 14a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)class CustodianProfileDownloaderServiceFactory 15a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) : public BrowserContextKeyedServiceFactory { 16a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) public: 17a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) static CustodianProfileDownloaderService* GetForProfile(Profile* profile); 18a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 19a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) static CustodianProfileDownloaderServiceFactory* GetInstance(); 20a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 21a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) private: 22a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) friend struct 23a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) DefaultSingletonTraits<CustodianProfileDownloaderServiceFactory>; 24a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 25a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) CustodianProfileDownloaderServiceFactory(); 26a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) virtual ~CustodianProfileDownloaderServiceFactory(); 27a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 28a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) // BrowserContextKeyedServiceFactory: 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual KeyedService* BuildServiceInstanceFor( 30a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) content::BrowserContext* profile) const OVERRIDE; 31a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)}; 32a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#endif // CHROME_BROWSER_SUPERVISED_USER_CUSTODIAN_PROFILE_DOWNLOADER_SERVICE_FACTORY_H_ 34