Mercurial > hg > orthanc-stone
diff Framework/Messages/IObservable.cpp @ 977:262a0244e9b2 toa2019090201
Added missing Unregister for objects that register by the broker + logs + guard in FetchContext
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Mon, 02 Sep 2019 17:29:26 +0200 |
parents | 38409549db43 |
children | e713f1a99861 2d8ab34c8c91 |
line wrap: on
line diff
--- a/Framework/Messages/IObservable.cpp Sat Aug 31 13:50:11 2019 +0200 +++ b/Framework/Messages/IObservable.cpp Mon Sep 02 17:29:26 2019 +0200 @@ -66,6 +66,8 @@ void IObservable::Unregister(IObserver *observer) { + LOG(TRACE) << "IObservable::Unregister for IObserver at addr: " + << std::hex << observer << std::dec; // delete all callables from this observer for (Callables::iterator itCallableSet = callables_.begin(); itCallableSet != callables_.end(); ++itCallableSet) @@ -75,6 +77,8 @@ { if ((*itCallable)->GetObserver() == observer) { + LOG(TRACE) << " ** IObservable::Unregister : deleting callable: " + << std::hex << (*itCallable) << std::dec; delete *itCallable; itCallableSet->second.erase(itCallable++); } @@ -87,6 +91,8 @@ void IObservable::EmitMessageInternal(const IObserver* receiver, const IMessage& message) { + LOG(TRACE) << "IObservable::EmitMessageInternal receiver = " + << std::hex << receiver << std::dec; Callables::const_iterator found = callables_.find(message.GetIdentifier()); if (found != callables_.end()) @@ -119,9 +125,10 @@ void IObservable::EmitMessage(const IObserver& observer, const IMessage& message) { + LOG(TRACE) << "IObservable::EmitMessage observer = " + << std::hex << &observer << std::dec; EmitMessageInternal(&observer, message); } - void IObservable::RegisterForwarder(IMessageForwarder* forwarder) {