comparison OrthancServer/Internals/MoveScp.cpp @ 1786:164d78911382 worklists

primitives to handle dicom worklists
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 18 Nov 2015 12:00:14 +0100
parents 3309878b3e16
children 4f01c9d73f02
comparison
equal deleted inserted replaced
1784:2dbf25006f88 1786:164d78911382
96 { 96 {
97 struct MoveScpData 97 struct MoveScpData
98 { 98 {
99 std::string target_; 99 std::string target_;
100 IMoveRequestHandler* handler_; 100 IMoveRequestHandler* handler_;
101 DicomMap input_;
102 DcmDataset* lastRequest_; 101 DcmDataset* lastRequest_;
103 unsigned int subOperationCount_; 102 unsigned int subOperationCount_;
104 unsigned int failureCount_; 103 unsigned int failureCount_;
105 unsigned int warningCount_; 104 unsigned int warningCount_;
106 std::auto_ptr<IMoveRequestIterator> iterator_; 105 std::auto_ptr<IMoveRequestIterator> iterator_;
126 *responseIdentifiers = NULL; 125 *responseIdentifiers = NULL;
127 126
128 MoveScpData& data = *reinterpret_cast<MoveScpData*>(callbackData); 127 MoveScpData& data = *reinterpret_cast<MoveScpData*>(callbackData);
129 if (data.lastRequest_ == NULL) 128 if (data.lastRequest_ == NULL)
130 { 129 {
131 FromDcmtkBridge::Convert(data.input_, *requestIdentifiers); 130 DicomMap input;
131 FromDcmtkBridge::Convert(input, *requestIdentifiers);
132 132
133 try 133 try
134 { 134 {
135 data.iterator_.reset(data.handler_->Handle(data.target_, data.input_, 135 data.iterator_.reset(data.handler_->Handle(data.target_, input,
136 *data.remoteIp_, *data.remoteAet_)); 136 *data.remoteIp_, *data.remoteAet_));
137 137
138 if (data.iterator_.get() == NULL) 138 if (data.iterator_.get() == NULL)
139 { 139 {
140 // Internal error! 140 // Internal error!