12345678910111213141516171819202122232425262728293031323334353637 |
- // Copyright 2020 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 COMPONENTS_BACKGROUND_TASK_SCHEDULER_BACKGROUND_TASK_SCHEDULER_H_
- #define COMPONENTS_BACKGROUND_TASK_SCHEDULER_BACKGROUND_TASK_SCHEDULER_H_
- #include "base/callback.h"
- #include "components/background_task_scheduler/task_info.h"
- #include "components/keyed_service/core/keyed_service.h"
- namespace background_task {
- // A BackgroundTaskScheduler is used to schedule jobs that run in the
- // background. It is backed by system APIs which have different implementations
- // on different android versions. For more information, please refer
- // BackgroundTaskScheduler.java.
- class BackgroundTaskScheduler : public KeyedService {
- public:
- BackgroundTaskScheduler(const BackgroundTaskScheduler&) = delete;
- BackgroundTaskScheduler& operator=(const BackgroundTaskScheduler&) = delete;
- // Schedules a background task with various scheduling related params
- // contained in |task_info|.
- virtual bool Schedule(const TaskInfo& task_info) = 0;
- // Cancels the task specified by the |task_id}.
- virtual void Cancel(int task_id) = 0;
- protected:
- BackgroundTaskScheduler() = default;
- ~BackgroundTaskScheduler() override = default;
- };
- } // namespace background_task
- #endif // COMPONENTS_BACKGROUND_TASK_SCHEDULER_BACKGROUND_TASK_SCHEDULER_H_
|