PowerSNMP for .NET
Trap1Message Class
Members  Example 




Used to send SNMP version 1 traps from an agent to a manager.
Object Model
Trap1Message ClassDecodingException ClassVariableCollection ClassVariable Class
Syntax
<SerializableAttribute()>
Public Class Trap1Message 
   Inherits MessageBase
Dim instance As Trap1Message
[Serializable()]
public class Trap1Message : MessageBase 
[Serializable()]
public __gc class Trap1Message : public MessageBase 
[Serializable()]
public ref class Trap1Message : public MessageBase 
Remarks

Trap1Message derives from MessageBase.

Six classes are included that specialize the Trap1Message class to defined generic traps:

1. Dart.Snmp.Trap1.coldStart

2. Dart.Snmp.Trap1.warmStart

3. Dart.Snmp.Trap1.linkDown

4. Dart.Snmp.Trap1.linkUp

5. Dart.Snmp.Trap1.authenticationFailure

6. Dart.Snmp.Trap1.egpNeighborLoss

Serializable using BinaryFormatter and XmlSerializer.

Example
The following example demonstrates receiving notifications (Trap1, Trap2 and Inform messages), and responding to Inform messages.
private void button1_Click(object sender, EventArgs e)
{
    //Start listening for notifications
    manager1.Start(manager1_NotificationReceived, null);
}

private void manager1_NotificationReceived(Manager manager, MessageBase message, object state)
{
    //Marshal message to the UI thread using the Message event
    if (message is Trap1Message)
        manager.Marshal(new MessageBase[] { message }, "trap1", null);
    else if (message is Trap2Message)
        manager.Marshal(new MessageBase[] { message }, "trap2", null);
    else if (message is InformMessage)
    {
        manager.Marshal(new MessageBase[] { message }, "inform", null);

        //Send response to inform message origin
        manager.Send(new ResponseMessage(message as InformMessage, null), message.Origin);
    }
}

private void manager1_Message(object sender, MessageEventArgs e)
{
    //Update interface according to message type received
    switch (e.Message)
    {
        case "trap1":
            Trap1Message trap = e.Messages[0] as Trap1Message;
            label1.Text = "Trap1 received with Enterprise(" + trap.Enterprise + "), Generic Type (" +
            trap.GenericTrap.ToString() + "), Specific Type(" + trap.SpecificTrap.ToString() + ")";
            break;
        case "trap2":
            Trap2Message notification = e.Messages[0] as Trap2Message;
            label2.Text = "Trap2 received with OID (" + notification.Oid + ")";
            break;
        case "inform":
            InformMessage inform = e.Messages[0] as InformMessage;
            label3.Text = "Inform received with " + inform.Variables.Count.ToString() + " variable(s).";
            break;
    }
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    'Start listening for notifications
    manager1.Start(AddressOf manager1_NotificationReceived, Nothing)
End Sub

Private Sub manager1_NotificationReceived(ByVal manager As Manager, ByVal message As MessageBase, ByVal state As Object)
    'Marshal message to the UI thread using the Message event
    If TypeOf message Is Trap1Message Then
        manager.Marshal(New MessageBase() { message }, "trap1", Nothing)
    ElseIf TypeOf message Is Trap2Message Then
        manager.Marshal(New MessageBase() { message }, "trap2", Nothing)
    ElseIf TypeOf message Is InformMessage Then
        manager.Marshal(New MessageBase() { message }, "inform", Nothing)

        'Send response to inform message origin
        manager.Send(New ResponseMessage(TryCast(message, InformMessage), Nothing), message.Origin)
    End If
End Sub

Private Sub manager1_Message(ByVal sender As Object, ByVal e As MessageEventArgs)
    'Update interface according to message type received
    Select Case e.Message
        Case "trap1"
            Dim trap As Trap1Message = TryCast(e.Messages(0), Trap1Message)
            label1.Text = "Trap1 received with Enterprise(" & trap.Enterprise & "), Generic Type (" & trap.GenericTrap.ToString() & "), Specific Type(" & trap.SpecificTrap.ToString() & ")"
        Case "trap2"
            Dim notification As Trap2Message = TryCast(e.Messages(0), Trap2Message)
            label2.Text = "Trap2 received with OID (" & notification.Oid & ")"
        Case "inform"
            Dim inform As InformMessage = TryCast(e.Messages(0), InformMessage)
            label3.Text = "Inform received with " & inform.Variables.Count.ToString() & " variable(s)."
    End Select
End Sub
Inheritance Hierarchy

System.Object
   Dart.Snmp.MessageBase
      Dart.Snmp.Trap1Message
         Dart.Snmp.Trap1.authenticationFailure
         Dart.Snmp.Trap1.coldStart
         Dart.Snmp.Trap1.egpNeighborLoss
         Dart.Snmp.Trap1.linkDown
         Dart.Snmp.Trap1.linkUp
         Dart.Snmp.Trap1.SpecificTrap
         Dart.Snmp.Trap1.warmStart

See Also

Reference

Trap1Message Members
Dart.Snmp Namespace

6.1.1.2
PowerSNMP for .NET Documentation Version 7.0
© 2023 Dart Communications. All Rights Reserved.
Send comments on this topic