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