Mercurial > hg > orthanc
comparison OrthancServer/Sources/ServerContext.h @ 5743:8bb3f2fca242
refactored ServerContext::DecodeDicomFrame to have a single implementation
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Thu, 29 Aug 2024 13:46:49 +0200 |
parents | 0c218d90096e |
children | 9d6167ddcb35 796cb17db15c 8279eaab0d1d |
comparison
equal
deleted
inserted
replaced
5742:078b724dcbf8 | 5743:8bb3f2fca242 |
---|---|
303 std::string instancePublicId_; | 303 std::string instancePublicId_; |
304 std::unique_ptr<ParsedDicomCache::Accessor> accessor_; | 304 std::unique_ptr<ParsedDicomCache::Accessor> accessor_; |
305 std::unique_ptr<ParsedDicomFile> dicom_; | 305 std::unique_ptr<ParsedDicomFile> dicom_; |
306 size_t dicomSize_; | 306 size_t dicomSize_; |
307 std::unique_ptr<Semaphore::Locker> largeDicomLocker_; | 307 std::unique_ptr<Semaphore::Locker> largeDicomLocker_; |
308 std::string buffer_; | |
308 | 309 |
309 public: | 310 public: |
310 DicomCacheLocker(ServerContext& context, | 311 DicomCacheLocker(ServerContext& context, |
311 const std::string& instancePublicId); | 312 const std::string& instancePublicId); |
312 | 313 |
313 ~DicomCacheLocker(); | 314 ~DicomCacheLocker(); |
314 | 315 |
315 ParsedDicomFile& GetDicom() const; | 316 ParsedDicomFile& GetDicom() const; |
317 | |
318 const std::string& GetBuffer(); | |
316 }; | 319 }; |
317 | 320 |
318 ServerContext(IDatabaseWrapper& database, | 321 ServerContext(IDatabaseWrapper& database, |
319 IStorageArea& area, | 322 IStorageArea& area, |
320 bool unitTesting, | 323 bool unitTesting, |
553 unsigned int frameIndex); | 556 unsigned int frameIndex); |
554 | 557 |
555 ImageAccessor* DecodeDicomFrame(const void* dicom, | 558 ImageAccessor* DecodeDicomFrame(const void* dicom, |
556 size_t size, | 559 size_t size, |
557 unsigned int frameIndex); | 560 unsigned int frameIndex); |
558 | 561 |
562 ImageAccessor* DecodeDicomFrame(const ParsedDicomFile& parsedDicom, | |
563 const void* buffer, // actually the buffer that is the source of the ParsedDicomFile | |
564 size_t size, | |
565 unsigned int frameIndex); | |
566 | |
559 void StoreWithTranscoding(std::string& sopClassUid, | 567 void StoreWithTranscoding(std::string& sopClassUid, |
560 std::string& sopInstanceUid, | 568 std::string& sopInstanceUid, |
561 DicomStoreUserConnection& connection, | 569 DicomStoreUserConnection& connection, |
562 const std::string& dicom, | 570 const std::string& dicom, |
563 bool hasMoveOriginator, | 571 bool hasMoveOriginator, |