#pragma once
#include "JObject_NetSDK.h"
NS_NETSDK_CFG_BEGIN

#define JK_EventHandler "EventHandler" 
class EventHandler : public JObject
{
public:
	JStrObj			AlarmInfo;					/// 要显示的报警信息
	JBoolObj		AlarmOutEnable;				/// 报警使能
	JIntObj			AlarmOutLatch;				/// 报警输出延时：10?300 sec
    JIntHex			AlarmOutMask;				/// 报警输出通道掩码 
	JBoolObj		BeepEnable;					/// 蜂鸣
	JIntObj			EventLatch;					/// 联动开始延时时间，s为单位
	JBoolObj		FTPEnable;					/// 启动FTP传输
	JBoolObj		LogEnable;					/// 日志使能
	JBoolObj		MailEnable;					/// 发送邮件
	JBoolObj		MatrixEnable;				/// 矩阵使能	
	JIntHex			MatrixMask;					/// 矩阵掩码 	
	JBoolObj		MessageEnable;				/// 发送消息到报警中心
	JBoolObj		MsgtoNetEnable;				/// 消息上传给网络使能
	JBoolObj		MultimediaMsgEnable;		/// 发送彩信
	JBoolObj		PtzEnable;					/// 云台联动使能
	JBoolObj		RecordEnable;				/// 录像使能
	JIntObj			RecordLatch;				/// 录像延时：10?300 sec
	JIntHex			RecordMask;					/// 录象掩码
	JBoolObj		ShortMsgEnable;				/// 发送短信
	JBoolObj		ShowInfo;					/// 是否在GUI上和编码里显示报警信息
	JIntHex			ShowInfoMask;				/// 要联动显示报警信息的通道掩码
	JBoolObj		SnapEnable;					/// 抓图使能
	JIntHex			SnapShotMask;				/// 抓图掩码 
	JObjArray<JObjArray<JStrObj> >	TimeSection;/// 录像时间段
	JBoolObj		TipEnable;					/// 屏幕提示使能
	JBoolObj		TourEnable;					/// 轮巡使能
	JIntHex			TourMask;					/// 抓图掩码 
	JBoolObj		VoiceEnable;				/// 语音提示
	JIntObj			VoiceType;					/// 和上面的bVoice对应，表示语音提示音类型
	JObjArray<JObjArray<JIntObj> >	PtzLink;	/// 云台联动项

public:
	EventHandler(JObject *pParent = NULL, const char *szName = JK_EventHandler):
	JObject(pParent,szName),
	AlarmInfo(this, "AlarmInfo"),
	AlarmOutEnable(this, "AlarmOutEnable"),
	AlarmOutLatch(this, "AlarmOutLatch"),
	AlarmOutMask(this, "AlarmOutMask"),
	BeepEnable(this, "BeepEnable"),
	EventLatch(this, "EventLatch"),
	FTPEnable(this, "FTPEnable"),
	LogEnable(this, "LogEnable"),
	MailEnable(this, "MailEnable"),
	MatrixEnable(this, "MatrixEnable"),
	MatrixMask(this, "MatrixMask"),
	MessageEnable(this, "MessageEnable"),
	MsgtoNetEnable(this, "MsgtoNetEnable"),
	MultimediaMsgEnable(this, "MultimediaMsgEnable"),
	PtzEnable(this, "PtzEnable"),
	RecordEnable(this, "RecordEnable"),
	RecordLatch(this, "RecordLatch"),
	RecordMask(this, "RecordMask"),
	ShortMsgEnable(this, "ShortMsgEnable"),
	ShowInfo(this, "ShowInfo"),
	ShowInfoMask(this, "ShowInfoMask"),
	SnapEnable(this, "SnapEnable"),
	SnapShotMask(this, "SnapShotMask"),
	TimeSection(this, "TimeSection"),
	TipEnable(this, "TipEnable"),
	TourEnable(this, "TourEnable"),
	TourMask(this, "TourMask"),
	VoiceType(this, "VoiceType"),
	PtzLink(this, "PtzLink"),
	VoiceEnable(this, "VoiceEnable"){
	};

	~EventHandler(void){};
};

NS_NETSDK_CFG_END