private void UnregisterButton_Click(object sender, EventArgs e) { try { if (ApplicationRecordDataGridView.SelectedRows.Count == 0) { return; } List <DataRow> rowsToDelete = new List <DataRow>(); foreach (DataGridViewRow row in ApplicationRecordDataGridView.SelectedRows) { DataRowView source = row.DataBoundItem as DataRowView; ApplicationRecordDataType argument = (ApplicationRecordDataType)source.Row[6]; m_gds.UnregisterApplication(argument.ApplicationId); rowsToDelete.Add(source.Row); } foreach (var rowToDelete in rowsToDelete) { rowToDelete.Delete(); } m_dataset.AcceptChanges(); } catch (Exception exception) { MessageBox.Show(Text + ": " + exception.Message); } }
/// <summary cref="Object.MemberwiseClone" /> public new object MemberwiseClone() { ApplicationRecordDataType clone = (ApplicationRecordDataType)base.MemberwiseClone(); clone.m_applicationId = (NodeId)Utils.Clone(this.m_applicationId); clone.m_applicationUri = (string)Utils.Clone(this.m_applicationUri); clone.m_applicationType = (ApplicationType)Utils.Clone(this.m_applicationType); clone.m_applicationNames = (LocalizedTextCollection)Utils.Clone(this.m_applicationNames); clone.m_productUri = (string)Utils.Clone(this.m_productUri); clone.m_discoveryUrls = (StringCollection)Utils.Clone(this.m_discoveryUrls); clone.m_serverCapabilities = (StringCollection)Utils.Clone(this.m_serverCapabilities); return(clone); }
/// <summary cref="IEncodeable.IsEqual(IEncodeable)" /> public virtual bool IsEqual(IEncodeable encodeable) { if (Object.ReferenceEquals(this, encodeable)) { return(true); } ApplicationRecordDataType value = encodeable as ApplicationRecordDataType; if (value == null) { return(false); } if (!Utils.IsEqual(m_applicationId, value.m_applicationId)) { return(false); } if (!Utils.IsEqual(m_applicationUri, value.m_applicationUri)) { return(false); } if (!Utils.IsEqual(m_applicationType, value.m_applicationType)) { return(false); } if (!Utils.IsEqual(m_applicationNames, value.m_applicationNames)) { return(false); } if (!Utils.IsEqual(m_productUri, value.m_productUri)) { return(false); } if (!Utils.IsEqual(m_discoveryUrls, value.m_discoveryUrls)) { return(false); } if (!Utils.IsEqual(m_serverCapabilities, value.m_serverCapabilities)) { return(false); } return(true); }
/// <summary> /// Registers the application. /// </summary> /// <param name="application">The application.</param> /// <returns>The application id assigned to the application.</returns> public NodeId RegisterApplication(ApplicationRecordDataType application) { if (!IsConnected) { Connect(null); } var outputArguments = m_session.Call( ExpandedNodeId.ToNodeId(Opc.Ua.Gds.ObjectIds.Directory, m_session.NamespaceUris), ExpandedNodeId.ToNodeId(Opc.Ua.Gds.MethodIds.Directory_RegisterApplication, m_session.NamespaceUris), application); if (outputArguments.Count > 0) { return(outputArguments[0] as NodeId); } return(null); }