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

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

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

#ifndef SWITCHCDV_H
#define SWITCHCDV_H

#include "GlobalDefine.h"
#include "CDV.h"
#include "CDVItem.h"
#include "ZTData.h"

class CSwitchCDV : public CCDV
{
public:
	CSwitchCDV();
	CSwitchCDV(unsigned int CDVNormalITIMask, unsigned int CDVReversedITIMask, unsigned int CDVInputMask, unsigned int CDVType, QString CDVLabel, unsigned int CDVWay, unsigned int CDVGraphicalPosition);

	virtual unsigned int ComputeCDVState(unsigned int InputsBuf,unsigned int ZT1ItiMask, unsigned int ZT2ItiMask);
	unsigned int GetSwitchState(){return mCurSwitchPosition;}
	void SetNormalItiMask(unsigned int Mask);
	void SetReverseItiMask(unsigned int Mask);


private:
	unsigned int mNormalItiMask, mReversedItiMask;
	unsigned int mCurSwitchPosition;


};

#endif // SWITCHCDV_H
