// 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_METRICS_VARIATIONS_VARIATIONS_REQUEST_SCHEDULER_MOBILE_H_ #define CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_REQUEST_SCHEDULER_MOBILE_H_ #include "base/bind.h" #include "chrome/browser/metrics/variations/variations_request_scheduler.h" class PrefService; namespace chrome_variations { // A specialized VariationsRequestScheduler that manages request cycles for // VariationsService on mobile platforms. class VariationsRequestSchedulerMobile : public VariationsRequestScheduler { public: // |task} is the closure to call when the scheduler deems ready. |local_state| // is the PrefService that contains the time of the last fetch. explicit VariationsRequestSchedulerMobile(const base::Closure& task, PrefService* local_state); virtual ~VariationsRequestSchedulerMobile(); // Base class overrides. virtual void Start() OVERRIDE; virtual void Reset() OVERRIDE; private: // The local state instance that provides the last fetch time. PrefService* local_state_; DISALLOW_COPY_AND_ASSIGN(VariationsRequestSchedulerMobile); }; } // namespace chrome_variations #endif // CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_REQUEST_SCHEDULER_MOBILE_H_