示例#1
0
int rt_sysmon::alarm_send( pwr_tOid  oid, 
			      char	*alarm_text,
			      char	*alarm_name,
			      int	alarm_prio ) 
{
  mh_sApplMessage 	mh_msg;
  pwr_tUInt32	  	mh_id; 
  int			sts;
  
  sts = connect_alarm();
  if ( EVEN(sts)) return sts;	
  mh_msg.Object = oid;
  mh_msg.EventFlags = (mh_mEventFlags)(mh_mEventFlags_Returned |
    mh_mEventFlags_NoObject | 
    mh_mEventFlags_Bell);
  time_GetTime( &mh_msg.EventTime);

  mh_msg.SupObject = pwr_cNObjid;
  mh_msg.Outunit = pwr_cNObjid;
  strcpy ( mh_msg.EventName , alarm_name);
  strcpy ( mh_msg.EventText , alarm_text);
  mh_msg.EventType = mh_eEvent_Alarm;
  mh_msg.SupInfo.SupType = mh_eSupType_None; 
  mh_msg.EventPrio = (mh_eEventPrio) alarm_prio;
  sts = mh_ApplMessage( &mh_id, &mh_msg);
  if( EVEN(sts)) return sts;
  
  return SMON__SUCCESS;
} 
示例#2
0
void ra_mean::alarm( const char *description, const char *text)
// Send alarm to proview
{
    mh_sApplMessage	msg;
    pwr_tUInt32		msgid;
    pwr_tStatus		sts;
    
    memset(&msg, 0, sizeof(msg));
    msg.EventFlags = mh_mEventFlags(mh_mEventFlags_Returned |
		      mh_mEventFlags_NoObject |
		      mh_mEventFlags_Bell);
    clock_gettime( CLOCK_REALTIME, (timespec *)&msg.EventTime);
    strcpy( msg.EventName, description);
    sprintf( msg.EventText, text);
    msg.EventType = mh_eEvent_Alarm;
    msg.EventPrio = mh_eEventPrio_B;
    sts = mh_ApplMessage( &msgid, &msg);
      if (EVEN (sts)) throw co_error(sts);
}