# HG changeset patch # User Sebastien Jodogne # Date 1763200842 -3600 # Node ID 9aa989b6ce3148315f6956d1ea51f36f40b6e33d # Parent 5a8dd25083585405b53cf4b47ba558628a3f6b75 using ErrorPayload in JobStepResult diff -r 5a8dd2508358 -r 9aa989b6ce31 OrthancFramework/Sources/JobsEngine/JobStepResult.cpp --- a/OrthancFramework/Sources/JobsEngine/JobStepResult.cpp Sat Nov 15 10:51:57 2025 +0100 +++ b/OrthancFramework/Sources/JobsEngine/JobStepResult.cpp Sat Nov 15 11:00:42 2025 +0100 @@ -70,10 +70,10 @@ JobStepResult JobStepResult::Failure(const ErrorCode& error, const char* details, - const Json::Value& errorPayload) + const ErrorPayload& payload) { JobStepResult result = Failure(error, details); - result.errorPayload_ = errorPayload; + result.failurePayload_ = payload; return result; } @@ -85,7 +85,7 @@ { return Failure(exception.GetErrorCode(), exception.HasDetails() ? exception.GetDetails() : NULL, - exception.GetPayload().GetContent()); + exception.GetPayload()); } else { @@ -137,20 +137,4 @@ throw OrthancException(ErrorCode_BadSequenceOfCalls); } } - - bool JobStepResult::HasErrorPayload() const - { - return !errorPayload_.isNull(); - } - - const Json::Value& JobStepResult::GetErrorPayload() const - { - if (!HasErrorPayload()) - { - throw OrthancException(ErrorCode_BadSequenceOfCalls); - } - - return errorPayload_; - } - } diff -r 5a8dd2508358 -r 9aa989b6ce31 OrthancFramework/Sources/JobsEngine/JobStepResult.h --- a/OrthancFramework/Sources/JobsEngine/JobStepResult.h Sat Nov 15 10:51:57 2025 +0100 +++ b/OrthancFramework/Sources/JobsEngine/JobStepResult.h Sat Nov 15 11:00:42 2025 +0100 @@ -25,15 +25,14 @@ #pragma once #include "../Enumerations.h" +#include "../OrthancException.h" + #include #include #include namespace Orthanc { - class OrthancException; - class IExceptionPayload; - class ORTHANC_PUBLIC JobStepResult { private: @@ -41,7 +40,7 @@ unsigned int timeout_; ErrorCode error_; std::string failureDetails_; - Json::Value errorPayload_; + ErrorPayload failurePayload_; explicit JobStepResult(JobStepCode code) : code_(code), @@ -64,8 +63,7 @@ static JobStepResult Failure(const ErrorCode& error, const char* details, - /* TODO PAYLOAD */ - const Json::Value& errorPayload); + const ErrorPayload& payload); static JobStepResult Failure(const OrthancException& exception); @@ -77,8 +75,9 @@ const std::string& GetFailureDetails() const; - bool HasErrorPayload() const; - - const Json::Value& GetErrorPayload() const; + const ErrorPayload& GetFailurePayload() const + { + return failurePayload_; + } }; } diff -r 5a8dd2508358 -r 9aa989b6ce31 OrthancFramework/Sources/JobsEngine/JobsEngine.cpp --- a/OrthancFramework/Sources/JobsEngine/JobsEngine.cpp Sat Nov 15 10:51:57 2025 +0100 +++ b/OrthancFramework/Sources/JobsEngine/JobsEngine.cpp Sat Nov 15 11:00:42 2025 +0100 @@ -87,14 +87,7 @@ case JobStepCode_Failure: running.GetJob().Stop(JobStopReason_Failure); - if (result.HasErrorPayload()) - { - running.UpdateStatus(result.GetFailureCode(), result.GetFailureDetails(), result.GetErrorPayload()); - } - else - { - running.UpdateStatus(result.GetFailureCode(), result.GetFailureDetails()); - } + running.UpdateStatus(result.GetFailureCode(), result.GetFailureDetails(), result.GetFailurePayload()); running.MarkFailure(); return false; diff -r 5a8dd2508358 -r 9aa989b6ce31 OrthancFramework/Sources/JobsEngine/JobsRegistry.cpp --- a/OrthancFramework/Sources/JobsEngine/JobsRegistry.cpp Sat Nov 15 10:51:57 2025 +0100 +++ b/OrthancFramework/Sources/JobsEngine/JobsRegistry.cpp Sat Nov 15 11:00:42 2025 +0100 @@ -1475,7 +1475,7 @@ void JobsRegistry::RunningJob::UpdateStatus(ErrorCode code, const std::string& details, - const Json::Value& errorPayload) + const ErrorPayload& errorPayload) { if (!IsValid()) { @@ -1484,7 +1484,7 @@ else { JobStatus status(code, details, *job_); - status.GetErrorPayload().SetContent(ErrorPayloadType_None /* TODO PAYLOAD */, errorPayload); + status.GetErrorPayload() = errorPayload; boost::mutex::scoped_lock lock(registry_.mutex_); registry_.CheckInvariants(); diff -r 5a8dd2508358 -r 9aa989b6ce31 OrthancFramework/Sources/JobsEngine/JobsRegistry.h --- a/OrthancFramework/Sources/JobsEngine/JobsRegistry.h Sat Nov 15 10:51:57 2025 +0100 +++ b/OrthancFramework/Sources/JobsEngine/JobsRegistry.h Sat Nov 15 11:00:42 2025 +0100 @@ -246,7 +246,7 @@ void UpdateStatus(ErrorCode code, const std::string& details, - const Json::Value& errorPayload); + const ErrorPayload& errorPayload); }; }; }