1 // Copyright (c) 2010 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 CHROME_BROWSER_SYNC_UNRECOVERABLE_ERROR_HANDLER_H_ 6 #define CHROME_BROWSER_SYNC_UNRECOVERABLE_ERROR_HANDLER_H_ 7 #pragma once 8 9 #include <string> 10 11 #include "base/tracked.h" 12 13 namespace browser_sync { 14 15 class UnrecoverableErrorHandler { 16 public: 17 // Call this when normal operation detects that the chrome model and the 18 // syncer model are inconsistent, or similar. The ProfileSyncService will 19 // try to avoid doing any work to avoid crashing or corrupting things 20 // further, and will report an error status if queried. 21 virtual void OnUnrecoverableError(const tracked_objects::Location& from_here, 22 const std::string& message) = 0; 23 protected: 24 virtual ~UnrecoverableErrorHandler() { } 25 }; 26 27 } 28 29 #endif // CHROME_BROWSER_SYNC_UNRECOVERABLE_ERROR_HANDLER_H_ 30