blob: fe9957df599f826e66e43e34a631461895f7a3e1 [file] [log] [blame]
[email protected]1eab4e92014-05-09 02:17:191// Copyright 2014 The Chromium Authors. All rights reserved.
[email protected]48372252013-12-20 12:18:012// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]1eab4e92014-05-09 02:17:195#ifndef COMPONENTS_FEEDBACK_FEEDBACK_UPLOADER_FACTORY_H_
6#define COMPONENTS_FEEDBACK_FEEDBACK_UPLOADER_FACTORY_H_
[email protected]48372252013-12-20 12:18:017
[email protected]95003d522014-03-13 20:22:318#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
[email protected]48372252013-12-20 12:18:019
10template<typename T> struct DefaultSingletonTraits;
11
12namespace content {
13class BrowserContext;
14}
15
16namespace feedback {
17
18class FeedbackUploader;
19
20// Singleton that owns the FeedbackUploaders and associates them with profiles;
21class FeedbackUploaderFactory : public BrowserContextKeyedServiceFactory {
22 public:
23 // Returns singleton instance of FeedbackUploaderFactory.
24 static FeedbackUploaderFactory* GetInstance();
25
26 // Returns the Feedback Uploader associated with |context|.
27 static FeedbackUploader* GetForBrowserContext(
28 content::BrowserContext* context);
29
30 private:
31 friend struct DefaultSingletonTraits<FeedbackUploaderFactory>;
32
33 FeedbackUploaderFactory();
34 virtual ~FeedbackUploaderFactory();
35
36 // BrowserContextKeyedServiceFactory overrides:
[email protected]95003d522014-03-13 20:22:3137 virtual KeyedService* BuildServiceInstanceFor(
[email protected]48372252013-12-20 12:18:0138 content::BrowserContext* context) const OVERRIDE;
[email protected]873a6c082014-01-18 03:25:0739 virtual content::BrowserContext* GetBrowserContextToUse(
40 content::BrowserContext* context) const OVERRIDE;
[email protected]48372252013-12-20 12:18:0141
42 DISALLOW_COPY_AND_ASSIGN(FeedbackUploaderFactory);
43};
44
45} // namespace feedback
46
[email protected]1eab4e92014-05-09 02:17:1947#endif // COMPONENTS_FEEDBACK_FEEDBACK_UPLOADER_FACTORY_H_