ISimulatorNode CreateOutstation(ISimulatorNodeCallbacks callbacks, IOutstationModule module) { using (var dialog = new Components.OutstationDialog(config, module)) { if (dialog.ShowDialog() == DialogResult.OK) { var outstationConfig = dialog.Configuration; var alias = dialog.SelectedAlias; var factory = module.CreateFactory(); var outstation = channel.AddOutstation(alias, factory.CommandHandler, factory.Application, outstationConfig); if (outstation == null) { return(null); } else { var instance = factory.CreateInstance(outstation, alias, outstationConfig); outstation.Enable(); if (instance.ShowFormOnCreation) { instance.ShowForm(); } return(new OutstationNode(outstation, instance, callbacks)); } } else { return(null); } } }
public OutstationDialog(IDNP3Config config, IOutstationModule module) { InitializeComponent(); this.config = config; this.initialConfig = module.DefaultConfig; this.allowTemplateEdit = module.AllowTemplateEditing; this.textBoxID.Text = module.DefaultLogName; this.linkConfigControl.Configuration = initialConfig.link; if (allowTemplateEdit) { comboBoxTemplate.DataSource = config.Templates.Select(kv => kv.Key).ToList(); } else { groupBoxDatabase.Enabled = false; } }
void SelectModule() { this.selectedModule = (IOutstationModule)this.comboBoxModules.SelectedItem; this.textBoxDesc.Text = this.selectedModule.Description; }
ISimulatorNode CreateOutstation(ISimulatorNodeCallbacks callbacks, IOutstationModule module) { using (var dialog = new Components.OutstationDialog(config, module)) { if (dialog.ShowDialog() == DialogResult.OK) { var outstationConfig = dialog.Configuration; var alias = dialog.SelectedAlias; var factory = module.CreateFactory(); var outstation = channel.AddOutstation(alias, factory.CommandHandler, factory.Application, outstationConfig); if (outstation == null) { return null; } else { var instance = factory.CreateInstance(outstation, alias, outstationConfig); outstation.Enable(); if (instance.ShowFormOnCreation) { instance.ShowForm(); } return new OutstationNode(outstation, instance, callbacks); } } else { return null; } } }