Mercurial > hg > orthanc-wsi
diff Resources/Orthanc/Plugins/Samples/Common/FullOrthancDataset.cpp @ 61:147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 25 Nov 2016 17:15:55 +0100 |
parents | a59fdb848a7b |
children | 319b8c45c231 |
line wrap: on
line diff
--- a/Resources/Orthanc/Plugins/Samples/Common/FullOrthancDataset.cpp Fri Nov 25 16:38:09 2016 +0100 +++ b/Resources/Orthanc/Plugins/Samples/Common/FullOrthancDataset.cpp Fri Nov 25 17:15:55 2016 +0100 @@ -34,22 +34,8 @@ #include "OrthancPluginCppWrapper.h" -#include <json/reader.h> - namespace OrthancPlugins { - void FullOrthancDataset::Parse(const std::string& source) - { - Json::Reader reader; - - if (!reader.parse(source, root_) || - root_.type() != Json::objectValue) - { - ORTHANC_PLUGINS_THROW_EXCEPTION(OrthancPluginErrorCode_BadFileFormat); - } - } - - static const Json::Value* AccessTag(const Json::Value& dataset, const DicomTag& tag) { @@ -152,12 +138,27 @@ } + void FullOrthancDataset::CheckRoot() const + { + if (root_.type() != Json::objectValue) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(OrthancPluginErrorCode_BadFileFormat); + } + } + + FullOrthancDataset::FullOrthancDataset(IOrthancConnection& orthanc, const std::string& uri) { - std::string content; - orthanc.RestApiGet(content, uri); - Parse(content); + IOrthancConnection::RestApiGet(root_, orthanc, uri); + CheckRoot(); + } + + + FullOrthancDataset::FullOrthancDataset(const std::string& content) + { + IOrthancConnection::ParseJson(root_, content); + CheckRoot(); }