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