46 lines
990 B
C++
46 lines
990 B
C++
|
|
/*
|
|||
|
|
* CopyAction.hh
|
|||
|
|
*
|
|||
|
|
* Created on: 30 окт. 2020 г.
|
|||
|
|
* Author: LeonidTitov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef UMLIBRARY_APPLICATION_UTILITY_COPYACTION_HH_
|
|||
|
|
#define UMLIBRARY_APPLICATION_UTILITY_COPYACTION_HH_
|
|||
|
|
|
|||
|
|
#include "../ISetupStep.hh"
|
|||
|
|
|
|||
|
|
#include "../../systemic/IFunctor.hh"
|
|||
|
|
|
|||
|
|
namespace application { namespace utility {
|
|||
|
|
|
|||
|
|
//!Копирование действий.
|
|||
|
|
struct CopyAction : public ISetupStep {
|
|||
|
|
|
|||
|
|
typedef systemic::IFunctor<void> Action;
|
|||
|
|
|
|||
|
|
Action * origin = nullptr;
|
|||
|
|
|
|||
|
|
bool input( Environment & env );
|
|||
|
|
void build( Environment & env );
|
|||
|
|
|
|||
|
|
struct Links {
|
|||
|
|
Environment::Id origin; //!<Исходное действие.
|
|||
|
|
|
|||
|
|
Environment::Id copy_one; //!<Копия действия.
|
|||
|
|
Environment::Id copy_two; //!<Копия действия.
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
const Links & links;
|
|||
|
|
|
|||
|
|
CopyAction( const Links & links );
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
} /* namespace utility */
|
|||
|
|
} /* namespace application */
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif /* UMLIBRARY_APPLICATION_UTILITY_COPYACTION_HH_ */
|