Mercurial > hg > orthanc-stone
comparison Framework/Messages/IObservable.cpp @ 643:f0008c55e5f7
getting rid of MessageType enumeration
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 10 May 2019 17:34:48 +0200 |
parents | 42dadae61fa9 |
children | 38409549db43 |
comparison
equal
deleted
inserted
replaced
642:7ca8dc7ec17b | 643:f0008c55e5f7 |
---|---|
57 if (callable == NULL) | 57 if (callable == NULL) |
58 { | 58 { |
59 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); | 59 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); |
60 } | 60 } |
61 | 61 |
62 MessageType messageType = callable->GetMessageType(); | 62 const MessageIdentifier& id = callable->GetMessageIdentifier(); |
63 | 63 callables_[id].insert(callable); |
64 callables_[messageType].insert(callable); | |
65 } | 64 } |
66 | 65 |
67 void IObservable::Unregister(IObserver *observer) | 66 void IObservable::Unregister(IObserver *observer) |
68 { | 67 { |
69 // delete all callables from this observer | 68 // delete all callables from this observer |
85 } | 84 } |
86 | 85 |
87 void IObservable::EmitMessageInternal(const IObserver* receiver, | 86 void IObservable::EmitMessageInternal(const IObserver* receiver, |
88 const IMessage& message) | 87 const IMessage& message) |
89 { | 88 { |
90 Callables::const_iterator found = callables_.find(message.GetType()); | 89 Callables::const_iterator found = callables_.find(message.GetIdentifier()); |
91 | 90 |
92 if (found != callables_.end()) | 91 if (found != callables_.end()) |
93 { | 92 { |
94 for (std::set<ICallable*>::const_iterator | 93 for (std::set<ICallable*>::const_iterator |
95 it = found->second.begin(); it != found->second.end(); ++it) | 94 it = found->second.begin(); it != found->second.end(); ++it) |