void ButtonAddOnClick(object obj, EventArgs ea) { IPAddress ret; if (address.Text.Trim() != "" && port.Text.Trim() != "") { if (IPAddress.TryParse(address.Text.Trim(), out ret)) { try { PortMappingInfo pmi = new PortMappingInfo("FreeMeterRevival", comboBox1.SelectedItem.ToString(), ret.ToString(), int.Parse(port.Text), null, int.Parse(port.Text), true); nat.AddPortMapping(pmi); results.Text = "Successfully Added...\r\n\r\n"; BackgroundWorker nater = new BackgroundWorker(); nater.WorkerReportsProgress = false; nater.DoWork += new DoWorkEventHandler(enumerate_mappings); nater.RunWorkerAsync(); nater.Dispose(); } catch (FormatException) { results.AppendText("Input was not formatted correctly.\r\n"); } catch (COMException e) { results.AppendText("Port " + port.Text.Trim() + " " + comboBox1.SelectedItem.ToString() + " was unavailble: " + e.Message + "\r\n"); } catch (ArgumentException) { results.AppendText("Value was out of range (e.g. ports are 0-65535).\r\n"); } } else { results.AppendText("Fwd to must be an IP address (e.g. 192.168.0.2).\r\n"); } } else { results.AppendText("Input was blank.\r\n"); } }
void ButtonDeleteOnClick(object obj, EventArgs ea) { if (port.Text.Trim() != "") { try { PortMappingInfo pmi = new PortMappingInfo("FreeMeterRevival", comboBox1.SelectedItem.ToString(), null, int.Parse(port.Text), null, int.Parse(port.Text), true); nat.RemovePortMapping(pmi); results.Text = "Successfully Removed...\r\n\r\n"; BackgroundWorker nater = new BackgroundWorker(); nater.WorkerReportsProgress = false; nater.DoWork += new DoWorkEventHandler(enumerate_mappings); nater.RunWorkerAsync(); nater.Dispose(); } catch (FormatException) { results.AppendText("Input was not formatted correctly.\r\n"); } catch (FileNotFoundException) { results.AppendText("No such mapping to remove.\r\n"); } catch (ArgumentException) { results.AppendText("Value was out of range (e.g. ports are 0-65535).\r\n"); } catch (COMException e) { results.AppendText("Error removing Port " + port.Text.Trim() + " " + comboBox1.SelectedItem.ToString() + ": " + e.Message + "\r\n"); } } else { results.AppendText("Input was blank.\r\n"); } }