From b3699fdc6129c7209ce2b172af61b7f8fc96d87d Mon Sep 17 00:00:00 2001 From: Ralph Wessel Date: Tue, 20 Aug 2024 17:41:14 +0100 Subject: [PATCH] GetCallResult returns results serialised as JSON in a single string --- .../Interface/Browser/Bridge/Functions/GetCallResult.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp b/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp index 886e86a..a072dd5 100644 --- a/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp +++ b/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp @@ -5,6 +5,8 @@ #include "Active/Utility/BufferOut.h" #include "Speckle/Interface/Browser/Bridge/BrowserBridge.h" +#include + #ifdef ARCHICAD #include #include @@ -46,11 +48,12 @@ std::unique_ptr GetCallResult::getArgument() const { return: The requested result (nullptr on failure) --------------------------------------------------------------------*/ std::unique_ptr GetCallResult::getResult(WrappedResultArg& argument) const { - //Confirm argument and function validity + //Confirm argument type auto result = m_bridge.releaseResult(argument); - if (!result) + auto item = dynamic_cast(result.get()); + if (!item) return nullptr; String jsonOutput; - json::JSONTransport().send(ItemWrap{*result}, Identity{}, jsonOutput); + json::JSONTransport().send(std::forward(*item), Identity{}, jsonOutput); return std::make_unique(jsonOutput); } //GetCallResult::getResult