MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/systemic/ProcScheduler.cpp

44 lines
1.1 KiB
C++
Raw Normal View History

/*!\file
* \brief \todo <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
*/
/*
* ProcScheduler.cpp
*
* Created on: 21 <EFBFBD><EFBFBD><EFBFBD> 2019 <EFBFBD>.
* Author: titov
*/
#include "ProcScheduler.hh"
bool systemic::ProcScheduler::addProcessor( IProcessor * processor,
ProcessorId processor_id ) {
bool result = false;
if( processor_id < size and not processors[processor_id] )
result = ( processors[processor_id] = processor );
return result;
}
systemic::ProcScheduler::ProcScheduler( IProcessor * * providers, std::size_t size ) :
processors(providers), size(size) {}
bool systemic::ProcScheduler::registerProcess( ProcessorId processor_id,
IProcess & proc,
ProcessParameter parameters ) {
bool result = false;
if( processor_id < size and processors[processor_id] ) {
processors[processor_id]->reqisterProcess( parameters.priority, parameters.period, parameters.phase, parameters.controlled, proc );
result = true;
}
return result;
}