Exemplo n.º 1
0
        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");
            }
        }
Exemplo n.º 2
0
 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");
     }
 }