- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / metrics / variations / variations_request_scheduler_mobile.h
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_REQUEST_SCHEDULER_MOBILE_H_
6 #define CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_REQUEST_SCHEDULER_MOBILE_H_
7
8 #include "base/bind.h"
9 #include "chrome/browser/metrics/variations/variations_request_scheduler.h"
10
11 class PrefService;
12
13 namespace chrome_variations {
14
15 // A specialized VariationsRequestScheduler that manages request cycles for
16 // VariationsService on mobile platforms.
17 class VariationsRequestSchedulerMobile : public VariationsRequestScheduler {
18  public:
19   // |task} is the closure to call when the scheduler deems ready. |local_state|
20   // is the PrefService that contains the time of the last fetch.
21   explicit VariationsRequestSchedulerMobile(const base::Closure& task,
22                                             PrefService* local_state);
23   virtual ~VariationsRequestSchedulerMobile();
24
25   // Base class overrides.
26   virtual void Start() OVERRIDE;
27   virtual void Reset() OVERRIDE;
28
29  private:
30   // The local state instance that provides the last fetch time.
31   PrefService* local_state_;
32
33   DISALLOW_COPY_AND_ASSIGN(VariationsRequestSchedulerMobile);
34 };
35
36 }  // namespace chrome_variations
37
38 #endif  // CHROME_BROWSER_METRICS_VARIATIONS_VARIATIONS_REQUEST_SCHEDULER_MOBILE_H_