Mercurial > hg > orthanc
diff 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 |
line wrap: on
line diff
--- a/OrthancServer/ServerContext.h Tue May 12 07:50:38 2020 +0200 +++ b/OrthancServer/ServerContext.h Tue May 12 14:58:24 2020 +0200 @@ -40,6 +40,7 @@ #include "ServerJobs/IStorageCommitmentFactory.h" #include "../Core/Cache/MemoryCache.h" +#include "../Core/DicomParsing/IDicomTranscoder.h" namespace Orthanc @@ -98,7 +99,7 @@ } virtual void SignalStoredInstance(const std::string& publicId, - DicomInstanceToStore& instance, + const DicomInstanceToStore& instance, const Json::Value& simplifiedTags) { context_.mainLua_.SignalStoredInstance(publicId, instance, simplifiedTags); @@ -221,9 +222,17 @@ std::unique_ptr<MetricsRegistry> metricsRegistry_; bool isHttpServerSecure_; bool isExecuteLuaEnabled_; + bool overwriteInstances_; std::unique_ptr<StorageCommitmentReports> storageCommitmentReports_; + bool transcodeDicomProtocol_; + std::unique_ptr<IDicomTranscoder> dcmtkTranscoder_; + + StoreStatus StoreAfterTranscoding(std::string& resultPublicId, + DicomInstanceToStore& dicom, + StoreInstanceMode mode); + public: class DicomCacheLocker : public boost::noncopyable { @@ -275,7 +284,8 @@ size_t size); StoreStatus Store(std::string& resultPublicId, - DicomInstanceToStore& dicom); + DicomInstanceToStore& dicom, + StoreInstanceMode mode); void AnswerAttachment(RestApiOutput& output, const std::string& resourceId, @@ -426,6 +436,16 @@ return isExecuteLuaEnabled_; } + void SetOverwriteInstances(bool overwrite) + { + overwriteInstances_ = overwrite; + } + + bool IsOverwriteInstances() const + { + return overwriteInstances_; + } + virtual IStorageCommitmentFactory::ILookupHandler* CreateStorageCommitment(const std::string& jobId, const std::string& transactionUid, @@ -438,5 +458,17 @@ { return *storageCommitmentReports_; } + + void StoreWithTranscoding(std::string& sopClassUid, + std::string& sopInstanceUid, + DicomStoreUserConnection& connection, + const std::string& dicom, + bool hasMoveOriginator, + const std::string& moveOriginatorAet, + uint16_t moveOriginatorId); + + // This accessor can be used even if the global option + // "TranscodeDicomProtocol" is set to "false" + IDicomTranscoder& GetTranscoder(); }; }