PageRenderTime 37ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/docs/source/sdk/csharp/csharp-overview.rst

https://bitbucket.org/Altronix/linq-documentation
ReStructuredText | 260 lines | 195 code | 65 blank | 0 comment | 0 complexity | 99916e79c0f9bed5e9ee099f9373499e MD5 | raw file
  1. Overview
  2. ========
  3. Dependencies
  4. ------------
  5. * Built for .NET 4.5.2 and up.
  6. * Newtonsoft.Json
  7. Installation
  8. ------------
  9. Once a project has been setup, to add C# SDK please follow the steps below:
  10. 1. In the Solution Explorer, right-click the References section found under [Project name] -> References
  11. .. image:: setup_1.jpg
  12. :align: center
  13. 2. Click Add Reference...
  14. .. image:: setup_2.jpg
  15. :align: center
  16. 3. In the Reference Manager go to Browse subsection
  17. .. image:: setup_3.jpg
  18. :align: center
  19. 4. Click the Browse...button
  20. .. image:: setup_4.jpg
  21. :align: center
  22. 5. Locate the AltronixAlerts.dll file on your local computer
  23. .. image:: setup_5.jpg
  24. :align: center
  25. 6. Once located, select the file and then click Add
  26. .. image:: setup_6.jpg
  27. :align: center
  28. 7. You will return to the Reference Manager where you can check to confirm that the library has been added and click OK
  29. .. image:: setup_7.jpg
  30. :align: center
  31. 8. Under References you should now see AltronixAlerts.dll listed
  32. .. image:: setup_8.jpg
  33. :align: center
  34. 9. To use the library add the following line to the top of a file: using Altronix.LINQ;
  35. .. image:: setup_9.jpg
  36. :align: center
  37. Import
  38. ------
  39. .. code-block:: csharp
  40. using Altronix.LINQ;
  41. Setup for listening to devices
  42. ------------------------------
  43. .. code-block:: csharp
  44. // User Callback that triggers OnAlerts events
  45. public void UserCallback(List<Alert> list)
  46. {
  47. list.ForEach(alert =>
  48. {
  49. Console.WriteLine(
  50. "New Alert:\n"
  51. + "Site ID: " + alert.siteid + "\n"
  52. + "Message: " + alert.message + "\n"
  53. + "Date: " + alert.date + "\n"
  54. + "Address: " + alert.ip + ":" + alert.port + "\n"
  55. );
  56. });
  57. }
  58. // User Callback that triggers OnError events
  59. public void UserErrorCallback(Device device)
  60. {
  61. switch (device.error)
  62. {
  63. case Error.SUCCESS:
  64. Console.WriteLine("Success connecting to " + device.ip + ":" + device.port + "\n");
  65. break;
  66. case Error.CONNECTING:
  67. Console.WriteLine("Error connecting to " + device.ip + ":" + device.port + "\n");
  68. break;
  69. case Error.AUTHENTICATE:
  70. Console.WriteLine("Error authenticating on " + device.ip + ":" + device.port + "\n");
  71. break;
  72. case Error.FORBIDDEN:
  73. Console.WriteLine("Error access forbidden on " + device.ip + ":" + device.port + "\n");
  74. break;
  75. }
  76. }
  77. // Async function creates a listener for one device
  78. public async Task ListenToNewDevice(Device device)
  79. {
  80. // Create Listener Class instance
  81. Listener atx = new Listener();
  82. // Set user's callback for OnAlerts Event
  83. atx.OnAlerts(UserCallback);
  84. // Set user's callback for OnError Event
  85. atx.OnError(UserErrorCallback);
  86. // Start Listening on device
  87. atx.Listen(device);
  88. }
  89. // Async function creates a listener for a list of devices
  90. public async Task ListenToAllDevices(List<Device> devices)
  91. {
  92. // Create Listener Class instance
  93. Listener atx = new Listener();
  94. // Set user's callback for OnAlerts Event
  95. atx.OnAlerts(UserCallback);
  96. // Set user's callback for OnError Event
  97. atx.OnError(UserErrorCallback);
  98. // Start Listening to device
  99. atx.ListenAll(devices);
  100. }
  101. Listen for events on one device
  102. -------------------------------
  103. .. code-block:: csharp
  104. Device device = new Device("10.10.10.10", "80", false, "username", "password");
  105. await ListenToNewDevice(device); // Creates Listener for one new device
  106. Listen for events on list of devices
  107. ------------------------------------
  108. .. code-block:: csharp
  109. List<Device> devices = DeviceStorage.getDevices(); // Get or create list of devices you want to listen to
  110. await ListenToAllDevices(devices); // Creates Listeners for all devices in list
  111. Example
  112. ----------------
  113. .. code-block:: csharp
  114. using System;
  115. using System.Collections.Generic;
  116. using System.ComponentModel;
  117. using System.Data;
  118. using System.Drawing;
  119. using System.Linq;
  120. using System.Text;
  121. using System.Threading.Tasks;
  122. using System.Windows.Forms;
  123. using Altronix.LINQ;
  124. namespace AlertsNugetTest
  125. {
  126. public partial class Form1 : Form
  127. {
  128. public Form1()
  129. {
  130. InitializeComponent();
  131. }
  132. private async void ListenToSingleDevice_Click(object sender, EventArgs e)
  133. {
  134. // Create instance of Altronix.LINQ.Device
  135. Device device = new Device("10.10.10.188", // ip addresss
  136. "443", // port number
  137. true, // TLS/SSL = true
  138. "admin", // username
  139. "admin"); // password
  140. // Create Altronix.LINQ.Listener Class instance
  141. Listener atx = new Listener();
  142. // Set user's callback for OnAlerts Event
  143. atx.OnAlerts(UserCallback);
  144. // Set user's callback for OnError Event
  145. atx.OnError(UserErrorCallback);
  146. // Start Listening on device
  147. await atx.Listen(device);
  148. }
  149. // User Callback that triggers OnAlerts events
  150. public void UserCallback(List<Alert> list)
  151. {
  152. list.ForEach(alert => {
  153. var str = "[ " + alert.date + " ] [ " + alert.siteid + alert.ip + ":" + alert.port + " ] ===> " +
  154. alert.message + "\n";
  155. // Print to console
  156. Console.WriteLine(str);
  157. });
  158. }
  159. public void UserErrorCallback(Device device)
  160. {
  161. switch (device.error)
  162. {
  163. case Error.CONNECTING:
  164. /* Handle this error here */
  165. break;
  166. case Error.AUTHENTICATE:
  167. /* Handle this error here */
  168. break;
  169. case Error.FORBIDDEN:
  170. /* Handle this error here */
  171. break;
  172. }
  173. }
  174. private void ListenToSeveralDevices2_Click(object sender, EventArgs e)
  175. {
  176. // Create List<Altronix.LINQ.Device> of devices
  177. List<Device> devices = new List<Device>
  178. {
  179. new Device(){ ip="10.10.10.183",port="80",ssl=false,username="admin",password="admin"},
  180. new Device(){ ip="10.10.10.185",port="443",ssl=true,username="admin",password="admin"},
  181. new Device(){ ip="10.10.10.182",port="443",ssl=true,username="admin",password="admin"},
  182. new Device(){ ip="10.10.10.186",port="443",ssl=true,username="admin",password="123"},
  183. new Device(){ ip="10.10.10.188",port="443",ssl=true,username="admin",password="admin"}
  184. };
  185. // Create Altronix.LINQ.Listener Class instance
  186. Listener atx = new Listener();
  187. // Set user's callback for OnAlerts Event
  188. atx.OnAlerts(UserCallback);
  189. // Set user's callback for OnError Event
  190. atx.OnError(UserErrorCallback);
  191. // Start Listening on list of devices
  192. atx.ListenAll(devices);
  193. }
  194. }
  195. }