Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 999:db18c071fbd7 lua-scripting
store-scu filter
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 04 Jul 2014 14:09:53 +0200 |
parents | 83622b0f544c |
children | 13e230bbd882 |
comparison
equal
deleted
inserted
replaced
998:4136fab6a639 | 999:db18c071fbd7 |
---|---|
34 #include "OrthancRestApi.h" | 34 #include "OrthancRestApi.h" |
35 | 35 |
36 #include "../OrthancInitialization.h" | 36 #include "../OrthancInitialization.h" |
37 #include "../../Core/HttpClient.h" | 37 #include "../../Core/HttpClient.h" |
38 #include "../FromDcmtkBridge.h" | 38 #include "../FromDcmtkBridge.h" |
39 #include "../Scheduler/ServerJob.h" | |
40 #include "../Scheduler/StoreScuFilter.h" | |
39 | 41 |
40 #include <glog/logging.h> | 42 #include <glog/logging.h> |
41 | 43 |
42 namespace Orthanc | 44 namespace Orthanc |
43 { | 45 { |
319 { | 321 { |
320 return; | 322 return; |
321 } | 323 } |
322 | 324 |
323 RemoteModalityParameters p = Configuration::GetModalityUsingSymbolicName(remote); | 325 RemoteModalityParameters p = Configuration::GetModalityUsingSymbolicName(remote); |
324 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), p); | 326 |
325 | 327 ServerJob job; |
326 for (std::list<std::string>::const_iterator | 328 for (std::list<std::string>::const_iterator |
327 it = instances.begin(); it != instances.end(); ++it) | 329 it = instances.begin(); it != instances.end(); ++it) |
328 { | 330 { |
329 LOG(INFO) << "Sending resource " << *it << " to modality \"" << remote << "\""; | 331 job.AddFilter(new StoreScuFilter(context, p)).AddInput(*it); |
330 | 332 } |
331 std::string dicom; | 333 |
332 context.ReadFile(dicom, *it, FileContentType_Dicom); | 334 job.SetDescription("Store-SCU from HTTP to modality \"" + remote + "\""); |
333 locker.GetConnection().Store(dicom); | 335 context.GetScheduler().SubmitAndWait(job); |
334 } | |
335 | 336 |
336 call.GetOutput().AnswerBuffer("{}", "application/json"); | 337 call.GetOutput().AnswerBuffer("{}", "application/json"); |
337 } | 338 } |
338 | 339 |
339 | 340 |