using System; using System.Collections.Generic; using System.Runtime.InteropServices; namespace System.Net.NetworkInformation { // Token: 0x0200019C RID: 412 internal class MulticastIPAddressInformationImplCollection : MulticastIPAddressInformationCollection { // Token: 0x06000DD0 RID: 3536 RVA: 0x00026C3C File Offset: 0x00024E3C private MulticastIPAddressInformationImplCollection(bool isReadOnly) { this.is_readonly = isReadOnly; } // Token: 0x17000480 RID: 1152 // (get) Token: 0x06000DD2 RID: 3538 RVA: 0x00026C5C File Offset: 0x00024E5C public override bool IsReadOnly { get { return this.is_readonly; } } // Token: 0x06000DD3 RID: 3539 RVA: 0x00026C64 File Offset: 0x00024E64 public static MulticastIPAddressInformationCollection Win32FromMulticast(IntPtr ptr) { MulticastIPAddressInformationImplCollection multicastIPAddressInformationImplCollection = new MulticastIPAddressInformationImplCollection(false); IntPtr intPtr = ptr; while (intPtr != IntPtr.Zero) { Win32_IP_ADAPTER_MULTICAST_ADDRESS win32_IP_ADAPTER_MULTICAST_ADDRESS = (Win32_IP_ADAPTER_MULTICAST_ADDRESS)Marshal.PtrToStructure(intPtr, typeof(Win32_IP_ADAPTER_MULTICAST_ADDRESS)); multicastIPAddressInformationImplCollection.Add(new MulticastIPAddressInformationImpl(win32_IP_ADAPTER_MULTICAST_ADDRESS.Address.GetIPAddress(), win32_IP_ADAPTER_MULTICAST_ADDRESS.LengthFlags.IsDnsEligible, win32_IP_ADAPTER_MULTICAST_ADDRESS.LengthFlags.IsTransient)); intPtr = win32_IP_ADAPTER_MULTICAST_ADDRESS.Next; } multicastIPAddressInformationImplCollection.is_readonly = true; return multicastIPAddressInformationImplCollection; } // Token: 0x06000DD4 RID: 3540 RVA: 0x00026CE4 File Offset: 0x00024EE4 public static MulticastIPAddressInformationImplCollection LinuxFromList(List addresses) { MulticastIPAddressInformationImplCollection multicastIPAddressInformationImplCollection = new MulticastIPAddressInformationImplCollection(false); foreach (IPAddress ipaddress in addresses) { multicastIPAddressInformationImplCollection.Add(new MulticastIPAddressInformationImpl(ipaddress, true, false)); } multicastIPAddressInformationImplCollection.is_readonly = true; return multicastIPAddressInformationImplCollection; } // Token: 0x04000C81 RID: 3201 public static readonly MulticastIPAddressInformationImplCollection Empty = new MulticastIPAddressInformationImplCollection(true); // Token: 0x04000C82 RID: 3202 private bool is_readonly; } }