#pragma once
#include "AbstractUIObserver.h"
#include "SingleSimulationResultDTO.h"
#include "StepResultDTO.h"
#include "SimulationParametersDTO.h"
#include "SimulationControllerFacade.h"
#include "AbstractSimulationResultDTO.h"
#include "ResultDTOIteratorFactory.h"
#include "ServiceInfoDTO.h"
#include "ArrivalsInfoDTO.h"
#include "ExitsInfoDTO.h"
#include "ActionFactory.h"
#include "DTOIterator.h"
#include <iostream>
#include <fstream>
using namespace std;

class ResultsFileWriter :
	public AbstractUIObserver
{
private:
	AbstractSimulationResultDTO* simulationResult;
public:
	ResultsFileWriter(void){}
	void AbstractUIObserver::updateStep();
	void AbstractUIObserver::updateMultipleSimulations();
	void AbstractUIObserver::updateSimulation();
	void AbstractUIObserver::setSimulationResultDTO(AbstractSimulationResultDTO* simulationResult);
};
