Home | History | Annotate | Download | only in task_scheduler
      1 // Copyright 2018 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 BASE_TASK_SCHEDULER_SCHEDULER_WORKER_OBSERVER_H_
      6 #define BASE_TASK_SCHEDULER_SCHEDULER_WORKER_OBSERVER_H_
      7 
      8 namespace base {
      9 
     10 // Interface to observe entry and exit of the main function of a TaskScheduler
     11 // worker.
     12 class SchedulerWorkerObserver {
     13  public:
     14   virtual ~SchedulerWorkerObserver() = default;
     15 
     16   // Invoked at the beginning of the main function of a TaskScheduler worker,
     17   // before any task runs.
     18   virtual void OnSchedulerWorkerMainEntry() = 0;
     19 
     20   // Invoked at the end of the main function of a TaskScheduler worker, when it
     21   // can no longer run tasks.
     22   virtual void OnSchedulerWorkerMainExit() = 0;
     23 };
     24 
     25 }  // namespace base
     26 
     27 #endif  // BASE_TASK_SCHEDULER_SCHEDULER_WORKER_OBSERVER_H_
     28