2025-06-13 09:15:55 +00:00
|
|
|
//
|
|
|
|
// Created by skygrow on 5/14/25.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef XMLSTORAGE_H
|
|
|
|
#define XMLSTORAGE_H
|
|
|
|
|
|
|
|
#include "pugixml.hpp"
|
|
|
|
|
|
|
|
namespace AtmAdmin {
|
|
|
|
class XMLStorage {
|
|
|
|
public:
|
2025-06-13 10:17:07 +00:00
|
|
|
explicit XMLStorage (std::string search) : m_search(std::move(search)) {
|
2025-06-13 09:15:55 +00:00
|
|
|
initXMLDoc();
|
|
|
|
|
2025-06-13 10:17:07 +00:00
|
|
|
this->m_data ={initAccountNode(m_search)};
|
2025-06-13 09:15:55 +00:00
|
|
|
|
2025-06-13 10:17:07 +00:00
|
|
|
this->name ={m_data.child_value("name") };
|
2025-06-13 10:35:54 +00:00
|
|
|
this->money ={std::stod(m_data.child_value("money"))};
|
2025-06-13 10:17:07 +00:00
|
|
|
this->pin ={std::stoi(m_data.child_value("pin")) };
|
2025-06-13 09:15:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void initXMLDoc ();
|
2025-06-13 10:17:07 +00:00
|
|
|
pugi::xml_node initAccountNode (const std::string& toSearch);
|
2025-06-13 09:15:55 +00:00
|
|
|
|
|
|
|
std::string name{};
|
2025-06-13 10:35:54 +00:00
|
|
|
double money{};
|
2025-06-13 09:15:55 +00:00
|
|
|
int pin{};
|
|
|
|
|
|
|
|
// ~XMLStorage() {
|
|
|
|
// updateXMLData(m_search);
|
|
|
|
// }
|
|
|
|
|
|
|
|
private:
|
|
|
|
// void updateXMLData (const std::string& toSearch); // Is currently unused.
|
|
|
|
pugi::xml_document m_doc;
|
|
|
|
const std::string m_search;
|
2025-06-13 10:17:07 +00:00
|
|
|
pugi::xml_node m_data;
|
2025-06-13 09:15:55 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //XMLSTORAGE_H
|