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 13namespace browser_sync { 14 15class 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