diff Framework/Messages/IObservable.h @ 300:b4abaeb783b1 am-callable-and-promise

messaging refactoring almost complete: works fine in native
author am@osimis.io
date Tue, 18 Sep 2018 15:23:21 +0200
parents 3897f9f28cfa
children 4a79193ffb58
line wrap: on
line diff
--- a/Framework/Messages/IObservable.h	Fri Sep 14 16:44:01 2018 +0200
+++ b/Framework/Messages/IObservable.h	Tue Sep 18 15:23:21 2018 +0200
@@ -34,17 +34,6 @@
 
 namespace OrthancStone {
 
-  class MessageNotDeclaredException : public std::logic_error
-  {
-    MessageType messageType_;
-  public:
-    MessageNotDeclaredException(MessageType messageType)
-      : std::logic_error("Message not declared by observer."),
-        messageType_(messageType)
-    {
-    }
-  };
-
   class IObservable : public boost::noncopyable
   {
   protected:
@@ -52,7 +41,6 @@
 
     typedef std::map<int, std::set<ICallable*> >   Callables;
     Callables                         callables_;
-    std::set<MessageType>             emittableMessages_;
 
   public:
 
@@ -82,11 +70,6 @@
 
     void EmitMessage(const IMessage& message)
     {
-      if (emittableMessages_.find(message.GetType()) == emittableMessages_.end())
-      {
-        throw MessageNotDeclaredException(message.GetType());
-      }
-
       Callables::const_iterator found = callables_.find(message.GetType());
 
       if (found != callables_.end())
@@ -101,16 +84,6 @@
         }
       }
     }
-    const std::set<MessageType>& GetEmittableMessages() const
-    {
-      return emittableMessages_;
-    }
-  protected:
-
-    void DeclareEmittableMessage(MessageType messageType)
-    {
-      emittableMessages_.insert(messageType);
-    }
 
   };