From 4668cf08fb240da4abaafc073ba08d9d13ac0fa5 Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Tue, 30 Jan 2024 23:03:23 -0600 Subject: Refactored code and added per file config --- src/factories/BlobFactory.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'src/factories/BlobFactory.cpp') diff --git a/src/factories/BlobFactory.cpp b/src/factories/BlobFactory.cpp index 886a206..cd644bf 100644 --- a/src/factories/BlobFactory.cpp +++ b/src/factories/BlobFactory.cpp @@ -1,5 +1,5 @@ #include "BlobFactory.h" -#include "utils/MIODecoder.h" +#include "utils/Decompressor.h" #include void BlobCodeExporter::Export(std::ostream &write, std::shared_ptr raw, std::string& entryName, YAML::Node &node, std::string* replacement ) { @@ -26,18 +26,8 @@ void BlobBinaryExporter::Export(std::ostream &write, std::shared_ptr> BlobFactory::parse(std::vector& buffer, YAML::Node& data) { - auto size = data["size"].as(); - auto offset = data["offset"].as(); - std::shared_ptr result; - - if(data["mio0"]){ - auto decoded = MIO0Decoder::Decode(buffer, offset); - auto cursor = data["mio0"].as(); - result = std::make_shared(decoded.data() + cursor, size); - } else { - result = std::make_shared(buffer.data() + offset, size); - } - - return result; +std::optional> BlobFactory::parse(std::vector& buffer, YAML::Node& node) { + auto size = GetSafeNode(node, "size"); + auto [_, segment] = Decompressor::AutoDecode(node, buffer); + return std::make_shared(segment.data, segment.size); } \ No newline at end of file -- cgit v1.2.3