/*******************************************************************************
*                                                                              *
* Société de Transports de Montréal.                                    	   *
* 2012                                                                         *
*                                                                              *
* 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 SIMULATORINPUTMODULE_H
#define SIMULATORINPUTMODULE_H
#include "GlobalDefine.h"
#include "InputModule.h"
#include <QReadWriteLock>

class CSimulatorInputModule : public CInputModule
{
public:
	CSimulatorInputModule();
	~CSimulatorInputModule();

	unsigned int GetInputs(unsigned char *DataBuf);
	virtual unsigned int GetInputs();
    unsigned int GetInputBuf();

	unsigned int SetInputBufValue(unsigned int value);
	unsigned int SetInputBufFlags(unsigned int FlagMask);
	unsigned int ClearInputBufFlags(unsigned int FlagMask);

private:

    unsigned int mInputBuf;
	QReadWriteLock mRdWrLock;

};

#endif // SIMULATORINPUTMODULE_H
