void Configuration::GetDicomModalityUsingSymbolicName(RemoteModalityParameters& modality, const std::string& name) { boost::mutex::scoped_lock lock(globalMutex_); if (!configuration_.isMember("DicomModalities")) { LOG(ERROR) << "No modality with symbolic name: " << name; throw OrthancException(ErrorCode_InexistentItem); } const Json::Value& modalities = configuration_["DicomModalities"]; if (modalities.type() != Json::objectValue || !modalities.isMember(name)) { LOG(ERROR) << "No modality with symbolic name: " << name; throw OrthancException(ErrorCode_InexistentItem); } try { modality.FromJson(modalities[name]); } catch (OrthancException&) { LOG(ERROR) << "Syntax error in the definition of DICOM modality \"" << name << "\". Please check your configuration file."; throw; } }