Esempio n. 1
0
            /***********************************************************
             * 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);
            }
Esempio n. 2
0
            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;
            }
Esempio n. 3
0
 public void MarshalSaHpiAnnouncementT( SaHpiAnnouncementT x )
 {
     MarshalSaHpiEntryIdT( x.EntryId );
     MarshalSaHpiTimeT( x.Timestamp );
     MarshalSaHpiBoolT( x.AddedByUser );
     MarshalSaHpiSeverityT( x.Severity );
     MarshalSaHpiBoolT( x.Acknowledged );
     MarshalSaHpiConditionT( x.StatusCond );
 }
Esempio n. 4
0
            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;
            }
Esempio n. 5
0
 /**
  * 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;
 }