/* * SignalUpdateAction.hh * * Created on: 21 дек. 2020 г. * Author: titov */ #ifndef UMLIBRARY_APPLICATION_SCHEMATIC_SIGNALUPDATEACTION_HH_ #define UMLIBRARY_APPLICATION_SCHEMATIC_SIGNALUPDATEACTION_HH_ #include "../ISetupStep.hh" #include "../../systemic/ISignal.hh" #include "../../systemic/IFunctor.hh" namespace application { namespace schematic { //!Модуль формирует "дейсвтие" при каждом обновлении сигнала. struct SignalUpdateAction : public ISetupStep { typedef systemic::IFunctor Action; systemic::ISignal * signal = nullptr; Action * action = nullptr; struct Links { Environment::StatusId signal; //!<Исходный сигнал. Environment::Id action; //!<Действие при изменении. }; const Links & links; const configuration::ProcessConfig & params; bool input( Environment & env ); void build( Environment & env ); SignalUpdateAction( const Links & links, const configuration::ProcessConfig & params ); }; }} #endif /* UMLIBRARY_APPLICATION_SCHEMATIC_SIGNALUPDATEACTION_HH_ */