Opc.Ua.Com.Server.ComHdaBrowser.ApplyFilters C# (CSharp) Method

ApplyFilters() private method

Applies the filters to the list of names.
private ApplyFilters ( IList elements, int browseType ) : IList
elements IList The elements.
browseType int Type of the browse.
return IList
        private IList<string> ApplyFilters(IList<ComDaBrowseElement> elements, int browseType)
        {
            List<string> names = new List<string>();

            for (int ii = 0; ii < elements.Count; ii++)
            {
                ComDaBrowseElement element = elements[ii];

                if (browseType == (int)OPCHDA_BROWSETYPE.OPCHDA_BRANCH)
                {
                    if (!element.HasChildren)
                    {
                        continue;
                    }
                }

                if (browseType == (int)OPCHDA_BROWSETYPE.OPCHDA_LEAF)
                {
                    if (!element.IsHistoricalItem || element.HasChildren)
                    {
                        continue;
                    }
                }

                if (browseType == (int)OPCHDA_BROWSETYPE.OPCHDA_ITEMS)
                {
                    if (!element.IsHistoricalItem)
                    {
                        continue;
                    }
                }

                if (m_filters != null)
                {
                    for (int jj = 0; jj < m_filters.Count; jj++)
                    {
                        if (!MatchFilter(element.BrowseName, m_filters[jj]))
                        {
                            continue;
                        }
                    }
                }

                if (browseType == (int)OPCHDA_BROWSETYPE.OPCHDA_ITEMS || browseType == (int)OPCHDA_BROWSETYPE.OPCHDA_FLAT)
                {
                    names.Add(element.ItemId);
                }
                else
                {
                    names.Add(element.BrowseName);
                }
            }

            return names;
        }