aboutsummaryrefslogtreecommitdiff
path: root/oop2eindopdr/ZipExport.h
blob: f2dd28a69587609f049317df526877a5cb5619d3 (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
#pragma once

#include <string>
#include <vector>

class Pokedex;
class PokemonCard;

/** @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 */

public:
	ZipExport();
	virtual ~ZipExport();

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

	/** @brief set csv_path and parse csv file */
	virtual std::vector<std::string> import_csv(std::string filename);
	/** @brief generate output export zip file */
	virtual void export_zip(std::string filename, std::vector<PokemonCard*> cards);

	std::vector<std::string> id_list; /** @brief list of id's in csv file */
};