From 04653742243e4bb6452108cfd0fef2f4afd8f23b Mon Sep 17 00:00:00 2001 From: rtk0c Date: Mon, 6 Sep 2021 00:15:35 -0700 Subject: Fix all compile errors, remove OperateIOProxy requirement from DataStream api --- core/src/Model/Template/Template_Main.cpp | 32 ++++++++++--------------------- 1 file changed, 10 insertions(+), 22 deletions(-) (limited to 'core/src/Model/Template/Template_Main.cpp') diff --git a/core/src/Model/Template/Template_Main.cpp b/core/src/Model/Template/Template_Main.cpp index 19803aa..49187d3 100644 --- a/core/src/Model/Template/Template_Main.cpp +++ b/core/src/Model/Template/Template_Main.cpp @@ -4,6 +4,8 @@ #include "Model/Project.hpp" #include "UI/UI.hpp" #include "Utils/I18n.hpp" +#include "Utils/IO/DataStream.hpp" +#include "Utils/IO/FileStream.hpp" #include "Utils/UUID.hpp" #include @@ -60,15 +62,11 @@ fs::path TemplateAssetList::RetrievePathFromAsset(const SavedAsset& asset) const bool TemplateAssetList::SaveInstance(const SavedAsset& assetInfo, const Asset* asset) const { auto path = RetrievePathFromAsset(assetInfo); + auto stream = OutputDataStream(OutputFileStream(path, OutputFileStream::TruncateFile)); - std::ofstream ofs(path, std::ios::binary); - if (!ofs) return false; - ofs << (uint64_t)assetInfo.Name.size(); - ofs << assetInfo.Name; - ofs << static_cast(assetInfo.Payload); - + stream.WriteObject(assetInfo); if (auto tmpl = static_cast(asset)) { - tmpl->WriteTo(ofs); + stream.WriteObject(*tmpl); } return true; @@ -76,24 +74,14 @@ bool TemplateAssetList::SaveInstance(const SavedAsset& assetInfo, const Asset* a static std::unique_ptr