/********************************************************
*                                                                                                            
* 文 件 名： TradInterlockLogicProcess.h   
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2011-06-02
* 作    者： 联锁组
* 功能描述： 联锁逻辑处理函数头文件  
* 函数包括：
* 使用注意：
* 修改记录：   
*
********************************************************/ 

#ifndef _TRAD_INTERLOCK_LOGIC_PROCESS_H_
#define _TRAD_INTERLOCK_LOGIC_PROCESS_H_

#include "InterlockLogicCheck.h"
#include "../ERROR/ErrorDataManage.h"
#include "../ERROR/ErrorDefine.h"
#include "../Route/RouteDataManage.h"
#include "../Route/RouteConfigDataManage.h"
#include "../NonRoute/NonRouteConfigDataManage.h"
#include "../NonRoute/NonRouteDataManage.h"
#include "../Route/LongRouteDataManage.h"
#include "../Route/LongRouteConfigDataManage.h"
#include "../Signal/SignalDataManage.h"
#include "../Signal/SignalConfigDataManage.h"
#include "../Switch/SwitchDataManage.h"
#include "../Switch/SwitchConfigDataManage.h"
#include "../Relay/RelayDataManage.h"
#include "../Section/PhysicalSectionDataManage.h"
#include "../2oo2/2oo2InterfaceDataManage.h"
#include "../System/SystemParameterManage.h"
#include "../System/CiSystemDefine.h"
#include "../Overlap/OverlapDataManage.h"
#include "../Overlap/OverlapConfigDataManage.h"
#include "../esb/ESBDataManage.h"
#include "../psd/PSDDataManage.h"
#include "../Section/LogicSectionDataManage.h"
#include "../DataManage/DeviceDataManage.h"
#include "../Garagedoor/GaragedoorDataManage.h"
#include "../LogicManage/InterlockCommonManage.h"


