/// <summary> /// Updates the camera list from the thread manager. /// </summary> private void UpdateCameraList() { string selectedValue = ""; NameValueCollection cameraList = HikAlarmThreadManager.CameraNameList(); if (cameraList.Count > 0) { selectedValue = cameraList.Get(0); } UpdateDropList("ListBoxCameras", ref cameraList, SelectedValue: selectedValue); ChangeCameraSelection(selectedValue); }
/// <summary> /// Add a new camera device to the HomeSeer configuration. /// </summary> /// <param name="name">The name for the HomeSeer device.</param> /// <param name="ipAddress">The IP address for the camera.</param> /// <param name="username">The username to use for the camera.</param> /// <param name="password">The password to use for the camera.</param> private void AddCameraButton(string name, string ipAddress, string username, string password) { if ((name == "") || (ipAddress == "") || (username == "") || (password == "")) { return; } int refId = plugin.CreateDeviceFromConfig(name, ipAddress, username, password); NameValueCollection cameraList = HikAlarmThreadManager.CameraNameList(); UpdateDropList("ListBoxCameras", ref cameraList, SelectedValue: refId.ToString()); ChangeCameraSelection(refId.ToString()); }
/// <summary> /// Builds the web page body for the configuration page. /// The page has separate forms so that only the data in the appropriate form is returned when a button is pressed. /// </summary> private string BuildWebPageBody() { StringBuilder stb = new StringBuilder(); NameValueCollection cameraList = HikAlarmThreadManager.CameraNameList(); bool allowEdit = (cameraList.Count > 0); string editIpAddress = ""; string editUsername = ""; string editPassword = ""; if (allowEdit) { plugin.GetDeviceParameters(cameraList.Get(0), ref editIpAddress, ref editUsername, ref editPassword); editPassword = "******"; } try { stb.Append("<table width='1000' cellpadding='0' cellspacing='0' border='0'>"); // Help button stb.Append(" <tr>"); stb.Append(" <td></td>"); stb.Append(" <td align='right'>"); //stb.Append(" <a href='HikAlaramCheck%20Help%20File\\HikAlarmCheck-Help.htm'>Help Page</a>"); stb.Append(" </td>"); stb.Append(" </tr>"); // Add new item section stb.Append(" <tr>"); stb.Append(" <td colspan='2'>"); stb.Append(PageBuilderAndMenu.clsPageBuilder.FormStart("frmAddCamera", "AddCamera", "Post")); stb.Append(" <table width='1000' cellpadding='0' cellspacing='0' style='border-right: black thin solid; border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;'>"); stb.Append(" <tr><td style='background-color: #Cdcdcd; text-align: center;'><br /></td></tr>"); stb.Append(" <tr>"); stb.Append(" <td align='center' style='background-color: #f5f5f5;'>"); stb.Append(" <table width='100%'>"); stb.Append(" <col width='100'><col width='100'>"); stb.Append(" <tr><td><strong>Add New Camera:</strong></td></tr>"); stb.Append(" <tr><td>Name:</td><td>" + BuildTextBox("TextBoxName") + "</td></tr>"); stb.Append(" <tr><td>Ip Address:</td><td>" + BuildTextBox("TextBoxIpAddress") + "</td></tr>"); stb.Append(" <tr><td>Username:</td><td>" + BuildTextBox("TextBoxUsername") + "</td></tr>"); stb.Append(" <tr><td>Password:</td><td>" + BuildTextBox("TextBoxPassword") + "</td></tr>"); stb.Append(" <tr><td></td><td>" + BuildButton("Add Camera", "ButAddCamera") + "</td></tr>"); stb.Append(" </table>"); stb.Append(" </td>"); stb.Append(" </tr>"); stb.Append(" </table>"); stb.Append(PageBuilderAndMenu.clsPageBuilder.FormEnd()); stb.Append(" </td>"); stb.Append(" </tr>"); // Select item to edit stb.Append(" <tr>"); stb.Append(" <td colspan='2'>"); stb.Append(PageBuilderAndMenu.clsPageBuilder.FormStart("frmEditCamera", "EditCamera", "Post")); stb.Append(" <table width='1000' cellpadding='0' cellspacing='0' style='border-right: black thin solid; border-top: none; border-left: black thin solid; border-bottom: black thin solid;'>"); stb.Append(" <tr><td style='background-color: #Cdcdcd; text-align: center;'><br /></td></tr>"); stb.Append(" <tr>"); stb.Append(" <td align='center' style='background-color: #f5f5f5;'>"); stb.Append(" <table width='100%'>"); stb.Append(" <col width='100'><col width='100'>"); stb.Append(" <tr><td><strong>Edit Camera:</strong></td><td>" + BuildDropList("ListBoxCameras", ref cameraList) + "</td></tr>"); stb.Append(" <tr><td>Ip Address:</td><td>" + BuildTextBox("TextBoxIpAddressEdit", editIpAddress, allowEdit) + "</td></tr>"); stb.Append(" <tr><td>Username:</td><td>" + BuildTextBox("TextBoxUsernameEdit", editUsername, allowEdit) + "</td></tr>"); stb.Append(" <tr><td>Password:</td><td>" + BuildTextBox("TextBoxPasswordEdit", editPassword, allowEdit) + "</td></tr>"); stb.Append(" <tr><td></td>"); stb.Append(" <td align='left'>"); stb.Append(" <table width='20%'>"); stb.Append(" <col width='30'><col width='30'>"); stb.Append(" <tr><td>" + BuildButton("Save", "ButSaveCamera", allowEdit) + "</td><td>" + BuildButton("Delete", "ButDeleteCamera", allowEdit) + "</td></tr>"); stb.Append(" </table>"); stb.Append(" </td>"); stb.Append(" </table>"); stb.Append(" </td>"); stb.Append(" </tr>"); stb.Append(" </table>"); stb.Append(PageBuilderAndMenu.clsPageBuilder.FormEnd()); stb.Append(" </td>"); stb.Append(" </tr>"); // End of table stb.Append("</table>"); return(stb.ToString()); } catch (Exception) { } return(null); }