// SPDX-FileCopyrightText: 2023 Loren Burkholder // SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company // // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL #pragma once #include namespace KompanionAI { class KIError { public: enum ErrorCode { NoError, NetworkError, ApiError, InvalidJson, Cancelled }; KIError(ErrorCode code = NoError, const QString &message = QString(), int httpStatus = 0, int retryAfter = 0) : m_code(code) , m_message(message) , m_httpStatus(httpStatus) , m_retryAfter(retryAfter) { } ErrorCode code() const { return m_code; } QString message() const { return m_message; } int httpStatus() const { return m_httpStatus; } int retryAfter() const { return m_retryAfter; } private: ErrorCode m_code; QString m_message; int m_httpStatus; int m_retryAfter; }; }