MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/schematic/StatusChangeActionInitializer.cpp

33 lines
906 B
C++

/*
* StatusChangeAction.cpp
*
* Created on: 10 èþí. 2020 ã.
* Author: LeonidTitov
*/
#include "StatusChangeAction.hh"
bool application::schematic::StatusChangeAction::input( Environment & env ) {
return ( trigger = env.statuses.get( links.trigger ) )
and grab( action, env.rholder.getShared<Action>( links.action ) );
}
void application::schematic::StatusChangeAction::build( Environment & env ) {
typedef ::schematic::functor::StatusChangeAction Object;
Object * obj = memories::instance_object<Object>(env.static_object_ma, *trigger, *action, setting.expected_value );
systemic::ProcScheduler::ProcessParameter proc = {
.priority = params.priority,
.period = params.period, .phase = params.phase,
.controlled = false
};
env.scheduler.registerProcess( params.processor_id, *obj,
proc );
}