Home | History | Annotate | Download | only in base
      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 
     10 namespace syncer {
     11 
     12 // Interface for classes that handle signals from the CancelationSignal.
     13 class 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