#ifndef __RADIO_PROCESSOR_HPP_
#define __RADIO_PROCESSOR_HPP_

#include <list>
#include <Block.hpp>

#pragma once


class Processor
{
public:
	Processor();
	~Processor();

	void blockAdd(Block &block)
	{
		m_blockList.push_back(&block);
	}

	void blockRem(Block &block)
	{
		m_blockList.remove(&block);
	}

	void run()
	{
		for (auto block : m_blockList)
		{
			block->process();
		}
	}

private:
	std::list<Block*>m_blockList;
};

#endif