16d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
26d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
36d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)// found in the LICENSE file.
46d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
56d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#ifndef CHROME_BROWSER_BITMAP_FETCHER_BITMAP_FETCHER_SERVICE_FACTORY_H_
66d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#define CHROME_BROWSER_BITMAP_FETCHER_BITMAP_FETCHER_SERVICE_FACTORY_H_
76d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
86d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "base/memory/singleton.h"
96d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
106d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
116d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)class BitmapFetcherService;
126d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
136d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)class BitmapFetcherServiceFactory : BrowserContextKeyedServiceFactory {
146d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) public:
156d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  // TODO(groby): Maybe make this GetForProfile?
166d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  static BitmapFetcherService* GetForBrowserContext(
176d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      content::BrowserContext* context);
186d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  static BitmapFetcherServiceFactory* GetInstance();
196d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
206d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) private:
216d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  friend struct DefaultSingletonTraits<BitmapFetcherServiceFactory>;
226d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
236d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  BitmapFetcherServiceFactory();
246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual ~BitmapFetcherServiceFactory();
256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
266d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  // BrowserContextKeyedServiceFactory:
276d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  virtual KeyedService* BuildServiceInstanceFor(
286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      content::BrowserContext* context) const OVERRIDE;
296d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
306d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(BitmapFetcherServiceFactory);
316d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)};
326d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
336d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#endif  // CHROME_BROWSER_BITMAP_FETCHER_BITMAP_FETCHER_SERVICE_FACTORY_H_
34