37 lines
792 B
C++
37 lines
792 B
C++
|
|
/*
|
|||
|
|
* ConfigurableConditionInitializer.cpp
|
|||
|
|
*
|
|||
|
|
* Created on: 11 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>. 2023 <EFBFBD>.
|
|||
|
|
* Author: titov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#include "ConfigurableCondition.hh"
|
|||
|
|
|
|||
|
|
#include "../../schematic/ValueTrigger.hh"
|
|||
|
|
|
|||
|
|
|
|||
|
|
bool application::schematic::ConfigurableCondition::input(
|
|||
|
|
Environment & env) {
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void application::schematic::ConfigurableCondition::build(
|
|||
|
|
Environment & env) {
|
|||
|
|
|
|||
|
|
typedef ::schematic::ValueTrigger VT;
|
|||
|
|
|
|||
|
|
std::pmr::memory_resource * description_memory =
|
|||
|
|
&env.static_object_ma;
|
|||
|
|
|
|||
|
|
VT * vt = memories::instance_object<VT>(env.static_object_ma, description_memory);
|
|||
|
|
|
|||
|
|
vt->setValueContainer( env.signals, 0 );
|
|||
|
|
vt->setValueContainer( env.statuses, 1 );
|
|||
|
|
|
|||
|
|
env.rholder.share( *vt, links.trigger );
|
|||
|
|
env.statuses.add( links.condition, vt );
|
|||
|
|
|
|||
|
|
}
|