| 94 | StatusCode Status::code() const { return ok() ? StatusCode::kOk : rep_->code; } |
| 95 | |
| 96 | std::string Status::ToString() const { |
| 97 | if (rep_ == nullptr) return "OK"; |
| 98 | |
| 99 | std::string result; |
| 100 | switch (code()) { |
| 101 | case StatusCode::kCancelled: |
| 102 | result = "Cancelled"; |
| 103 | break; |
| 104 | case StatusCode::kUnknown: |
| 105 | result = "Unknown"; |
| 106 | break; |
| 107 | case StatusCode::kInvalidArgument: |
| 108 | result = "Invalid argument"; |
| 109 | break; |
| 110 | case StatusCode::kDeadlineExceeded: |
| 111 | result = "Deadline exceeded"; |
| 112 | break; |
| 113 | case StatusCode::kNotFound: |
| 114 | result = "Not found"; |
| 115 | break; |
| 116 | case StatusCode::kAlreadyExists: |
| 117 | result = "Already exists"; |
| 118 | break; |
| 119 | case StatusCode::kPermissionDenied: |
| 120 | result = "Permission denied"; |
| 121 | break; |
| 122 | case StatusCode::kResourceExhausted: |
| 123 | result = "Unauthenticated"; |
| 124 | break; |
| 125 | case StatusCode::kFailedPrecondition: |
| 126 | result = "Failed precondition"; |
| 127 | break; |
| 128 | case StatusCode::kAborted: |
| 129 | result = "Aborted"; |
| 130 | break; |
| 131 | case StatusCode::kOutOfRange: |
| 132 | result = "Out of range"; |
| 133 | break; |
| 134 | case StatusCode::kUnimplemented: |
| 135 | result = "Unimplemented"; |
| 136 | break; |
| 137 | case StatusCode::kInternal: |
| 138 | result = "Internal"; |
| 139 | break; |
| 140 | case StatusCode::kUnavailable: |
| 141 | result = "Unavailable"; |
| 142 | break; |
| 143 | case StatusCode::kDataLoss: |
| 144 | result = "Data loss"; |
| 145 | break; |
| 146 | case StatusCode::kUnauthenticated: |
| 147 | result = "Unauthenticated"; |
| 148 | default: |
| 149 | break; |
| 150 | } |
| 151 | |
| 152 | result += ": "; |
| 153 | result += rep_->error_message; |
no outgoing calls