/// <summary> /// Creates and returns a fully configured <see cref="ILogProvider"/> instance. /// </summary> /// <returns>A fully configured <see cref="ILogProvider"/> instance.</returns> public ILogProvider GetConfiguredInstance() { NetworkInterfaceWrapper adapter = cmbNetworkInterface.SelectedItem as NetworkInterfaceWrapper; if (adapter != null) { IPInterfaceProperties ipInfo = adapter.Adapter.GetIPProperties(); if (ipInfo != null) { foreach (UnicastIPAddressInformation ipAddress in ipInfo.UnicastAddresses) { if (ipAddress.Address != null && ipAddress.Address.AddressFamily == AddressFamily.InterNetwork) { if (ModifierKeys != Keys.Shift) { // Save the current settings as new default values. Settings.Default.PnlCustomUdpSettingsInterface = cmbNetworkInterface.SelectedItem.ToString(); Settings.Default.PnlCustomUdpSettingsPort = (int)nudPort.Value; Settings.Default.PnlCustomUdpSettingsJoinMulticast = chkMulticastGroup.Checked; Settings.Default.PnlCustomUdpSettingsMulticastAddress = txtMulticastIp.Text; Settings.Default.PnlCustomUdpSettingsEncoding = ((EncodingWrapper)cmbEncoding.SelectedItem).Codepage; Settings.Default.SaveSettings(); } return(new CustomUdpReceiver(chkMulticastGroup.Checked ? IPAddress.Parse(txtMulticastIp.Text.Trim()) : null , new IPEndPoint(ipAddress.Address, (int)nudPort.Value) , cmbColumnizer.SelectedItem as Columnizer , Settings.Default.PnlCustomUdpSettingsEncoding)); } } } } return(null); }
/// <summary> /// Handles the SelectedIndexChanged event of the network interface <see cref="ComboBox"/>. /// </summary> private void CmbNetworkInterfaceSelectedIndexChanged(object sender, EventArgs e) { NetworkInterfaceWrapper adapter = cmbNetworkInterface.SelectedItem as NetworkInterfaceWrapper; if (adapter != null) { IPInterfaceProperties ipInfo = adapter.Adapter.GetIPProperties(); if (ipInfo != null) { nfoPanel.Text = string.Format( Resources.strLog4NetUdpReceiverNetworkDescription , '\t' , adapter.Adapter.Description , Environment.NewLine); foreach (UnicastIPAddressInformation ipAddress in ipInfo.UnicastAddresses) { if (ipAddress.Address != null && ipAddress.Address.AddressFamily == AddressFamily.InterNetwork) { nfoPanel.Text += string.Format( Resources.strLog4NetUdpReceiverNetworkIPAddress , '\t' , ipAddress.Address , Environment.NewLine); break; } } nfoPanel.Text += string.Format( Resources.strLog4NetUdpReceiverNetworkSpeed , '\t' , adapter.Adapter.Speed / 1024 / 1024 , Environment.NewLine); } } }