comparison OrthancServer/Sources/ServerJobs/DicomMoveScuJob.cpp @ 5025:afa427f65444

Added an Asynchronous mode to /modalities/../move
author Alain Mazy <am@osimis.io>
date Tue, 21 Jun 2022 10:55:45 +0200
parents 6eff25f70121
children 0ea402b4d901
comparison
equal deleted inserted replaced
5021:559b35d18ef7 5025:afa427f65444
105 * added if creating a ParsedDicomFile object from a DicomMap. 105 * added if creating a ParsedDicomFile object from a DicomMap.
106 **/ 106 **/
107 query.GetAnswer(query.GetSize() - 1).Remove(DICOM_TAG_SPECIFIC_CHARACTER_SET); 107 query.GetAnswer(query.GetSize() - 1).Remove(DICOM_TAG_SPECIFIC_CHARACTER_SET);
108 } 108 }
109 109
110 110 // this method is used to implement the retrieve part of a Q&R
111 // it keeps only the main dicom tags from the C-Find answer
111 void DicomMoveScuJob::AddFindAnswer(const DicomMap& answer) 112 void DicomMoveScuJob::AddFindAnswer(const DicomMap& answer)
112 { 113 {
113 DicomMap item; 114 DicomMap item;
114 item.CopyTagIfExists(answer, DICOM_TAG_QUERY_RETRIEVE_LEVEL); 115 item.CopyTagIfExists(answer, DICOM_TAG_QUERY_RETRIEVE_LEVEL);
115 item.CopyTagIfExists(answer, DICOM_TAG_PATIENT_ID); 116 item.CopyTagIfExists(answer, DICOM_TAG_PATIENT_ID);
120 AddToQuery(query_, item); 121 AddToQuery(query_, item);
121 122
122 AddCommand(new Command(*this, answer)); 123 AddCommand(new Command(*this, answer));
123 } 124 }
124 125
126 // this method is used to implement a C-Move
127 // it keeps all tags from the C-Move query
128 void DicomMoveScuJob::AddQuery(const DicomMap& query)
129 {
130 AddToQuery(query_, query);
131 AddCommand(new Command(*this, query));
132 }
125 133
126 void DicomMoveScuJob::AddFindAnswer(QueryRetrieveHandler& query, 134 void DicomMoveScuJob::AddFindAnswer(QueryRetrieveHandler& query,
127 size_t i) 135 size_t i)
128 { 136 {
129 DicomMap answer; 137 DicomMap answer;