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