1// Copyright 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 SYNC_INTERNAL_API_PUBLIC_BASE_CANCELATION_OBSERVER_H_
6#define SYNC_INTERNAL_API_PUBLIC_BASE_CANCELATION_OBSERVER_H_
7
8#include "sync/base/sync_export.h"
9
10namespace syncer {
11
12// Interface for classes that handle signals from the CancelationSignal.
13class SYNC_EXPORT CancelationObserver {
14 public:
15  CancelationObserver();
16  virtual ~CancelationObserver() = 0;
17
18  // This may be called from a foreign thread while the CancelationSignal's lock
19  // is held.  The callee should avoid performing slow or blocking operations.
20  virtual void OnSignalReceived() = 0;
21};
22
23}  // namespace syncer
24
25#endif  // SYNC_INTERNAL_API_PUBLIC_BASE_CANCELATION_OBSERVER_H_
26