Ejemplo n.º 1
0
void CAlarmParamsDlg::showEvent(QShowEvent * event)
{
	if(NULL == event)
	{
	}
	getAlarmInfo();

   changeAlarmInIndex(0);
   changeAlarmOutIndex(0);
}
Ejemplo n.º 2
0
//发送节点液位报警信息
int sendAlarmBroadInfo(uint64 *time,enum RealLabel type,uint8 drum,uint32 leveldiff)
{
	//如果生成的协议为空
	if((time == NULL) || (drum == (uint8)0) || (leveldiff == (uint32)0))
		return -1;
	
	char resend_type = RESEND_NONE;
	char *buf = NULL;
	uint16 len = 0;
	switch(type)
	{
		//以下信息都是广播信息
		case REAL_ALARM_FISRT:
		case REAL_ALARM_SECOND:
		case REAL_ALARM_THIRD:
			resend_type = RESEND_ALARM;
			break;
		default:
			return -1;
	}

	if(my_mutex_lock(&send_lock))
		return -1;
	RealSendNode *rsn = RealSendList;
	//寻找节点发送
	while(rsn != NULL)
	{
		buf = getAlarmInfo(rsn->username,drum,time,type,leveldiff,&len);
		//所有节点都发送,并且要保证发送成功,即保证失败重发
		InTimelyReSendQueue(rsn->fd,&(rsn->sendaddr),buf,len,resend_type,drum);   //发送到定时发送函数,以确保这些重要信息完整的被接收
		free(buf);
		len = 0;
		rsn = rsn->next;
	}
	pthread_mutex_unlock(&send_lock);
	return 0;
}
Ejemplo n.º 3
0
//设置报警输出参数button
void CAlarmParamsDlg::on_pushButtonAlarmOutSave_clicked()
{
	   setAlarmoutInfo();
	   getAlarmInfo();
}