44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
/*!\file
|
||
* \brief \todo Описание файла.
|
||
*/
|
||
/*
|
||
* ProcScheduler.cpp
|
||
*
|
||
* Created on: 21 мая 2019 г.
|
||
* 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;
|
||
|
||
}
|