Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(938)

Side by Side Diff: components/offline_pages/background/scheduler.h

Issue 2489443002: Move all components/offline_pages/ files into component/offline_pages/core (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 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 COMPONENTS_OFFLINE_PAGES_BACKGROUND_SCHEDULER_H_
6 #define COMPONENTS_OFFLINE_PAGES_BACKGROUND_SCHEDULER_H_
7
8 namespace offline_pages {
9
10 // Interface of a class responsible for scheduling a task to initiate
11 // processing of background offlining requests upon select system conditions
12 // (such as having a network connection).
13 class Scheduler {
14 public:
15 // Defines a set of system conditions to trigger background processing.
16 struct TriggerConditions {
17 TriggerConditions(bool power, int battery, bool unmetered)
18 : require_power_connected(power),
19 minimum_battery_percentage(battery),
20 require_unmetered_network(unmetered) {}
21 bool require_power_connected;
22 int minimum_battery_percentage;
23 bool require_unmetered_network;
24 };
25
26 Scheduler() {}
27 virtual ~Scheduler() {}
28
29 // Schedules the triggering of a task subject to |trigger_conditions|.
30 // This may overwrite any previous scheduled task with a new one for
31 // these conditions. That is, only one set of triggering conditions
32 // is scheduled at a time.
33 virtual void Schedule(const TriggerConditions& trigger_conditions) = 0;
34
35 // Schedules the triggering of a task in case Chromium is killed,
36 // so we can continue processing background download requests. This will
37 // not overwrite existing tasks.
38 virtual void BackupSchedule(const TriggerConditions& trigger_conditions,
39 long delay_in_seconds) = 0;
40
41 // Unschedules the currently scheduled task, if any.
42 virtual void Unschedule() = 0;
43 };
44
45 } // namespace offline_pages
46
47 #endif // COMPONENTS_OFFLINE_PAGES_BACKGROUND_SCHEDULER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698