Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancFindRequestHandler.cpp @ 5700:1fab9ddaf702 find-refactoring
webdav using ResourceFinder
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 12 Jul 2024 15:02:59 +0200 |
parents | e8e028aed89f |
children | 359a8adb3802 |
comparison
equal
deleted
inserted
replaced
5699:e8e028aed89f | 5700:1fab9ddaf702 |
---|---|
334 { | 334 { |
335 class LookupVisitorV2 : public ResourceFinder::IVisitor | 335 class LookupVisitorV2 : public ResourceFinder::IVisitor |
336 { | 336 { |
337 private: | 337 private: |
338 DicomFindAnswers& answers_; | 338 DicomFindAnswers& answers_; |
339 ServerContext& context_; | |
340 ResourceType level_; | |
341 const DicomMap& query_; | |
342 DicomArray queryAsArray_; | 339 DicomArray queryAsArray_; |
343 const std::list<DicomTag>& sequencesToReturn_; | 340 const std::list<DicomTag>& sequencesToReturn_; |
344 std::string defaultPrivateCreator_; // the private creator to use if the group is not defined in the query itself | 341 std::string defaultPrivateCreator_; // the private creator to use if the group is not defined in the query itself |
345 const std::map<uint16_t, std::string>& privateCreators_; // the private creators defined in the query itself | 342 const std::map<uint16_t, std::string>& privateCreators_; // the private creators defined in the query itself |
346 std::string retrieveAet_; | 343 std::string retrieveAet_; |
347 FindStorageAccessMode findStorageAccessMode_; | |
348 | 344 |
349 public: | 345 public: |
350 LookupVisitorV2(DicomFindAnswers& answers, | 346 LookupVisitorV2(DicomFindAnswers& answers, |
351 ServerContext& context, | |
352 ResourceType level, | |
353 const DicomMap& query, | 347 const DicomMap& query, |
354 const std::list<DicomTag>& sequencesToReturn, | 348 const std::list<DicomTag>& sequencesToReturn, |
355 const std::map<uint16_t, std::string>& privateCreators, | 349 const std::map<uint16_t, std::string>& privateCreators) : |
356 FindStorageAccessMode findStorageAccessMode) : | |
357 answers_(answers), | 350 answers_(answers), |
358 context_(context), | |
359 level_(level), | |
360 query_(query), | |
361 queryAsArray_(query), | 351 queryAsArray_(query), |
362 sequencesToReturn_(sequencesToReturn), | 352 sequencesToReturn_(sequencesToReturn), |
363 privateCreators_(privateCreators), | 353 privateCreators_(privateCreators) |
364 findStorageAccessMode_(findStorageAccessMode) | |
365 { | 354 { |
366 answers_.SetComplete(false); | 355 answers_.SetComplete(false); |
367 | 356 |
368 { | 357 { |
369 OrthancConfiguration::ReaderLock lock; | 358 OrthancConfiguration::ReaderLock lock; |
645 | 634 |
646 ResourceFinder finder(level, false /* don't expand */); | 635 ResourceFinder finder(level, false /* don't expand */); |
647 finder.SetDatabaseLookup(lookup); | 636 finder.SetDatabaseLookup(lookup); |
648 finder.AddRequestedTags(requestedTags); | 637 finder.AddRequestedTags(requestedTags); |
649 | 638 |
650 LookupVisitorV2 visitor(answers, context_, level, *filteredInput, sequencesToReturn, privateCreators, context_.GetFindStorageAccessMode()); | 639 LookupVisitorV2 visitor(answers, *filteredInput, sequencesToReturn, privateCreators); |
651 finder.Execute(visitor, context_); | 640 finder.Execute(visitor, context_); |
652 } | 641 } |
653 else | 642 else |
654 { | 643 { |
655 /** | 644 /** |