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; }
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); }