comparison OrthancServer/ServerContext.h @ 3920:82e88ff003d7 c-get

merge default -> c-get
author Alain Mazy <alain@mazy.be>
date Tue, 12 May 2020 14:58:24 +0200
parents 0e3849268a55
children 4cdc875510d1
comparison
equal deleted inserted replaced
3918:dba48c162b7b 3920:82e88ff003d7
38 #include "OrthancHttpHandler.h" 38 #include "OrthancHttpHandler.h"
39 #include "ServerIndex.h" 39 #include "ServerIndex.h"
40 #include "ServerJobs/IStorageCommitmentFactory.h" 40 #include "ServerJobs/IStorageCommitmentFactory.h"
41 41
42 #include "../Core/Cache/MemoryCache.h" 42 #include "../Core/Cache/MemoryCache.h"
43 #include "../Core/DicomParsing/IDicomTranscoder.h"
43 44
44 45
45 namespace Orthanc 46 namespace Orthanc
46 { 47 {
47 class DicomInstanceToStore; 48 class DicomInstanceToStore;
96 context_(context) 97 context_(context)
97 { 98 {
98 } 99 }
99 100
100 virtual void SignalStoredInstance(const std::string& publicId, 101 virtual void SignalStoredInstance(const std::string& publicId,
101 DicomInstanceToStore& instance, 102 const DicomInstanceToStore& instance,
102 const Json::Value& simplifiedTags) 103 const Json::Value& simplifiedTags)
103 { 104 {
104 context_.mainLua_.SignalStoredInstance(publicId, instance, simplifiedTags); 105 context_.mainLua_.SignalStoredInstance(publicId, instance, simplifiedTags);
105 } 106 }
106 107
219 unsigned int limitFindResults_; 220 unsigned int limitFindResults_;
220 221
221 std::unique_ptr<MetricsRegistry> metricsRegistry_; 222 std::unique_ptr<MetricsRegistry> metricsRegistry_;
222 bool isHttpServerSecure_; 223 bool isHttpServerSecure_;
223 bool isExecuteLuaEnabled_; 224 bool isExecuteLuaEnabled_;
225 bool overwriteInstances_;
224 226
225 std::unique_ptr<StorageCommitmentReports> storageCommitmentReports_; 227 std::unique_ptr<StorageCommitmentReports> storageCommitmentReports_;
228
229 bool transcodeDicomProtocol_;
230 std::unique_ptr<IDicomTranscoder> dcmtkTranscoder_;
231
232 StoreStatus StoreAfterTranscoding(std::string& resultPublicId,
233 DicomInstanceToStore& dicom,
234 StoreInstanceMode mode);
226 235
227 public: 236 public:
228 class DicomCacheLocker : public boost::noncopyable 237 class DicomCacheLocker : public boost::noncopyable
229 { 238 {
230 private: 239 private:
273 FileContentType attachmentType, 282 FileContentType attachmentType,
274 const void* data, 283 const void* data,
275 size_t size); 284 size_t size);
276 285
277 StoreStatus Store(std::string& resultPublicId, 286 StoreStatus Store(std::string& resultPublicId,
278 DicomInstanceToStore& dicom); 287 DicomInstanceToStore& dicom,
288 StoreInstanceMode mode);
279 289
280 void AnswerAttachment(RestApiOutput& output, 290 void AnswerAttachment(RestApiOutput& output,
281 const std::string& resourceId, 291 const std::string& resourceId,
282 FileContentType content); 292 FileContentType content);
283 293
424 bool IsExecuteLuaEnabled() const 434 bool IsExecuteLuaEnabled() const
425 { 435 {
426 return isExecuteLuaEnabled_; 436 return isExecuteLuaEnabled_;
427 } 437 }
428 438
439 void SetOverwriteInstances(bool overwrite)
440 {
441 overwriteInstances_ = overwrite;
442 }
443
444 bool IsOverwriteInstances() const
445 {
446 return overwriteInstances_;
447 }
448
429 virtual IStorageCommitmentFactory::ILookupHandler* 449 virtual IStorageCommitmentFactory::ILookupHandler*
430 CreateStorageCommitment(const std::string& jobId, 450 CreateStorageCommitment(const std::string& jobId,
431 const std::string& transactionUid, 451 const std::string& transactionUid,
432 const std::vector<std::string>& sopClassUids, 452 const std::vector<std::string>& sopClassUids,
433 const std::vector<std::string>& sopInstanceUids, 453 const std::vector<std::string>& sopInstanceUids,
436 456
437 StorageCommitmentReports& GetStorageCommitmentReports() 457 StorageCommitmentReports& GetStorageCommitmentReports()
438 { 458 {
439 return *storageCommitmentReports_; 459 return *storageCommitmentReports_;
440 } 460 }
461
462 void StoreWithTranscoding(std::string& sopClassUid,
463 std::string& sopInstanceUid,
464 DicomStoreUserConnection& connection,
465 const std::string& dicom,
466 bool hasMoveOriginator,
467 const std::string& moveOriginatorAet,
468 uint16_t moveOriginatorId);
469
470 // This accessor can be used even if the global option
471 // "TranscodeDicomProtocol" is set to "false"
472 IDicomTranscoder& GetTranscoder();
441 }; 473 };
442 } 474 }