Mercurial > hg > orthanc
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 } |