/*	Author: Magdin Stoica
	Supervisor: Dr. Ryan Leduc
	
	Project created in conformity with the requirements for the Degree of Master of Engineering in Software Engineering, 
	Computing and Software Department, 
	McMaster University
	2003 - 2007
*/

#pragma once

#include "DesAlgo.h"
#include <vector>

namespace DESpot
{
	class DesAlgoChain: public DesAlgo
	{
		public:
			DesAlgoChain(bool exitOnFirstFail);
			virtual ~DesAlgoChain(void);

		public:
			void addAlgo(DesAlgo* algo);

		public:
			virtual bool runAlgo();

		private:
			std::vector<DesAlgo*> m_algoList;
			bool m_exitOnFirstFail;
	};

} //end of namespace DESpot
