aboutsummaryrefslogtreecommitdiff
path: root/oop2eindopdr/ZipExport.h
blob: 0800b412504a08088698413dad9b00c67d187a9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include <string>
#include <vector>

class Pokedex;

/** @brief handle csv parsing and zip export */
class ZipExport {
private:
	/** @brief reference to pokedex */
	Pokedex* pokedex;

	std::string csv_path; /** @brief input csv file path */
	std::string zip_path; /** @brief output zip file path */
	std::vector<std::string> id_list; /** @brief list of id's in csv file */

public:
	/** @brief create ZipExport */
	ZipExport();
	/** @brief create ZipExport class and immediately start export */
	ZipExport(Pokedex* pokedex, std::string input_csv, std::string output_zip);
	virtual ~ZipExport();

	/** @brief set pokedex reference */
	virtual void set_pokedex(Pokedex* pokedex);

	/** @brief set csv_path and parse csv file */
	virtual void import_csv(std::string filename);
	/** @brief generate output export zip file */
	virtual void export_zip(std::string filename);
};