コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
                }
            }
        }