public int[] SetDatatypes(int[] serverIds, VarEnum[] types) { if (@group == null) { throw new ObjectDisposedException("Group"); } serverIds.ArgumentNotNull("serverIds"); if (serverIds.Length == 0) { return(new int[0]); } var typesAsShort = new short[types.Length]; for (var i = 0; i < types.Length; i++) { typesAsShort[i] = (short)types[i]; } IntPtr errorsPtr; @group.SetDatatypes((uint)serverIds.Length, serverIds, typesAsShort, out errorsPtr); return(ItemResultReader.Read(serverIds.Length, errorsPtr)); }
public int[] AsyncWriteItems(int[] serverIds, object[] values, int transactionId, out int cancelId) { cancelId = 0; if (@group == null) { throw new ObjectDisposedException("Group"); } if (asyncIO == null) { throw new NotSupportedException(); } serverIds.ArgumentNotNull("serverIds"); if (serverIds.Length == 0) { return(new int[0]); } using (var writer = new ItemValueWriter(values)) { int tmp; IntPtr errorsPtr; asyncIO.Write((uint)serverIds.Length, serverIds, writer.Values, transactionId, out tmp, out errorsPtr); cancelId = tmp; return(ItemResultReader.Read(serverIds.Length, errorsPtr)); } }
public int[] SetClientHandles(int[] serverIds, int[] clientIds) { if (@group == null) { throw new ObjectDisposedException("Group"); } serverIds.ArgumentNotNull("serverIds"); if (serverIds.Length == 0) { return(new int[0]); } IntPtr errorsPtr; @group.SetClientHandles((uint)serverIds.Length, serverIds, clientIds, out errorsPtr); return(ItemResultReader.Read(serverIds.Length, errorsPtr)); }
public int[] SetActiveState(int[] serverIds, bool active) { if (@group == null) { throw new ObjectDisposedException("Group"); } serverIds.ArgumentNotNull("serverIds"); if (serverIds.Length == 0) { return(new int[0]); } IntPtr errorsPtr; @group.SetActiveState((uint)serverIds.Length, serverIds, active ? 1 : 0, out errorsPtr); return(ItemResultReader.Read(serverIds.Length, errorsPtr)); }
public ItemResult[] ValidateItems(Item[] items) { if (@group == null) { throw new ObjectDisposedException("Group"); } items.ArgumentNotNull("items"); if (items.Length == 0) { return(new ItemResult[0]); } using (var reader = new ItemResultReader(items)) { IntPtr dataPtr; IntPtr errorsPtr; @group.ValidateItems((uint)items.Length, reader.Items, 0, out dataPtr, out errorsPtr); return(reader.Read(dataPtr, errorsPtr)); } }
public int[] SyncWriteItems(int[] serverIds, object[] values) { if (@group == null) { throw new ObjectDisposedException("Group"); } serverIds.ArgumentNotNull("serverIds"); values.ArgumentNotNull("values"); if (serverIds.Length == 0) { return(new int[0]); } using (var writer = new ItemValueWriter(values)) { IntPtr errorsPtr; syncIO.Write((uint)serverIds.Length, serverIds, writer.Values, out errorsPtr); return(ItemResultReader.Read(serverIds.Length, errorsPtr)); } }
public ItemResult[] ValidateItems(Item[] items) { if(@group == null) throw new ObjectDisposedException("Group"); items.ArgumentNotNull("items"); if(items.Length == 0) return new ItemResult[0]; using(var reader = new ItemResultReader(items)) { IntPtr dataPtr; IntPtr errorsPtr; @group.ValidateItems((uint)items.Length, reader.Items, 0, out dataPtr, out errorsPtr); return reader.Read(dataPtr, errorsPtr); } }