#ifndef CSV_READER_HEADERFILE
#define CSV_READER_HEADERFILE

#include "Module.h"
#include <fstream> 

class CSVreaderModule : public Module  {

	private:
		FILE *fpointer;
		unsigned int num_of_datasets;
		unsigned int list_of_datasets[MAX_NUM_OF_DATA_SETS];
		float data_read[MAX_NUM_OF_DATA_SETS];
		unsigned int row, start_row, column; 
		float input_data;
		bool flag_csv_reader_configured;
		unsigned int dataset_counter;

		//private fuctions
		void initialize_csvreader(FILE* fpointer, unsigned int column, unsigned int start_row);

	public:
		CSVreaderModule();
		CSVreaderModule(const char* name);
		CSVreaderModule(FILE* fpointer, unsigned int column, unsigned int start_row);
		CSVreaderModule(const char* name, FILE* fpointer, unsigned int column, unsigned int start_row);

		bool read_one_row();


		bool read_field();
		float get_value_of_field(unsigned int field);


		//new functions
		bool get_next_value(float* value);


		void close_file();
};

#endif
