// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #ifndef APIHANDLER_H #define APIHANDLER_H #include #include "stockmodel.h" class ApiHandler : public QObject { Q_OBJECT public: ApiHandler(); void testApiKey(QString apiKey, std::function onComplete); void setApiKey(QString apiKey); void setUseLiveData(bool useLiveData); void stockQuote(const QString &symbols, std::function)> onComplete); void stockHistory(const QString &symbol, std::function)> onComplete); bool useLiveData() const; private: QString m_apiKey; bool m_useLiveData = false; QNetworkAccessManager m_accessManager; QNetworkRequest m_getRequest; const QString m_dateFormat = QString("yyyy-MM-dd"); QList parseQuote(const QStringList &symbolList, QByteArray *data); QList parseHistory(QByteArray *data); }; #endif // APIHANDLER_H