aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Assets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/Model/Assets.cpp')
-rw-r--r--core/src/Model/Assets.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/core/src/Model/Assets.cpp b/core/src/Model/Assets.cpp
index 80c2fa4..40f300e 100644
--- a/core/src/Model/Assets.cpp
+++ b/core/src/Model/Assets.cpp
@@ -16,21 +16,26 @@
using namespace std::literals::string_view_literals;
namespace fs = std::filesystem;
-template <class TProxy>
-void SavedAsset::OperateIOProxy(TProxy& proxy)
+template <class TSavedAsset, class TStream>
+void OperateStreamForSavedAsset(TSavedAsset& cell, TStream& proxy)
{
- proxy.template ObjectAdapted<DataStreamAdapters::String>(Name);
- proxy.template ObjectAdapted<DataStreamAdapters::Uuid>(Uuid);
- proxy.Value(Payload);
+ proxy.template ObjectAdapted<DataStreamAdapters::String>(cell.Name);
+ proxy.template ObjectAdapted<DataStreamAdapters::Uuid>(cell.Uuid);
+ proxy.Value(cell.Payload);
}
-template void SavedAsset::OperateIOProxy(InputDataStream& adapter);
-template void SavedAsset::OperateIOProxy(OutputDataStream& adapter);
+void SavedAsset::ReadFromDataStream(InputDataStream& stream)
+{
+ ::OperateStreamForSavedAsset(*this, stream);
+}
-Asset::Asset()
+void SavedAsset::WriteToDataStream(OutputDataStream& stream) const
{
+ ::OperateStreamForSavedAsset(*this, stream);
}
+Asset::Asset() = default;
+
class AssetList::Private
{
public: