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

SetAttributeFilter() public method

Sets the attribute filter.
public SetAttributeFilter ( uint attributeIds, int operators, object values ) : int[]
attributeIds uint The attribute ids.
operators int The operators.
values object The values.
return int[]
        public int[] SetAttributeFilter(uint[] attributeIds, int[] operators, object[] values)
        {
            int[] errors = new int[attributeIds.Length];

            for (int ii = 0; ii < attributeIds.Length; ii++)
            {
                // check for supported attribute.
                if (!m_server.IsSupportedAttribute(attributeIds[ii]))
                {
                    errors[ii] = ResultIds.E_UNKNOWNATTRID;
                    continue;
                }

                // only support filters on display name.
                if (attributeIds[ii] != OpcRcw.Hda.Constants.OPCHDA_ITEMID)
                {
                    errors[ii] = ResultIds.W_NOFILTER;
                    continue;
                }

                // must be a string.
                if (!(values[ii] is string))
                {
                    errors[ii] = ResultIds.E_INVALIDDATATYPE;
                    continue;
                }

                // create the filter.
                ItemNameFilter filter = new ItemNameFilter();
                filter.Operator = operators[ii];
                filter.Value = (string)values[ii];

                if (m_filters == null)
                {
                    m_filters = new List<ItemNameFilter>();
                }

                m_filters.Add(filter);
                
                errors[ii] = ResultIds.S_OK;
            }

            return errors;
        }