metal-kompanion/src/kompanionai/KIError.h

45 lines
1.0 KiB
C++

// SPDX-FileCopyrightText: 2023 Loren Burkholder <computersemiexpert@outlook.com>
// SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QString>
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;
};
}