diff Framework/Toolbox/ObserversRegistry.h @ 91:81f73efd81a1 wasm

cleaning up
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 29 May 2017 11:18:35 +0200
parents 64e60018943f
children 2eca030792aa
line wrap: on
line diff
--- a/Framework/Toolbox/ObserversRegistry.h	Mon May 29 11:04:18 2017 +0200
+++ b/Framework/Toolbox/ObserversRegistry.h	Mon May 29 11:18:35 2017 +0200
@@ -30,54 +30,27 @@
 {
   template <
     typename Source,
-    typename Observer = typename Source::IChangeObserver
+    typename Observer = typename Source::IObserver
     >
   class ObserversRegistry : public boost::noncopyable
   {
   private:
-    struct ChangeFunctor : public boost::noncopyable
-    {
-      void operator() (Observer& observer,
-                       const Source& source)
-      {
-        observer.NotifyChange(source);
-      }
-    };
-
     typedef std::set<Observer*>  Observers;
 
     Observers  observers_;
 
   public:
     template <typename Functor>
-    void Notify(const Source* source,
+    void Notify(const Source& source,
                 Functor& functor)
     {
-      if (source == NULL)
-      {
-        throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
-      }
-
       for (typename Observers::const_iterator observer = observers_.begin();
            observer != observers_.end(); ++observer)
       {
-        functor(**observer, *source);
+        functor(**observer, source);
       }
     }
 
-    template <typename Functor>
-    void Notify(const Source* source)
-    {
-      // Use the default functor
-      Functor functor;
-      Notify(source, functor);
-    }
-
-    void NotifyChange(const Source* source)
-    {
-      Notify<ChangeFunctor>(source);
-    }
-
     void Register(Observer& observer)
     {
       observers_.insert(&observer);