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 14 namespace syncer { 15 16 class 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