| 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_
|
|
|