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