Mercurial > hg > orthanc
diff Plugins/Samples/Common/SimplifiedOrthancDataset.cpp @ 2180:71b8bec8ca91
improvements
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 25 Nov 2016 17:00:39 +0100 |
parents | de32f3b4ff09 |
children | 403d92d8df83 |
line wrap: on
line diff
--- a/Plugins/Samples/Common/SimplifiedOrthancDataset.cpp Fri Nov 25 16:11:44 2016 +0100 +++ b/Plugins/Samples/Common/SimplifiedOrthancDataset.cpp Fri Nov 25 17:00:39 2016 +0100 @@ -34,22 +34,8 @@ #include "OrthancPluginCppWrapper.h" -#include <json/reader.h> - namespace OrthancPlugins { - void SimplifiedOrthancDataset::Parse(const std::string& source) - { - Json::Reader reader; - - if (!reader.parse(source, root_) || - root_.type() != Json::objectValue) - { - ORTHANC_PLUGINS_THROW_EXCEPTION(OrthancPluginErrorCode_BadFileFormat); - } - } - - const Json::Value* SimplifiedOrthancDataset::LookupPath(const DicomPath& path) const { const Json::Value* content = &root_; @@ -101,12 +87,27 @@ } + void SimplifiedOrthancDataset::CheckRoot() const + { + if (root_.type() != Json::objectValue) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(OrthancPluginErrorCode_BadFileFormat); + } + } + + SimplifiedOrthancDataset::SimplifiedOrthancDataset(IOrthancConnection& orthanc, const std::string& uri) { - std::string content; - orthanc.RestApiGet(content, uri); - Parse(content); + IOrthancConnection::RestApiGet(root_, orthanc, uri); + CheckRoot(); + } + + + SimplifiedOrthancDataset::SimplifiedOrthancDataset(const std::string& content) + { + IOrthancConnection::ParseJson(root_, content); + CheckRoot(); }