Files
EetCpp/libEet/eetca.h
T

67 lines
1.5 KiB
C++

#ifndef EETCA_H
#define EETCA_H
#include <QByteArray>
#include <QDateTime>
#include <QList>
#include <QUuid>
#include <QUrl>
#include <QSslConfiguration>
#include "eetcpp_global.h"
struct EETCPPSHARED_EXPORT EetCaClientConfig
{
QUrl apiBaseUrl;
QString signingPkcs12Path;
QByteArray signingPkcs12Password;
int timeoutMilliseconds{30000};
QSslConfiguration sslConfiguration;
};
struct EETCPPSHARED_EXPORT EetCaRequestStatus
{
QUuid requestId;
QString state;
int pollAfterSeconds{0};
QString rejectedReason;
};
struct EETCPPSHARED_EXPORT EetCaCertificate
{
QString serialNumber;
QDateTime validFrom;
QDateTime validTo;
QString state;
QString description;
QString email;
};
struct EETCPPSHARED_EXPORT EetCaPkcs12
{
QByteArray pkcs12;
QByteArray password;
EetCaCertificate certificate;
};
class EETCPPSHARED_EXPORT EetCaClient
{
public:
explicit EetCaClient(EetCaClientConfig config);
bool requestRenewal(QUuid *requestId, QString *error = nullptr) const;
bool requestStatus(const QUuid &requestId,
EetCaRequestStatus *status,
QString *error = nullptr) const;
bool listUnfinished(QList<QUuid> *requestIds, QString *error = nullptr) const;
bool claimDownload(const QUuid &requestId,
EetCaPkcs12 *result,
QString *error = nullptr) const;
bool acknowledgeDownload(const QUuid &requestId, QString *error = nullptr) const;
private:
EetCaClientConfig m_config;
};
#endif // EETCA_H