/// <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);
            }
        }