comparison OrthancServer/Internals/FindScp.cpp @ 2059:8e67325eaa3f

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 30 Jun 2016 20:02:21 +0200
parents cda5b0ab4ce5
children a657f7772e69
comparison
equal deleted inserted replaced
2058:43cd2ab060c7 2059:8e67325eaa3f
101 DicomFindAnswers answers_; 101 DicomFindAnswers answers_;
102 DcmDataset* lastRequest_; 102 DcmDataset* lastRequest_;
103 const std::string* remoteIp_; 103 const std::string* remoteIp_;
104 const std::string* remoteAet_; 104 const std::string* remoteAet_;
105 const std::string* calledAet_; 105 const std::string* calledAet_;
106
107 FindScpData() : answers_(false)
108 {
109 }
106 }; 110 };
107 111
108 112
109 void FindScpCallback( 113 void FindScpCallback(
110 /* in */ 114 /* in */
130 134
131 try 135 try
132 { 136 {
133 if (sopClassUid == UID_FINDModalityWorklistInformationModel) 137 if (sopClassUid == UID_FINDModalityWorklistInformationModel)
134 { 138 {
139 data.answers_.SetWorklist(true);
140
135 if (data.worklistHandler_ != NULL) 141 if (data.worklistHandler_ != NULL)
136 { 142 {
137 ParsedDicomFile query(*requestIdentifiers); 143 ParsedDicomFile query(*requestIdentifiers);
138 data.worklistHandler_->Handle(data.answers_, query, 144 data.worklistHandler_->Handle(data.answers_, query,
139 *data.remoteIp_, *data.remoteAet_, 145 *data.remoteIp_, *data.remoteAet_,
145 LOG(ERROR) << "No worklist handler is installed, cannot handle this C-FIND request"; 151 LOG(ERROR) << "No worklist handler is installed, cannot handle this C-FIND request";
146 } 152 }
147 } 153 }
148 else 154 else
149 { 155 {
156 data.answers_.SetWorklist(false);
157
150 if (data.findHandler_ != NULL) 158 if (data.findHandler_ != NULL)
151 { 159 {
152 std::list<DicomTag> sequencesToReturn; 160 std::list<DicomTag> sequencesToReturn;
153 161
154 for (unsigned long i = 0; i < requestIdentifiers->card(); i++) 162 for (unsigned long i = 0; i < requestIdentifiers->card(); i++)