diff Framework/Toolbox/OrthancSlicesLoader.h @ 266:c9cf95b49a86 am-2

removed OrthancSlicesLoader::ISliceLoaderObserver; now using standard messages instead
author am@osimis.io
date Tue, 21 Aug 2018 18:14:22 +0200
parents 77fdab5b5d6e
children 89d02de83c03
line wrap: on
line diff
--- a/Framework/Toolbox/OrthancSlicesLoader.h	Tue Aug 21 16:48:25 2018 +0200
+++ b/Framework/Toolbox/OrthancSlicesLoader.h	Tue Aug 21 18:14:22 2018 +0200
@@ -29,7 +29,7 @@
 
 namespace OrthancStone
 {
-  class OrthancSlicesLoader : public boost::noncopyable
+  class OrthancSlicesLoader : public IObservable
   {
   public:
     struct SliceImageReadyMessage : public IMessage
@@ -68,38 +68,6 @@
       {
       }
     };
-
-  public:
-    class ISliceLoaderObserver : public IObserver
-    {
-    public:
-
-      ISliceLoaderObserver(MessageBroker& broker)
-        : IObserver(broker)
-      {
-      }
-
-      virtual ~ISliceLoaderObserver()
-      {
-      }
-
-      virtual void HandleMessage(IObservable& from, const IMessage& message);
-
-      virtual void OnSliceGeometryReady(const OrthancSlicesLoader& loader) = 0;
-
-      virtual void OnSliceGeometryError(const OrthancSlicesLoader& loader) = 0;
-
-      virtual void OnSliceImageReady(const OrthancSlicesLoader& loader,
-                                         unsigned int sliceIndex,
-                                         const Slice& slice,
-                                         std::auto_ptr<Orthanc::ImageAccessor>& image,
-                                         SliceImageQuality effectiveQuality) = 0;
-
-      virtual void OnSliceImageError(const OrthancSlicesLoader& loader,
-                                         unsigned int sliceIndex,
-                                         const Slice& slice,
-                                         SliceImageQuality quality) = 0;
-    };
     
   private:
     enum State
@@ -125,7 +93,6 @@
 
     boost::shared_ptr<WebCallback>  webCallback_;  // This is a PImpl pattern
 
-    ISliceLoaderObserver&    userCallback_; // TODO: instead of passing a userCallback, use the generic messages
     IWebService&  orthanc_;
     State         state_;
     SlicesSorter  slices_;
@@ -177,7 +144,7 @@
     
   public:
     OrthancSlicesLoader(MessageBroker& broker,
-                        ISliceLoaderObserver& callback,
+                        //ISliceLoaderObserver& callback,
                         IWebService& orthanc);
 
     void ScheduleLoadSeries(const std::string& seriesId);
@@ -198,5 +165,7 @@
 
     void ScheduleLoadSliceImage(size_t index,
                                 SliceImageQuality requestedQuality);
+
+    virtual void HandleMessage(const IObservable& from, const IMessage& message);
   };
 }