/// <summary> /// Fetches the enabled state for the areas and sources. /// </summary> private void GetEnabledState() { ResultsLV.Items.Clear(); // get state for areas try { TsCAeEnabledStateResult[] results = m_server.GetEnableStateByArea((string[])m_areas.ToArray(typeof(string))); for (int ii = 0; ii < results.Length; ii++) { ListViewItem item = new ListViewItem((string)m_areas[ii], Resources.IMAGE_CLOSED_BLUE_FOLDER); item.SubItems.Add(OpcClientSdk.OpcConvert.ToString(results[ii].Enabled)); item.SubItems.Add(OpcClientSdk.OpcConvert.ToString(results[ii].EffectivelyEnabled)); item.SubItems.Add(OpcClientSdk.OpcConvert.ToString(results[ii].Result)); item.Tag = results[ii]; ResultsLV.Items.Add(item); } } catch (Exception e) { MessageBox.Show(e.Message, "GetEnableStateByArea"); } // get state for sources try { TsCAeEnabledStateResult[] results = m_server.GetEnableStateBySource((string[])m_sources.ToArray(typeof(string))); for (int ii = 0; ii < results.Length; ii++) { ListViewItem item = new ListViewItem((string)m_sources[ii], Resources.IMAGE_GREEN_SCROLL); item.SubItems.Add(OpcClientSdk.OpcConvert.ToString(results[ii].Enabled)); item.SubItems.Add(OpcClientSdk.OpcConvert.ToString(results[ii].EffectivelyEnabled)); item.SubItems.Add(OpcClientSdk.OpcConvert.ToString(results[ii].Result)); item.Tag = results[ii]; ResultsLV.Items.Add(item); } } catch (Exception e) { MessageBox.Show(e.Message, "GetEnableStateBySource"); } // adjust columns. AdjustColumns(ResultsLV); }
/// <summary> /// Fetches the enabled state for an area or source. /// </summary> private bool GetEnabledState(OpcClientSdk.Ae.TsCAeBrowseElement element) { try { // check for root. if (element == null) { return(true); } // construct arguments. string[] names = new string[] { element.QualifiedName }; TsCAeEnabledStateResult[] results = null; // get current enabled state. if (element.NodeType == OpcClientSdk.Ae.TsCAeBrowseType.Area) { results = m_server.GetEnableStateByArea(names); } else { results = m_server.GetEnableStateBySource(names); } // check return code and result. if (results != null && results.Length == 1) { if (results[0].Result.Failed()) { return(false); } return(results[0].Enabled); } // should never happen. return(false); } catch (Exception e) { MessageBox.Show(e.Message, "GetEnabledState"); return(false); } }