diff Plugins/Engine/OrthancPlugins.cpp @ 1628:77c4cc4def0f

OrthancPluginErrorCode in REST callbacks
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 18 Sep 2015 16:46:35 +0200
parents da7854deb662
children ffd23c0104af
line wrap: on
line diff
--- a/Plugins/Engine/OrthancPlugins.cpp	Fri Sep 18 16:32:29 2015 +0200
+++ b/Plugins/Engine/OrthancPlugins.cpp	Fri Sep 18 16:46:35 2015 +0200
@@ -64,9 +64,9 @@
       OrthancPluginRestCallback callback_;
       bool                      lock_;
 
-      int32_t InvokeInternal(HttpOutput& output,
-                             const std::string& flatUri,
-                             const OrthancPluginHttpRequest& request)
+      OrthancPluginErrorCode InvokeInternal(HttpOutput& output,
+                                            const std::string& flatUri,
+                                            const OrthancPluginHttpRequest& request)
       {
         return callback_(reinterpret_cast<OrthancPluginRestOutput*>(&output), 
                          flatUri.c_str(), 
@@ -88,10 +88,10 @@
         return regex_;
       }
 
-      int32_t Invoke(boost::recursive_mutex& restCallbackMutex,
-                     HttpOutput& output,
-                     const std::string& flatUri,
-                     const OrthancPluginHttpRequest& request)
+      OrthancPluginErrorCode Invoke(boost::recursive_mutex& restCallbackMutex,
+                                    HttpOutput& output,
+                                    const std::string& flatUri,
+                                    const OrthancPluginHttpRequest& request)
       {
         if (lock_)
         {
@@ -335,27 +335,21 @@
     }
 
     assert(callback != NULL);
-    int32_t error = callback->Invoke(pimpl_->restCallbackMutex_, output, flatUri, request);
+    OrthancPluginErrorCode error = callback->Invoke(pimpl_->restCallbackMutex_, output, flatUri, request);
 
-    if (error == 0 && 
+    if (error == OrthancPluginErrorCode_Success && 
         output.IsWritingMultipart())
     {
       output.CloseMultipart();
     }
 
-    if (error < 0)
+    if (error == OrthancPluginErrorCode_Success)
     {
-      LOG(ERROR) << "Plugin callback failed with error code " << error;
-      return false;
+      return true;
     }
     else
     {
-      if (error > 0)
-      {
-        LOG(WARNING) << "Plugin callback finished with warning code " << error;
-      }
-
-      return true;
+      throw OrthancException(Plugins::Convert(error));
     }
   }