[email protected] | 1eab4e9 | 2014-05-09 02:17:19 | [diff] [blame] | 1 | // Copyright 2014 The Chromium Authors. All rights reserved. |
[email protected] | 4837225 | 2013-12-20 12:18:01 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
3 | // found in the LICENSE file. | ||||
4 | |||||
[email protected] | 1eab4e9 | 2014-05-09 02:17:19 | [diff] [blame] | 5 | #ifndef COMPONENTS_FEEDBACK_FEEDBACK_UPLOADER_FACTORY_H_ |
6 | #define COMPONENTS_FEEDBACK_FEEDBACK_UPLOADER_FACTORY_H_ | ||||
[email protected] | 4837225 | 2013-12-20 12:18:01 | [diff] [blame] | 7 | |
[email protected] | 95003d52 | 2014-03-13 20:22:31 | [diff] [blame] | 8 | #include "components/keyed_service/content/browser_context_keyed_service_factory.h" |
[email protected] | 4837225 | 2013-12-20 12:18:01 | [diff] [blame] | 9 | |
10 | template<typename T> struct DefaultSingletonTraits; | ||||
11 | |||||
12 | namespace content { | ||||
13 | class BrowserContext; | ||||
14 | } | ||||
15 | |||||
16 | namespace feedback { | ||||
17 | |||||
18 | class FeedbackUploader; | ||||
19 | |||||
20 | // Singleton that owns the FeedbackUploaders and associates them with profiles; | ||||
21 | class 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] | 95003d52 | 2014-03-13 20:22:31 | [diff] [blame] | 37 | virtual KeyedService* BuildServiceInstanceFor( |
[email protected] | 4837225 | 2013-12-20 12:18:01 | [diff] [blame] | 38 | content::BrowserContext* context) const OVERRIDE; |
[email protected] | 873a6c08 | 2014-01-18 03:25:07 | [diff] [blame] | 39 | virtual content::BrowserContext* GetBrowserContextToUse( |
40 | content::BrowserContext* context) const OVERRIDE; | ||||
[email protected] | 4837225 | 2013-12-20 12:18:01 | [diff] [blame] | 41 | |
42 | DISALLOW_COPY_AND_ASSIGN(FeedbackUploaderFactory); | ||||
43 | }; | ||||
44 | |||||
45 | } // namespace feedback | ||||
46 | |||||
[email protected] | 1eab4e9 | 2014-05-09 02:17:19 | [diff] [blame] | 47 | #endif // COMPONENTS_FEEDBACK_FEEDBACK_UPLOADER_FACTORY_H_ |