diff Framework/Messages/MessageBroker.cpp @ 267:89d02de83c03 am-2

added declaretion of messages handled/emitted
author am@osimis.io
date Wed, 22 Aug 2018 14:59:20 +0200
parents c9cf95b49a86
children 5bd4161bf11b
line wrap: on
line diff
--- a/Framework/Messages/MessageBroker.cpp	Tue Aug 21 18:14:22 2018 +0200
+++ b/Framework/Messages/MessageBroker.cpp	Wed Aug 22 14:59:20 2018 +0200
@@ -42,7 +42,14 @@
 
     for (std::vector<IObserver*>::iterator observer = activeObservers.begin(); observer != activeObservers.end(); observer++)
     {
-      (*observer)->HandleMessage(from, message);
+      if ((*observer)->GetHandledMessages().find(message.GetType()) != (*observer)->GetHandledMessages().end())
+      {
+        (*observer)->HandleMessage_(from, message);
+      }
+      else
+      {
+        assert((*observer)->GetIgnoredMessages().find(message.GetType()) != (*observer)->GetIgnoredMessages().end()); // message has not been declared by Observer (this should already have been checked during registration)
+      }
     }
   }