35 lines
888 B
C++
35 lines
888 B
C++
/*
|
||
* LateBindingSignal.cpp
|
||
*
|
||
* Created on: 28 сент. 2020 г.
|
||
* Author: LeonidTitov
|
||
*/
|
||
|
||
#include "LateBindingSignal.hh"
|
||
|
||
void application::schematic::LateBindingSignal::build( Environment & env ) {
|
||
|
||
typedef ::schematic::LateBindingValue<float> LateSignal;
|
||
|
||
LateSignal * late_signal = memories::instance_object<LateSignal>(env.static_data_ma, setting.default_value);
|
||
|
||
env.signals.add( links.late, late_signal );
|
||
env.rholder.share<LateSignal>( *late_signal, links.bind );
|
||
|
||
}
|
||
|
||
bool application::schematic::BindSignal::input( Environment & env ) {
|
||
|
||
typedef ::schematic::LateBindingValue<float> LateSignal;
|
||
|
||
return grab( late_signal, env.rholder.getShared<LateSignal>(links.bind) )
|
||
and ( origin = env.signals.get( links.origin ) );
|
||
|
||
}
|
||
|
||
void application::schematic::BindSignal::build( Environment & env ) {
|
||
|
||
late_signal->bind( origin );
|
||
|
||
}
|