#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& _dirname);
  ~InputFrameListModule();

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

  virtual const cv::Size& getSize() const { return mSize;}
 private:
  void loadImageList(void);
  std::vector<std::string> filenames;
  unsigned int mCurrentIdx;
  bool mInit;
  std::string dirname;
  cv::Size mSize;
};

#endif
