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