/* * DynamicParameterInitializer.cpp * * Created on: 29 нояб. 2023 г. * Author: titov */ #include "DynamicParameter.hh" #include "../../systemic/ApplyParameter.hpp" bool application::schematic::DynamicParameter::input( Environment & env ) { return ( parameter = systemic::getSetting( env.cparams, provider, links.preset ) ); } void application::schematic::DynamicParameter::build( Environment & env ) { Settable * dp = memories::instance_object(env.static_object_ma); typedef systemic::ApplyParameter ApplySettable; typedef systemic::IValueType ParameterInterface; typedef systemic::IFunctor Action; ApplySettable * ap = memories::instance_object(env.static_object_ma, *dp, parameter); (*ap)(); if( links.value ) { env.signals.create( links.value, dp->value() ); } if( links.set ) { env.rholder.share( *dp, links.set ); } if( links.reset ) { env.rholder.share( *ap, links.reset ); } }