comparison OrthancServer/OrthancGetRequestHandler.h @ 3955:66879215cbf3 c-get

C-GET: add timeout, fix uninitalized priority, support multiple resources
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 20 May 2020 16:38:33 +0200
parents 67b457283499
children 76a24be12912
comparison
equal deleted inserted replaced
3954:67b457283499 3955:66879215cbf3
35 #include "../Core/DicomNetworking/IGetRequestHandler.h" 35 #include "../Core/DicomNetworking/IGetRequestHandler.h"
36 #include "../Core/DicomNetworking/RemoteModalityParameters.h" 36 #include "../Core/DicomNetworking/RemoteModalityParameters.h"
37 37
38 #include <dcmtk/dcmnet/dimse.h> 38 #include <dcmtk/dcmnet/dimse.h>
39 39
40 #include <list>
41
40 namespace Orthanc 42 namespace Orthanc
41 { 43 {
42 class ServerContext; 44 class ServerContext;
43 45
44 class OrthancGetRequestHandler : public IGetRequestHandler 46 class OrthancGetRequestHandler : public IGetRequestHandler
55 unsigned int nCompleted_; 57 unsigned int nCompleted_;
56 unsigned int warningCount_; 58 unsigned int warningCount_;
57 unsigned int nFailed_; 59 unsigned int nFailed_;
58 std::string failedUIDs_; 60 std::string failedUIDs_;
59 61
60 T_DIMSE_Priority priority_;
61 DIC_US origMsgId_; 62 DIC_US origMsgId_;
62 T_ASC_PresentationContextID origPresId_; 63 T_ASC_PresentationContextID origPresId_;
63 64
64 bool getCancelled_; 65 bool getCancelled_;
66 uint32_t timeout_;
65 67
66 bool LookupIdentifiers(std::vector<std::string>& publicIds, 68 bool LookupIdentifiers(std::list<std::string>& publicIds,
67 ResourceType level, 69 ResourceType level,
68 const DicomMap& input); 70 const DicomMap& input) const;
69 71
70 OFCondition PerformGetSubOp(T_ASC_Association *assoc, 72 OFCondition PerformGetSubOp(T_ASC_Association *assoc,
71 DIC_UI sopClass, 73 const std::string& sopClassUid,
72 DIC_UI sopInstance, 74 const std::string& sopInstanceUid,
73 DcmDataset *dataset); 75 DcmDataset& dataset);
74 76
75 void AddFailedUIDInstance(const char *sopInstance); 77 void AddFailedUIDInstance(const std::string& sopInstance);
76 78
77 public: 79 public:
78 OrthancGetRequestHandler(ServerContext& context); 80 OrthancGetRequestHandler(ServerContext& context);
79 81
80 bool Handle(const DicomMap& input, 82 virtual bool Handle(const DicomMap& input,
81 const std::string& originatorIp, 83 const std::string& originatorIp,
82 const std::string& originatorAet, 84 const std::string& originatorAet,
83 const std::string& calledAet); 85 const std::string& calledAet,
86 uint32_t timeout) ORTHANC_OVERRIDE;
84 87
85 virtual Status DoNext(T_ASC_Association *assoc) ORTHANC_OVERRIDE; 88 virtual Status DoNext(T_ASC_Association *assoc) ORTHANC_OVERRIDE;
86 89
87 virtual unsigned int GetSubOperationCount() const ORTHANC_OVERRIDE 90 virtual unsigned int GetSubOperationCount() const ORTHANC_OVERRIDE
88 { 91 {