• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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