Mercurial > hg > orthanc
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 } |