Mercurial > hg > orthanc-stone
changeset 2321:715ac1d1225a refactoring
removed IOracleCallback and OldOracleCallback
| author | Sebastien Jodogne <s.jodogne@gmail.com> |
|---|---|
| date | Wed, 30 Sep 2026 15:35:24 +0200 |
| parents | c03b0c89c458 |
| children | 5d0300b3dafa |
| files | OrthancStone/Sources/Oracle/GetOrthancImageCommand.cpp OrthancStone/Sources/Oracle/GetOrthancImageCommand.h OrthancStone/Sources/Oracle/GetOrthancWebViewerJpegCommand.cpp OrthancStone/Sources/Oracle/GetOrthancWebViewerJpegCommand.h OrthancStone/Sources/Oracle/OracleCallback.cpp OrthancStone/Sources/Oracle/OracleCallback.h OrthancStone/Sources/Platforms/Native/GenericOracleRunner.cpp OrthancStone/Sources/Platforms/Native/GenericOracleRunner.h OrthancStone/Sources/Platforms/Native/ThreadedOracle.cpp OrthancStone/Sources/Platforms/Native/ThreadedOracle.h OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.cpp OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.h |
| diffstat | 12 files changed, 43 insertions(+), 151 deletions(-) [+] |
line wrap: on
line diff
--- a/OrthancStone/Sources/Oracle/GetOrthancImageCommand.cpp Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Oracle/GetOrthancImageCommand.cpp Wed Sep 30 15:35:24 2026 +0200 @@ -96,7 +96,7 @@ } - void GetOrthancImageCommand::ProcessHttpAnswer(IOracleCallback& callback, + void GetOrthancImageCommand::ProcessHttpAnswer(OracleCallback& callback, const std::string& answer, const HttpHeaders& answerHeaders) const {
--- a/OrthancStone/Sources/Oracle/GetOrthancImageCommand.h Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Oracle/GetOrthancImageCommand.h Wed Sep 30 15:35:24 2026 +0200 @@ -138,7 +138,7 @@ return timeout_; } - void ProcessHttpAnswer(IOracleCallback& callback, + void ProcessHttpAnswer(OracleCallback& callback, const std::string& answer, const HttpHeaders& answerHeaders) const; };
--- a/OrthancStone/Sources/Oracle/GetOrthancWebViewerJpegCommand.cpp Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Oracle/GetOrthancWebViewerJpegCommand.cpp Wed Sep 30 15:35:24 2026 +0200 @@ -77,7 +77,7 @@ } - void GetOrthancWebViewerJpegCommand::ProcessHttpAnswer(IOracleCallback& callback, + void GetOrthancWebViewerJpegCommand::ProcessHttpAnswer(OracleCallback& callback, const std::string& answer) const { // This code comes from older "OrthancSlicesLoader::ParseSliceImageJpeg()"
--- a/OrthancStone/Sources/Oracle/GetOrthancWebViewerJpegCommand.h Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Oracle/GetOrthancWebViewerJpegCommand.h Wed Sep 30 15:35:24 2026 +0200 @@ -152,7 +152,7 @@ std::string GetUri() const; - void ProcessHttpAnswer(IOracleCallback& callback, + void ProcessHttpAnswer(OracleCallback& callback, const std::string& answer) const; }; }
--- a/OrthancStone/Sources/Oracle/OracleCallback.cpp Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Oracle/OracleCallback.cpp Wed Sep 30 15:35:24 2026 +0200 @@ -94,74 +94,4 @@ LOG(ERROR) << "Native exception during NotifyError()"; } } - - - OldOracleCallback::OldOracleCallback(IOracleCommand* command, - boost::weak_ptr<IObserver> receiver, - IMessageEmitter& emitter) : - command_(command), - receiver_(receiver), - emitter_(emitter) - { - if (command == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); - } - } - - - void OldOracleCallback::NotifySuccess(IMessage* message /* takes ownership */) - { - try - { - std::unique_ptr<IMessage> protection(message); - emitter_.EmitMessage(receiver_, *protection); - } - catch (Orthanc::OrthancException& e) - { - LOG(ERROR) << "Exception during NotifySuccess(): " << e.What(); - } - catch (...) - { - LOG(ERROR) << "Native exception during NotifySuccess()"; - } - } - - - void OldOracleCallback::NotifyError(const Orthanc::OrthancException& error) - { - try - { - if (command_.get() == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); - } - else - { - OracleCommandExceptionMessage message(*command_, error); - emitter_.EmitMessage(receiver_, message); - } - } - catch (Orthanc::OrthancException& e) - { - LOG(ERROR) << "Exception during NotifyError(): " << e.What(); - } - catch (...) - { - LOG(ERROR) << "Native exception during NotifyError()"; - } - } - - - const IOracleCommand& OldOracleCallback::GetCommand() const - { - if (command_.get() == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); - } - else - { - return *command_; - } - } }
--- a/OrthancStone/Sources/Oracle/OracleCallback.h Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Oracle/OracleCallback.h Wed Sep 30 15:35:24 2026 +0200 @@ -25,23 +25,10 @@ #include "IEnvironment.h" -#include "../Messages/IMessageEmitter.h" // TODO Refactoring - Remove this - namespace OrthancStone { - class IOracleCallback : public Orthanc::IDynamicObject // TODO Refactoring - Remove this - { - public: - virtual void NotifySuccess(IMessage* result) = 0; - - virtual void NotifyError(const Orthanc::OrthancException& error) = 0; - - virtual const IOracleCommand& GetCommand() const = 0; - }; - - - class OracleCallback : public IOracleCallback + class OracleCallback : public boost::noncopyable { private: IEnvironment& environment_; @@ -53,38 +40,13 @@ const boost::shared_ptr<IOracleClient>& client, IOracleCommand* command /* takes ownership */); - virtual void NotifySuccess(IMessage* result) ORTHANC_OVERRIDE; + void NotifySuccess(IMessage* result); - virtual void NotifyError(const Orthanc::OrthancException& error) ORTHANC_OVERRIDE; + void NotifyError(const Orthanc::OrthancException& error); - virtual const IOracleCommand& GetCommand() const ORTHANC_OVERRIDE // TODO Refactoring - Remove this + const IOracleCommand& GetCommand() const // TODO Refactoring - Remove this { return *command_; } }; - - - class OldOracleCallback : public IOracleCallback // TODO Refactoring - Remove this - { - private: - std::unique_ptr<IOracleCommand> command_; - boost::weak_ptr<IObserver> receiver_; - IMessageEmitter& emitter_; - - public: - OldOracleCallback(IOracleCommand* command /* takes ownership */, - boost::weak_ptr<IObserver> receiver, - IMessageEmitter& emitter); - - virtual void NotifySuccess(IMessage* message /* takes ownership */) ORTHANC_OVERRIDE; - - virtual void NotifyError(const Orthanc::OrthancException& error) ORTHANC_OVERRIDE; - - virtual const IOracleCommand& GetCommand() const ORTHANC_OVERRIDE; - - const boost::weak_ptr<IObserver>& GetReceiver() const - { - return receiver_; - } - }; }
--- a/OrthancStone/Sources/Platforms/Native/GenericOracleRunner.cpp Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Platforms/Native/GenericOracleRunner.cpp Wed Sep 30 15:35:24 2026 +0200 @@ -147,7 +147,7 @@ } - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, const HttpCommand& command) { std::string answer; @@ -185,7 +185,7 @@ } - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, const Orthanc::WebServiceParameters& orthanc, const OrthancRestApiCommand& command) { @@ -200,7 +200,7 @@ } - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, const Orthanc::WebServiceParameters& orthanc, const GetOrthancImageCommand& command) { @@ -220,7 +220,7 @@ } - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, const Orthanc::WebServiceParameters& orthanc, const GetOrthancWebViewerJpegCommand& command) { @@ -260,7 +260,7 @@ } - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, const std::string& root, const ReadFileCommand& command) { @@ -346,7 +346,7 @@ #if ORTHANC_ENABLE_DCMTK == 1 - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, boost::shared_ptr<ParsedDicomCache> cache, const std::string& root, const ParseDicomFromFileCommand& command) @@ -391,7 +391,7 @@ #if ORTHANC_ENABLE_DCMTK == 1 - static void RunInternal(IOracleCallback& callback, + static void RunInternal(OracleCallback& callback, boost::shared_ptr<ParsedDicomCache> cache, const Orthanc::WebServiceParameters& orthanc, const ParseDicomFromWadoCommand& command) @@ -446,7 +446,7 @@ #endif - void GenericOracleRunner::Run(IOracleCallback& callback) + void GenericOracleRunner::Run(OracleCallback& callback) { Orthanc::ErrorCode error = Orthanc::ErrorCode_Success;
--- a/OrthancStone/Sources/Platforms/Native/GenericOracleRunner.h Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Platforms/Native/GenericOracleRunner.h Wed Sep 30 15:35:24 2026 +0200 @@ -64,6 +64,6 @@ } #endif - void Run(IOracleCallback& callback); + void Run(OracleCallback& callback); }; }
--- a/OrthancStone/Sources/Platforms/Native/ThreadedOracle.cpp Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Platforms/Native/ThreadedOracle.cpp Wed Sep 30 15:35:24 2026 +0200 @@ -37,12 +37,12 @@ private: StoneApplication::Configuration configuration_; std::unique_ptr<GenericOracleRunner> runner_; - std::unique_ptr<IOracleCallback> callback_; + std::unique_ptr<OracleCallback> callback_; public: GenericRunnable(const StoneApplication::Configuration& configuration, GenericOracleRunner* runner /* takes ownership */, - IOracleCallback* callback /* takes ownership */) : + OracleCallback* callback /* takes ownership */) : configuration_(configuration), runner_(runner), callback_(callback) @@ -67,11 +67,11 @@ class Item : public boost::noncopyable { private: - std::unique_ptr<IOracleCallback> callback_; - boost::posix_time::ptime expiration_; + std::unique_ptr<OracleCallback> callback_; + boost::posix_time::ptime expiration_; public: - Item(IOracleCallback* callback, + Item(OracleCallback* callback, unsigned int delay) : callback_(callback) { @@ -89,7 +89,7 @@ return expiration_; } - IOracleCallback& GetCallback() + OracleCallback& GetCallback() { return *callback_; } @@ -113,7 +113,7 @@ } - void Add(IOracleCallback* callback, + void Add(OracleCallback* callback, unsigned int delay) { boost::mutex::scoped_lock lock(mutex_); @@ -186,9 +186,9 @@ } - void ThreadedOracle::SubmitInternal(IOracleCallback* callback /* takes ownership */) + void ThreadedOracle::SubmitInternal(OracleCallback* callback /* takes ownership */) { - std::unique_ptr<IOracleCallback> protection(callback); + std::unique_ptr<OracleCallback> protection(callback); if (callback == NULL) {
--- a/OrthancStone/Sources/Platforms/Native/ThreadedOracle.h Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Platforms/Native/ThreadedOracle.h Wed Sep 30 15:35:24 2026 +0200 @@ -67,7 +67,7 @@ boost::shared_ptr<ParsedDicomCache> dicomCache_; #endif - void SubmitInternal(IOracleCallback* callback /* takes ownership */); + void SubmitInternal(OracleCallback* callback /* takes ownership */); public: ThreadedOracle(const StoneApplication::Configuration& configuration);
--- a/OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.cpp Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.cpp Wed Sep 30 15:35:24 2026 +0200 @@ -44,7 +44,7 @@ { static void TimeoutCallback(void *userData) { - std::unique_ptr<IOracleCallback> callback(reinterpret_cast<IOracleCallback*>(userData)); + std::unique_ptr<OracleCallback> callback(reinterpret_cast<OracleCallback*>(userData)); const SleepOracleCommand& command = dynamic_cast<const SleepOracleCommand&>(callback->GetCommand()); // TODO Refactoring - Remove this callback->NotifySuccess(new SleepOracleCommand::TimeoutMessage(command)); @@ -63,13 +63,13 @@ class WebAssemblyOracle::FetchContext : public boost::noncopyable { private: - WebAssemblyOracle& oracle_; // TODO Refactoring - Remove this - std::unique_ptr<IOracleCallback> callback_; - std::string expectedContentType_; + WebAssemblyOracle& oracle_; // TODO Refactoring - Remove this + std::unique_ptr<OracleCallback> callback_; + std::string expectedContentType_; public: FetchContext(WebAssemblyOracle& oracle, - IOracleCallback* callback /* takes ownership */, + OracleCallback* callback /* takes ownership */, const std::string& expectedContentType) : callback_(callback), oracle_(oracle), @@ -239,7 +239,7 @@ { private: WebAssemblyOracle& oracle_; // TODO Refactoring - Remove this - std::unique_ptr<IOracleCallback> callback_; + std::unique_ptr<OracleCallback> callback_; Orthanc::HttpMethod method_; std::string url_; size_t bodySize_; @@ -263,7 +263,7 @@ public: FetchCommand(WebAssemblyOracle& oracle, - IOracleCallback* callback) : + OracleCallback* callback) : oracle_(oracle), callback_(callback), method_(Orthanc::HttpMethod_Get), @@ -283,7 +283,7 @@ ClearBody(); } - const IOracleCallback& GetCallback() const + const OracleCallback& GetCallback() const { if (callback_.get() == NULL) { @@ -453,7 +453,7 @@ }; - void WebAssemblyOracle::ProcessFetchResult(IOracleCallback& callback, + void WebAssemblyOracle::ProcessFetchResult(OracleCallback& callback, const HttpHeaders& headers, std::string& answer) { @@ -638,9 +638,9 @@ } - void WebAssemblyOracle::ExecuteParseDicomFromWadoCommand(IOracleCallback* callback) + void WebAssemblyOracle::ExecuteParseDicomFromWadoCommand(OracleCallback* callback) { - std::unique_ptr<IOracleCallback> protection(callback); + std::unique_ptr<OracleCallback> protection(callback); const ParseDicomFromWadoCommand& command = dynamic_cast<const ParseDicomFromWadoCommand&>(protection->GetCommand()); @@ -713,9 +713,9 @@ } - void WebAssemblyOracle::Submit(IOracleCallback* callback) + void WebAssemblyOracle::Submit(OracleCallback* callback) { - std::unique_ptr<IOracleCallback> protection(callback); + std::unique_ptr<OracleCallback> protection(callback); if (callback == NULL) {
--- a/OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.h Wed Sep 30 15:26:27 2026 +0200 +++ b/OrthancStone/Sources/Platforms/WebAssembly/WebAssemblyOracle.h Wed Sep 30 15:35:24 2026 +0200 @@ -71,7 +71,7 @@ void ExecuteGetOrthancWebViewerJpegCommand(FetchCommand& fetch); - void ExecuteParseDicomFromWadoCommand(IOracleCallback* callback); + void ExecuteParseDicomFromWadoCommand(OracleCallback* callback); StoneApplication::Configuration configuration_; @@ -79,11 +79,11 @@ std::unique_ptr<ParsedDicomCache> dicomCache_; #endif - void ProcessFetchResult(IOracleCallback& callback, + void ProcessFetchResult(OracleCallback& callback, const HttpHeaders& headers, std::string& answer); - void Submit(IOracleCallback* callback); + void Submit(OracleCallback* callback); public: WebAssemblyOracle(const StoneApplication::Configuration& configuration);
