diff options
Diffstat (limited to 'include/google/protobuf/stubs/status.h')
-rw-r--r-- | include/google/protobuf/stubs/status.h | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/include/google/protobuf/stubs/status.h b/include/google/protobuf/stubs/status.h deleted file mode 100644 index c858cf6239..0000000000 --- a/include/google/protobuf/stubs/status.h +++ /dev/null @@ -1,196 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef GOOGLE_PROTOBUF_STUBS_STATUS_H_ -#define GOOGLE_PROTOBUF_STUBS_STATUS_H_ - -#include <string> - -#include <google/protobuf/stubs/stringpiece.h> - -#include <google/protobuf/port_def.inc> - -namespace google { -namespace protobuf { -namespace util { -namespace status_internal { - -// These values must match error codes defined in google/rpc/code.proto. -enum class StatusCode : int { - kOk = 0, - kCancelled = 1, - kUnknown = 2, - kInvalidArgument = 3, - kDeadlineExceeded = 4, - kNotFound = 5, - kAlreadyExists = 6, - kPermissionDenied = 7, - kUnauthenticated = 16, - kResourceExhausted = 8, - kFailedPrecondition = 9, - kAborted = 10, - kOutOfRange = 11, - kUnimplemented = 12, - kInternal = 13, - kUnavailable = 14, - kDataLoss = 15, -}; - -class PROTOBUF_EXPORT Status { - public: - // Creates a "successful" status. - Status(); - - // Create a status in the canonical error space with the specified - // code, and error message. If "code == 0", error_message is - // ignored and a Status object identical to Status::kOk is - // constructed. - Status(StatusCode error_code, StringPiece error_message); - Status(const Status&); - Status& operator=(const Status& x); - ~Status() {} - - // Accessor - bool ok() const { return error_code_ == StatusCode::kOk; } - StatusCode code() const { return error_code_; } - StringPiece message() const { - return error_message_; - } - - bool operator==(const Status& x) const; - bool operator!=(const Status& x) const { - return !operator==(x); - } - - // Return a combination of the error code name and message. - std::string ToString() const; - - private: - StatusCode error_code_; - std::string error_message_; -}; - -// Returns an OK status, equivalent to a default constructed instance. Prefer -// usage of `OkStatus()` when constructing such an OK status. -PROTOBUF_EXPORT Status OkStatus(); - -// Prints a human-readable representation of 'x' to 'os'. -PROTOBUF_EXPORT std::ostream& operator<<(std::ostream& os, const Status& x); - -// These convenience functions return `true` if a given status matches the -// `StatusCode` error code of its associated function. -PROTOBUF_EXPORT bool IsAborted(const Status& status); -PROTOBUF_EXPORT bool IsAlreadyExists(const Status& status); -PROTOBUF_EXPORT bool IsCancelled(const Status& status); -PROTOBUF_EXPORT bool IsDataLoss(const Status& status); -PROTOBUF_EXPORT bool IsDeadlineExceeded(const Status& status); -PROTOBUF_EXPORT bool IsFailedPrecondition(const Status& status); -PROTOBUF_EXPORT bool IsInternal(const Status& status); -PROTOBUF_EXPORT bool IsInvalidArgument(const Status& status); -PROTOBUF_EXPORT bool IsNotFound(const Status& status); -PROTOBUF_EXPORT bool IsOutOfRange(const Status& status); -PROTOBUF_EXPORT bool IsPermissionDenied(const Status& status); -PROTOBUF_EXPORT bool IsResourceExhausted(const Status& status); -PROTOBUF_EXPORT bool IsUnauthenticated(const Status& status); -PROTOBUF_EXPORT bool IsUnavailable(const Status& status); -PROTOBUF_EXPORT bool IsUnimplemented(const Status& status); -PROTOBUF_EXPORT bool IsUnknown(const Status& status); - -// These convenience functions create an `Status` object with an error code as -// indicated by the associated function name, using the error message passed in -// `message`. -// -// These functions are intentionally named `*Error` rather than `*Status` to -// match the names from Abseil: -// https://github.com/abseil/abseil-cpp/blob/2e9532cc6c701a8323d0cffb468999ab804095ab/absl/status/status.h#L716 -PROTOBUF_EXPORT Status AbortedError(StringPiece message); -PROTOBUF_EXPORT Status AlreadyExistsError(StringPiece message); -PROTOBUF_EXPORT Status CancelledError(StringPiece message); -PROTOBUF_EXPORT Status DataLossError(StringPiece message); -PROTOBUF_EXPORT Status DeadlineExceededError(StringPiece message); -PROTOBUF_EXPORT Status FailedPreconditionError(StringPiece message); -PROTOBUF_EXPORT Status InternalError(StringPiece message); -PROTOBUF_EXPORT Status InvalidArgumentError(StringPiece message); -PROTOBUF_EXPORT Status NotFoundError(StringPiece message); -PROTOBUF_EXPORT Status OutOfRangeError(StringPiece message); -PROTOBUF_EXPORT Status PermissionDeniedError(StringPiece message); -PROTOBUF_EXPORT Status ResourceExhaustedError(StringPiece message); -PROTOBUF_EXPORT Status UnauthenticatedError(StringPiece message); -PROTOBUF_EXPORT Status UnavailableError(StringPiece message); -PROTOBUF_EXPORT Status UnimplementedError(StringPiece message); -PROTOBUF_EXPORT Status UnknownError(StringPiece message); - -} // namespace status_internal - -using ::google::protobuf::util::status_internal::Status; -using ::google::protobuf::util::status_internal::StatusCode; - -using ::google::protobuf::util::status_internal::IsAborted; -using ::google::protobuf::util::status_internal::IsAlreadyExists; -using ::google::protobuf::util::status_internal::IsCancelled; -using ::google::protobuf::util::status_internal::IsDataLoss; -using ::google::protobuf::util::status_internal::IsDeadlineExceeded; -using ::google::protobuf::util::status_internal::IsFailedPrecondition; -using ::google::protobuf::util::status_internal::IsInternal; -using ::google::protobuf::util::status_internal::IsInvalidArgument; -using ::google::protobuf::util::status_internal::IsNotFound; -using ::google::protobuf::util::status_internal::IsOutOfRange; -using ::google::protobuf::util::status_internal::IsPermissionDenied; -using ::google::protobuf::util::status_internal::IsResourceExhausted; -using ::google::protobuf::util::status_internal::IsUnauthenticated; -using ::google::protobuf::util::status_internal::IsUnavailable; -using ::google::protobuf::util::status_internal::IsUnimplemented; -using ::google::protobuf::util::status_internal::IsUnknown; - -using ::google::protobuf::util::status_internal::AbortedError; -using ::google::protobuf::util::status_internal::AlreadyExistsError; -using ::google::protobuf::util::status_internal::CancelledError; -using ::google::protobuf::util::status_internal::DataLossError; -using ::google::protobuf::util::status_internal::DeadlineExceededError; -using ::google::protobuf::util::status_internal::FailedPreconditionError; -using ::google::protobuf::util::status_internal::InternalError; -using ::google::protobuf::util::status_internal::InvalidArgumentError; -using ::google::protobuf::util::status_internal::NotFoundError; -using ::google::protobuf::util::status_internal::OkStatus; -using ::google::protobuf::util::status_internal::OutOfRangeError; -using ::google::protobuf::util::status_internal::PermissionDeniedError; -using ::google::protobuf::util::status_internal::ResourceExhaustedError; -using ::google::protobuf::util::status_internal::UnauthenticatedError; -using ::google::protobuf::util::status_internal::UnavailableError; -using ::google::protobuf::util::status_internal::UnimplementedError; -using ::google::protobuf::util::status_internal::UnknownError; - -} // namespace util -} // namespace protobuf -} // namespace google - -#include <google/protobuf/port_undef.inc> - -#endif // GOOGLE_PROTOBUF_STUBS_STATUS_H_ |