#ifndef __CandleDataProvider_h_ #define __CandleDataProvider_h_ #include "GridReaderBase.h" #include "CandleDataNode.h" class CandleDataProvider : public GridDataProvider { private: CandleDataNode *const _candleDataNode; const std::string _symbol; void getTimes(GridDataProviderContext *context, int offset, time_t &start, time_t &end) const; SingleCandle getCandle(GridDataProviderContext *context, int offset) const; public: CandleDataProvider(std::string const &symbol, bool intraday); virtual time_t restartAt(EpochCounter::Epoch epoch) const; virtual double getValue(std::string const &dataType, GridDataProviderContext *context, int offset, std::string &errorMsg) const; virtual bool getValid(GridDataProviderContext *context) const; virtual void preloadToEnd(GridDataProviderContext *context) const; virtual void releasePreload() const; virtual std::string debugDump() const; virtual std::string getSymbol() const; ~CandleDataProvider(); }; #endif