/* * SignalValidation.cpp * * Created on: 29 апр. 2022 г. * Author: titov */ #include "SignalValidation.hh" bool application::schematic::SignalValidationPrevious::input( Environment & env ) { return ( origin = env.signals.get( links.origin ) ) and ( validity = env.statuses.get( links.validity ) ); } void application::schematic::SignalValidationPrevious::build( Environment & env ) { systemic::detail::SignalValidationPrevious * svp = memories::instance_object( env.static_object_ma, *origin, *validity ); env.signals.add( links.validated, svp ); } bool application::schematic::SignalValidationFixed::input( Environment & env ) { return ( origin = env.signals.get( links.origin ) ) and ( validity = env.statuses.get( links.validity ) ); } void application::schematic::SignalValidationFixed::build( Environment & env ) { systemic::detail::SignalValidationFixed * svf = memories::instance_object( env.static_object_ma, *origin, *validity, setting.fixed ); env.signals.add( links.validated, svf ); } bool application::schematic::SignalValidationPreset::input( Environment & env ) { return ( origin = env.signals.get( links.origin ) ) and ( validity = env.statuses.get( links.validity ) ) and ( parameter = systemic::getSetting( env.cparams, provider, links.preset ) ); } void application::schematic::SignalValidationPreset::build( Environment & env ) { systemic::LocalSetting ls( parameter ); systemic::detail::SignalValidationPreset * svp = memories::instance_object( env.static_object_ma, *origin, *validity ); svp->configure(ls.setting); env.signals.add( links.validated, svp ); } bool application::schematic::SignalValidationAnother::input( Environment & env ) { return ( origin = env.signals.get( links.origin ) ) and ( validity = env.statuses.get( links.validity ) ) and ( alternate = env.signals.get(links.alternate ) ); } void application::schematic::SignalValidationAnother::build( Environment & env ) { systemic::detail::SignalValidationAnother * sva = memories::instance_object( env.static_object_ma, *origin, *validity, *alternate ); env.signals.add( links.validated, sva ); }