#pragma once
#include <list>
using namespace std;

#define	ALM_TYPE_ECG	0x01
	#define	ALM_ECG_HR		0x01
	#define	ALM_ECG_ST		0x02
	#define	ALM_ECG_ARRA	0x03

#define	ALM_TYPE_RESP	0x02
	#define	ALM_RESP_RR		0x01
	#define	ALM_RESP_APNEA	0x02


#define	ALM_TYPE_OXY	0x03
	#define	ALM_OXY_OXY		0x01
	#define	ALM_OXY_PR		0x02

#define	ALM_TYPE_TEMP	0x04
#define	ALM_TEMP_TEMP		0x01

#define	ALM_TYPE_NIBP	0x05
#define	ALM_NIBP_SBP	0x01
#define	ALM_NIBP_DBP	0x02

#define	ALM_TYPE_AIROXY	0x06




struct _SHOW_ALM_
{
	//报警类型 心电 呼吸 
	INT	i32Type;
	//报警子类型
	INT	i32SubType;
	//报警信息
	TCHAR cAlm[32];
	//报警发送的时间
	TCHAR	cTime[20];
	//报警阈值
	INT	i32AlmThrd;
	//触发报警的测量值
	INT	i32Result;
};


class CShowAlm
{
public:
	CShowAlm();
	~CShowAlm();
	int Add_ECG_Alm(INT	i32Type,INT	i32SubType,TCHAR * cTime,INT i32AlmThrd,INT	i32Result);
	int Get_ECG_Alm(struct _SHOW_ALM_ *alm,INT num);
	int Del_ECG_Alm(INT num);

	int Add_Resp_Temp_Alm(INT	i32Type, INT	i32SubType, TCHAR * cTime, INT i32AlmThrd, INT	i32Result);
	int Get_Resp_Temp_Alm(struct _SHOW_ALM_ *alm, INT num);
	int Del_Resp_Temp_Alm(INT num);

	int Add_Oxy_NIBP_Alm(INT	i32Type, INT	i32SubType, TCHAR * cTime, INT i32AlmThrd, INT	i32Result);
	int Get_Oxy_NIBP_Alm(struct _SHOW_ALM_ *alm, INT num);
	int Del_Oxy_NIBP_Alm(INT num);


	int Add_AirOxy_Alm(INT	i32Type, INT	i32SubType, TCHAR * cTime, INT i32AlmThrd, INT	i32Result);
	int Get_AirOxy_Alm(struct _SHOW_ALM_ *alm, INT num);
	int Del_AirOxy_Alm(INT num);

	

public :
	list<struct _SHOW_ALM_> m_ECGAlm;
	list<struct _SHOW_ALM_> m_RespTempAlm;
	list<struct _SHOW_ALM_> m_OxyNIBPAlm;
	list<struct _SHOW_ALM_> m_AirOxyAlm;
};

