diff Plugins/Engine/PluginsErrorDictionary.cpp @ 1645:1558b3226b18

IHttpExceptionFormatter
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 24 Sep 2015 15:55:17 +0200
parents 939b921b2c81
children 8040d56cb0b3
line wrap: on
line diff
--- a/Plugins/Engine/PluginsErrorDictionary.cpp	Wed Sep 23 22:05:27 2015 +0200
+++ b/Plugins/Engine/PluginsErrorDictionary.cpp	Thu Sep 24 15:55:17 2015 +0200
@@ -38,6 +38,7 @@
 #endif
 
 
+
 #include "PluginsEnumerations.h"
 #include "PluginsManager.h"
 
@@ -61,17 +62,17 @@
   }
 
 
-  OrthancPluginErrorCode PluginsErrorDictionary::Register(SharedLibrary& library,
-                                                          int32_t pluginCode,
-                                                          const char* description,
-                                                          uint16_t httpStatus)
+  OrthancPluginErrorCode PluginsErrorDictionary::Register(const std::string& pluginName,
+                                                          int32_t  pluginCode,
+                                                          uint16_t httpStatus,
+                                                          const char* description)
   {
     std::auto_ptr<Error> error(new Error);
 
+    error->pluginName_ = pluginName;
     error->pluginCode_ = pluginCode;
     error->description_ = description;
     error->httpStatus_ = static_cast<HttpStatus>(httpStatus);
-    error->pluginName_ = PluginsManager::GetPluginName(library);
 
     OrthancPluginErrorCode code;
 
@@ -86,12 +87,10 @@
   }
 
 
-  void  PluginsErrorDictionary::GetExceptionMessage(Json::Value& message,  /* out */
-                                                    HttpStatus& httpStatus,  /* out */
-                                                    const OrthancException& exception)
+  bool  PluginsErrorDictionary::Format(Json::Value& message,  /* out */
+                                       HttpStatus& httpStatus,  /* out */
+                                       const OrthancException& exception)
   {
-    bool done = false;
-
     if (exception.GetErrorCode() >= ErrorCode_START_PLUGINS)
     {
       boost::mutex::scoped_lock lock(mutex_);
@@ -104,20 +103,10 @@
         message["PluginCode"] = error->second->pluginCode_;
         message["Message"] = error->second->description_;
 
-        done = true;
+        return true;
       }
     }
 
-    if (!done)
-    {
-      httpStatus = exception.GetHttpStatus();
-      message["Message"] = exception.What();
-    }
-
-    message["HttpError"] = EnumerationToString(httpStatus);
-    message["HttpStatus"] = httpStatus;
-    message["OrthancError"] = EnumerationToString(exception.GetErrorCode());
-    message["OrthancStatus"] = exception.GetErrorCode();
+    return false;
   }
-
 }