# HG changeset patch # User Benjamin Golinvaux # Date 1563986733 -7200 # Node ID bf03cb879eb48dfc2bd27215a7f785c6c332d056 # Parent 408bcc6c15052741e58735d2b2c070e84b6daf33 Fixed LoaderCache diff -r 408bcc6c1505 -r bf03cb879eb4 Framework/Loaders/LoaderCache.cpp --- a/Framework/Loaders/LoaderCache.cpp Wed Jul 24 14:27:06 2019 +0200 +++ b/Framework/Loaders/LoaderCache.cpp Wed Jul 24 18:45:33 2019 +0200 @@ -24,6 +24,13 @@ #include "OrthancMultiframeVolumeLoader.h" #include "DicomStructureSetLoader.h" +#if ORTHANC_ENABLE_WASM == 1 +# include +# include "../Oracle/WebAssemblyOracle.h" +#else +# include "../Oracle/ThreadedOracle.h" +#endif + #include "../Messages/LockingEmitter.h" #include "../Volumes/DicomVolumeImage.h" #include "../Volumes/DicomVolumeImageMPRSlicer.h" @@ -34,13 +41,13 @@ namespace OrthancStone { #if ORTHANC_ENABLE_WASM == 1 - LoaderCache::LoaderCache(IOracle& oracle) + LoaderCache::LoaderCache(WebAssemblyOracle& oracle) : oracle_(oracle) { } #else - LoaderCache::LoaderCache(IOracle& oracle, LockingEmitter& lockingEmitter) + LoaderCache::LoaderCache(ThreadedOracle& oracle, LockingEmitter& lockingEmitter) : oracle_(oracle) , lockingEmitter_(lockingEmitter) { @@ -59,12 +66,17 @@ // find in cache if (seriesVolumeProgressiveLoaders_.find(seriesUuid) == seriesVolumeProgressiveLoaders_.end()) { +#if ORTHANC_ENABLE_WASM == 1 + LOG(WARNING) << "Performing request for series " << seriesUuid << " sbrk(0) = " << sbrk(0); +#else + LOG(WARNING) << "Performing request for series " << seriesUuid; +#endif boost::shared_ptr volumeImage(new DicomVolumeImage); boost::shared_ptr loader; { #if ORTHANC_ENABLE_WASM == 1 - loader.reset(new OrthancSeriesVolumeProgressiveLoader(volumeImage, GetParent()->GetOracleRef(), GetParent()->GetOracleRef())); + loader.reset(new OrthancSeriesVolumeProgressiveLoader(volumeImage, oracle_, oracle_)); #else LockingEmitter::WriterLock lock(lockingEmitter_); loader.reset(new OrthancSeriesVolumeProgressiveLoader(volumeImage, oracle_, lock.GetOracleObservable())); @@ -115,7 +127,7 @@ { #if ORTHANC_ENABLE_WASM == 1 - loader.reset(new OrthancMultiframeVolumeLoader(volumeImage, GetParent()->GetOracleRef(), GetParent()->GetOracleRef())); + loader.reset(new OrthancMultiframeVolumeLoader(volumeImage, oracle_, oracle_)); #else LockingEmitter::WriterLock lock(lockingEmitter_); loader.reset(new OrthancMultiframeVolumeLoader(volumeImage, oracle_, lock.GetOracleObservable())); @@ -167,7 +179,7 @@ { #if ORTHANC_ENABLE_WASM == 1 - loader.reset(new DicomStructureSetLoader(volumeImage, GetParent()->GetOracleRef(), GetParent()->GetOracleRef())); + loader.reset(new DicomStructureSetLoader(oracle_, oracle_)); #else LockingEmitter::WriterLock lock(lockingEmitter_); loader.reset(new DicomStructureSetLoader(oracle_, lock.GetOracleObservable())); diff -r 408bcc6c1505 -r bf03cb879eb4 Framework/Loaders/LoaderCache.h --- a/Framework/Loaders/LoaderCache.h Wed Jul 24 14:27:06 2019 +0200 +++ b/Framework/Loaders/LoaderCache.h Wed Jul 24 18:45:33 2019 +0200 @@ -31,12 +31,11 @@ class DicomVolumeImageMPRSlicer; class DicomStructureSetLoader; class OrthancMultiframeVolumeLoader; - class IOracle; #if ORTHANC_ENABLE_WASM == 1 - //class WebAssemblyOracle; + class WebAssemblyOracle; #else - //class ThreadedOracle; + class ThreadedOracle; class LockingEmitter; #endif @@ -44,9 +43,9 @@ { public: #if ORTHANC_ENABLE_WASM == 1 - LoaderCache(IOracle& oracle); + LoaderCache(WebAssemblyOracle& oracle); #else - LoaderCache(IOracle& oracle, LockingEmitter& lockingEmitter); + LoaderCache(ThreadedOracle& oracle, LockingEmitter& lockingEmitter); #endif boost::shared_ptr @@ -59,11 +58,11 @@ void ClearCache(); private: - IOracle& oracle_; + #if ORTHANC_ENABLE_WASM == 1 - //WebAssemblyOracle& oracle_; + WebAssemblyOracle& oracle_; #else - //ThreadedOracle& oracle_; + ThreadedOracle& oracle_; LockingEmitter& lockingEmitter_; #endif