1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_SYNC_UNRECOVERABLE_ERROR_HANDLER_H_ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_SYNC_UNRECOVERABLE_ERROR_HANDLER_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <string> 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/tracked.h" 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace browser_sync { 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass UnrecoverableErrorHandler { 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public: 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Call this when normal operation detects that the chrome model and the 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // syncer model are inconsistent, or similar. The ProfileSyncService will 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // try to avoid doing any work to avoid crashing or corrupting things 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // further, and will report an error status if queried. 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual void OnUnrecoverableError(const tracked_objects::Location& from_here, 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& message) = 0; 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch protected: 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch virtual ~UnrecoverableErrorHandler() { } 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // CHROME_BROWSER_SYNC_UNRECOVERABLE_ERROR_HANDLER_H_ 30