33 lines
906 B
C++
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 );
|
|
|
|
}
|