DatabaseController.h
1 /** 2 * @file DatabaseController.h 3 * @author Rene Ceska xceska06 (xceska06@stud.fit.vutbr.cz) 4 * @brief Controller for database csv file 5 * @date 2023-11-19 6 */ 7 #ifndef DATABASECONTROLLER_H 8 #define DATABASECONTROLLER_H 9 #include "inc/DatabaseObject.h" 10 #include <fstream> 11 #include <iostream> 12 #include <sstream> 13 #include <string> 14 #include <vector> 15 16 /** 17 * @brief class for loading and parsing database file 18 * 19 */ 20 class DatabaseController { 21 private: 22 std::ifstream file; 23 std::vector<unsigned char> sanitaze(std::vector<unsigned char> input); 24 25 public: 26 /** 27 * @brief loads next row from database file 28 * 29 * @param err 1 if EOF, 0 if success 30 * @return DatabaseObject 31 */ 32 DatabaseObject loadNextRow(int *err); 33 34 /** 35 * @brief loads all rows from database file 36 * 37 * @return std::vector<DatabaseObject> 38 */ 39 std::vector<DatabaseObject> loadAllRows(); 40 41 /** 42 * @brief Construct a new Database Controller object 43 * 44 * @param fileName path to database csv file 45 */ 46 DatabaseController(std::string fileName); 47 ~DatabaseController(); 48 }; 49 50 #endif