##// END OF EJS Templates
Correction on package.cmake to include COPYING file instead of LICENCE File. Remove message from cmake
Correction on package.cmake to include COPYING file instead of LICENCE File. Remove message from cmake

File last commit:

r233:508df86e5db1
r242:070194309ffd
Show More
IDataProvider.h
39 lines | 984 B | text/x-c | CLexer
Alexandre Leroux
Creates IDataProvider interface
r122 #ifndef SCIQLOP_IDATAPROVIDER_H
#define SCIQLOP_IDATAPROVIDER_H
#include <memory>
Alexandre Leroux
Makes the connection between Data source controller and Variable controller...
r169 #include <QObject>
Add merge API and implement it for the DataSeries
r233 #include <Data/SqpDateTime.h>
Alexandre Leroux
Creates IDataProvider interface
r122 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
*/
Add merge API and implement it for the DataSeries
r233 class IDataProvider : public QObject {
Q_OBJECT
Alexandre Leroux
Creates IDataProvider interface
r122 public:
virtual ~IDataProvider() noexcept = default;
virtual std::unique_ptr<IDataSeries>
retrieveData(const DataProviderParameters &parameters) const = 0;
Add merge API and implement it for the DataSeries
r233
virtual void requestDataLoading(const QVector<SqpDateTime> &dateTimeList) = 0;
signals:
void dataProvided(std::shared_ptr<IDataSeries> dateSerie, SqpDateTime dateTime);
};
Alexandre Leroux
Makes the connection between Data source controller and Variable controller...
r169 // Required for using shared_ptr in signals/slots
Q_DECLARE_METATYPE(std::shared_ptr<IDataProvider>)
Alexandre Leroux
Creates IDataProvider interface
r122 #endif // SCIQLOP_IDATAPROVIDER_H