/*******************************************************************************
*                                                                              *
* Société de Transports de Montréal.                                    	   *
* 2012 - 2013                                                                        *
*                                                                              *
* Projet Zones Tests                                                           *
*                                                                              *
*                                                                              *
*                                                                              *
*******************************************************************************/
/*
	Description:
	Classe instantiable du gestionnaire de sondes lazer simulé.
	Crée les objets CSimulatorLazerProbe et les rend disponibles via la fonction
	générique GetLazerProbeHandle.
	
*/

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

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

#include "SimulatorLazerProbesMgr.h"

CSimulatorLazerProbesMgr::CSimulatorLazerProbesMgr()
{
    mInternalLazerProbe = mExternalLazerProbe = 0;
}

CSimulatorLazerProbesMgr::~CSimulatorLazerProbesMgr()
{
    if(mExternalLazerProbe)
        delete mExternalLazerProbe;

    if(mInternalLazerProbe)
        delete mInternalLazerProbe;
}

CAbstractLazerProbe *CSimulatorLazerProbesMgr::GetLazerProbeHandle(eLazerProbeType_t LazerProbeType, unsigned int LazerProbeID)
{
	Q_UNUSED(LazerProbeID)
	switch(LazerProbeType)
	{
		case LAZER_PROBE_TYPE_EXTERNAL:
		{
			return mExternalLazerProbe;
			break;
		}
		case LAZER_PROBE_TYPE_INTERNAL:
		{
			return mInternalLazerProbe;
			break;
		}
		case LAZER_PROBE_TYPE_INVALID:
		default:
		{
			return 0;
		}

	}
}

unsigned int CSimulatorLazerProbesMgr::InitLazerProbes()
{
	mExternalLazerProbe = new CSimulatorLazerProbe(1,LAZER_PROBE_TYPE_EXTERNAL);
	mInternalLazerProbe = new CSimulatorLazerProbe(1,LAZER_PROBE_TYPE_INTERNAL);
	return LAZERPROBES_MGR_RET_OK;
}
