// Copyright Epic Games, Inc. All Rights Reserved. #include "zencore/compactbinaryfile.h" #include "zencore/compactbinaryutil.h" #include namespace zen { CbObjectFromFile LoadCompactBinaryObject(const std::filesystem::path& FilePath) { FileContents ObjectFile = ReadFile(FilePath); if (ObjectFile.ErrorCode) { throw std::system_error(ObjectFile.ErrorCode); } IoBuffer ObjectBuffer = ObjectFile.Flatten(); CbValidateError ValidateResult; CbObject Object = ValidateAndReadCompactBinaryObject(IoBuffer(ObjectBuffer), ValidateResult); if (ValidateResult == CbValidateError::None) { const IoHash WorkerId = IoHash::HashBuffer(ObjectBuffer); return {.Object = std::move(Object), .Hash = WorkerId}; } return {.Hash = IoHash::Zero}; } } // namespace zen