/chrome/browser/web_data_service_factory.h
https://gitlab.com/jonnialva90/iridium-browser · C Header · 81 lines · 52 code · 18 blank · 11 comment · 0 complexity · 35b370b79f5d51863bcdb3649b4b57a9 MD5 · raw file
- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef CHROME_BROWSER_WEB_DATA_SERVICE_FACTORY_H_
- #define CHROME_BROWSER_WEB_DATA_SERVICE_FACTORY_H_
- #include "base/macros.h"
- #include "base/memory/ref_counted.h"
- #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
- #include "components/keyed_service/core/service_access_type.h"
- namespace base {
- template <typename T> struct DefaultSingletonTraits;
- }
- class KeywordWebDataService;
- class Profile;
- class TokenWebData;
- class WebDataServiceWrapper;
- #if defined(OS_WIN)
- class PasswordWebDataService;
- #endif
- namespace autofill {
- class AutofillWebDataService;
- }
- // Singleton that owns all WebDataServiceWrappers and associates them with
- // Profiles.
- class WebDataServiceFactory : public BrowserContextKeyedServiceFactory {
- public:
- // Returns the WebDataServiceWrapper associated with the |profile|.
- static WebDataServiceWrapper* GetForProfile(Profile* profile,
- ServiceAccessType access_type);
- static WebDataServiceWrapper* GetForProfileIfExists(
- Profile* profile,
- ServiceAccessType access_type);
- // Returns the AutofillWebDataService associated with the |profile|.
- static scoped_refptr<autofill::AutofillWebDataService>
- GetAutofillWebDataForProfile(Profile* profile, ServiceAccessType access_type);
- // Returns the KeywordWebDataService associated with the |profile|.
- static scoped_refptr<KeywordWebDataService> GetKeywordWebDataForProfile(
- Profile* profile,
- ServiceAccessType access_type);
- // Returns the TokenWebData associated with the |profile|.
- static scoped_refptr<TokenWebData> GetTokenWebDataForProfile(
- Profile* profile,
- ServiceAccessType access_type);
- #if defined(OS_WIN)
- // Returns the PasswordWebDataService associated with the |profile|.
- static scoped_refptr<PasswordWebDataService> GetPasswordWebDataForProfile(
- Profile* profile,
- ServiceAccessType access_type);
- #endif
- static WebDataServiceFactory* GetInstance();
- private:
- friend struct base::DefaultSingletonTraits<WebDataServiceFactory>;
- WebDataServiceFactory();
- ~WebDataServiceFactory() override;
- // |BrowserContextKeyedBaseFactory| methods:
- content::BrowserContext* GetBrowserContextToUse(
- content::BrowserContext* context) const override;
- KeyedService* BuildServiceInstanceFor(
- content::BrowserContext* profile) const override;
- bool ServiceIsNULLWhileTesting() const override;
- DISALLOW_COPY_AND_ASSIGN(WebDataServiceFactory);
- };
- #endif // CHROME_BROWSER_WEB_DATA_SERVICE_FACTORY_H_