예제 #1
0
 private void toolsStopLogging_Click(object sender, EventArgs e)
 {
     if (m_sniffer != null)
     {
         m_sniffer.Stop();
         m_sniffer.PacketReceived -= Sniffer_PacketReceived;
         toolsStartLogging.Enabled = true;
         toolsStopLogging.Enabled  = false;
         toolsPauseLogging.Enabled = false;
         toolsClearView.Enabled    = false;
         m_sniffer = null;
     }
 }
예제 #2
0
        private async void toolsStartLogging_Click(object sender, EventArgs e)
        {
            if (m_sniffer == null)
            {
                StartForm    form   = new StartForm();
                DialogResult result = DialogResult.OK;
                do
                {
                    result = form.ShowDialog(this);
                    if (result != DialogResult.OK)
                    {
                        break;
                    }

                    m_sniffer = form.GetSniffer();
                    if (m_sniffer != null)
                    {
                        break;
                    }

                    var msgRes = MessageBox.Show(this, "Could not start sniffer.", "Error",
                                                 MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);

                    if (msgRes != DialogResult.Retry)
                    {
                        break;
                    }

                    result = DialogResult.Cancel;
                } while (result != DialogResult.OK);
            }

            if (m_sniffer != null)
            {
                m_sniffer.PacketReceived += Sniffer_PacketReceived;
                toolsStartLogging.Enabled = false;
                toolsStopLogging.Enabled  = true;
                toolsPauseLogging.Enabled = true;
                toolsClearView.Enabled    = true;
                await m_sniffer.Start();
            }
        }