You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
547 B
24 lines
547 B
7 months ago
|
#pragma once
|
||
|
#include "actiondep.h"
|
||
|
#include "merrors.h"
|
||
|
|
||
|
using michlib::message;
|
||
|
|
||
|
template<class T>
|
||
|
concept MirrorSupported = requires(T t, const CLArgs& args) {
|
||
|
{
|
||
|
t.Mirror(args)
|
||
|
} -> std::convertible_to<MString>;
|
||
|
};
|
||
|
|
||
|
ADD_ACTION(Mirror, mirror, MirrorSupported<Source>);
|
||
|
|
||
|
template<class D> 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 "";
|
||
|
};
|