Mercurial > hg > orthanc-stone
diff Framework/Toolbox/OrthancSlicesLoader.h @ 300:b4abaeb783b1 am-callable-and-promise
messaging refactoring almost complete: works fine in native
author | am@osimis.io |
---|---|
date | Tue, 18 Sep 2018 15:23:21 +0200 |
parents | 3897f9f28cfa |
children | 3a4ca166fafa |
line wrap: on
line diff
--- a/Framework/Toolbox/OrthancSlicesLoader.h Fri Sep 14 16:44:01 2018 +0200 +++ b/Framework/Toolbox/OrthancSlicesLoader.h Tue Sep 18 15:23:21 2018 +0200 @@ -26,10 +26,11 @@ #include "../StoneEnumerations.h" #include "../Messages/IObservable.h" #include <boost/shared_ptr.hpp> +#include "OrthancApiClient.h" namespace OrthancStone { - class OrthancSlicesLoader : public IObservable + class OrthancSlicesLoader : public IObservable, public IObserver { public: @@ -93,11 +94,8 @@ }; class Operation; - class WebCallback; - boost::shared_ptr<WebCallback> webCallback_; // This is a PImpl pattern - - IWebService& orthanc_; + OrthancApiClient& orthanc_; State state_; SlicesSorter slices_; @@ -105,34 +103,23 @@ std::auto_ptr<Orthanc::ImageAccessor>& image); void NotifySliceImageError(const Operation& operation); - - void ParseSeriesGeometry(const void* answer, - size_t size); + + void OnGeometryError(const OrthancApiClient::HttpErrorMessage& message); + void OnSliceImageError(const OrthancApiClient::HttpErrorMessage& message); - void ParseInstanceGeometry(const std::string& instanceId, - const void* answer, - size_t size); + void ParseSeriesGeometry(const OrthancApiClient::JsonResponseReadyMessage& message); - void ParseFrameGeometry(const std::string& instanceId, - unsigned int frame, - const void* answer, - size_t size); + void ParseInstanceGeometry(const OrthancApiClient::JsonResponseReadyMessage& message); - void ParseSliceImagePng(const Operation& operation, - const void* answer, - size_t size); + void ParseFrameGeometry(const OrthancApiClient::JsonResponseReadyMessage& message); - void ParseSliceImagePam(const Operation& operation, - const void* answer, - size_t size); + void ParseSliceImagePng(const OrthancApiClient::BinaryResponseReadyMessage& message); - void ParseSliceImageJpeg(const Operation& operation, - const void* answer, - size_t size); + void ParseSliceImagePam(const OrthancApiClient::BinaryResponseReadyMessage& message); - void ParseSliceRawImage(const Operation& operation, - const void* answer, - size_t size); + void ParseSliceImageJpeg(const OrthancApiClient::JsonResponseReadyMessage& message); + + void ParseSliceRawImage(const OrthancApiClient::BinaryResponseReadyMessage& message); void ScheduleSliceImagePng(const Slice& slice, size_t index); @@ -149,7 +136,7 @@ public: OrthancSlicesLoader(MessageBroker& broker, //ISliceLoaderObserver& callback, - IWebService& orthanc); + OrthancApiClient& orthancApi); void ScheduleLoadSeries(const std::string& seriesId); @@ -170,6 +157,6 @@ void ScheduleLoadSliceImage(size_t index, SliceImageQuality requestedQuality); -// virtual void HandleMessage(IObservable& from, const IMessage& message); + }; }