Mercurial > hg > orthanc-stone
diff Framework/Oracle/IOracle.h @ 1077:d7a18a3cd6f9 broker
IOracleRunner
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 17 Oct 2019 16:51:41 +0200 |
parents | 81b29bc7c3d4 |
children | 53d9c3b96b9e |
line wrap: on
line diff
--- a/Framework/Oracle/IOracle.h Thu Oct 17 14:42:41 2019 +0200 +++ b/Framework/Oracle/IOracle.h Thu Oct 17 16:51:41 2019 +0200 @@ -22,7 +22,9 @@ #pragma once #include "../Messages/IObserver.h" -#include "IOracleCommand.h" +#include "IOracleRunner.h" + +#include <boost/shared_ptr.hpp> namespace OrthancStone { @@ -35,5 +37,13 @@ virtual void Schedule(boost::shared_ptr<IObserver>& receiver, IOracleCommand* command) = 0; // Takes ownership + + template <typename TObserver> + void ScheduleAdapter(boost::shared_ptr<TObserver>& receiver, + IOracleCommand* command) + { + boost::shared_ptr<IObserver> converted(receiver); + Schedule(converted, command); + } }; }