Mercurial > hg > orthanc
diff Plugins/Samples/Common/OrthancPluginCppWrapper.cpp @ 2205:395522e46b2b
refactoring of the worklist sample using OrthancPluginCppWrapper
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 08 Dec 2016 16:16:25 +0100 |
parents | 11420238f337 |
children | 27106f7e3759 |
line wrap: on
line diff
--- a/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp Thu Dec 08 14:46:13 2016 +0100 +++ b/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp Thu Dec 08 16:16:25 2016 +0100 @@ -276,11 +276,24 @@ } - OrthancString::OrthancString(OrthancPluginContext* context, - char* str) : - context_(context), - str_(str) + void MemoryBuffer::GetDicomQuery(const OrthancPluginWorklistQuery* query) + { + Clear(); + Check(OrthancPluginWorklistGetDicomQuery(context_, &buffer_, query)); + } + + + void OrthancString::Assign(char* str) { + if (str == NULL) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(OrthancPluginErrorCode_InternalError); + } + else + { + Clear(); + str_ = str; + } } @@ -322,12 +335,24 @@ ORTHANC_PLUGINS_THROW_EXCEPTION(OrthancPluginErrorCode_BadFileFormat); } } + + + void OrthancString::DicomToJson(const OrthancPlugins::MemoryBuffer& dicom, + OrthancPluginDicomToJsonFormat format, + OrthancPluginDicomToJsonFlags flags, + uint32_t maxStringLength) + { + Assign(OrthancPluginDicomBufferToJson(context_, dicom.GetData(), dicom.GetSize(), + format, flags, maxStringLength)); + } + OrthancConfiguration::OrthancConfiguration(OrthancPluginContext* context) : context_(context) { - OrthancString str(context, OrthancPluginGetConfiguration(context)); + OrthancString str(context); + str.Assign(OrthancPluginGetConfiguration(context)); if (str.GetContent() == NULL) {