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 CHROME_BROWSER_SYNC_BACKEND_UNRECOVERABLE_ERROR_HANDLER_H_
6#define CHROME_BROWSER_SYNC_BACKEND_UNRECOVERABLE_ERROR_HANDLER_H_
7
8#include <string>
9
10#include "base/location.h"
11#include "base/memory/weak_ptr.h"
12
13#include "sync/internal_api/public/util/unrecoverable_error_handler.h"
14#include "sync/internal_api/public/util/weak_handle.h"
15
16class ProfileSyncService;
17namespace browser_sync {
18
19class BackendUnrecoverableErrorHandler
20    : public syncer::UnrecoverableErrorHandler {
21 public:
22  BackendUnrecoverableErrorHandler(
23      const syncer::WeakHandle<ProfileSyncService>& service);
24  virtual ~BackendUnrecoverableErrorHandler();
25  virtual void OnUnrecoverableError(const tracked_objects::Location& from_here,
26                                    const std::string& message) OVERRIDE;
27
28 private:
29  syncer::WeakHandle<ProfileSyncService> service_;
30};
31}  // namespace browser_sync
32#endif  // CHROME_BROWSER_SYNC_BACKEND_UNRECOVERABLE_ERROR_HANDLER_H_
33
34