diff Framework/Oracle/WebAssemblyOracle.h @ 1229:b9f2a111c5b9 broker

fix compilation of WebAssemblyOracle
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Dec 2019 14:41:37 +0100
parents 008dbc4ceb62
children b9b5d4378874
line wrap: on
line diff
--- a/Framework/Oracle/WebAssemblyOracle.h	Mon Dec 09 13:58:37 2019 +0100
+++ b/Framework/Oracle/WebAssemblyOracle.h	Mon Dec 09 14:41:37 2019 +0100
@@ -41,42 +41,49 @@
 {
   class WebAssemblyOracle :
     public IOracle,
-    public IObservable
+    public IObservable,
+    public IMessageEmitter
   {
   private:
     typedef std::map<std::string, std::string>  HttpHeaders;
     
     class TimeoutContext;
-    class Emitter;
     class FetchContext;
     class FetchCommand;    
     
-    void Execute(const IObserver& receiver,
+    void Execute(boost::weak_ptr<IObserver> receiver,
                  HttpCommand* command);    
     
-    void Execute(const IObserver& receiver,
+    void Execute(boost::weak_ptr<IObserver> receiver,
                  OrthancRestApiCommand* command);    
     
-    void Execute(const IObserver& receiver,
+    void Execute(boost::weak_ptr<IObserver> receiver,
                  GetOrthancImageCommand* command);    
     
-    void Execute(const IObserver& receiver,
+    void Execute(boost::weak_ptr<IObserver> receiver,
                  GetOrthancWebViewerJpegCommand* command);
 
+    IObservable oracleObservable_;
     std::string orthancRoot_;
 
   public:
-    WebAssemblyOracle(MessageBroker& broker) :
-      IObservable(broker)
+    virtual void EmitMessage(boost::weak_ptr<IObserver> observer,
+                             const IMessage& message) ORTHANC_OVERRIDE
     {
+      oracleObservable_.EmitMessage(observer, message);
+    }
+    
+    virtual bool Schedule(boost::shared_ptr<IObserver> receiver,
+                          IOracleCommand* command) ORTHANC_OVERRIDE;
+
+    IObservable& GetOracleObservable()
+    {
+      return oracleObservable_;
     }
 
     void SetOrthancRoot(const std::string& root)
     {
       orthancRoot_ = root;
     }
-    
-    virtual void Schedule(boost::shared_ptr<IObserver>& receiver,
-                          IOracleCommand* command) ORTHANC_OVERRIDE;
   };
 }