#ifndef CSV_WRITER_HEADERFILE
#define CSV_WRITER_HEADERFILE

//#include "Module.h"
#include "Unit.h"
#include <fstream> 
#include <string>

#define MAX_LENGTH_OF_NAMES_TO_WRITE 50

class CSV_Writer { //: public Unit {
//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 write_field(std::string dataset);
	bool make_new_field();
	bool make_new_line();

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

	void close_file();
};

#endif