Mercurial > hg > orthanc-dicomweb
changeset 66:25eac9cbe5c6
compatibility with forthcoming sdk 0.9.5
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 18 Sep 2015 18:03:02 +0200 |
parents | da70170d367e |
children | 739c0adcf94c |
files | NEWS Plugin/Configuration.h Plugin/Plugin.cpp Plugin/QidoRs.cpp Plugin/QidoRs.h Plugin/StowRs.cpp Plugin/StowRs.h Plugin/Wado.cpp Plugin/Wado.h Plugin/WadoRs.cpp Plugin/WadoRs.h |
diffstat | 11 files changed, 176 insertions(+), 162 deletions(-) [+] |
line wrap: on
line diff
--- a/NEWS Thu Aug 13 12:52:51 2015 +0200 +++ b/NEWS Fri Sep 18 18:03:02 2015 +0200 @@ -5,6 +5,8 @@ Version 0.1 (2015/08/03) ======================== +=> Minimum SDK version: 0.9.1 <= + * Support of WADO-RS - RetrieveMetadata * Support of WADO, in addition to DICOMweb * All the APIs are now under the same root
--- a/Plugin/Configuration.h Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/Configuration.h Fri Sep 18 18:03:02 2015 +0200 @@ -23,6 +23,17 @@ #include <orthanc/OrthancCPlugin.h> #include <json/value.h> +#if (ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER >= 9 && ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER >= 5) +# define REST_RETURN_TYPE OrthancPluginErrorCode +# define REST_RETURN_SUCCESS OrthancPluginErrorCode_Success +# define REST_RETURN_FAILURE OrthancPluginErrorCode_Plugin +#else +# define REST_RETURN_TYPE int32_t +# define REST_RETURN_SUCCESS 0 +# define REST_RETURN_FAILURE -1 +#endif + + namespace OrthancPlugins { struct MultipartItem
--- a/Plugin/Plugin.cpp Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/Plugin.cpp Fri Sep 18 18:03:02 2015 +0200 @@ -39,9 +39,9 @@ const gdcm::Dict* dictionary_ = NULL; -static int32_t SwitchStudies(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +static REST_RETURN_TYPE SwitchStudies(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { switch (request->method) { @@ -55,14 +55,14 @@ default: OrthancPluginSendMethodNotAllowed(context_, output, "GET,POST"); - return 0; + return REST_RETURN_SUCCESS; } } -static int32_t SwitchStudy(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +static REST_RETURN_TYPE SwitchStudy(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { switch (request->method) { @@ -76,7 +76,7 @@ default: OrthancPluginSendMethodNotAllowed(context_, output, "GET,POST"); - return 0; + return REST_RETURN_SUCCESS; } }
--- a/Plugin/QidoRs.cpp Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/QidoRs.cpp Fri Sep 18 18:03:02 2015 +0200 @@ -769,16 +769,16 @@ -int32_t SearchForStudies(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE SearchForStudies(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (request->method != OrthancPluginHttpMethod_Get) { OrthancPluginSendMethodNotAllowed(context_, output, "GET"); - return 0; + return REST_RETURN_SUCCESS; } ModuleMatcher matcher(request); @@ -788,36 +788,36 @@ ApplyMatcher(output, request, matcher, candidates, QueryLevel_Study); - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (boost::bad_lexical_cast& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t SearchForSeries(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE SearchForSeries(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (request->method != OrthancPluginHttpMethod_Get) { OrthancPluginSendMethodNotAllowed(context_, output, "GET"); - return 0; + return REST_RETURN_SUCCESS; } ModuleMatcher matcher(request); @@ -835,36 +835,36 @@ ApplyMatcher(output, request, matcher, candidates, QueryLevel_Series); - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (boost::bad_lexical_cast& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t SearchForInstances(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE SearchForInstances(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (request->method != OrthancPluginHttpMethod_Get) { OrthancPluginSendMethodNotAllowed(context_, output, "GET"); - return 0; + return REST_RETURN_SUCCESS; } ModuleMatcher matcher(request); @@ -890,21 +890,21 @@ ApplyMatcher(output, request, matcher, candidates, QueryLevel_Instance); - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (boost::bad_lexical_cast& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } }
--- a/Plugin/QidoRs.h Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/QidoRs.h Fri Sep 18 18:03:02 2015 +0200 @@ -20,16 +20,17 @@ #pragma once -#include <orthanc/OrthancCPlugin.h> +#include "Configuration.h" + -int32_t SearchForStudies(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE SearchForStudies(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t SearchForSeries(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE SearchForSeries(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t SearchForInstances(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE SearchForInstances(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request);
--- a/Plugin/StowRs.cpp Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/StowRs.cpp Fri Sep 18 18:03:02 2015 +0200 @@ -84,9 +84,9 @@ -int32_t StowCallback(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE StowCallback(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { @@ -96,7 +96,7 @@ if (request->method != OrthancPluginHttpMethod_Post) { OrthancPluginSendMethodNotAllowed(context_, output, "POST"); - return 0; + return REST_RETURN_SUCCESS; } std::string expectedStudy; @@ -122,7 +122,7 @@ { OrthancPluginLogError(context_, "No content type in the HTTP header of a STOW-RS request"); OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string application; @@ -136,7 +136,7 @@ std::string s = "Unable to parse the content type of a STOW-RS request (" + application + ")"; OrthancPluginLogError(context_, s.c_str()); OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } @@ -146,7 +146,7 @@ { OrthancPluginLogError(context_, "The STOW-RS plugin currently only supports application/dicom"); OrthancPluginSendHttpStatusCode(context_, output, 415 /* Unsupported media type */); - return 0; + return REST_RETURN_SUCCESS; } @@ -166,7 +166,7 @@ std::string s = "The STOW-RS request contains a part that is not application/dicom (it is: \"" + items[i].contentType_ + "\")"; OrthancPluginLogError(context_, s.c_str()); OrthancPluginSendHttpStatusCode(context_, output, 415 /* Unsupported media type */); - return 0; + return REST_RETURN_SUCCESS; } OrthancPlugins::ParsedDicomFile dicom(items[i]); @@ -229,16 +229,16 @@ OrthancPlugins::AnswerDicom(context_, output, wadoBase, *dictionary_, result, isXml, false); - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } }
--- a/Plugin/StowRs.h Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/StowRs.h Fri Sep 18 18:03:02 2015 +0200 @@ -20,10 +20,10 @@ #pragma once -#include <orthanc/OrthancCPlugin.h> +#include "Configuration.h" bool IsXmlExpected(const OrthancPluginHttpRequest* request); -int32_t StowCallback(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE StowCallback(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request);
--- a/Plugin/Wado.cpp Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/Wado.cpp Fri Sep 18 18:03:02 2015 +0200 @@ -153,8 +153,8 @@ } -static int32_t AnswerDicom(OrthancPluginRestOutput* output, - const std::string& instance) +static REST_RETURN_TYPE AnswerDicom(OrthancPluginRestOutput* output, + const std::string& instance) { std::string uri = "/instances/" + instance + "/file"; @@ -162,13 +162,13 @@ if (OrthancPlugins::RestApiGetString(dicom, context_, uri)) { OrthancPluginAnswerBuffer(context_, output, dicom.c_str(), dicom.size(), "application/dicom"); - return 0; + return REST_RETURN_SUCCESS; } else { std::string msg = "WADO: Unable to retrieve DICOM file from " + uri; OrthancPluginLogError(context_, msg.c_str()); - return -1; + return REST_RETURN_FAILURE; } } @@ -191,28 +191,28 @@ } -static int32_t AnswerPngPreview(OrthancPluginRestOutput* output, - const std::string& instance) +static REST_RETURN_TYPE AnswerPngPreview(OrthancPluginRestOutput* output, + const std::string& instance) { std::string png; if (!RetrievePngPreview(png, instance)) { - return -1; + return REST_RETURN_FAILURE; } OrthancPluginAnswerBuffer(context_, output, png.c_str(), png.size(), "image/png"); - return 0; + return REST_RETURN_SUCCESS; } -static int32_t AnswerJpegPreview(OrthancPluginRestOutput* output, - const std::string& instance) +static REST_RETURN_TYPE AnswerJpegPreview(OrthancPluginRestOutput* output, + const std::string& instance) { // Retrieve the preview in the PNG format std::string png; if (!RetrievePngPreview(png, instance)) { - return -1; + return REST_RETURN_FAILURE; } // Decode the PNG file @@ -225,27 +225,27 @@ writer.WriteToMemory(jpeg, reader); OrthancPluginAnswerBuffer(context_, output, jpeg.c_str(), jpeg.size(), "image/jpeg"); - return 0; + return REST_RETURN_SUCCESS; } -int32_t WadoCallback(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE WadoCallback(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (request->method != OrthancPluginHttpMethod_Get) { OrthancPluginSendMethodNotAllowed(context_, output, "GET"); - return -1; + return REST_RETURN_FAILURE; } std::string instance; std::string contentType = "image/jpg"; // By default, JPEG image will be returned if (!LocateInstance(instance, contentType, request)) { - return -1; + return REST_RETURN_FAILURE; } if (contentType == "application/dicom") @@ -265,19 +265,19 @@ { std::string msg = "WADO: Unsupported content type: \"" + contentType + "\""; OrthancPluginLogError(context_, msg.c_str()); - return -1; + return REST_RETURN_FAILURE; } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } }
--- a/Plugin/Wado.h Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/Wado.h Fri Sep 18 18:03:02 2015 +0200 @@ -20,8 +20,8 @@ #pragma once -#include <orthanc/OrthancCPlugin.h> +#include "Configuration.h" -int32_t WadoCallback(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE WadoCallback(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request);
--- a/Plugin/WadoRs.cpp Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/WadoRs.cpp Fri Sep 18 18:03:02 2015 +0200 @@ -172,20 +172,20 @@ } -static int32_t AnswerListOfDicomInstances(OrthancPluginRestOutput* output, - const std::string& resource) +static REST_RETURN_TYPE AnswerListOfDicomInstances(OrthancPluginRestOutput* output, + const std::string& resource) { Json::Value instances; if (!OrthancPlugins::RestApiGetJson(instances, context_, resource + "/instances")) { // Internal error OrthancPluginSendHttpStatusCode(context_, output, 400); - return 0; + return REST_RETURN_SUCCESS; } if (OrthancPluginStartMultipartAnswer(context_, output, "related", "application/dicom")) { - return -1; + return REST_RETURN_FAILURE; } for (Json::Value::ArrayIndex i = 0; i < instances.size(); i++) @@ -195,11 +195,11 @@ if (OrthancPlugins::RestApiGetString(dicom, context_, uri) && OrthancPluginSendMultipartItem(context_, output, dicom.c_str(), dicom.size()) != 0) { - return -1; + return REST_RETURN_FAILURE; } } - return 0; + return REST_RETURN_SUCCESS; } @@ -378,16 +378,16 @@ } -int32_t RetrieveDicomStudy(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveDicomStudy(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (!AcceptMultipartDicom(request)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri; @@ -396,31 +396,31 @@ AnswerListOfDicomInstances(output, uri); } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t RetrieveDicomSeries(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveDicomSeries(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (!AcceptMultipartDicom(request)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri; @@ -429,32 +429,32 @@ AnswerListOfDicomInstances(output, uri); } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t RetrieveDicomInstance(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveDicomInstance(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (!AcceptMultipartDicom(request)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri; @@ -462,36 +462,36 @@ { if (OrthancPluginStartMultipartAnswer(context_, output, "related", "application/dicom")) { - return -1; + return REST_RETURN_FAILURE; } std::string dicom; if (OrthancPlugins::RestApiGetString(dicom, context_, uri + "/file") && OrthancPluginSendMultipartItem(context_, output, dicom.c_str(), dicom.size()) != 0) { - return -1; + return REST_RETURN_FAILURE; } } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t RetrieveStudyMetadata(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveStudyMetadata(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { @@ -499,7 +499,7 @@ if (!AcceptMetadata(request, isXml)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri; @@ -508,24 +508,24 @@ AnswerMetadata(output, request, uri, false, isXml); } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t RetrieveSeriesMetadata(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveSeriesMetadata(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { @@ -533,7 +533,7 @@ if (!AcceptMetadata(request, isXml)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri; @@ -542,24 +542,24 @@ AnswerMetadata(output, request, uri, false, isXml); } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } -int32_t RetrieveInstanceMetadata(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveInstanceMetadata(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { @@ -567,7 +567,7 @@ if (!AcceptMetadata(request, isXml)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri; @@ -576,17 +576,17 @@ AnswerMetadata(output, request, uri, true, isXml); } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } } @@ -662,16 +662,16 @@ return false; } -int32_t RetrieveBulkData(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request) +REST_RETURN_TYPE RetrieveBulkData(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request) { try { if (!AcceptBulkData(request)) { OrthancPluginSendHttpStatusCode(context_, output, 400 /* Bad request */); - return 0; + return REST_RETURN_SUCCESS; } std::string uri, content; @@ -690,7 +690,7 @@ if (OrthancPluginStartMultipartAnswer(context_, output, "related", "application/octet-stream") != 0 || OrthancPluginSendMultipartItem(context_, output, result.c_str(), result.size()) != 0) { - return -1; + return REST_RETURN_FAILURE; } } else @@ -699,16 +699,16 @@ } } - return 0; + return REST_RETURN_SUCCESS; } catch (Orthanc::OrthancException& e) { OrthancPluginLogError(context_, e.What()); - return -1; + return REST_RETURN_FAILURE; } catch (std::runtime_error& e) { OrthancPluginLogError(context_, e.what()); - return -1; + return REST_RETURN_FAILURE; } }
--- a/Plugin/WadoRs.h Thu Aug 13 12:52:51 2015 +0200 +++ b/Plugin/WadoRs.h Fri Sep 18 18:03:02 2015 +0200 @@ -20,33 +20,33 @@ #pragma once -#include <orthanc/OrthancCPlugin.h> +#include "Configuration.h" -int32_t RetrieveDicomStudy(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveDicomStudy(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t RetrieveDicomSeries(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveDicomSeries(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t RetrieveDicomInstance(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveDicomInstance(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t RetrieveStudyMetadata(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveStudyMetadata(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t RetrieveSeriesMetadata(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveSeriesMetadata(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t RetrieveInstanceMetadata(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveInstanceMetadata(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request); -int32_t RetrieveBulkData(OrthancPluginRestOutput* output, - const char* url, - const OrthancPluginHttpRequest* request); +REST_RETURN_TYPE RetrieveBulkData(OrthancPluginRestOutput* output, + const char* url, + const OrthancPluginHttpRequest* request);