Home | History | Annotate | Download | only in util
      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