/* * FailureDiagnosticsInitializer.cpp * * Created on: 19 авг. 2021 г. * Author: titov */ #include "FailureDiagnosticsSetup.hh" #include "../../processing/failure/FailureDiagnostics.hh" bool application::safety::FailureDiagnosticsSetup::input( Environment & env ) { return grab( memory, env.rholder.getShared( links.memory_id ) ) and grab( manager, env.rholder.getShared( links.manager_id ) ); } void application::safety::FailureDiagnosticsSetup::build( Environment & env ) { //todo: Нарушение требований к ВПО в части управления ресурсами. Local man( manager, *env.rholder.getShared(links.manager_id) ); Local mem( memory, *env.rholder.getShared(links.memory_id) ); typedef processing::failure::FailureDiagnostics FD; FD * diag = memories::instance_object( env.static_object_ma, *manager, memory ); systemic::ProcScheduler::ProcessParameter proc = { .priority = params.priority, .period = params.period, .phase = params.phase, .controlled = false }; env.scheduler.registerProcess( params.processor_id, *diag, proc ); env.rholder.share( *diag, links.diagnoster_id ); }