/// <summary> /// Deletes a single DX connection from the configuration. /// </summary> /// <param name="connection">The DX connection to delete.</param> public void DeleteDXConnections(DXConnection connection) { ResultID[] errors = null; GeneralResponse response = DeleteDXConnections( null, new DXConnection[] { connection }, true, out errors); if (errors != null && errors.Length > 0 && errors[0].Failed()) { throw new Opc.ResultIDException(errors[0]); } if (response == null || response.Count != 1) { throw new Opc.InvalidResponseException(); } if (response[0].ResultID.Failed()) { throw new Opc.ResultIDException(response[0].ResultID); } }
internal static Opc.Dx.DXConnection[] GetDXConnections(ref IntPtr pInput, int count, bool deallocate) { Opc.Dx.DXConnection[] connectionArray = null; if ((pInput != IntPtr.Zero) && (count > 0)) { connectionArray = new Opc.Dx.DXConnection[count]; IntPtr ptr = pInput; for (int i = 0; i < count; i++) { OpcRcw.Dx.DXConnection input = (OpcRcw.Dx.DXConnection)Marshal.PtrToStructure(ptr, typeof(OpcRcw.Dx.DXConnection)); connectionArray[i] = GetDXConnection(input, deallocate); if (deallocate) { Marshal.DestroyStructure(ptr, typeof(OpcRcw.Dx.DXConnection)); } ptr = (IntPtr)(ptr.ToInt32() + Marshal.SizeOf(typeof(OpcRcw.Dx.DXConnection))); } if (deallocate) { Marshal.FreeCoTaskMem(pInput); pInput = IntPtr.Zero; } } return(connectionArray); }
/// <summary> /// Initializes object with the specified DXConnection object. /// </summary> public DXConnection(DXConnection connection) : base(connection) { if (connection != null) { BrowsePaths.AddRange(connection.BrowsePaths); Name = connection.Name; Description = connection.Description; Keyword = connection.Keyword; DefaultSourceItemConnected = connection.DefaultSourceItemConnected; DefaultSourceItemConnectedSpecified = connection.DefaultSourceItemConnectedSpecified; DefaultTargetItemConnected = connection.DefaultTargetItemConnected; DefaultTargetItemConnectedSpecified = connection.DefaultTargetItemConnectedSpecified; DefaultOverridden = connection.DefaultOverridden; DefaultOverriddenSpecified = connection.DefaultOverriddenSpecified; DefaultOverrideValue = connection.DefaultOverrideValue; EnableSubstituteValue = connection.EnableSubstituteValue; EnableSubstituteValueSpecified = connection.EnableSubstituteValueSpecified; SubstituteValue = connection.SubstituteValue; TargetItemName = connection.TargetItemName; TargetItemPath = connection.TargetItemPath; SourceServerName = connection.SourceServerName; SourceItemName = connection.SourceItemName; SourceItemPath = connection.SourceItemPath; SourceItemQueueSize = connection.SourceItemQueueSize; SourceItemQueueSizeSpecified = connection.SourceItemQueueSizeSpecified; UpdateRate = connection.UpdateRate; UpdateRateSpecified = connection.UpdateRateSpecified; Deadband = connection.Deadband; DeadbandSpecified = connection.DeadbandSpecified; VendorData = connection.VendorData; } }
// Token: 0x06000110 RID: 272 RVA: 0x0000561C File Offset: 0x0000461C public GeneralResponse Update(Server server, DXConnection connectionDefinition, out ResultID[] errors) { if (server == null) { throw new ArgumentNullException("server"); } return(server.UpdateDXConnections(this.BrowsePath, this.Masks.ToArray(), this.Recursive, connectionDefinition, out errors)); }
// Token: 0x060003D0 RID: 976 RVA: 0x0000ABB0 File Offset: 0x00009BB0 internal DXConnectionCollection(ICollection connections) { if (connections != null) { foreach (object obj in connections) { DXConnection value = (DXConnection)obj; this.m_connections.Add(value); } } }
// Token: 0x060003D3 RID: 979 RVA: 0x0000ACDC File Offset: 0x00009CDC public virtual object Clone() { DXConnectionCollection dxconnectionCollection = (DXConnectionCollection)base.MemberwiseClone(); dxconnectionCollection.m_connections = new ArrayList(); foreach (object obj in this.m_connections) { DXConnection dxconnection = (DXConnection)obj; dxconnectionCollection.m_connections.Add(dxconnection.Clone()); } return(dxconnectionCollection); }
// Token: 0x060003D2 RID: 978 RVA: 0x0000AC80 File Offset: 0x00009C80 public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { DXConnection[] array = null; if (this.m_connections.Count > 0) { array = new DXConnection[this.m_connections.Count]; for (int i = 0; i < array.Length; i++) { array[i] = (DXConnection)this.m_connections[i]; } } info.AddValue("Connections", array); }
/// <summary> /// Updates all connections that meet the query criteria. /// </summary> /// <param name="server">The DX server to update.</param> /// <param name="connectionDefinition">The changes to apply to each connection that meets the query criteria.</param> /// <param name="errors">Any errors associated with individual query masks.</param> /// <returns>The list of connections that met the criteria and were updated.</returns> public GeneralResponse Update(Opc.Dx.Server server, DXConnection connectionDefinition, out ResultID[] errors) { if (server == null) { throw new ArgumentNullException("server"); } GeneralResponse response = server.UpdateDXConnections( BrowsePath, Masks.ToArray(), Recursive, connectionDefinition, out errors); return(response); }
/// <summary> /// Serializes a server into a stream. /// </summary> public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { DXConnection[] connections = null; if (m_connections.Count > 0) { connections = new DXConnection[m_connections.Count]; for (int ii = 0; ii < connections.Length; ii++) { connections[ii] = (DXConnection)m_connections[ii]; } } info.AddValue(Names.CONNECTIONS, connections); }
// Token: 0x06000063 RID: 99 RVA: 0x000039AC File Offset: 0x000029AC public void DeleteDXConnections(DXConnection connection) { ResultID[] array = null; GeneralResponse generalResponse = this.DeleteDXConnections(null, new DXConnection[] { connection }, true, out array); if (array != null && array.Length > 0 && array[0].Failed()) { throw new ResultIDException(array[0]); } if (generalResponse == null || generalResponse.Count != 1) { throw new InvalidResponseException(); } if (generalResponse[0].ResultID.Failed()) { throw new ResultIDException(generalResponse[0].ResultID); } }
/// <summary> /// Modifies a single DX connection in the configuration. /// </summary> /// <param name="connection">The DX connection to modify.</param> public DXConnection ModifyDXConnection(DXConnection connection) { GeneralResponse response = ModifyDXConnections(new DXConnection[] { connection }); if (response == null || response.Count != 1) { throw new Opc.InvalidResponseException(); } if (response[0].ResultID.Failed()) { throw new Opc.ResultIDException(response[0].ResultID); } DXConnection result = new DXConnection(connection); result.ItemName = response[0].ItemName; result.ItemPath = response[0].ItemPath; result.Version = response[0].Version; return(result); }
/// <summary> /// Updates a set of connections which meet the specified query criteria. /// </summary> /// <param name="browsePath">The browse path where the search begins.</param> /// <param name="connectionMasks">The masks that define the query criteria.</param> /// <param name="recursive">Whether the folders under the browse path are searched as well.</param> /// <param name="connectionDefinition">The changes that will be applied to all connections meeting the criteria.</param> /// <param name="errors">Any errors associated with individual query masks.</param> /// <returns>The list of connections that met the criteria and were updated.</returns> public GeneralResponse UpdateDXConnections( string browsePath, DXConnection[] connectionMasks, bool recursive, DXConnection connectionDefinition, out ResultID[] errors) { if (m_server == null) { throw new NotConnectedException(); } GeneralResponse response = ((IServer)m_server).UpdateDXConnections(browsePath, connectionMasks, recursive, connectionDefinition, out errors); // save configuration version. if (response != null) { m_version = response.Version; } return(response); }
// Token: 0x06000062 RID: 98 RVA: 0x00003914 File Offset: 0x00002914 public DXConnection ModifyDXConnection(DXConnection connection) { GeneralResponse generalResponse = this.ModifyDXConnections(new DXConnection[] { connection }); if (generalResponse == null || generalResponse.Count != 1) { throw new InvalidResponseException(); } if (generalResponse[0].ResultID.Failed()) { throw new ResultIDException(generalResponse[0].ResultID); } return(new DXConnection(connection) { ItemName = generalResponse[0].ItemName, ItemPath = generalResponse[0].ItemPath, Version = generalResponse[0].Version }); }
/// <summary> /// Removes the first occurrence of a specific object from the IList. /// </summary> /// <param name="value">The Object to remove from the IList.</param> public void Remove(DXConnection value) { Remove((object)value); }
/// <summary> /// Inserts an item to the IList at the specified position. /// </summary> /// <param name="index">The zero-based index at which value should be inserted.</param> /// <param name="value">The Object to insert into the IList. </param> public void Insert(int index, DXConnection value) { Insert(index, (object)value); }
// Token: 0x0600006E RID: 110 RVA: 0x00003CFC File Offset: 0x00002CFC public GeneralResponse UpdateDXConnections(string browsePath, DXConnection[] connectionMasks, bool recursive, DXConnection connectionDefinition, out ResultID[] errors) { if (this.m_server == null) { throw new NotConnectedException(); } GeneralResponse generalResponse = ((IServer)this.m_server).UpdateDXConnections(browsePath, connectionMasks, recursive, connectionDefinition, out errors); if (generalResponse != null) { this.m_version = generalResponse.Version; } return(generalResponse); }
// Token: 0x060003E7 RID: 999 RVA: 0x0000AF5E File Offset: 0x00009F5E public bool Contains(DXConnection value) { return(this.Contains(value)); }
/// <summary> /// Adds an item to the IList. /// </summary> /// <param name="value">The Object to add to the IList. </param> /// <returns>The position into which the new element was inserted.</returns> public int Add(DXConnection value) { return(Add((object)value)); }
public GeneralResponse UpdateDXConnections(string browsePath, Opc.Dx.DXConnection[] connectionMasks, bool recursive, Opc.Dx.DXConnection connectionDefinition, out ResultID[] errors) { lock (this) { if (m_server == null) { throw new NotConnectedException(); } try { OpcRcw.Dx.DXConnection[] array = Interop.GetDXConnections(connectionMasks); if (array == null) { array = new OpcRcw.Dx.DXConnection[0]; } OpcRcw.Dx.DXConnection pDXConnectionDefinition = Interop.GetDXConnection(connectionDefinition); IntPtr ppErrors = IntPtr.Zero; ((IOPCConfiguration)m_server).UpdateDXConnections((browsePath != null) ? browsePath : "", array.Length, array, recursive ? 1 : 0, ref pDXConnectionDefinition, out ppErrors, out DXGeneralResponse pResponse); errors = Interop.GetResultIDs(ref ppErrors, array.Length, deallocate: true); return(Interop.GetGeneralResponse(pResponse, deallocate: true)); } catch (Exception e) { throw OpcCom.Interop.CreateException("IOPCConfiguration.UpdateDXConnections", e); } } }
public GeneralResponse UpdateDXConnections(string browsePath, Opc.Dx.DXConnection[] connectionMasks, bool recursive, Opc.Dx.DXConnection connectionDefinition, out ResultID[] errors) { GeneralResponse generalResponse; lock (this) { if (base.m_server == null) { throw new NotConnectedException(); } try { DXGeneralResponse response; OpcRcw.Dx.DXConnection[] dXConnections = OpcCom.Dx.Interop.GetDXConnections(connectionMasks); if (dXConnections == null) { dXConnections = new OpcRcw.Dx.DXConnection[0]; } OpcRcw.Dx.DXConnection dXConnection = OpcCom.Dx.Interop.GetDXConnection(connectionDefinition); IntPtr zero = IntPtr.Zero; ((IOPCConfiguration)base.m_server).UpdateDXConnections((browsePath != null) ? browsePath : "", dXConnections.Length, dXConnections, recursive ? 1 : 0, ref dXConnection, out zero, out response); errors = OpcCom.Dx.Interop.GetResultIDs(ref zero, dXConnections.Length, true); generalResponse = OpcCom.Dx.Interop.GetGeneralResponse(response, true); } catch (Exception exception) { throw OpcCom.Interop.CreateException("IOPCConfiguration.UpdateDXConnections", exception); } } return(generalResponse); }
// Token: 0x060003E5 RID: 997 RVA: 0x0000AF4B File Offset: 0x00009F4B public void Insert(int index, DXConnection value) { this.Insert(index, value); }
// Token: 0x060003E9 RID: 1001 RVA: 0x0000AF70 File Offset: 0x00009F70 public int Add(DXConnection value) { return(this.Add(value)); }
// Token: 0x060003E8 RID: 1000 RVA: 0x0000AF67 File Offset: 0x00009F67 public int IndexOf(DXConnection value) { return(this.IndexOf(value)); }
/// <summary> /// Determines whether the IList contains a specific value. /// </summary> /// <param name="value">The Object to locate in the IList.</param> /// <returns>true if the Object is found in the IList; otherwise, false.</returns> public bool Contains(DXConnection value) { return(Contains((object)value)); }
/// <summary> /// Determines the index of a specific item in the IList. /// </summary> /// <param name="value">The Object to locate in the IList.</param> /// <returns>The index of value if found in the list; otherwise, -1.</returns> public int IndexOf(DXConnection value) { return(IndexOf((object)value)); }
internal static OpcRcw.Dx.DXConnection GetDXConnection(Opc.Dx.DXConnection input) { OpcRcw.Dx.DXConnection connection = new OpcRcw.Dx.DXConnection { dwMask = 0, szItemPath = null, szItemName = null, szVersion = null, dwBrowsePathCount = 0, pszBrowsePaths = IntPtr.Zero, szName = null, szDescription = null, szKeyword = null, bDefaultSourceItemConnected = 0, bDefaultTargetItemConnected = 0, bDefaultOverridden = 0, vDefaultOverrideValue = null, vSubstituteValue = null, bEnableSubstituteValue = 0, szTargetItemPath = null, szTargetItemName = null, szSourceServerName = null, szSourceItemPath = null, szSourceItemName = null, dwSourceItemQueueSize = 0, dwUpdateRate = 0, fltDeadBand = 0f, szVendorData = null }; if (input.ItemName != null) { connection.dwMask |= 2; connection.szItemName = input.ItemName; } if (input.ItemPath != null) { connection.dwMask |= 1; connection.szItemPath = input.ItemPath; } if (input.Version != null) { connection.dwMask |= 4; connection.szVersion = input.Version; } if (input.BrowsePaths.Count > 0) { connection.dwMask |= 8; connection.dwBrowsePathCount = input.BrowsePaths.Count; connection.pszBrowsePaths = OpcCom.Interop.GetUnicodeStrings(input.BrowsePaths.ToArray()); } if (input.Name != null) { connection.dwMask |= 0x10; connection.szName = input.Name; } if (input.Description != null) { connection.dwMask |= 0x20; connection.szDescription = input.Description; } if (input.Keyword != null) { connection.dwMask |= 0x40; connection.szKeyword = input.Keyword; } if (input.DefaultSourceItemConnectedSpecified) { connection.dwMask |= 0x80; connection.bDefaultSourceItemConnected = input.DefaultSourceItemConnected ? 1 : 0; } if (input.DefaultTargetItemConnectedSpecified) { connection.dwMask |= 0x100; connection.bDefaultTargetItemConnected = input.DefaultTargetItemConnected ? 1 : 0; } if (input.DefaultOverriddenSpecified) { connection.dwMask |= 0x200; connection.bDefaultOverridden = input.DefaultOverridden ? 1 : 0; } if (input.DefaultOverrideValue != null) { connection.dwMask |= 0x400; connection.vDefaultOverrideValue = input.DefaultOverrideValue; } if (input.SubstituteValue != null) { connection.dwMask |= 0x800; connection.vSubstituteValue = input.SubstituteValue; } if (input.EnableSubstituteValueSpecified) { connection.dwMask |= 0x1000; connection.bEnableSubstituteValue = input.EnableSubstituteValue ? 1 : 0; } if (input.TargetItemName != null) { connection.dwMask |= 0x4000; connection.szTargetItemName = input.TargetItemName; } if (input.TargetItemPath != null) { connection.dwMask |= 0x2000; connection.szTargetItemPath = input.TargetItemPath; } if (input.SourceServerName != null) { connection.dwMask |= 0x8000; connection.szSourceServerName = input.SourceServerName; } if (input.SourceItemName != null) { connection.dwMask |= 0x20000; connection.szSourceItemName = input.SourceItemName; } if (input.SourceItemPath != null) { connection.dwMask |= 0x10000; connection.szSourceItemPath = input.SourceItemPath; } if (input.SourceItemQueueSizeSpecified) { connection.dwMask |= 0x40000; connection.dwSourceItemQueueSize = input.SourceItemQueueSize; } if (input.UpdateRateSpecified) { connection.dwMask |= 0x80000; connection.dwUpdateRate = input.UpdateRate; } if (input.DeadbandSpecified) { connection.dwMask |= 0x100000; connection.fltDeadBand = input.Deadband; } if (input.VendorData != null) { connection.dwMask |= 0x200000; connection.szVendorData = input.VendorData; } return(connection); }
internal static Opc.Dx.DXConnection GetDXConnection(OpcRcw.Dx.DXConnection input, bool deallocate) { Opc.Dx.DXConnection connection = new Opc.Dx.DXConnection { ItemPath = null, ItemName = null, Version = null }; connection.BrowsePaths.Clear(); connection.Name = null; connection.Description = null; connection.Keyword = null; connection.DefaultSourceItemConnected = false; connection.DefaultSourceItemConnectedSpecified = false; connection.DefaultTargetItemConnected = false; connection.DefaultTargetItemConnectedSpecified = false; connection.DefaultOverridden = false; connection.DefaultOverriddenSpecified = false; connection.DefaultOverrideValue = null; connection.SubstituteValue = null; connection.EnableSubstituteValue = false; connection.EnableSubstituteValueSpecified = false; connection.TargetItemPath = null; connection.TargetItemName = null; connection.SourceServerName = null; connection.SourceItemPath = null; connection.SourceItemName = null; connection.SourceItemQueueSize = 0; connection.SourceItemQueueSizeSpecified = false; connection.UpdateRate = 0; connection.UpdateRateSpecified = false; connection.Deadband = 0f; connection.DeadbandSpecified = false; connection.VendorData = null; if ((input.dwMask & 2) != 0) { connection.ItemName = input.szItemName; } if ((input.dwMask & 1) != 0) { connection.ItemPath = input.szItemPath; } if ((input.dwMask & 4) != 0) { connection.Version = input.szVersion; } if ((input.dwMask & 8) != 0) { string[] c = OpcCom.Interop.GetUnicodeStrings(ref input.pszBrowsePaths, input.dwBrowsePathCount, deallocate); if (c != null) { connection.BrowsePaths.AddRange(c); } } if ((input.dwMask & 0x10) != 0) { connection.Name = input.szName; } if ((input.dwMask & 0x20) != 0) { connection.Description = input.szDescription; } if ((input.dwMask & 0x40) != 0) { connection.Keyword = input.szKeyword; } if ((input.dwMask & 0x80) != 0) { connection.DefaultSourceItemConnected = input.bDefaultSourceItemConnected != 0; connection.DefaultSourceItemConnectedSpecified = true; } if ((input.dwMask & 0x100) != 0) { connection.DefaultTargetItemConnected = input.bDefaultTargetItemConnected != 0; connection.DefaultTargetItemConnectedSpecified = true; } if ((input.dwMask & 0x200) != 0) { connection.DefaultOverridden = input.bDefaultOverridden != 0; connection.DefaultOverriddenSpecified = true; } if ((input.dwMask & 0x400) != 0) { connection.DefaultOverrideValue = input.vDefaultOverrideValue; } if ((input.dwMask & 0x800) != 0) { connection.SubstituteValue = input.vSubstituteValue; } if ((input.dwMask & 0x1000) != 0) { connection.EnableSubstituteValue = input.bEnableSubstituteValue != 0; connection.EnableSubstituteValueSpecified = true; } if ((input.dwMask & 0x4000) != 0) { connection.TargetItemName = input.szTargetItemName; } if ((input.dwMask & 0x2000) != 0) { connection.TargetItemPath = input.szTargetItemPath; } if ((input.dwMask & 0x8000) != 0) { connection.SourceServerName = input.szSourceServerName; } if ((input.dwMask & 0x20000) != 0) { connection.SourceItemName = input.szSourceItemName; } if ((input.dwMask & 0x10000) != 0) { connection.SourceItemPath = input.szSourceItemPath; } if ((input.dwMask & 0x40000) != 0) { connection.SourceItemQueueSize = input.dwSourceItemQueueSize; connection.SourceItemQueueSizeSpecified = true; } if ((input.dwMask & 0x80000) != 0) { connection.UpdateRate = input.dwUpdateRate; connection.UpdateRateSpecified = true; } if ((input.dwMask & 0x100000) != 0) { connection.Deadband = input.fltDeadBand; connection.DeadbandSpecified = true; } if ((input.dwMask & 0x200000) != 0) { connection.VendorData = input.szVendorData; } return(connection); }
// Token: 0x060003E6 RID: 998 RVA: 0x0000AF55 File Offset: 0x00009F55 public void Remove(DXConnection value) { this.Remove(value); }