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_;