#ifndef CSV_WRITER_HEADERFILE
#define CSV_WRITER_HEADERFILE

#include "Module.hpp"
#include <fstream> 

#define MAX_LENGTH_OF_NAMES_TO_WRITE 50

class CSV_Writer : public Module  {

	private:
		FILE *fpointer_write;
		//unsigned int num_of_datasets;
		//float datasets[MAX_NUM_OF_DATA_SETS];

		//private fuctions
		void initialize_csv_writer(char* filepath_write);

	public:

		CSV_Writer(char* filepath_write);
		CSV_Writer(char* name, char* filepath_write);

		bool write_field(int dataset);
		bool write_field(float dataset);
		bool write_field(char* dataset);
		bool make_new_field();
		bool make_new_line();

		bool write_row_data(unsigned int num_of_datasets, float* datasets);

		void close_file();
};

#endif