Mercurial > hg > orthanc-stone
comparison Framework/Messages/IObservable.cpp @ 1075:81b29bc7c3d4 broker
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 17 Oct 2019 14:39:51 +0200 |
parents | 05b2e71ed145 |
children | 17660df24c36 |
comparison
equal
deleted
inserted
replaced
1074:229ea1389845 | 1075:81b29bc7c3d4 |
---|---|
92 { | 92 { |
93 EmitMessageInternal(NULL, message); | 93 EmitMessageInternal(NULL, message); |
94 } | 94 } |
95 | 95 |
96 | 96 |
97 void IObservable::EmitMessage(const IObserver& observer, | 97 void IObservable::EmitMessage(boost::weak_ptr<IObserver>& observer, |
98 const IMessage& message) | 98 const IMessage& message) |
99 { | 99 { |
100 LOG(TRACE) << "IObservable::EmitMessage observer = " | 100 LOG(TRACE) << "IObservable::EmitMessage observer = " |
101 << std::hex << &observer << std::dec; | 101 << std::hex << &observer << std::dec; |
102 EmitMessageInternal(&observer, message); | 102 |
103 boost::shared_ptr<IObserver> lock(observer.lock()); | |
104 if (lock) | |
105 { | |
106 EmitMessageInternal(lock.get(), message); | |
107 } | |
103 } | 108 } |
104 } | 109 } |