#ifdef __cplusplus
extern "C" {
#endif


/* C81 故障编码: EFUNC_CLD_SET_L_TRAIN_ROUTE */
/*
* 功能描述： 选排列车进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 SetLTrainRouteP(const UINT16 routeId);

/* C82 故障编码: EFUNC_CLD_SET_D_TRAIN_ROUTE */ 
/*
* 功能描述： 选排调车进路逻辑处理
* 参数说明： const UINT16 routeId, 进路ID
*            const UINT8 stopCheckFlag, 停止检查标志
* 返回值  ：    
*/
UINT8 SetDTrainRouteP(const UINT16 routeId);


/* C83 故障编码: EFUNC_CLD_SET_LEAD_ROUTE */ 
/*
* 功能描述： 选排引导进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 SetLeadRouteP(const UINT16 routeId);


/* C84 故障编码: EFUNC_CLD_SET_D_LONG_ROUTE */
/*
* 功能描述： 选排长调车进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：
*/
UINT8 SetLongDTrainRouteP(const UINT16 longRouteId);


/* C85 故障编码: EFUNC_CLD_LOCK_L_TRAIN_ROUTE */
/*
* 功能描述： 锁闭列车进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 LockLTrainRouteP(const UINT16 routeId);


/* C86 故障编码: EFUNC_CLD_LOCK_D_TRAIN_ROUTE */
/*
* 功能描述： 锁闭调车进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 LockDTrainRouteP(const UINT16 routeId);

/* C87 故障编码: EFUNC_CLD_LOCK_LEAD_ROUTE */
/*
* 功能描述： 锁闭引导进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 LockLeadTrainRouteP(const UINT16 routeId);

/* C88 故障编码: EFUNC_CLD_LEAD_TRAIN_ROUTE */
/*
* 功能描述： 锁闭长调车进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：
*/
UINT8 LockLongDTrainRouteP(const UINT16 longRouteId);

/* C89 故障编码: EFUNC_CLD_OPEN_L_TRAIN_ROUTE */
/*
* 功能描述： 开放列车进路信号逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 OpenLTrainRouteP(const UINT16 routeId);

/* C90 故障编码: EFUNC_CLD_OPEN_D_TRAIN_ROUTE */
/*
* 功能描述： 开放调车进路信号逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 OpenDTrainRouteP(const UINT16 routeId);

/* C91 故障编码: EFUNC_CLD_OPEN_LEAD_ROUTE */
/*
* 功能描述： 开放引导进路信号逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 OpenLeadRouteP(const UINT16 routeId);

/* C92 故障编码: EFUNC_CLD_KEEP_L_TRAIN_ROUTE */
/*
* 功能描述： 开放列车进路信号逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 KeepLTrainRouteP(const UINT16 routeId);

/* C93 故障编码: EFUNC_CLD_KEEP_D_TRAIN_ROUTE */
/*
* 功能描述： 保持开放调车进路信号逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 KeepDTrainRouteP(const UINT16 routeId);

/* C94 故障编码: EFUNC_CLD_KEEP_LEAD_ROUTE */
/*
* 功能描述： 保持引导进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 KeepLeadRouteP(const UINT16 routeId);


/* C95 故障编码: EFUNC_CLD_SET_NONROUTE */
/*
* 功能描述： 选排非进路调车逻辑处理
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ：0 办理失败
*			1 办理成功
*/
UINT8 SetNonRouteP(UINT8 nonRouteId);

/* C96 故障编码: EFUNC_CLD_LOCK_NONROUTE */
/*
* 功能描述： 锁闭非进路调车逻辑处理
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ：    
*/
UINT8 LockNonRouteP(UINT8 nonRouteId);

/* C97 故障编码: EFUNC_CLD_OPEN_NONROUTE */
/*
* 功能描述： 开放非进路调车逻辑处理
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ： 0 返回失败
*			1 返回成功
*/
UINT8 OpenNonRouteP(UINT8 nonRouteId);

/* C98 故障编码: EFUNC_CLD_KEEP_NONROUTE */
/*
* 功能描述： 保持开放非进路调车逻辑处理
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ：  0 失败
*			  1 成功
*/
UINT8 KeepOpenNonRouteP(UINT8 nonRouteId);

/* C100 故障编码: EFUNC_CLD_CANCEL_NONROUTE */
/*
* 功能描述： 取消非进路处理
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ：    
*/
UINT8 CancelNonRouteP(UINT8 nonRouteId);


/* C101 故障编码: EFUNC_CLD_FAULT_CANCEL_NONROUTE */
/*
* 功能描述： 故障取消非进路处理
* 参数说明： UINT8 nonRouteId，非进路ID
* 返回值  ：    
*/
UINT8 FaultCancelNonRouteP(UINT8 nonRouteId);

/* C102 故障编码: EFUNC_CLD_CANCEL_D_TRAIN_ROUTE */
/*
* 功能描述： 总取消调车进路逻辑处理
* 参数说明： UINT16 routeId, 进路ID
* 返回值  ：    
*/
UINT8 CancelDTrainRouteP(const UINT16 routeId);





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


/*
* 功能描述： 办理列车进路信号机联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 SetLTrainRouteSignalCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);


/*
* 功能描述： 办理列车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 SetLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 办理列车进路道岔联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 办理调车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 SetDTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 办理引导进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 SetLeadRouteSectionC(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 锁闭列车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 LockLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 锁闭调车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 LockDTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 锁闭引导进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 LockLeadRouteSectionC(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 开放列车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 OpenLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 开放调车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 OpenDTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 开放引导进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 OpenLeadRouteSectionC(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);

/*
* 功能描述： 保持引导进路信号区段占用联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 KeepLeadSecOccCheck(UINT16 routeId);

/*
* 功能描述： 开放调车进路区段联锁条件检查
* 参数说明：
*            UINT16 RouteId,    进路号
*            UINT8 functionId,  调用函数编号
*            UINT8 sendLevel,   故障码发送级别
* 返回值  ： CI_ERROR   
*            CI_SUCCESS 
*/
UINT8 KeepDTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);





#ifdef __cplusplus
}
#endif

#endif
