summaryrefslogtreecommitdiff
path: root/core/src/Model/Assets.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-09-06 00:15:35 -0700
committerrtk0c <[email protected]>2021-09-06 00:15:35 -0700
commit04653742243e4bb6452108cfd0fef2f4afd8f23b (patch)
treea4a5e0cc8d16ffe78859fab9ee5e487a7d22d81e /core/src/Model/Assets.cpp
parent70e00f817e9596a746800ba4afec2b7c4ca25142 (diff)
Fix all compile errors, remove OperateIOProxy requirement from DataStream api
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: