#pragma once #include #include 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 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); };