PowerSNMP for .NET CF
SlaveThreadStart Delegate
See Also  Example Send comments on this topic.
Dart.Snmp Namespace : SlaveThreadStart Delegate




worker
A reference to the new ManagerSlave that does the work.
state
User state information provided in the SlaveThreadStart method.
Represents the method that will be called on a new worker thread.

Syntax

Visual Basic (Declaration) 
Public Delegate Sub SlaveThreadStart( _
   ByVal worker As ManagerSlave, _
   ByVal state As Object _
) 
Visual Basic (Usage)Copy Code
Dim instance As New SlaveThreadStart(AddressOf HandlerMethod)
C# 
public delegate void SlaveThreadStart( 
   ManagerSlave worker,
   object state
)
Managed Extensions for C++ 
public: __gc __delegate void SlaveThreadStart( 
   ManagerSlave* worker,
   Object* state
)
C++/CLI 
public delegate void SlaveThreadStart( 
   ManagerSlave^ worker,
   Object^ state
)

Parameters

worker
A reference to the new ManagerSlave that does the work.
state
User state information provided in the SlaveThreadStart method.

Example

The following example demonstrates sending a Get request to an agent and receiving the response.
C#Copy Code
private void button1_Click(object sender, EventArgs e)
{
    //Create and send request on a worker thread
    manager1.Start(manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact));
}

private void manager1_SendGetRequest(Dart.Snmp.ManagerSlave slave, object state)
{
    //Create Get Request
    GetMessage request = new GetMessage();
    request.Community = "public";
    request.Version = SnmpVersion.One;
    request.Variables.Add(state as Variable);

    //Send request and get response
    ResponseMessage response = slave.GetResponse(request, myAgentAddress);

    //Marshal message to the UI thread using the Message event
    manager1.Marshal(new ResponseMessage[] { response }, null);
}

private void manager1_Message(object sender, Dart.Snmp.MessageEventArgs e)
{
    //Display info about the first variable in the response, and its value
    Variable var = e.Messages[0].Variables[0] as Variable;
    label1.Text = var.Definition.ToString() + var.Value.ToString();
}
Visual BasicCopy Code
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
	'Create and send request on a worker thread
	manager1.Start(AddressOf manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact))
End Sub

Private Sub manager1_SendGetRequest(ByVal slave As Dart.Snmp.ManagerSlave, ByVal state As Object)
	'Create Get Request
	Dim request As GetMessage = New GetMessage()
	request.Community = "public"
	request.Version = SnmpVersion.One
	request.Variables.Add(CType(IIf(TypeOf state Is Variable, state, Nothing), Variable))

	'Send request and get response
	Dim response As ResponseMessage = slave.GetResponse(request, myAgentAddress)

	'Marshal message to the UI thread using the Message event
	manager1.Marshal(New ResponseMessage() { response }, Nothing)
End Sub

Private Sub manager1_Message(ByVal sender As Object, ByVal e As Dart.Snmp.MessageEventArgs)
	'Display info about the first variable in the response, and its value
	Dim var As Variable = CType(IIf(TypeOf e.Messages(0).Variables(0) Is Variable, e.Messages(0).Variables(0), Nothing), Variable)
	label1.Text = var.Definition.ToString() & var.Value.ToString()
End Sub

Requirements

Target Platforms: Microsoft .NET Framework 2.0

See Also

Documentation Version 4.2
© 2010 Dart Communications. All Rights Reserved.