12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Copyright 2016 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef COMPONENTS_NTP_SNIPPETS_STATUS_H_
- #define COMPONENTS_NTP_SNIPPETS_STATUS_H_
- #include <string>
- namespace ntp_snippets {
- // This enum indicates how an operation was completed. These values are written
- // to logs. New enum values can be added, but existing enums must never be
- // renumbered or deleted and reused.
- enum class StatusCode {
- // The operation has been completed successfully.
- SUCCESS = 0,
- // The operation failed but retrying might solve the error.
- TEMPORARY_ERROR = 1,
- // The operation failed and would fail again if retried.
- PERMANENT_ERROR = 2,
- STATUS_CODE_COUNT
- };
- // This struct provides the status code of a request and an optional message
- // describing the status (esp. failures) in detail.
- struct Status {
- Status(StatusCode status_code, const std::string& message);
- ~Status();
- // Errors always need a message but a success does not.
- static Status Success();
- bool IsSuccess() const { return code == StatusCode::SUCCESS; }
- StatusCode code;
- // The message is not meant to be displayed to the user.
- std::string message;
- // Copy and assignment allowed.
- };
- } // namespace ntp_snippets
- #endif // COMPONENTS_NTP_SNIPPETS_STATUS_H_
|