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 );
|
|
|
|
}
|