diff --git a/core/include/Data/IDataProvider.h b/core/include/Data/IDataProvider.h new file mode 100644 index 0000000..0b83f2b --- /dev/null +++ b/core/include/Data/IDataProvider.h @@ -0,0 +1,25 @@ +#ifndef SCIQLOP_IDATAPROVIDER_H +#define SCIQLOP_IDATAPROVIDER_H + +#include + +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: + virtual ~IDataProvider() noexcept = default; + + virtual std::unique_ptr + retrieveData(const DataProviderParameters ¶meters) const = 0; +}; + +#endif // SCIQLOP_IDATAPROVIDER_H