diff Core/JobsEngine/JobStepResult.h @ 3240:e44e0127e553

Fix issue #134 (/patient/modify gives 500, should really be 400)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 15 Feb 2019 17:26:45 +0100
parents 4e43e67f8ecf
children 94f4a18a79cc
line wrap: on
line diff
--- a/Core/JobsEngine/JobStepResult.h	Fri Feb 15 16:38:12 2019 +0100
+++ b/Core/JobsEngine/JobStepResult.h	Fri Feb 15 17:26:45 2019 +0100
@@ -37,12 +37,15 @@
 
 namespace Orthanc
 {
+  class OrthancException;
+  
   class JobStepResult
   {
   private:
     JobStepCode   code_;
     unsigned int  timeout_;
     ErrorCode     error_;
+    std::string   failureDetails_;
     
     explicit JobStepResult(JobStepCode code) :
       code_(code),
@@ -71,7 +74,10 @@
 
     static JobStepResult Retry(unsigned int timeout);
 
-    static JobStepResult Failure(const ErrorCode& error);
+    static JobStepResult Failure(const ErrorCode& error,
+                                 const char* details);
+
+    static JobStepResult Failure(const OrthancException& exception);
 
     JobStepCode GetCode() const
     {
@@ -81,5 +87,7 @@
     unsigned int GetRetryTimeout() const;
 
     ErrorCode GetFailureCode() const;
+
+    const std::string& GetFailureDetails() const;
   };
 }