##// END OF EJS Templates
Updates AMDA provider to handle different server URLs...
Updates AMDA provider to handle different server URLs Retrieves product's attribute (if it exists) that indicates the server to use to get its data, and generates correct URL according to it

File last commit:

r752:22c6ca1df132
r943:a2f640a8dec0
Show More
AmdaProvider.h
44 lines | 1.2 KiB | text/x-c | CLexer
#ifndef SCIQLOP_AMDAPROVIDER_H
#define SCIQLOP_AMDAPROVIDER_H
#include "AmdaGlobal.h"
#include <Data/IDataProvider.h>
#include <QLoggingCategory>
#include <map>
Q_DECLARE_LOGGING_CATEGORY(LOG_AmdaProvider)
class QNetworkReply;
class QNetworkRequest;
/**
* @brief The AmdaProvider class is an example of how a data provider can generate data
*/
class SCIQLOP_AMDA_EXPORT AmdaProvider : public IDataProvider {
Q_OBJECT
public:
explicit AmdaProvider();
std::shared_ptr<IDataProvider> clone() const override;
void requestDataLoading(QUuid acqIdentifier, const DataProviderParameters &parameters) override;
void requestDataAborting(QUuid acqIdentifier) override;
private slots:
void onReplyDownloadProgress(QUuid acqIdentifier,
std::shared_ptr<QNetworkRequest> networkRequest, double progress);
private:
void retrieveData(QUuid token, const SqpRange &dateTime, const QVariantHash &data);
void updateRequestProgress(QUuid acqIdentifier, std::shared_ptr<QNetworkRequest> request,
double progress);
std::map<QUuid, std::map<std::shared_ptr<QNetworkRequest>, double> >
m_AcqIdToRequestProgressMap;
};
#endif // SCIQLOP_AMDAPROVIDER_H