85 lines
2.8 KiB
C++
85 lines
2.8 KiB
C++
/*
|
||
* 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<systemic::detail::SignalValidationPrevious>( 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<systemic::detail::SignalValidationFixed>( 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<Object>( env.cparams, provider, links.preset ) );
|
||
|
||
}
|
||
|
||
void application::schematic::SignalValidationPreset::build( Environment & env ) {
|
||
|
||
systemic::LocalSetting<Object> ls( parameter );
|
||
|
||
systemic::detail::SignalValidationPreset * svp =
|
||
memories::instance_object<systemic::detail::SignalValidationPreset>( 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<systemic::detail::SignalValidationAnother>( env.static_object_ma,
|
||
*origin, *validity, *alternate );
|
||
|
||
env.signals.add( links.validated, sva );
|
||
|
||
}
|