Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancGetRequestHandler.h @ 4258:6f5d4bfb2c90
C-GET SCP: Fix responses and handling of cancel
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 26 Oct 2020 12:23:36 +0100 |
parents | c046d559edb3 |
children | d9473bd5ed43 |
comparison
equal
deleted
inserted
replaced
4257:c046d559edb3 | 4258:6f5d4bfb2c90 |
---|---|
54 std::vector<std::string> instances_; | 54 std::vector<std::string> instances_; |
55 size_t position_; | 55 size_t position_; |
56 RemoteModalityParameters remote_; | 56 RemoteModalityParameters remote_; |
57 std::string originatorAet_; | 57 std::string originatorAet_; |
58 | 58 |
59 unsigned int nRemaining_; | 59 unsigned int completedCount_; |
60 unsigned int nCompleted_; | |
61 unsigned int warningCount_; | 60 unsigned int warningCount_; |
62 unsigned int nFailed_; | 61 unsigned int failedCount_; |
63 std::string failedUIDs_; | 62 std::string failedUIDs_; |
64 | 63 |
65 DIC_US origMsgId_; | |
66 T_ASC_PresentationContextID origPresId_; | |
67 | |
68 bool getCancelled_; | |
69 uint32_t timeout_; | 64 uint32_t timeout_; |
70 | 65 |
71 bool LookupIdentifiers(std::list<std::string>& publicIds, | 66 bool LookupIdentifiers(std::list<std::string>& publicIds, |
72 ResourceType level, | 67 ResourceType level, |
73 const DicomMap& input) const; | 68 const DicomMap& input) const; |
74 | 69 |
75 Status PerformGetSubOp(T_ASC_Association *assoc, | 70 // Returns "false" iff cancel |
76 const std::string& sopClassUid, | 71 bool PerformGetSubOp(T_ASC_Association *assoc, |
77 const std::string& sopInstanceUid, | 72 const std::string& sopClassUid, |
78 DcmFileFormat* datasetRaw); | 73 const std::string& sopInstanceUid, |
74 DcmFileFormat* datasetRaw); | |
79 | 75 |
80 void AddFailedUIDInstance(const std::string& sopInstance); | 76 void AddFailedUIDInstance(const std::string& sopInstance); |
81 | 77 |
82 public: | 78 public: |
83 explicit OrthancGetRequestHandler(ServerContext& context); | 79 explicit OrthancGetRequestHandler(ServerContext& context); |
85 virtual bool Handle(const DicomMap& input, | 81 virtual bool Handle(const DicomMap& input, |
86 const std::string& originatorIp, | 82 const std::string& originatorIp, |
87 const std::string& originatorAet, | 83 const std::string& originatorAet, |
88 const std::string& calledAet, | 84 const std::string& calledAet, |
89 uint32_t timeout) ORTHANC_OVERRIDE; | 85 uint32_t timeout) ORTHANC_OVERRIDE; |
90 | 86 |
91 virtual Status DoNext(T_ASC_Association *assoc) ORTHANC_OVERRIDE; | 87 virtual bool DoNext(T_ASC_Association *assoc) ORTHANC_OVERRIDE; |
92 | 88 |
93 virtual unsigned int GetSubOperationCount() const ORTHANC_OVERRIDE | 89 virtual unsigned int GetSubOperationCount() const ORTHANC_OVERRIDE |
94 { | 90 { |
95 return static_cast<unsigned int>(instances_.size()); | 91 return static_cast<unsigned int>(instances_.size()); |
96 } | 92 } |
97 | 93 |
98 virtual unsigned int GetRemainingCount() const ORTHANC_OVERRIDE | |
99 { | |
100 return nRemaining_; | |
101 } | |
102 | |
103 virtual unsigned int GetCompletedCount() const ORTHANC_OVERRIDE | 94 virtual unsigned int GetCompletedCount() const ORTHANC_OVERRIDE |
104 { | 95 { |
105 return nCompleted_; | 96 return completedCount_; |
106 } | 97 } |
107 | 98 |
108 virtual unsigned int GetWarningCount() const ORTHANC_OVERRIDE | 99 virtual unsigned int GetWarningCount() const ORTHANC_OVERRIDE |
109 { | 100 { |
110 return warningCount_; | 101 return warningCount_; |
111 } | 102 } |
112 | 103 |
113 virtual unsigned int GetFailedCount() const ORTHANC_OVERRIDE | 104 virtual unsigned int GetFailedCount() const ORTHANC_OVERRIDE |
114 { | 105 { |
115 return nFailed_; | 106 return failedCount_; |
116 } | 107 } |
117 | 108 |
118 virtual const std::string& GetFailedUids() const ORTHANC_OVERRIDE | 109 virtual const std::string& GetFailedUids() const ORTHANC_OVERRIDE |
119 { | 110 { |
120 return failedUIDs_; | 111 return failedUIDs_; |