/********************************************************
*                                                                                                            
* 文 件 名： DiffLineDevDataManage.c 
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2016-11-05
* 作    者： 联锁组
* 功能描述： 其他线路设备数据C文件  
* 函数包括：
* 使用注意：
* 修改记录：   
*
********************************************************/ 

#include "DiffLineDevConfigDataManage.h"

DiffLineDevStruct DiffLineDevData;/*其他线路设备数据*/
UINT16 DiffLineDevSum = 0u;			/*其他线路设备总数*/

/*
功能描述: 	检查设备是否不属于其他线路
输入参数:		UINT8 devType 设备类型
			UINT16 devId 设备ID
输出参数:	无
返回值:	CI_TRUE	不属于其他线路
		CI_FALSE 属于其他线路
*/
UINT8 CheckTheDevIsNotOfDiffLine(UINT8 devType, UINT16 devId)
{
	UINT16 *pDevId = NULL; /*不同类型设备ID数组指针*/
	UINT16 devSum = 0u;		/*不同类型设备总数*/
	UINT16 i = 0u;			/*循环变量*/
	UINT8 retVal = CI_FALSE;	/*返回值*/

	switch (devType)
	{
		case CI_DEVICE_TYPE_SWITCH: /* 道岔 */
			pDevId = DiffLineDevData.switchIdBuf;
			devSum = DiffLineDevData.switchNum;
			break;
		case CI_DEVICE_TYPE_SIGNAL: /* 信号机 */
			pDevId = DiffLineDevData.signalIdBuf;
			devSum = DiffLineDevData.signalNum;
			break;
		case CI_DEVICE_TYPE_ESB:	/* ESB */
			pDevId = DiffLineDevData.esbIdBuf;
			devSum = DiffLineDevData.esbNum;
			break;
		case CI_DEVICE_TYPE_PSD:	/* PSD */
			pDevId = DiffLineDevData.psdIdBuf;
			devSum = DiffLineDevData.psdNum;
			break;
		case CI_DEVICE_TYPE_SPKS:	/* SPKS */
			pDevId = DiffLineDevData.spksIdBuff;
			devSum = DiffLineDevData.spksNum;
			break;
		case CI_DEVICE_TYPE_AXISSEC:	/*计轴区段*/
			pDevId = DiffLineDevData.axisSectIdBuff;
			devSum = DiffLineDevData.axisSectNum;
			break;
		case CI_DEVICE_TYPE_PHYSEC:	/*物理区段区段*/
			pDevId = DiffLineDevData.physSectIdBuff;
			devSum = DiffLineDevData.physSectNum;
			break;
		default:
			pDevId = NULL;
			devSum = 0u;
			break;
	}
	retVal = CI_TRUE;	/*返回值*/
	for(i = 0u; i < devSum; i++)
	{
		if(pDevId[i] == devId)
		{/*指定设备ID与其他线路设备ID相同*/
			retVal = CI_FALSE;
			break;
		}
	}

	return retVal;
}

