status.cc
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 
32 #include <ostream>
33 #include <stdio.h>
34 #include <string>
35 #include <utility>
36 
37 namespace google {
38 namespace protobuf {
39 namespace util {
40 namespace error {
41 inline string CodeEnumToString(error::Code code) {
42  switch (code) {
43  case OK:
44  return "OK";
45  case CANCELLED:
46  return "CANCELLED";
47  case UNKNOWN:
48  return "UNKNOWN";
49  case INVALID_ARGUMENT:
50  return "INVALID_ARGUMENT";
51  case DEADLINE_EXCEEDED:
52  return "DEADLINE_EXCEEDED";
53  case NOT_FOUND:
54  return "NOT_FOUND";
55  case ALREADY_EXISTS:
56  return "ALREADY_EXISTS";
57  case PERMISSION_DENIED:
58  return "PERMISSION_DENIED";
59  case UNAUTHENTICATED:
60  return "UNAUTHENTICATED";
61  case RESOURCE_EXHAUSTED:
62  return "RESOURCE_EXHAUSTED";
64  return "FAILED_PRECONDITION";
65  case ABORTED:
66  return "ABORTED";
67  case OUT_OF_RANGE:
68  return "OUT_OF_RANGE";
69  case UNIMPLEMENTED:
70  return "UNIMPLEMENTED";
71  case INTERNAL:
72  return "INTERNAL";
73  case UNAVAILABLE:
74  return "UNAVAILABLE";
75  case DATA_LOSS:
76  return "DATA_LOSS";
77  }
78 
79  // No default clause, clang will abort if a code is missing from
80  // above switch.
81  return "UNKNOWN";
82 }
83 } // namespace error.
84 
85 const Status Status::OK = Status();
88 
89 Status::Status() : error_code_(error::OK) {
90 }
91 
92 Status::Status(error::Code error_code, StringPiece error_message)
93  : error_code_(error_code) {
94  if (error_code != error::OK) {
96  }
97 }
98 
99 Status::Status(const Status& other)
100  : error_code_(other.error_code_), error_message_(other.error_message_) {
101 }
102 
104  error_code_ = other.error_code_;
106  return *this;
107 }
108 
109 bool Status::operator==(const Status& x) const {
110  return error_code_ == x.error_code_ &&
111  error_message_ == x.error_message_;
112 }
113 
114 string Status::ToString() const {
115  if (error_code_ == error::OK) {
116  return "OK";
117  } else {
118  if (error_message_.empty()) {
120  } else {
121  return error::CodeEnumToString(error_code_) + ":" +
123  }
124  }
125 }
126 
127 std::ostream& operator<<(std::ostream& os, const Status& x) {
128  os << x.ToString();
129  return os;
130 }
131 
132 } // namespace util
133 } // namespace protobuf
134 } // namespace google
google::protobuf::util::Status::OK
static const Status OK
Definition: status.h:82
google::protobuf::util::Status::error_code_
error::Code error_code_
Definition: status.h:112
google::protobuf::util::error::RESOURCE_EXHAUSTED
@ RESOURCE_EXHAUSTED
Definition: status.h:56
google::protobuf::util::operator<<
std::ostream & operator<<(std::ostream &os, const Status &x)
Definition: status.cc:127
google::protobuf::util::error::CANCELLED
@ CANCELLED
Definition: status.h:48
google::protobuf::util::error::Code
Code
Definition: status.h:46
google::protobuf::util::Status::Status
Status()
Definition: status.cc:89
google::protobuf::util::error::DEADLINE_EXCEEDED
@ DEADLINE_EXCEEDED
Definition: status.h:51
google::protobuf::util::Status::error_message
StringPiece error_message() const
Definition: status.h:96
x
GLint GLenum GLint x
Definition: glcorearb.h:2834
google::protobuf::util::error::UNKNOWN
@ UNKNOWN
Definition: status.h:49
error
Definition: cJSON.c:88
google::protobuf::util::error::FAILED_PRECONDITION
@ FAILED_PRECONDITION
Definition: status.h:57
google::protobuf::util::error::UNAVAILABLE
@ UNAVAILABLE
Definition: status.h:62
google::protobuf::util::Status::error_message_
string error_message_
Definition: status.h:113
google::protobuf::util::Status::UNKNOWN
static const Status UNKNOWN
Definition: status.h:84
google::protobuf::StringPiece
Definition: stringpiece.h:180
google::protobuf::util::error::DATA_LOSS
@ DATA_LOSS
Definition: status.h:63
google::protobuf::util::Status::error_code
int error_code() const
Definition: status.h:90
google::protobuf::util::error::OK
@ OK
Definition: status.h:47
google::protobuf::util::error::CodeEnumToString
string CodeEnumToString(error::Code code)
Definition: status.cc:41
google::protobuf::util::error::NOT_FOUND
@ NOT_FOUND
Definition: status.h:52
google::protobuf::util::error::INVALID_ARGUMENT
@ INVALID_ARGUMENT
Definition: status.h:50
google::protobuf::util::Status::CANCELLED
static const Status CANCELLED
Definition: status.h:83
google::protobuf::util::error::UNAUTHENTICATED
@ UNAUTHENTICATED
Definition: status.h:55
aditof::Status
Status
Status of any operation that the TOF sdk performs.
Definition: status_definitions.h:48
google::protobuf::util::error::INTERNAL
@ INTERNAL
Definition: status.h:61
google::protobuf::util::error::ABORTED
@ ABORTED
Definition: status.h:58
google::protobuf::util::error::PERMISSION_DENIED
@ PERMISSION_DENIED
Definition: status.h:54
google::protobuf::util::error::ALREADY_EXISTS
@ ALREADY_EXISTS
Definition: status.h:53
google::protobuf::StringPiece::ToString
string ToString() const
Definition: stringpiece.h:313
google::protobuf::util::Status
Definition: status.h:67
google::protobuf::util::error::UNIMPLEMENTED
@ UNIMPLEMENTED
Definition: status.h:60
google::protobuf::util::Status::ToString
string ToString() const
Definition: status.cc:114
google::protobuf::util::Status::operator=
Status & operator=(const Status &x)
Definition: status.cc:103
google::protobuf::util::error::OUT_OF_RANGE
@ OUT_OF_RANGE
Definition: status.h:59
google::protobuf::util::Status::operator==
bool operator==(const Status &x) const
Definition: status.cc:109
status.h
google
Definition: data_proto2_to_proto3_util.h:11


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:58