Mercurial > hg > orthanc
diff OrthancServer/Sources/ServerJobs/StorageCommitmentScpJob.cpp @ 4206:171af1567473
cppcheck
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 17 Sep 2020 20:49:15 +0200 |
parents | d962a2996637 |
children | d9473bd5ed43 |
line wrap: on
line diff
--- a/OrthancServer/Sources/ServerJobs/StorageCommitmentScpJob.cpp Thu Sep 17 17:58:19 2020 +0200 +++ b/OrthancServer/Sources/ServerJobs/StorageCommitmentScpJob.cpp Thu Sep 17 20:49:15 2020 +0200 @@ -107,7 +107,8 @@ size_t index) : that_(that), index_(index), - hasFailureReason_(false) + hasFailureReason_(false), + failureReason_(StorageCommitmentFailureReason_Success) { } @@ -426,11 +427,18 @@ StorageCommitmentScpJob::StorageCommitmentScpJob(ServerContext& context, const Json::Value& serialized) : SetOfCommandsJob(new Unserializer(*this), serialized), - context_(context) + context_(context), + transactionUid_(SerializationToolbox::ReadString(serialized, TRANSACTION_UID)), + calledAet_(SerializationToolbox::ReadString(serialized, CALLED_AET)) + // "ready_" is initialized by the unserializer { - transactionUid_ = SerializationToolbox::ReadString(serialized, TRANSACTION_UID); + if (serialized.type() != Json::objectValue || + !serialized.isMember(REMOTE_MODALITY)) + { + throw OrthancException(ErrorCode_BadFileFormat); + } + remoteModality_ = RemoteModalityParameters(serialized[REMOTE_MODALITY]); - calledAet_ = SerializationToolbox::ReadString(serialized, CALLED_AET); SerializationToolbox::ReadArrayOfStrings(sopClassUids_, serialized, SOP_CLASS_UIDS); SerializationToolbox::ReadArrayOfStrings(sopInstanceUids_, serialized, SOP_INSTANCE_UIDS); }