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_INFO_H_ 6#define SYNC_UTIL_UNRECOVERABLE_ERROR_INFO_H_ 7// TODO(lipalani): Figure out the right location for this class so it is 8// accessible outside of sync engine as well. 9 10#include <string> 11 12#include "base/location.h" 13 14namespace syncer { 15 16class UnrecoverableErrorInfo { 17 public: 18 UnrecoverableErrorInfo(); 19 UnrecoverableErrorInfo( 20 const tracked_objects::Location& location, 21 const std::string& message); 22 ~UnrecoverableErrorInfo(); 23 24 void Reset(const tracked_objects::Location& location, 25 const std::string& message); 26 27 bool IsSet() const; 28 29 const tracked_objects::Location& location() const; 30 const std::string& message() const; 31 32 private: 33 tracked_objects::Location location_; 34 std::string message_; 35 bool is_set_; 36}; 37 38} // namespace syncer 39 40#endif // SYNC_UTIL_UNRECOVERABLE_ERROR_INFO_H_ 41