diff options
Diffstat (limited to 'icetray/dryice')
-rw-r--r-- | icetray/dryice/dryice.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/icetray/dryice/dryice.h b/icetray/dryice/dryice.h index a934efa..237c31f 100644 --- a/icetray/dryice/dryice.h +++ b/icetray/dryice/dryice.h @@ -5,9 +5,10 @@ #include <IceBox/IceBox.h> #include <visibility.h> #include "icetrayService.h" +#include "icecube.h" namespace IceTray { - class DLL_PUBLIC DryIce { + class DLL_PUBLIC DryIce : private Cube { public: DryIce(const Ice::StringSeq & = Ice::StringSeq()); DryIce(const DryIce &) = delete; @@ -22,6 +23,14 @@ namespace IceTray { void replace(const std::string &, const Ice::ObjectPtr &); + template<typename T, typename I, typename ... Args> + static auto replace(const Args & ... args) + { + pm()->remove<CubePlugIn>(typeid(T).name()); + return add<T, I>(args...); + } + + Ice::CommunicatorPtr ic; IceTray::ServicePtr s; }; |