#pragma once #include "actiondep.h" #include "merrors.h" using michlib::message; template concept MirrorSupported = requires(T t, const CLArgs& args) { { t.Mirror(args) } -> std::convertible_to; }; ADD_ACTION(Mirror, mirror, MirrorSupported); template MString ActionMirror::DoAction(const CLArgs& args, D& data) { //auto resop = data.Open(args); //if(resop.Exist()) return "Can't open source: " + resop; auto res = data.Mirror(args); if(res.Exist()) return "Mirroring failed: " + res; return ""; };