- add sources.
[platform/framework/web/crosswalk.git] / src / sync / internal_api / public / util / unrecoverable_error_info.h
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_