Mercurial > hg > orthanc
comparison OrthancServer/Scheduler/ModifyInstanceCommand.cpp @ 1572:904096e7367e
More information about the origin request in OnStoredInstance() callbacks
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 25 Aug 2015 12:10:12 +0200 |
parents | f967bdf8534e |
children | 0a2ad4a6858f |
comparison
equal
deleted
inserted
replaced
1571:3232f1c995a5 | 1572:904096e7367e |
---|---|
35 #include "../../Core/Logging.h" | 35 #include "../../Core/Logging.h" |
36 | 36 |
37 namespace Orthanc | 37 namespace Orthanc |
38 { | 38 { |
39 ModifyInstanceCommand::ModifyInstanceCommand(ServerContext& context, | 39 ModifyInstanceCommand::ModifyInstanceCommand(ServerContext& context, |
40 RequestOrigin origin, | |
40 const DicomModification& modification) : | 41 const DicomModification& modification) : |
41 context_(context), | 42 context_(context), |
43 origin_(origin), | |
42 modification_(modification) | 44 modification_(modification) |
43 { | 45 { |
44 modification_.SetAllowManualIdentifiers(true); | 46 modification_.SetAllowManualIdentifiers(true); |
45 | 47 |
46 if (modification_.IsReplaced(DICOM_TAG_PATIENT_ID)) | 48 if (modification_.IsReplaced(DICOM_TAG_PATIENT_ID)) |
56 modification_.SetLevel(ResourceType_Series); | 58 modification_.SetLevel(ResourceType_Series); |
57 } | 59 } |
58 else | 60 else |
59 { | 61 { |
60 modification_.SetLevel(ResourceType_Instance); | 62 modification_.SetLevel(ResourceType_Instance); |
63 } | |
64 | |
65 if (origin_ != RequestOrigin_Lua) | |
66 { | |
67 // TODO If issued from HTTP, "remoteIp" and "username" must be provided | |
68 throw OrthancException(ErrorCode_NotImplemented); | |
61 } | 69 } |
62 } | 70 } |
63 | 71 |
64 | 72 |
65 bool ModifyInstanceCommand::Apply(ListOfStrings& outputs, | 73 bool ModifyInstanceCommand::Apply(ListOfStrings& outputs, |
80 } | 88 } |
81 | 89 |
82 modification_.Apply(*modified); | 90 modification_.Apply(*modified); |
83 | 91 |
84 DicomInstanceToStore toStore; | 92 DicomInstanceToStore toStore; |
93 assert(origin_ == RequestOrigin_Lua); | |
94 toStore.SetLuaOrigin(); | |
85 toStore.SetParsedDicomFile(*modified); | 95 toStore.SetParsedDicomFile(*modified); |
86 // TODO other metadata | 96 // TODO other metadata |
87 toStore.AddMetadata(ResourceType_Instance, MetadataType_ModifiedFrom, *it); | 97 toStore.AddMetadata(ResourceType_Instance, MetadataType_ModifiedFrom, *it); |
88 | 98 |
89 std::string modifiedId; | 99 std::string modifiedId; |