/*******************************************************************************
*                                                                              *
* 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 ABSTRACTLAZERPROBEMGR_H
#define ABSTRACTLAZERPROBEMGR_H
#include "AbstractLazerProbe.h"

enum eLazerProbesMgrRetValues
{
	LAZERPROBES_MGR_RET_OK,
	LAZERPROBES_MGR_RET_PROBE_OPEN_ERROR,
	LAZERPROBES_MGR_RET_INVALID_PROBE_ID
};

typedef enum eLazerProbeType
{
	LAZER_PROBE_TYPE_EXTERNAL,		//Internal lazer probe installation
	LAZER_PROBE_TYPE_INTERNAL,		//External lazer probe installation
	LAZER_PROBE_TYPE_INVALID
}eLazerProbeType_t;

class CAbstractLazerProbeMgr
{
public:
	CAbstractLazerProbeMgr();
	virtual ~CAbstractLazerProbeMgr();

	virtual unsigned int InitLazerProbes(void) = 0;
	virtual CAbstractLazerProbe *GetLazerProbeHandle(eLazerProbeType_t LazerProbeType, unsigned int LazerProbeID) = 0;
//	virtual unsigned int OpenExternalModules(void) = 0;
};

#endif // ABSTRACTLAZERPROBEMGR_H
