/*********************************************************** * Iterate over annuncuator announcements **********************************************************/ public static IEnumerable <SaHpiAnnouncementT> Announcements(long sid, long rid, long annnum, long severity = HpiConst.SAHPI_ALL_SEVERITIES, long unacknowledged_only = HpiConst.SAHPI_FALSE) { long id = HpiConst.SAHPI_FIRST_ENTRY; long timestamp = 0; do { SaHpiAnnouncementT a = NewAnnouncement(id, timestamp); long rv = Api.saHpiAnnunciatorGetNext(sid, rid, annnum, severity, unacknowledged_only, ref a); if (rv == HpiConst.SA_ERR_HPI_NOT_PRESENT) { yield break; } if (rv != HpiConst.SA_OK) { yield break; } id = a.EntryId; timestamp = a.Timestamp; yield return(a); } while (id != HpiConst.SAHPI_LAST_ENTRY); }
public SaHpiAnnouncementT DemarshalSaHpiAnnouncementT() { SaHpiAnnouncementT x = new SaHpiAnnouncementT(); x.EntryId = DemarshalSaHpiEntryIdT(); x.Timestamp = DemarshalSaHpiTimeT(); x.AddedByUser = DemarshalSaHpiBoolT(); x.Severity = DemarshalSaHpiSeverityT(); x.Acknowledged = DemarshalSaHpiBoolT(); x.StatusCond = DemarshalSaHpiConditionT(); return x; }
public void MarshalSaHpiAnnouncementT( SaHpiAnnouncementT x ) { MarshalSaHpiEntryIdT( x.EntryId ); MarshalSaHpiTimeT( x.Timestamp ); MarshalSaHpiBoolT( x.AddedByUser ); MarshalSaHpiSeverityT( x.Severity ); MarshalSaHpiBoolT( x.Acknowledged ); MarshalSaHpiConditionT( x.StatusCond ); }
public static long saHpiAnnunciatorAdd( long SessionId, long ResourceId, long AnnunciatorNum, ref SaHpiAnnouncementT Announcement ) { long rv; bool rc; rc = HpiUtil.Check( Announcement ); if ( !rc ) { return HpiConst.SA_ERR_HPI_INVALID_PARAMS; } HpiSession s = HpiCore.GetSession( SessionId ); if ( s == null ) { return HpiConst.SA_ERR_HPI_INVALID_SESSION; } OhpiMarshal m = s.GetMarshal(); if ( m == null ) { return HpiConst.SA_ERR_HPI_NO_RESPONSE; } m.MarshalSaHpiSessionIdT( s.GetRemoteSid() ); m.MarshalSaHpiResourceIdT( ResourceId ); m.MarshalSaHpiAnnunciatorNumT( AnnunciatorNum ); m.MarshalSaHpiAnnouncementT( Announcement ); rc = m.Interchange( OhpiConst.RPC_SAHPI_ANNUNCIATOR_ADD ); if ( !rc ) { m.Close(); return HpiConst.SA_ERR_HPI_NO_RESPONSE; } rv = m.DemarshalSaErrorT(); if ( rv == HpiConst.SA_OK ) { Announcement = m.DemarshalSaHpiAnnouncementT(); } s.PutMarshal( m ); return rv; }
/** * Check function for HPI struct SaHpiAnnouncementT */ public static bool Check( SaHpiAnnouncementT x ) { if ( x == null ) { return false; } if ( !Check( x.StatusCond ) ) { return false; } return true; }