Overview¶
Dependencies¶
- Built for .NET 4.5.2 and up.
- Newtonsoft.Json
Installation¶
Once a project has been setup, to add C# SDK please follow the steps below:
In the Solution Explorer, right-click the References section found under [Project name] -> References
![]()
Click ‘Add Reference…’
![]()
In the Reference Manager go to ‘Browse’ subsection
![]()
Click the ‘Browse…’button
![]()
Locate the AltronixAlerts.dll file on your local computer
![]()
Once located, select the file and then click ‘Add’
![]()
You will return to the Reference Manager where you can check to confirm that the library has been added and click ‘OK’
![]()
Under References you should now see ‘AltronixAlerts.dll’ listed
![]()
To use the library add the following line to the top of a file: ‘using Altronix.LINQ;’
![]()
Import¶
using Altronix.LINQ;
Setup for listening to devices¶
// User Callback that triggers OnAlerts events
public void UserCallback(List<Alert> list)
{
list.ForEach(alert =>
{
Console.WriteLine(
"New Alert:\n"
+ "Site ID: " + alert.siteid + "\n"
+ "Message: " + alert.message + "\n"
+ "Date: " + alert.date + "\n"
+ "Address: " + alert.ip + ":" + alert.port + "\n"
);
});
}
// User Callback that triggers OnError events
public void UserErrorCallback(Device device)
{
switch (device.error)
{
case Error.SUCCESS:
Console.WriteLine("Success connecting to " + device.ip + ":" + device.port + "\n");
break;
case Error.CONNECTING:
Console.WriteLine("Error connecting to " + device.ip + ":" + device.port + "\n");
break;
case Error.AUTHENTICATE:
Console.WriteLine("Error authenticating on " + device.ip + ":" + device.port + "\n");
break;
case Error.FORBIDDEN:
Console.WriteLine("Error access forbidden on " + device.ip + ":" + device.port + "\n");
break;
}
}
// Async function creates a listener for one device
public async Task ListenToNewDevice(Device device)
{
// Create Listener Class instance
Listener atx = new Listener();
// Set user's callback for OnAlerts Event
atx.OnAlerts(UserCallback);
// Set user's callback for OnError Event
atx.OnError(UserErrorCallback);
// Start Listening on device
atx.Listen(device);
}
// Async function creates a listener for a list of devices
public async Task ListenToAllDevices(List<Device> devices)
{
// Create Listener Class instance
Listener atx = new Listener();
// Set user's callback for OnAlerts Event
atx.OnAlerts(UserCallback);
// Set user's callback for OnError Event
atx.OnError(UserErrorCallback);
// Start Listening to device
atx.ListenAll(devices);
}
Listen for events on one device¶
Device device = new Device("10.10.10.10", "80", false, "username", "password");
await ListenToNewDevice(device); // Creates Listener for one new device
Listen for events on list of devices¶
List<Device> devices = DeviceStorage.getDevices(); // Get or create list of devices you want to listen to
await ListenToAllDevices(devices); // Creates Listeners for all devices in list
Example¶
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Altronix.LINQ;
namespace AlertsNugetTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private async void ListenToSingleDevice_Click(object sender, EventArgs e)
{
// Create instance of Altronix.LINQ.Device
Device device = new Device("10.10.10.188", // ip addresss
"443", // port number
true, // TLS/SSL = true
"admin", // username
"admin"); // password
// Create Altronix.LINQ.Listener Class instance
Listener atx = new Listener();
// Set user's callback for OnAlerts Event
atx.OnAlerts(UserCallback);
// Set user's callback for OnError Event
atx.OnError(UserErrorCallback);
// Start Listening on device
await atx.Listen(device);
}
// User Callback that triggers OnAlerts events
public void UserCallback(List<Alert> list)
{
list.ForEach(alert => {
var str = "[ " + alert.date + " ] [ " + alert.siteid + alert.ip + ":" + alert.port + " ] ===> " +
alert.message + "\n";
// Print to console
Console.WriteLine(str);
});
}
public void UserErrorCallback(Device device)
{
switch (device.error)
{
case Error.CONNECTING:
/* Handle this error here */
break;
case Error.AUTHENTICATE:
/* Handle this error here */
break;
case Error.FORBIDDEN:
/* Handle this error here */
break;
}
}
private void ListenToSeveralDevices2_Click(object sender, EventArgs e)
{
// Create List<Altronix.LINQ.Device> of devices
List<Device> devices = new List<Device>
{
new Device(){ ip="10.10.10.183",port="80",ssl=false,username="admin",password="admin"},
new Device(){ ip="10.10.10.185",port="443",ssl=true,username="admin",password="admin"},
new Device(){ ip="10.10.10.182",port="443",ssl=true,username="admin",password="admin"},
new Device(){ ip="10.10.10.186",port="443",ssl=true,username="admin",password="123"},
new Device(){ ip="10.10.10.188",port="443",ssl=true,username="admin",password="admin"}
};
// Create Altronix.LINQ.Listener Class instance
Listener atx = new Listener();
// Set user's callback for OnAlerts Event
atx.OnAlerts(UserCallback);
// Set user's callback for OnError Event
atx.OnError(UserErrorCallback);
// Start Listening on list of devices
atx.ListenAll(devices);
}
}
}