#pragma once
#include <string>
#include <list>
using namespace std;



class AbstractSimulationResultDTO
{
public:
	static const int MULTI_SIMULATION_RESULT_DTO = 1;
	static const int SINGLE_SIMULATION_RESULT_DTO = 2;
	static const int STEP_SIMULATION_RESULT_DTO = 3;
	static const int SERVICE_INFO_DTO = 4;
	static const int ARRIVALS_INFO_DTO = 5;
	static const int EXITS_INFO_DTO = 6;

	virtual string getID() = 0;

	virtual void addSimulationResult(AbstractSimulationResultDTO *abstractResultDTO) = 0;

	virtual bool deleteSimulationResult(AbstractSimulationResultDTO *abstractResultDTO) = 0;

	virtual list<AbstractSimulationResultDTO*>* getChildren() = 0;
	
	virtual int getType() = 0;

	virtual bool isLeaf() = 0;



};