Mercurial > hg > orthanc-stone
diff Framework/Loaders/LoaderStateMachine.cpp @ 1064:af4b9cba905f broker
simplify how observers are regsitered, and how callables are created
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 15 Oct 2019 13:46:01 +0200 |
parents | 3e8f59cefec6 |
children | 9d42f89b8c3c |
line wrap: on
line diff
--- a/Framework/Loaders/LoaderStateMachine.cpp Tue Oct 15 12:22:44 2019 +0200 +++ b/Framework/Loaders/LoaderStateMachine.cpp Tue Oct 15 13:46:01 2019 +0200 @@ -159,33 +159,27 @@ LoaderStateMachine::LoaderStateMachine(IOracle& oracle, IObservable& oracleObservable) : oracle_(oracle), - oracleObservable_(oracleObservable), active_(false), simultaneousDownloads_(4), activeCommands_(0) { LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::LoaderStateMachine()"; - oracleObservable.RegisterObserverCallback( - new Callable<LoaderStateMachine, OrthancRestApiCommand::SuccessMessage> - (shared_from_this(), &LoaderStateMachine::HandleSuccessMessage)); + oracleObservable.RegisterObserver<LoaderStateMachine, OrthancRestApiCommand::SuccessMessage> + (*this, &LoaderStateMachine::HandleSuccessMessage); - oracleObservable.RegisterObserverCallback( - new Callable<LoaderStateMachine, GetOrthancImageCommand::SuccessMessage> - (shared_from_this(), &LoaderStateMachine::HandleSuccessMessage)); + oracleObservable.RegisterObserver<LoaderStateMachine, GetOrthancImageCommand::SuccessMessage> + (*this, &LoaderStateMachine::HandleSuccessMessage); - oracleObservable.RegisterObserverCallback( - new Callable<LoaderStateMachine, GetOrthancWebViewerJpegCommand::SuccessMessage> - (shared_from_this(), &LoaderStateMachine::HandleSuccessMessage)); + oracleObservable.RegisterObserver<LoaderStateMachine, GetOrthancWebViewerJpegCommand::SuccessMessage> + (*this, &LoaderStateMachine::HandleSuccessMessage); - oracleObservable.RegisterObserverCallback( - new Callable<LoaderStateMachine, OracleCommandExceptionMessage> - (shared_from_this(), &LoaderStateMachine::HandleExceptionMessage)); + oracleObservable.RegisterObserver<LoaderStateMachine, OracleCommandExceptionMessage> + (*this, &LoaderStateMachine::HandleExceptionMessage); } LoaderStateMachine::~LoaderStateMachine() { - oracleObservable_.Unregister(this); LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::~LoaderStateMachine()"; Clear(); }