| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef IOS_PUBLIC_PROVIDER_CHROME_BROWSER_KEYED_SERVICE_PROVIDER_H_ | 5 #ifndef IOS_PUBLIC_PROVIDER_CHROME_BROWSER_KEYED_SERVICE_PROVIDER_H_ |
| 6 #define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_KEYED_SERVICE_PROVIDER_H_ | 6 #define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_KEYED_SERVICE_PROVIDER_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
| 10 | 10 |
| 11 enum class ServiceAccessType; | 11 enum class ServiceAccessType; |
| 12 | 12 |
| 13 class KeyedServiceBaseFactory; |
| 14 class ProfileOAuth2TokenService; |
| 15 class SigninManager; |
| 16 |
| 13 namespace autofill { | 17 namespace autofill { |
| 14 class AutofillWebDataService; | 18 class AutofillWebDataService; |
| 15 class PersonalDataManager; | 19 class PersonalDataManager; |
| 16 } | 20 } |
| 17 | 21 |
| 22 namespace enhanced_bookmarks { |
| 23 class EnhancedBookmarkModel; |
| 24 } |
| 25 |
| 26 namespace sync_driver { |
| 27 class SyncService; |
| 28 } |
| 29 |
| 18 namespace ios { | 30 namespace ios { |
| 19 | 31 |
| 20 class ChromeBrowserState; | 32 class ChromeBrowserState; |
| 21 | 33 |
| 22 // A class that provides access to KeyedService that do not have a pure iOS | 34 // A class that provides access to KeyedService that do not have a pure iOS |
| 23 // implementation yet. | 35 // implementation yet. |
| 24 class KeyedServiceProvider { | 36 class KeyedServiceProvider { |
| 25 public: | 37 public: |
| 26 KeyedServiceProvider(); | 38 KeyedServiceProvider(); |
| 27 virtual ~KeyedServiceProvider(); | 39 virtual ~KeyedServiceProvider(); |
| 28 | 40 |
| 41 // Returns the ProfileOAuth2TokenService factory for dependencies. |
| 42 virtual KeyedServiceBaseFactory* GetProfileOAuth2TokenServiceFactory(); |
| 43 |
| 44 // Returns an instance of ProfileOAuth2TokenService tied to |browser_state|. |
| 45 virtual ProfileOAuth2TokenService* |
| 46 GetProfileOAuth2TokenServiceForBrowserState( |
| 47 ChromeBrowserState* browser_state); |
| 48 |
| 49 // Returns the SigninManager factory for dependencies. |
| 50 virtual KeyedServiceBaseFactory* GetSigninManagerFactory(); |
| 51 |
| 52 // Returns an instance of SigninManager tied to |browser_state|. |
| 53 virtual SigninManager* GetSigninManagerForBrowserState( |
| 54 ChromeBrowserState* browser_state); |
| 55 |
| 56 // Returns the autofill::AutofillWebDataService factory for dependencies. |
| 57 virtual KeyedServiceBaseFactory* GetAutofillWebDataFactory(); |
| 58 |
| 29 // Returns an instance of autofill::AutofillWebDataService tied to | 59 // Returns an instance of autofill::AutofillWebDataService tied to |
| 30 // |browser_state|. | 60 // |browser_state|. |
| 31 virtual scoped_refptr<autofill::AutofillWebDataService> | 61 virtual scoped_refptr<autofill::AutofillWebDataService> |
| 32 GetAutofillWebDataForBrowserState(ChromeBrowserState* browser_state, | 62 GetAutofillWebDataForBrowserState(ChromeBrowserState* browser_state, |
| 33 ServiceAccessType access_type); | 63 ServiceAccessType access_type); |
| 34 | 64 |
| 65 // Returns the autofill::PersonalDataManager factory for dependencies. |
| 66 virtual KeyedServiceBaseFactory* GetPersonalDataManagerFactory(); |
| 67 |
| 35 // Returns an instance of autofill::PersonalDataManager tied to | 68 // Returns an instance of autofill::PersonalDataManager tied to |
| 36 // |browser_state|. | 69 // |browser_state|. |
| 37 virtual autofill::PersonalDataManager* GetPersonalDataManagerForBrowserState( | 70 virtual autofill::PersonalDataManager* GetPersonalDataManagerForBrowserState( |
| 38 ChromeBrowserState* browser_state); | 71 ChromeBrowserState* browser_state); |
| 39 | 72 |
| 73 // Returns the enhanced_bookmarks::EnhancedBookmarkModel factory for |
| 74 // dependencies. |
| 75 virtual KeyedServiceBaseFactory* GetEnhancedBookmarkModelFactory(); |
| 76 |
| 77 // Returns an instance of enhanced_bookmarks::EnhancedBookmarkModel tied to |
| 78 // |browser_state|. |
| 79 virtual enhanced_bookmarks::EnhancedBookmarkModel* |
| 80 GetEnhancedBookmarkModelForBrowserState(ChromeBrowserState* browser_state); |
| 81 |
| 82 // Returns the sync_driver::SyncService factory for dependencies. |
| 83 virtual KeyedServiceBaseFactory* GetSyncServiceFactory(); |
| 84 |
| 85 // Returns an instance of sync_driver::SyncService tied to |browser_state|. |
| 86 virtual sync_driver::SyncService* GetSyncServiceForBrowserState( |
| 87 ChromeBrowserState* browser_state); |
| 88 |
| 40 private: | 89 private: |
| 41 DISALLOW_COPY_AND_ASSIGN(KeyedServiceProvider); | 90 DISALLOW_COPY_AND_ASSIGN(KeyedServiceProvider); |
| 42 }; | 91 }; |
| 43 | 92 |
| 44 } // namespace ios | 93 } // namespace ios |
| 45 | 94 |
| 46 #endif // IOS_PUBLIC_PROVIDER_CHROME_BROWSER_KEYED_SERVICE_PROVIDER_H_ | 95 #endif // IOS_PUBLIC_PROVIDER_CHROME_BROWSER_KEYED_SERVICE_PROVIDER_H_ |
| OLD | NEW |