Chromium Code Reviews| Index: chrome/browser/chromeos/policy/network_policy_service_factory.h |
| diff --git a/chrome/browser/chromeos/policy/network_policy_service_factory.h b/chrome/browser/chromeos/policy/network_policy_service_factory.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e51b515a70ca01c560eaea38ff5658c6ff00ee59 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/policy/network_policy_service_factory.h |
| @@ -0,0 +1,57 @@ |
| +// Copyright 2013 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_CHROMEOS_POLICY_NETWORK_POLICY_SERVICE_FACTORY_H_ |
| +#define CHROME_BROWSER_CHROMEOS_POLICY_NETWORK_POLICY_SERVICE_FACTORY_H_ |
| + |
| +#include "base/basictypes.h" |
| +#include "base/compiler_specific.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "components/browser_context_keyed_service/browser_context_keyed_service_factory.h" |
| + |
| +template <typename T> struct DefaultSingletonTraits; |
| + |
| +class Profile; |
| + |
| +namespace policy { |
| + |
| +class NetworkPolicyService; |
| +class PolicyCertVerifier; |
| + |
| +// Factory to create NetworkPolicyServices. |
| +class NetworkPolicyServiceFactory : public BrowserContextKeyedServiceFactory { |
| + public: |
| + // Returns an existing NetworkPolicyService for |profile|. See |
| + // CreateForProfile. |
| + static NetworkPolicyService* GetForProfile(Profile* profile); |
| + |
| + // Creates a new NetworkPolicyService and returns the associated |
| + // PolicyCertVerifier. Returns NULL if this service isn't allowed for |
| + // |profile|, i.e. if NetworkConfigurationUpdater doesn't exists. |
|
Joao da Silva
2013/11/11 12:38:19
*exist
pneubeck (no reviews)
2013/11/12 10:07:53
Done.
|
| + // This service is created separately for the original profile and the |
| + // incognito profile. |
| + // Note: NetworkConfigurationUpdater is currently only created for the primary |
| + // user's profile. |
| + static scoped_ptr<PolicyCertVerifier> CreateForProfile(Profile* profile); |
| + |
| + static NetworkPolicyServiceFactory* GetInstance(); |
| + |
| + private: |
| + friend struct DefaultSingletonTraits<NetworkPolicyServiceFactory>; |
| + |
| + NetworkPolicyServiceFactory(); |
| + virtual ~NetworkPolicyServiceFactory(); |
| + |
| + // BrowserContextKeyedServiceFactory: |
| + virtual BrowserContextKeyedService* BuildServiceInstanceFor( |
| + content::BrowserContext* context) const OVERRIDE; |
| + virtual void RegisterProfilePrefs( |
| + user_prefs::PrefRegistrySyncable* registry) OVERRIDE; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(NetworkPolicyServiceFactory); |
| +}; |
| + |
| +} // namespace policy |
| + |
| +#endif // CHROME_BROWSER_CHROMEOS_POLICY_NETWORK_POLICY_SERVICE_FACTORY_H_ |