##// END OF EJS Templates
Fix the cosinus bug....
Fix the cosinus bug. The provider now works on the variable controller thread instead of the main thread. That means the visu is still usable during zoom operation

File last commit:

r243:e94f13bbc48f
r298:3a08c66e4df2
Show More
IDataProvider.h
39 lines | 991 B | text/x-c | CLexer
#ifndef SCIQLOP_IDATAPROVIDER_H
#define SCIQLOP_IDATAPROVIDER_H
#include <memory>
#include <QObject>
#include <Data/SqpDateTime.h>
class DataProviderParameters;
class IDataSeries;
/**
* @brief The IDataProvider interface aims to declare a data provider.
*
* A data provider is an entity that generates data and returns it according to various parameters
* (time interval, product to retrieve the data, etc.)
*
* @sa IDataSeries
*/
class IDataProvider : public QObject {
Q_OBJECT
public:
virtual ~IDataProvider() noexcept = default;
virtual std::unique_ptr<IDataSeries>
retrieveData(const DataProviderParameters &parameters) const = 0;
virtual void requestDataLoading(const QVector<SqpDateTime> &dateTimeList) = 0;
signals:
void dataProvided(std::shared_ptr<IDataSeries> dateSerie, const SqpDateTime &dateTime);
};
// Required for using shared_ptr in signals/slots
Q_DECLARE_METATYPE(std::shared_ptr<IDataProvider>)
#endif // SCIQLOP_IDATAPROVIDER_H