Index: chrome/browser/policy/device_token_fetcher.h |
diff --git a/chrome/browser/policy/device_token_fetcher.h b/chrome/browser/policy/device_token_fetcher.h |
deleted file mode 100644 |
index ebb50fbeaf0c53a9f6c1622995e02ecaf56ff320..0000000000000000000000000000000000000000 |
--- a/chrome/browser/policy/device_token_fetcher.h |
+++ /dev/null |
@@ -1,137 +0,0 @@ |
-// 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_POLICY_DEVICE_TOKEN_FETCHER_H_ |
-#define CHROME_BROWSER_POLICY_DEVICE_TOKEN_FETCHER_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "chrome/browser/policy/cloud_policy_constants.h" |
- |
-namespace enterprise_management { |
-class DeviceManagementResponse; |
-} |
- |
-namespace policy { |
- |
-class CloudPolicyCacheBase; |
-class CloudPolicyDataStore; |
-class DelayedWorkScheduler; |
-class DeviceManagementRequestJob; |
-class DeviceManagementService; |
-class PolicyNotifier; |
- |
-// Fetches the device token that can be used for policy requests with the device |
-// management server, either from disk if it already has been successfully |
-// requested, otherwise from the device management server. An instance of the |
-// fetcher is shared as a singleton by all users of the device management token |
-// to ensure they all get the same token. |
-class DeviceTokenFetcher { |
- public: |
- // |service| is used to talk to the device management service and |cache| is |
- // used to persist whether the device is unmanaged. |
- DeviceTokenFetcher(DeviceManagementService* service, |
- CloudPolicyCacheBase* cache, |
- CloudPolicyDataStore* data_store, |
- PolicyNotifier* notifier); |
- // Version for tests that allows to set timing parameters. |
- // Takes ownership of |scheduler|. |
- DeviceTokenFetcher(DeviceManagementService* service, |
- CloudPolicyCacheBase* cache, |
- CloudPolicyDataStore* data_store, |
- PolicyNotifier* notifier, |
- DelayedWorkScheduler* scheduler); |
- virtual ~DeviceTokenFetcher(); |
- |
- // Starts fetching a token. |
- // Declared virtual so it can be overridden by mocks. |
- virtual void FetchToken(); |
- |
- virtual void SetUnmanagedState(); |
- virtual void SetSerialNumberInvalidState(); |
- virtual void SetMissingLicensesState(); |
- |
- // Cancels any pending work on this fetcher and resets it to inactive state. |
- void Reset(); |
- |
- private: |
- friend class DeviceTokenFetcherTest; |
- |
- // The different states that the fetcher can be in during the process of |
- // getting the device token. |state_| is initialized to INACTIVE, depending |
- // on the result of a token fetching attempt can transition to either of |
- // TOKEN_AVAILABLE, UNMANAGED, or ERROR. The first attempt must be triggered |
- // externally. When |state_| is UNMANAGED, a new fetching attempt is |
- // performed every |unmanaged_device_refresh_rate_ms_|; when it's ERROR, |
- // a new attempt is done after |effective_token_fetch_error_delay_ms_|. |
- enum FetcherState { |
- // Fetcher inactive. |
- STATE_INACTIVE, |
- // Token available. |
- STATE_TOKEN_AVAILABLE, |
- // Device unmanaged. |
- STATE_UNMANAGED, |
- // The device is not enlisted for the domain. |
- STATE_BAD_SERIAL, |
- // The licenses for the domain have expired or have been exhausted. |
- STATE_MISSING_LICENSES, |
- // Error, retry later. |
- STATE_ERROR, |
- // Temporary error. Retry sooner. |
- STATE_TEMPORARY_ERROR, |
- // Server rejected the auth token. |
- STATE_BAD_AUTH, |
- // Server didn't send enrollment mode or the enrollment mode is not known to |
- // the client. |
- STATE_BAD_ENROLLMENT_MODE, |
- }; |
- |
- // Common initialization helper. |
- void Initialize(DeviceManagementService* service, |
- CloudPolicyCacheBase* cache, |
- CloudPolicyDataStore* data, |
- PolicyNotifier* notifier, |
- DelayedWorkScheduler* scheduler); |
- |
- // Resets |backend_|, then uses |auth_token_| and |device_id_| to perform |
- // an actual token fetch. |
- void FetchTokenInternal(); |
- |
- // Handles token fetch request completion. |
- void OnTokenFetchCompleted( |
- DeviceManagementStatus status, |
- const enterprise_management::DeviceManagementResponse& response); |
- |
- // Moves the fetcher into a new state. |
- void SetState(FetcherState state); |
- |
- // DelayedWorkScheduler::Client: |
- virtual void DoWork(); |
- |
- // Service and backend. A new backend is created whenever the fetcher gets |
- // reset. |
- DeviceManagementService* service_; // weak |
- scoped_ptr<DeviceManagementRequestJob> request_job_; |
- |
- // Reference to the cache. Used to persist and read unmanaged state. |
- CloudPolicyCacheBase* cache_; |
- |
- PolicyNotifier* notifier_; |
- |
- // Refresh parameters. |
- int64 effective_token_fetch_error_delay_ms_; |
- |
- // State the fetcher is currently in. |
- FetcherState state_; |
- |
- CloudPolicyDataStore* data_store_; |
- |
- scoped_ptr<DelayedWorkScheduler> scheduler_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DeviceTokenFetcher); |
-}; |
- |
-} // namespace policy |
- |
-#endif // CHROME_BROWSER_POLICY_DEVICE_TOKEN_FETCHER_H_ |