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)