コード例 #1
0
ファイル: V9TemplateList.cs プロジェクト: sshaky2/NetFlow
        private void listTemplates_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            int index = listTemplates.SelectedIndex;

            if (index == -1)
            {
                btnDelete.Enabled = false;
                return;
            }
            btnDelete.Enabled = true;

            listDetails.Items.Clear();
            ushort templateId = (ushort)listTemplates.SelectedItem;

            netflow.V9Template t = null;
            foreach (netflow.V9Template tt in v9Templates)
            {
                if (tt.TemplateId == templateId)
                {
                    t = tt;
                    break;
                }
            }
            if (t == null)
            {
                MessageBox.Show(this, "Internal inconsistency!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            ArrayList fields = t.GetFields();

            foreach (netflow.V9TemplateField field in fields)
            {
                listDetails.Items.Add(FormV9Template.TemplateItem[field.Type]);
            }
        }
コード例 #2
0
ファイル: AddV9Template.cs プロジェクト: sshaky2/NetFlow
        private void btnAdd_Click(object sender, System.EventArgs e)
        {
            ushort id;
            ushort frequency;

            try
            {
                id        = Convert.ToUInt16(textBoxTemplateId.Text);
                frequency = Convert.ToUInt16(textBoxFrequency.Text);
                if (id < 256)
                {
                    MessageBox.Show(this, "Invalid Template Id");
                    textBoxTemplateId.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                foreach (netflow.V9Template t in parent.TemplateList)
                {
                    if (id == t.TemplateId)
                    {
                        MessageBox.Show(this, "The specified template id is already used.");
                        textBoxTemplateId.Focus();
                        DialogResult = DialogResult.None;
                        return;
                    }
                }
                if (frequency <= 10)
                {
                    if (MessageBox.Show(this, "The template send frequency is too low. Are you sure you want to do this?",
                                        "Confirm", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        textBoxFrequency.Focus();
                        return;
                    }
                }
            }
            catch (FormatException fe)
            {
                MessageBox.Show(this, fe.Message);
                textBoxTemplateId.Focus();
                DialogResult = DialogResult.None;
                return;
            }
            netflow.V9Template template = new netflow.V9Template(id);
            template.SendFrequency = frequency;
            foreach (string item in listBoxSelected.Items)
            {
                ushort type = 0;
                ushort length;
                int    i = listBoxAll.FindString(item);
                if (i != -1)
                {
                    type = (ushort)(i + 1);
                }
                length = TemplateItemSize[type - 1, 1];
                template.AddField(type, length);
            }
            parent.TemplateList.Add(template);
            DialogResult = DialogResult.OK;
        }