/*******************************************************************************
*                                                                              *
* Société de Transports de Montréal.                                    	   *
* 2012 - 2013                                                                        *
*                                                                              *
* Projet Zones Tests                                                           *
*                                                                              *
*                                                                              *
*                                                                              *
*******************************************************************************/
/*
	Description:
	Description du fichier si nécessaire.
	
*/

/* ************************************************************************** */
/* Revision:
### YYYMMDD JFM
	Verision d'origine.
	
### YYYYMMDD Description du besoin ou du bug
	Description du changement.
 */

/* ************************************************************************** */

#ifndef EVENTMGR_H
#define EVENTMGR_H

#include "GlobalDefine.h"
#include "Event.h"
#include "EventItem.h"
#include <QList>
#include "ZTData.h"


enum eEventTypeID
{
	EVENT_FN_HS,
	EVENT_PG_HS,
	EVENT_PP_HS,
	EVENT_PP2_HS,
	EVENT_TK1_HS,
	EVENT_CA_PG,
	EVENT_PEQ1,
	EVENT_MAINTENANCE,
    EVENT_ZT1_INHIBITION,
    EVENT_ZT2_INHIBITION,
	EVENT_MAX_EVENT_ID
};

class CZTPage;
class CZoneTest;

class CEventMgr
{
public:
	CEventMgr();

	QList<CEvent*> mEventsList;
	CZTPage *mMainPagePtr;
	CZoneTest *mProgramPTr;

	unsigned int UpdateEvents(CZTDetectionFunctionConfig* DetectionFuncCfg);
	unsigned int AddSingleEvent(unsigned int EventID);
	unsigned int RemoveSingleEvent(unsigned int EventID);


private:
	bool AddEvent(unsigned int EventID);
	bool RemoveEvent(unsigned int EventID);

signals:
	//void EventsListUpdated(QList<CEvent*>*);


};

#endif // EVENTMGR_H
