comparison Plugins/Engine/OrthancPlugins.cpp @ 1657:5360cdba70d8

New function "OrthancPluginRegisterDictionaryTag()" to declare DICOM tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 29 Sep 2015 16:31:48 +0200
parents 2e692c83e2f3
children de1413733c97
comparison
equal deleted inserted replaced
1656:d3ba98d6b6e9 1657:5360cdba70d8
41 #include "../../Core/ChunkedBuffer.h" 41 #include "../../Core/ChunkedBuffer.h"
42 #include "../../Core/HttpServer/HttpToolbox.h" 42 #include "../../Core/HttpServer/HttpToolbox.h"
43 #include "../../Core/Logging.h" 43 #include "../../Core/Logging.h"
44 #include "../../Core/OrthancException.h" 44 #include "../../Core/OrthancException.h"
45 #include "../../Core/Toolbox.h" 45 #include "../../Core/Toolbox.h"
46 #include "../../OrthancServer/FromDcmtkBridge.h"
46 #include "../../OrthancServer/OrthancInitialization.h" 47 #include "../../OrthancServer/OrthancInitialization.h"
47 #include "../../OrthancServer/ServerContext.h" 48 #include "../../OrthancServer/ServerContext.h"
48 #include "../../OrthancServer/ServerToolbox.h" 49 #include "../../OrthancServer/ServerToolbox.h"
49 #include "../../Core/Compression/ZlibCompressor.h" 50 #include "../../Core/Compression/ZlibCompressor.h"
50 #include "../../Core/Compression/GzipCompressor.h" 51 #include "../../Core/Compression/GzipCompressor.h"
295 sizeof(int32_t) != sizeof(OrthancPluginContentType) || 296 sizeof(int32_t) != sizeof(OrthancPluginContentType) ||
296 sizeof(int32_t) != sizeof(OrthancPluginResourceType) || 297 sizeof(int32_t) != sizeof(OrthancPluginResourceType) ||
297 sizeof(int32_t) != sizeof(OrthancPluginChangeType) || 298 sizeof(int32_t) != sizeof(OrthancPluginChangeType) ||
298 sizeof(int32_t) != sizeof(OrthancPluginImageFormat) || 299 sizeof(int32_t) != sizeof(OrthancPluginImageFormat) ||
299 sizeof(int32_t) != sizeof(OrthancPluginCompressionType) || 300 sizeof(int32_t) != sizeof(OrthancPluginCompressionType) ||
301 sizeof(int32_t) != sizeof(OrthancPluginValueRepresentation) ||
300 sizeof(int32_t) != sizeof(_OrthancPluginDatabaseAnswerType)) 302 sizeof(int32_t) != sizeof(_OrthancPluginDatabaseAnswerType))
301 { 303 {
302 /* Sanity check of the compiler */ 304 /* Sanity check of the compiler */
303 throw OrthancException(ErrorCode_Plugin); 305 throw OrthancException(ErrorCode_Plugin);
304 } 306 }
1695 *reinterpret_cast<const _OrthancPluginRegisterErrorCode*>(parameters); 1697 *reinterpret_cast<const _OrthancPluginRegisterErrorCode*>(parameters);
1696 *(p.target) = pimpl_->dictionary_.Register(plugin, p.code, p.httpStatus, p.message); 1698 *(p.target) = pimpl_->dictionary_.Register(plugin, p.code, p.httpStatus, p.message);
1697 return true; 1699 return true;
1698 } 1700 }
1699 1701
1702 case _OrthancPluginService_RegisterDictionaryTag:
1703 {
1704 const _OrthancPluginRegisterDictionaryTag& p =
1705 *reinterpret_cast<const _OrthancPluginRegisterDictionaryTag*>(parameters);
1706 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(p.group, p.element),
1707 Plugins::Convert(p.vr), p.name,
1708 p.minMultiplicity, p.maxMultiplicity);
1709 return true;
1710 }
1711
1700 default: 1712 default:
1701 { 1713 {
1702 // This service is unknown to the Orthanc plugin engine 1714 // This service is unknown to the Orthanc plugin engine
1703 return false; 1715 return false;
1704 } 1716 }