private void listBoxTemplates_SelectedIndexChanged(object sender, System.EventArgs e) { int index = listBoxTemplates.SelectedIndex; if (index == -1) { btnDelete.Enabled = false; return; } btnDelete.Enabled = true; listDetails.Items.Clear(); ushort templateId = (ushort)listBoxTemplates.SelectedItem; netflow.IpfixTemplate t = null; foreach (netflow.IpfixTemplate tt in ipfixTemplates) { 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.IpfixTemplateField field in fields) { listDetails.Items.Add(FormIpfixTemplate.TemplateItem[field.elementId]); } }
private void btnAdd_Click(object sender, 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.IpfixTemplate 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 high. 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.IpfixTemplate template = new netflow.IpfixTemplate(id); template.SendFrequency = frequency; foreach (string item in listBoxSelected.Items) { ushort type = 0; ushort length; for (int i = 0; i < TemplateItem.Length; ++i) { if (item == TemplateItem[i]) { type = (ushort)(i); } } System.Diagnostics.Debug.Assert(type > 0); length = TemplateItemSize[type, 1]; template.AddField(type, length); } parent.TemplateList.Add(template); DialogResult = DialogResult.OK; }