#ifndef INPUT_FRAME_LIST_MODULE_H
#define INPUT_FRAME_LIST_MODULE_H

#include "InputFrameProviderIface.h"
#include <string>
#include <vector>

class InputFrameListModule : public InputFrameProviderIface
{
 public:
  InputFrameListModule(const std::string& basePath,const std::string& pictureList);
  ~InputFrameListModule();



  bool getNextFrame(cv::Mat&);
  unsigned int getNbFrames();
  bool isOpen() const { return mInit;}
  void setFrameNumber(const int& frameNumber) {} // does nothing for now

  virtual const cv::Size& getSize() const { return mSize;}
 private:
  void loadFileList(const std::string& path);
  std::vector<std::string> mFileList;
  unsigned int mCurrentIdx;
  bool mInit;
  std::string mBasePath;
  cv::Mat mCurrentFrame;
  cv::Size mSize;

};

#endif
