/* * AddProcessor.hpp * * Created on: 17 июл. 2019 г. * Author: titov */ #ifndef SOURCE_APPLICATION_ADDPROCESSOR_HPP_ #define SOURCE_APPLICATION_ADDPROCESSOR_HPP_ #include "Environment.hh" #include "../systemic/Scheduler.hpp" namespace configuration { template void addProcessor( float proc_sampletime, std::size_t proc_size, configuration::Environment & env, memories::allocator secure_ma ); } template void configuration::addProcessor( float proc_sampletime, std::size_t proc_size, configuration::Environment & env, std::pmr::memory_resource & secure_ma, std::pmr::memory_resource & object_ma ) { typedef systemic::SchedulerInterface ProcessorInterface; ProcessorInterface::setSampleTime(proc_sampletime); systemic::ProcessInfo * table_proc = memories::instance_array( secure_ma, proc_size ); std::pmr::memory_resource * object_ma_ptr = &object_ma; ProcessorInterface * proc_intf = memories::instance_object( env.static_object_ma, table_proc, proc_size, object_ma_ptr ); env.scheduler.addProcessor( proc_intf, ProcessorInterface::tag ); } #endif /* SOURCE_APPLICATION_ADDPROCESSOR_HPP_ */