comparison OrthancServer/ServerContext.h @ 3894:8f7ad4989fec transcoding

transcoding to uncompressed transfer syntaxes over DICOM protocol is implemented
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 07 May 2020 11:13:29 +0200
parents 023b2a9f3aa1
children d1273d7cc200
comparison
equal deleted inserted replaced
3893:7a5fa8f307e9 3894:8f7ad4989fec
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;
223 bool isExecuteLuaEnabled_; 224 bool isExecuteLuaEnabled_;
224 bool overwriteInstances_; 225 bool overwriteInstances_;
225 226
226 std::unique_ptr<StorageCommitmentReports> storageCommitmentReports_; 227 std::unique_ptr<StorageCommitmentReports> storageCommitmentReports_;
227 228
229 bool transcodingEnabled_;
230 std::unique_ptr<IDicomTranscoder> dcmtkTranscoder_;
231
228 public: 232 public:
229 class DicomCacheLocker : public boost::noncopyable 233 class DicomCacheLocker : public boost::noncopyable
230 { 234 {
231 private: 235 private:
232 ServerContext& that_; 236 ServerContext& that_;
448 452
449 StorageCommitmentReports& GetStorageCommitmentReports() 453 StorageCommitmentReports& GetStorageCommitmentReports()
450 { 454 {
451 return *storageCommitmentReports_; 455 return *storageCommitmentReports_;
452 } 456 }
457
458 void StoreWithTranscoding(std::string& sopClassUid,
459 std::string& sopInstanceUid,
460 DicomStoreUserConnection& connection,
461 const std::string& dicom,
462 bool hasMoveOriginator,
463 const std::string& moveOriginatorAet,
464 uint16_t moveOriginatorId);
465
466 // This method can be used even if "TranscodingEnabled" is set to "false"
467 bool TranscodeMemoryBuffer(std::string& target,
468 bool& hasSopInstanceUidChanged,
469 const std::string& source,
470 const std::set<DicomTransferSyntax>& allowedSyntaxes,
471 bool allowNewSopInstanceUid);
453 }; 472 };
454 } 473 }