public void FillTagsTable(BrowseElement _element) { this.TagsDT.Clear(); if (_element != null) { ItemIdentifier itemID = new ItemIdentifier(_element.ItemPath, _element.ItemName); BrowsePosition browsePosition = new BrowsePosition(itemID, this.m_filters); if (_element.HasChildren) { BrowseElement[] array = this.server.Browse(itemID, this.m_filters, out browsePosition); if (array != null) { BrowseElement[] array2 = array; for (int i = 0; i < array2.Length; i++) { BrowseElement browseElement = array2[i]; if (!browseElement.ItemName.Contains("alrosa_w") && !browseElement.ItemName.Contains("List of")) { this.Browse(browseElement); } } } } } }
/// <summary> /// Fetches the set of data filters from the server. /// </summary> public ComplexItem[] GetDataFilters(Opc.Da.Server server) { // not a valid operation for data filter items. if (m_unfilteredItemID != null) { return(null); } // data filters not supported by the item. if (m_filterItem == null) { return(null); } BrowsePosition position = null; try { // browse any existing filter instances. BrowseFilters filters = new BrowseFilters(); filters.ElementNameFilter = null; filters.BrowseFilter = browseFilter.item; filters.ReturnAllProperties = false; filters.PropertyIDs = CPX_PROPERTIES; filters.ReturnPropertyValues = true; BrowseElement[] elements = server.Browse(m_filterItem, filters, out position); // nothing found. if (elements == null || elements.Length == 0) { return(new ComplexItem[0]); } // contruct an array of complex data items for each available data filter. ArrayList dataFilters = new ArrayList(elements.Length); foreach (BrowseElement element in elements) { ComplexItem item = new ComplexItem(); if (item.Init(element)) { dataFilters.Add(item); } } // return the set of available data filters. return((ComplexItem[])dataFilters.ToArray(typeof(ComplexItem))); } finally { if (position != null) { position.Dispose(); position = null; } } }
public void Browse(System.Windows.Forms.TreeNode node) { try { Opc.Da.Server server = this.FindServer(node); ItemIdentifier itemID = null; if (node.Tag != null && node.Tag.GetType() == typeof(BrowseElement)) { BrowseElement browseElement = (BrowseElement)node.Tag; itemID = new ItemIdentifier(browseElement.ItemPath, browseElement.ItemName); } node.Nodes.Clear(); BrowsePosition browsePosition = null; BrowseElement[] array = server.Browse(itemID, this.m_filters, out browsePosition); if (array != null) { BrowseElement[] array2 = array; for (int i = 0; i < array2.Length; i++) { BrowseElement browseElement2 = array2[i]; if (!browseElement2.ItemName.Contains("alrosa_w") && !browseElement2.ItemName.Contains("List of")) { if (!browseElement2.IsItem) { this.AddBrowseElement(node, browseElement2); } } } node.Expand(); } while (browsePosition != null) { System.Windows.Forms.DialogResult dialogResult = System.Windows.Forms.MessageBox.Show("More items meeting search criteria exist. Continue browse?", "Browse Items", System.Windows.Forms.MessageBoxButtons.YesNo); if (dialogResult == System.Windows.Forms.DialogResult.No) { break; } array = server.BrowseNext(ref browsePosition); if (array != null) { BrowseElement[] array2 = array; for (int i = 0; i < array2.Length; i++) { BrowseElement browseElement2 = array2[i]; this.AddBrowseElement(node, browseElement2); } node.Expand(); } } } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
/// <summary> /// Browses the address spase starting with selected <see cref="TagsTableRow"/>. /// </summary> /// <param name="itemID">The item to start with.</param> /// <param name="filters">The filters to applay while browsing.</param> /// <param name="position">The position to start next time.</param> /// <returns></returns> public TagsTableRow[] Browse(TagsTableRow itemID, BrowseFilters filters, out BrowsePosition position) { position = null; if (itemID == null) { return(ServersTable[0].GetTagsTableRows()); } else { return(itemID.GetTagsTableRows()); } }
// Token: 0x0600035A RID: 858 RVA: 0x00009020 File Offset: 0x00008020 public void GetDataFilterItem(Da.Server server) { this.m_filterItem = null; if (this.m_unfilteredItemID != null) { return; } BrowsePosition browsePosition = null; try { ItemIdentifier itemID = new ItemIdentifier(this); BrowseFilters browseFilters = new BrowseFilters(); browseFilters.ElementNameFilter = "DataFilters"; browseFilters.BrowseFilter = browseFilter.all; browseFilters.ReturnAllProperties = false; browseFilters.PropertyIDs = null; browseFilters.ReturnPropertyValues = false; BrowseElement[] array; if (this.m_unconvertedItemID == null) { browseFilters.ElementNameFilter = "CPX"; array = server.Browse(itemID, browseFilters, out browsePosition); if (array == null || array.Length == 0) { return; } if (browsePosition != null) { browsePosition.Dispose(); browsePosition = null; } itemID = new ItemIdentifier(array[0].ItemPath, array[0].ItemName); browseFilters.ElementNameFilter = "DataFilters"; } array = server.Browse(itemID, browseFilters, out browsePosition); if (array != null && array.Length != 0) { this.m_filterItem = new ItemIdentifier(array[0].ItemPath, array[0].ItemName); } } finally { if (browsePosition != null) { browsePosition.Dispose(); browsePosition = null; } } }
// Token: 0x06000355 RID: 853 RVA: 0x00008C14 File Offset: 0x00007C14 public ComplexItem[] GetDataFilters(Da.Server server) { if (this.m_unfilteredItemID != null) { return(null); } if (this.m_filterItem == null) { return(null); } BrowsePosition browsePosition = null; ComplexItem[] result; try { BrowseFilters browseFilters = new BrowseFilters(); browseFilters.ElementNameFilter = null; browseFilters.BrowseFilter = browseFilter.item; browseFilters.ReturnAllProperties = false; browseFilters.PropertyIDs = ComplexItem.CPX_PROPERTIES; browseFilters.ReturnPropertyValues = true; BrowseElement[] array = server.Browse(this.m_filterItem, browseFilters, out browsePosition); if (array == null || array.Length == 0) { result = new ComplexItem[0]; } else { ArrayList arrayList = new ArrayList(array.Length); foreach (BrowseElement element in array) { ComplexItem complexItem = new ComplexItem(); if (complexItem.Init(element)) { arrayList.Add(complexItem); } } result = (ComplexItem[])arrayList.ToArray(typeof(ComplexItem)); } } finally { if (browsePosition != null) { browsePosition.Dispose(); browsePosition = null; } } return(result); }
public void GetDataFilterItem(Opc.Da.Server server) { this.m_filterItem = null; if (this.m_unfilteredItemID == null) { BrowsePosition position = null; try { ItemIdentifier itemID = new ItemIdentifier(this); BrowseFilters filters = new BrowseFilters { ElementNameFilter = "DataFilters", BrowseFilter = browseFilter.all, ReturnAllProperties = false, PropertyIDs = null, ReturnPropertyValues = false }; BrowseElement[] elementArray = null; if (this.m_unconvertedItemID == null) { filters.ElementNameFilter = "CPX"; elementArray = server.Browse(itemID, filters, out position); if ((elementArray == null) || (elementArray.Length == 0)) { return; } if (position != null) { position.Dispose(); position = null; } itemID = new ItemIdentifier(elementArray[0].ItemPath, elementArray[0].ItemName); filters.ElementNameFilter = "DataFilters"; } elementArray = server.Browse(itemID, filters, out position); if ((elementArray != null) && (elementArray.Length != 0)) { this.m_filterItem = new ItemIdentifier(elementArray[0].ItemPath, elementArray[0].ItemName); } } finally { if (position != null) { position.Dispose(); position = null; } } } }
public ComplexItem[] GetDataFilters(Opc.Da.Server server) { ComplexItem[] itemArray; if (this.m_unfilteredItemID != null) { return(null); } if (this.m_filterItem == null) { return(null); } BrowsePosition position = null; try { BrowseFilters filters = new BrowseFilters { ElementNameFilter = null, BrowseFilter = browseFilter.item, ReturnAllProperties = false, PropertyIDs = CPX_PROPERTIES, ReturnPropertyValues = true }; BrowseElement[] elementArray = server.Browse(this.m_filterItem, filters, out position); if ((elementArray == null) || (elementArray.Length == 0)) { return(new ComplexItem[0]); } ArrayList list = new ArrayList(elementArray.Length); foreach (BrowseElement element in elementArray) { ComplexItem item = new ComplexItem(); if (item.Init(element)) { list.Add(item); } } itemArray = (ComplexItem[])list.ToArray(typeof(ComplexItem)); } finally { if (position != null) { position.Dispose(); position = null; } } return(itemArray); }
/// <summary> /// Fetches the set of type conversions from the server. /// </summary> public ComplexItem[] GetTypeConversions(Opc.Da.Server server) { // only the root item can have type conversions. if (m_unconvertedItemID != null || m_unfilteredItemID != null) { return(null); } BrowsePosition position = null; try { // look for the 'CPX' branch. BrowseFilters filters = new BrowseFilters(); filters.ElementNameFilter = CPX_BRANCH; filters.BrowseFilter = browseFilter.branch; filters.ReturnAllProperties = false; filters.PropertyIDs = null; filters.ReturnPropertyValues = false; BrowseElement[] elements = server.Browse(this, filters, out position); // nothing found. if (elements == null || elements.Length == 0) { return(null); } // release the browse position object. if (position != null) { position.Dispose(); position = null; } // browse for type conversions. ItemIdentifier itemID = new ItemIdentifier(elements[0].ItemPath, elements[0].ItemName); filters.ElementNameFilter = null; filters.BrowseFilter = browseFilter.item; filters.ReturnAllProperties = false; filters.PropertyIDs = CPX_PROPERTIES; filters.ReturnPropertyValues = true; elements = server.Browse(itemID, filters, out position); // nothing found. if (elements == null || elements.Length == 0) { return(new ComplexItem[0]); } // contruct an array of complex data items for each available conversion. ArrayList conversions = new ArrayList(elements.Length); foreach (BrowseElement element in elements) { if (element.Name != CPX_DATA_FILTERS) { ComplexItem item = new ComplexItem(); if (item.Init(element)) { // check if data filters supported for type conversion. item.GetDataFilterItem(server); conversions.Add(item); } } } // return the set of available conversions. return((ComplexItem[])conversions.ToArray(typeof(ComplexItem))); } finally { if (position != null) { position.Dispose(); position = null; } } }
// Token: 0x06000356 RID: 854 RVA: 0x00008D00 File Offset: 0x00007D00 public ComplexItem CreateDataFilter(Da.Server server, string filterName, string filterValue) { if (this.m_unfilteredItemID != null) { return(null); } if (this.m_filterItem == null) { return(null); } BrowsePosition browsePosition = null; ComplexItem result; try { ItemValue itemValue = new ItemValue(this.m_filterItem); StringWriter stringWriter = new StringWriter(); XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter); xmlTextWriter.WriteStartElement("DataFilters"); xmlTextWriter.WriteAttributeString("Name", filterName); xmlTextWriter.WriteString(filterValue); xmlTextWriter.WriteEndElement(); xmlTextWriter.Close(); itemValue.Value = stringWriter.ToString(); itemValue.Quality = Quality.Bad; itemValue.QualitySpecified = false; itemValue.Timestamp = DateTime.MinValue; itemValue.TimestampSpecified = false; IdentifiedResult[] array = server.Write(new ItemValue[] { itemValue }); if (array == null || array.Length == 0) { throw new ApplicationException("Unexpected result from server."); } if (array[0].ResultID.Failed()) { throw new ApplicationException("Could not create new data filter."); } BrowseFilters browseFilters = new BrowseFilters(); browseFilters.ElementNameFilter = filterName; browseFilters.BrowseFilter = browseFilter.item; browseFilters.ReturnAllProperties = false; browseFilters.PropertyIDs = ComplexItem.CPX_PROPERTIES; browseFilters.ReturnPropertyValues = true; BrowseElement[] array2 = server.Browse(this.m_filterItem, browseFilters, out browsePosition); if (array2 == null || array2.Length == 0) { throw new ApplicationException("Could not browse to new data filter."); } ComplexItem complexItem = new ComplexItem(); if (!complexItem.Init(array2[0])) { throw new ApplicationException("Could not initialize to new data filter."); } result = complexItem; } finally { if (browsePosition != null) { browsePosition.Dispose(); browsePosition = null; } } return(result); }
// Token: 0x06000354 RID: 852 RVA: 0x00008AA0 File Offset: 0x00007AA0 public ComplexItem[] GetTypeConversions(Da.Server server) { if (this.m_unconvertedItemID != null || this.m_unfilteredItemID != null) { return(null); } BrowsePosition browsePosition = null; ComplexItem[] result; try { BrowseFilters browseFilters = new BrowseFilters(); browseFilters.ElementNameFilter = "CPX"; browseFilters.BrowseFilter = browseFilter.branch; browseFilters.ReturnAllProperties = false; browseFilters.PropertyIDs = null; browseFilters.ReturnPropertyValues = false; BrowseElement[] array = server.Browse(this, browseFilters, out browsePosition); if (array == null || array.Length == 0) { result = null; } else { if (browsePosition != null) { browsePosition.Dispose(); browsePosition = null; } ItemIdentifier itemID = new ItemIdentifier(array[0].ItemPath, array[0].ItemName); browseFilters.ElementNameFilter = null; browseFilters.BrowseFilter = browseFilter.item; browseFilters.ReturnAllProperties = false; browseFilters.PropertyIDs = ComplexItem.CPX_PROPERTIES; browseFilters.ReturnPropertyValues = true; array = server.Browse(itemID, browseFilters, out browsePosition); if (array == null || array.Length == 0) { result = new ComplexItem[0]; } else { ArrayList arrayList = new ArrayList(array.Length); foreach (BrowseElement browseElement in array) { if (browseElement.Name != "DataFilters") { ComplexItem complexItem = new ComplexItem(); if (complexItem.Init(browseElement)) { complexItem.GetDataFilterItem(server); arrayList.Add(complexItem); } } } result = (ComplexItem[])arrayList.ToArray(typeof(ComplexItem)); } } } finally { if (browsePosition != null) { browsePosition.Dispose(); browsePosition = null; } } return(result); }
/// <summary> /// Incremental browsing. /// </summary> /// <remarks>Nnot implemented yet</remarks> /// <param name="position">The position.</param> /// <returns></returns> public TagsTableRow[] BrowseNext(ref BrowsePosition position) { throw new NotImplementedException(); }
/// <summary> /// Creates a new data filter. /// </summary> public ComplexItem CreateDataFilter(Opc.Da.Server server, string filterName, string filterValue) { // not a valid operation for data filter items. if (m_unfilteredItemID != null) { return(null); } // data filters not supported by the item. if (m_filterItem == null) { return(null); } BrowsePosition position = null; try { // write the desired filter to the server. ItemValue item = new ItemValue(m_filterItem); // create the filter parameters document. StringWriter ostrm = new StringWriter(); XmlTextWriter writer = new XmlTextWriter(ostrm); writer.WriteStartElement("DataFilters"); writer.WriteAttributeString("Name", filterName); writer.WriteString(filterValue); writer.WriteEndElement(); writer.Close(); // create the value to write. item.Value = ostrm.ToString(); item.Quality = Quality.Bad; item.QualitySpecified = false; item.Timestamp = DateTime.MinValue; item.TimestampSpecified = false; // write the value. IdentifiedResult[] result = server.Write(new ItemValue[] { item }); if (result == null || result.Length == 0) { throw new ApplicationException("Unexpected result from server."); } if (result[0].ResultID.Failed()) { throw new ApplicationException("Could not create new data filter."); } // browse for new data filter item. BrowseFilters filters = new BrowseFilters(); filters.ElementNameFilter = filterName; filters.BrowseFilter = browseFilter.item; filters.ReturnAllProperties = false; filters.PropertyIDs = CPX_PROPERTIES; filters.ReturnPropertyValues = true; BrowseElement[] elements = server.Browse(m_filterItem, filters, out position); // nothing found. if (elements == null || elements.Length == 0) { throw new ApplicationException("Could not browse to new data filter."); } ComplexItem filterItem = new ComplexItem(); if (!filterItem.Init(elements[0])) { throw new ApplicationException("Could not initialize to new data filter."); } // return the new data filter. return(filterItem); } finally { if (position != null) { position.Dispose(); position = null; } } }
/// <summary> /// Fetches the item id for the data filters items. /// </summary> public void GetDataFilterItem(Opc.Da.Server server) { m_filterItem = null; // not a valid operation for data filter items. if (m_unfilteredItemID != null) { return; } BrowsePosition position = null; try { ItemIdentifier itemID = new ItemIdentifier(this); // browse any existing filter instances. BrowseFilters filters = new BrowseFilters(); filters.ElementNameFilter = CPX_DATA_FILTERS; filters.BrowseFilter = browseFilter.all; filters.ReturnAllProperties = false; filters.PropertyIDs = null; filters.ReturnPropertyValues = false; BrowseElement[] elements = null; // browse for the 'CPX' branch first. if (m_unconvertedItemID == null) { filters.ElementNameFilter = CPX_BRANCH; elements = server.Browse(itemID, filters, out position); // nothing found. if (elements == null || elements.Length == 0) { return; } // release the position object. if (position != null) { position.Dispose(); position = null; } // update the item for the next browse operation. itemID = new ItemIdentifier(elements[0].ItemPath, elements[0].ItemName); filters.ElementNameFilter = CPX_DATA_FILTERS; } // browse for the 'DataFilters' branch. elements = server.Browse(itemID, filters, out position); // nothing found. if (elements == null || elements.Length == 0) { return; } m_filterItem = new ItemIdentifier(elements[0].ItemPath, elements[0].ItemName); } finally { if (position != null) { position.Dispose(); position = null; } } }
private void Find(BrowseElement _element) { if (_element.IsItem) { if (_element.Properties != null) { int num = 0; string text = ""; string text2 = ""; string text3 = ""; System.DateTime dateTime = System.DateTime.MinValue; ItemProperty[] properties = _element.Properties; int i = 0; while (i < properties.Length) { ItemProperty itemProperty = properties[i]; string description = itemProperty.Description; if (description != null) { if (!(description == "ID")) { if (!(description == "Name")) { if (!(description == "Type")) { if (!(description == "Parameter")) { if (description == "Last modification") { dateTime = System.Convert.ToDateTime(itemProperty.Value); } } else { text3 = System.Convert.ToString(itemProperty.Value); } } else { text2 = System.Convert.ToString(itemProperty.Value); } } else { text = System.Convert.ToString(itemProperty.Value); } } else { num = System.Convert.ToInt32(itemProperty.Value); } } IL_101: i++; continue; goto IL_101; } this.TagsDT.Rows.Add(new object[] { OPCClient.Properties.Resources.editIcon, num, text, text2, text3, dateTime }); } } ItemIdentifier itemID = new ItemIdentifier(_element.ItemPath, _element.ItemName); BrowsePosition browsePosition = new BrowsePosition(itemID, this.m_filters); if (_element.HasChildren) { BrowseElement[] array = this.server.Browse(itemID, this.m_filters, out browsePosition); if (array != null) { BrowseElement[] array2 = array; for (int i = 0; i < array2.Length; i++) { BrowseElement browseElement = array2[i]; if (!browseElement.ItemName.Contains("alrosa_w") && !browseElement.ItemName.Contains("Internal") && !browseElement.ItemName.Contains("OPC") && !browseElement.ItemName.Contains("List of")) { this.Find(browseElement); } } } } }
public ComplexItem CreateDataFilter(Opc.Da.Server server, string filterName, string filterValue) { ComplexItem item2; if (this.m_unfilteredItemID != null) { return(null); } if (this.m_filterItem == null) { return(null); } BrowsePosition position = null; try { ItemValue value2 = new ItemValue(this.m_filterItem); StringWriter w = new StringWriter(); XmlTextWriter writer2 = new XmlTextWriter(w); writer2.WriteStartElement("DataFilters"); writer2.WriteAttributeString("Name", filterName); writer2.WriteString(filterValue); writer2.WriteEndElement(); writer2.Close(); value2.Value = w.ToString(); value2.Quality = Quality.Bad; value2.QualitySpecified = false; value2.Timestamp = DateTime.MinValue; value2.TimestampSpecified = false; IdentifiedResult[] resultArray = server.Write(new ItemValue[] { value2 }); if ((resultArray == null) || (resultArray.Length == 0)) { throw new ApplicationException("Unexpected result from server."); } if (resultArray[0].ResultID.Failed()) { throw new ApplicationException("Could not create new data filter."); } BrowseFilters filters = new BrowseFilters { ElementNameFilter = filterName, BrowseFilter = browseFilter.item, ReturnAllProperties = false, PropertyIDs = CPX_PROPERTIES, ReturnPropertyValues = true }; BrowseElement[] elementArray = server.Browse(this.m_filterItem, filters, out position); if ((elementArray == null) || (elementArray.Length == 0)) { throw new ApplicationException("Could not browse to new data filter."); } ComplexItem item = new ComplexItem(); if (!item.Init(elementArray[0])) { throw new ApplicationException("Could not initialize to new data filter."); } item2 = item; } finally { if (position != null) { position.Dispose(); position = null; } } return(item2); }
public ComplexItem[] GetTypeConversions(Opc.Da.Server server) { ComplexItem[] itemArray; if ((this.m_unconvertedItemID != null) || (this.m_unfilteredItemID != null)) { return(null); } BrowsePosition position = null; try { BrowseFilters filters = new BrowseFilters { ElementNameFilter = "CPX", BrowseFilter = browseFilter.branch, ReturnAllProperties = false, PropertyIDs = null, ReturnPropertyValues = false }; BrowseElement[] elementArray = server.Browse(this, filters, out position); if ((elementArray == null) || (elementArray.Length == 0)) { return(null); } if (position != null) { position.Dispose(); position = null; } ItemIdentifier itemID = new ItemIdentifier(elementArray[0].ItemPath, elementArray[0].ItemName); filters.ElementNameFilter = null; filters.BrowseFilter = browseFilter.item; filters.ReturnAllProperties = false; filters.PropertyIDs = CPX_PROPERTIES; filters.ReturnPropertyValues = true; elementArray = server.Browse(itemID, filters, out position); if ((elementArray == null) || (elementArray.Length == 0)) { return(new ComplexItem[0]); } ArrayList list = new ArrayList(elementArray.Length); foreach (BrowseElement element in elementArray) { if (element.Name != "DataFilters") { ComplexItem item = new ComplexItem(); if (item.Init(element)) { item.GetDataFilterItem(server); list.Add(item); } } } itemArray = (ComplexItem[])list.ToArray(typeof(ComplexItem)); } finally { if (position != null) { position.Dispose(); position = null; } } return(itemArray); }