diff Framework/Oracle/IOracleCommand.h @ 1135:a0a33e5ea5bb broker

IOracleCommand::Clone()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 06 Nov 2019 17:34:58 +0100
parents 8e3763d1736a
children 48befc2bf66d
line wrap: on
line diff
--- a/Framework/Oracle/IOracleCommand.h	Wed Nov 06 15:16:45 2019 +0100
+++ b/Framework/Oracle/IOracleCommand.h	Wed Nov 06 17:34:58 2019 +0100
@@ -21,39 +21,13 @@
 
 #pragma once
 
-#include "../Messages/IMessage.h"
-
 #include <Core/IDynamicObject.h>
 
-#include <boost/noncopyable.hpp>
-
 namespace OrthancStone
 {
   class IOracleCommand : public boost::noncopyable
   {
   public:
-    class OracleMessageBase : public IMessage
-    {
-    private:
-      IOracleCommand&  command_;
-
-    public:
-      OracleMessageBase(IOracleCommand& command) :
-        command_(command)
-      {
-      }
-
-      void AcquireCommandPayload(Orthanc::IDynamicObject* payload) const
-      {
-        command_.AcquirePayload(payload);
-      }
-
-      const IOracleCommand& GetCommand() const
-      {
-        return command_;
-      }
-    };
-
     enum Type
     {
       Type_GetOrthancImage,
@@ -71,10 +45,7 @@
 
     virtual Type GetType() const = 0;
 
-    virtual void AcquirePayload(Orthanc::IDynamicObject* payload) = 0;
-    
-    virtual bool HasPayload() const = 0;
-
-    virtual Orthanc::IDynamicObject& GetPayload() const = 0;
+    // This only clones the command, *not* its possibly associated payload
+    virtual IOracleCommand* Clone() const = 0;
   };
 }