public override void Dispose(bool disposing) { base.Dispose(disposing); if (dhcpActive & disposing) { dhcpActive = false; dhcp.Dispose(); dhcp = null; } }
protected void InitDHCP(NetworkInterface parAdapter) { //Cleanup to pass options as paramaters instead of accessing the config directly? dhcpActive = true; byte[] ps2IP = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.PS2IP).GetAddressBytes(); byte[] netMask = null; byte[] gateway = null; byte[] dns1 = null; byte[] dns2 = null; if (!DEV9Header.config.DirectConnectionSettings.AutoSubNet) { netMask = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.SubNet).GetAddressBytes(); } if (!DEV9Header.config.DirectConnectionSettings.AutoGateway) { gateway = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.Gateway).GetAddressBytes(); } if (!DEV9Header.config.DirectConnectionSettings.AutoDNS1) { dns1 = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.DNS1).GetAddressBytes(); } if (!DEV9Header.config.DirectConnectionSettings.AutoDNS2) { dns2 = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.DNS2).GetAddressBytes(); } //Create DHCP Session dhcp = new UDP_DHCPsession(new ConnectionKey(), parAdapter, ps2IP, netMask, gateway, dns1, dns2); dhcpActive = true; }