1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_PROVIDER_OBSERVER_H_
6 #define CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_PROVIDER_OBSERVER_H_
8 #include "chrome/browser/task_management/providers/task.h"
10 namespace task_management
{
12 // Defines an interface for observing tasks addition / removal.
13 class TaskProviderObserver
{
15 TaskProviderObserver() {}
16 virtual ~TaskProviderObserver() {}
18 // This notifies of the event that a new |task| has been created.
19 virtual void TaskAdded(Task
* task
) = 0;
21 // This notifies of the event that a |task| is about to be removed. The task
22 // is still valid during this call, after that it may never be used again by
23 // the observer and references to it must not be kept.
24 virtual void TaskRemoved(Task
* task
) = 0;
27 DISALLOW_COPY_AND_ASSIGN(TaskProviderObserver
);
30 } // namespace task_management
32 #endif // CHROME_BROWSER_TASK_MANAGEMENT_PROVIDERS_TASK_PROVIDER_OBSERVER_H_