// Copyright 2019 Google LLC. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include "sandboxed_api/util/canonical_errors.h" namespace sapi { Status AbortedError(absl::string_view message) { return Status{StatusCode::kAborted, message}; } Status AlreadyExistsError(absl::string_view message) { return Status{StatusCode::kAlreadyExists, message}; } Status CancelledError(absl::string_view message) { return Status{StatusCode::kCancelled, message}; } Status DataLossError(absl::string_view message) { return Status{StatusCode::kDataLoss, message}; } Status DeadlineExceededError(absl::string_view message) { return Status{StatusCode::kDeadlineExceeded, message}; } Status FailedPreconditionError(absl::string_view message) { return Status{StatusCode::kFailedPrecondition, message}; } Status InternalError(absl::string_view message) { return Status{StatusCode::kInternal, message}; } Status InvalidArgumentError(absl::string_view message) { return Status{StatusCode::kInvalidArgument, message}; } Status NotFoundError(absl::string_view message) { return Status{StatusCode::kNotFound, message}; } Status OutOfRangeError(absl::string_view message) { return Status{StatusCode::kOutOfRange, message}; } Status PermissionDeniedError(absl::string_view message) { return Status{StatusCode::kPermissionDenied, message}; } Status ResourceExhaustedError(absl::string_view message) { return Status{StatusCode::kResourceExhausted, message}; } Status UnauthenticatedError(absl::string_view message) { return Status{StatusCode::kUnauthenticated, message}; } Status UnavailableError(absl::string_view message) { return Status{StatusCode::kUnavailable, message}; } Status UnimplementedError(absl::string_view message) { return Status{StatusCode::kUnimplemented, message}; } Status UnknownError(absl::string_view message) { return Status{StatusCode::kUnknown, message}; } bool IsAborted(const Status& status) { return status.code() == StatusCode::kAborted; } bool IsAlreadyExists(const Status& status) { return status.code() == StatusCode::kAlreadyExists; } bool IsCancelled(const Status& status) { return status.code() == StatusCode::kCancelled; } bool IsDataLoss(const Status& status) { return status.code() == StatusCode::kDataLoss; } bool IsDeadlineExceeded(const Status& status) { return status.code() == StatusCode::kDeadlineExceeded; } bool IsFailedPrecondition(const Status& status) { return status.code() == StatusCode::kFailedPrecondition; } bool IsInternal(const Status& status) { return status.code() == StatusCode::kInternal; } bool IsInvalidArgument(const Status& status) { return status.code() == StatusCode::kInvalidArgument; } bool IsNotFound(const Status& status) { return status.code() == StatusCode::kNotFound; } bool IsOutOfRange(const Status& status) { return status.code() == StatusCode::kOutOfRange; } bool IsPermissionDenied(const Status& status) { return status.code() == StatusCode::kPermissionDenied; } bool IsResourceExhausted(const Status& status) { return status.code() == StatusCode::kResourceExhausted; } bool IsUnauthenticated(const Status& status) { return status.code() == StatusCode::kUnauthenticated; } bool IsUnavailable(const Status& status) { return status.code() == StatusCode::kUnavailable; } bool IsUnimplemented(const Status& status) { return status.code() == StatusCode::kUnimplemented; } bool IsUnknown(const Status& status) { return status.code() == StatusCode::kUnknown; } } // namespace sapi