| Index: chrome/browser/policy/component_cloud_policy_service.h
|
| diff --git a/chrome/browser/policy/component_cloud_policy_service.h b/chrome/browser/policy/component_cloud_policy_service.h
|
| deleted file mode 100644
|
| index 4d2bdcf0b9351b5cafe599e65aae4231fdb26970..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/component_cloud_policy_service.h
|
| +++ /dev/null
|
| @@ -1,152 +0,0 @@
|
| -// Copyright (c) 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_POLICY_COMPONENT_CLOUD_POLICY_SERVICE_H_
|
| -#define CHROME_BROWSER_POLICY_COMPONENT_CLOUD_POLICY_SERVICE_H_
|
| -
|
| -#include <map>
|
| -#include <set>
|
| -#include <string>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "chrome/browser/policy/cloud_policy_client.h"
|
| -#include "chrome/browser/policy/cloud_policy_store.h"
|
| -#include "chrome/browser/policy/policy_bundle.h"
|
| -#include "chrome/browser/policy/policy_service.h"
|
| -
|
| -namespace base {
|
| -class SequencedTaskRunner;
|
| -}
|
| -
|
| -namespace net {
|
| -class URLRequestContextGetter;
|
| -}
|
| -
|
| -namespace policy {
|
| -
|
| -class ResourceCache;
|
| -
|
| -// Manages cloud policy for components.
|
| -//
|
| -// This class takes care of fetching, validating, storing and updating policy
|
| -// for components. The components to manage have to be explicitly registered.
|
| -class ComponentCloudPolicyService : public CloudPolicyClient::Observer,
|
| - public CloudPolicyStore::Observer {
|
| - public:
|
| - // Key for the ResourceCache where the list of known components is cached.
|
| - static const char kComponentNamespaceCache[];
|
| -
|
| - class Delegate {
|
| - public:
|
| - virtual ~Delegate();
|
| -
|
| - // Invoked whenever the service has appended new namespaces to fetch to
|
| - // the CloudPolicyClient, signaling that a policy fetch should be done soon.
|
| - virtual void OnComponentCloudPolicyRefreshNeeded() = 0;
|
| -
|
| - // Invoked whenever the policy served by policy() changes. This is also
|
| - // invoked for the first time once the backend is initialized, and
|
| - // is_initialized() becomes true.
|
| - virtual void OnComponentCloudPolicyUpdated() = 0;
|
| - };
|
| -
|
| - // |store| is used to get the current DMToken and the username.
|
| - // |cache| is used to load and store local copies of the downloaded policies.
|
| - ComponentCloudPolicyService(Delegate* delegate,
|
| - CloudPolicyStore* store,
|
| - scoped_ptr<ResourceCache> cache);
|
| - virtual ~ComponentCloudPolicyService();
|
| -
|
| - // Returns true if |domain| is supported by the service.
|
| - static bool SupportsDomain(PolicyDomain domain);
|
| -
|
| - // Returns true if the backend is initialized, and the initial policies and
|
| - // components are being served.
|
| - bool is_initialized() const { return is_initialized_; }
|
| -
|
| - // Returns the current policies for components.
|
| - const PolicyBundle& policy() const { return policy_; }
|
| -
|
| - // Connects to the cloud policy service using |client|. |client| must outlive
|
| - // this object. Only cached policies will be served until a |client| is
|
| - // connected.
|
| - // |request_context| is used with the URLFetchers triggered by the updater.
|
| - void Connect(CloudPolicyClient* client,
|
| - scoped_refptr<net::URLRequestContextGetter> request_context);
|
| -
|
| - // Disconnects from the cloud policy service and stops trying to download
|
| - // remote policy data.
|
| - void Disconnect();
|
| -
|
| - // |component_ids| is the complete set of components to track for the given
|
| - // |domain|. This purges unused components from the cache, and starts
|
| - // updating the components in |component_ids|.
|
| - // It's only valid to call this for domains that are supported, i.e.
|
| - // SupportsDomain(domain) is true.
|
| - void RegisterPolicyDomain(PolicyDomain domain,
|
| - const std::set<std::string>& component_ids);
|
| -
|
| - // CloudPolicyClient::Observer implementation:
|
| - virtual void OnPolicyFetched(CloudPolicyClient* client) OVERRIDE;
|
| - virtual void OnRegistrationStateChanged(CloudPolicyClient* client) OVERRIDE;
|
| - virtual void OnClientError(CloudPolicyClient* client) OVERRIDE;
|
| -
|
| - // CloudPolicyStore::Observer implementation:
|
| - virtual void OnStoreLoaded(CloudPolicyStore* store) OVERRIDE;
|
| - virtual void OnStoreError(CloudPolicyStore* store) OVERRIDE;
|
| -
|
| - private:
|
| - class Backend;
|
| - typedef std::set<std::string> StringSet;
|
| - typedef std::map<PolicyDomain, StringSet> ComponentMap;
|
| -
|
| - void InitializeBackend();
|
| - void OnBackendInitialized(scoped_ptr<ComponentMap> components,
|
| - scoped_ptr<PolicyBundle> initial_policy);
|
| - void InitializeClient();
|
| - void OnPolicyUpdated(scoped_ptr<PolicyBundle> policy);
|
| -
|
| - void SetCredentialsAndReloadClient();
|
| - bool UpdateClientNamespaces(PolicyDomain domain,
|
| - const StringSet& old_set,
|
| - const StringSet& new_set);
|
| - void AddNamespacesToFetch(PolicyDomain domain, const StringSet& set);
|
| - void RemoveNamespacesToFetch(PolicyDomain domain, const StringSet& set);
|
| -
|
| - Delegate* delegate_;
|
| -
|
| - // This class manages others that live on a background thread; those are
|
| - // managed by |backend_|. |backend_| lives in the thread that backs
|
| - // |backend_task_runner_|, but is owned by |this|. It is created on UI, but
|
| - // from then on it only receives calls on the background thread, including
|
| - // destruction. So it's always safe to post tasks to |backend_|, since its
|
| - // deletion is posted after the deletion of |this|.
|
| - Backend* backend_;
|
| - scoped_refptr<base::SequencedTaskRunner> backend_task_runner_;
|
| -
|
| - CloudPolicyClient* client_;
|
| - CloudPolicyStore* store_;
|
| -
|
| - // The currently registered components for each policy domain. If a policy
|
| - // domain doesn't have an entry in this map then it hasn't registered its
|
| - // component yet. A domain in this map with an empty set of components means
|
| - // that the domain is registered, but has no components.
|
| - ComponentMap registered_components_;
|
| -
|
| - // Contains all the current policies for components.
|
| - PolicyBundle policy_;
|
| -
|
| - bool is_initialized_;
|
| - base::WeakPtrFactory<ComponentCloudPolicyService> weak_ptr_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ComponentCloudPolicyService);
|
| -};
|
| -
|
| -} // namespace policy
|
| -
|
| -#endif // CHROME_BROWSER_POLICY_COMPONENT_CLOUD_POLICY_SERVICE_H_
|
|
|