#pragma once
#include <vector>
#include "dXgtcFrame.h"
#include <map>
#include <fstream>
#include <sstream>
#include <string>

class Giant
{
public:
	Giant(uint16_t &pocetOnu, int16_t _pocetAllocId);
	Giant::Giant();
	std::vector<AllocStruc> Giant::generujBwmapu(double _cas, std::vector<uint32_t> _obsazenostFrontOnu, std::vector<uint8_t>* _dbruNastaveno);

	uint32_t getA(uint32_t onu) { return Si.at(onu); }
	void setA(uint32_t onu, uint32_t hodnota) { Si.at(onu) = hodnota; }

	~Giant();
	void Giant::vygenerujStatistikyBwMap();
private:
	std::vector<uint32_t> Si;	
	//uint32_t fixedBw;
	//uint32_t assuredBW;
	uint32_t SiMax;
	uint32_t SiMin;
	uint32_t pocetAllocId;
	uint32_t pocetOnu;
	uint32_t PIR;
	uint32_t GIR;
	uint32_t PBS;
	uint32_t GBS;
	std::vector<uint32_t> alokovaneGranty;
	std::vector<std::map<double, uint16_t>> casGenerovaniGrantuGiant;
};