protected override void DeleteItems(List <ListViewItem> items) { hMailServer.Settings settings = APICreator.Settings; hMailServer.SSLCertificates sslCertificates = settings.SSLCertificates; foreach (ListViewItem item in items) { int id = Convert.ToInt32(item.Tag); sslCertificates.DeleteByDBID(id); } Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(sslCertificates); }
private void DeleteEnvironment() { while (_application.Domains.Count > 0) { _application.Domains[0].Delete(); } hMailServer.WhiteListAddresses addresses = _application.Settings.AntiSpam.WhiteListAddresses; while (addresses.Count > 0) { addresses[0].Delete(); } hMailServer.Routes routes = _application.Settings.Routes; while (routes.Count > 0) { routes[0].Delete(); } hMailServer.BlockedAttachments attachments = _application.Settings.AntiVirus.BlockedAttachments; while (attachments.Count > 0) { attachments[0].Delete(); } hMailServer.DNSBlackLists blackLists = _application.Settings.AntiSpam.DNSBlackLists; while (blackLists.Count > 0) { blackLists[0].Delete(); } hMailServer.SURBLServers surblServers = _application.Settings.AntiSpam.SURBLServers; while (surblServers.Count > 0) { surblServers[0].Delete(); } hMailServer.SSLCertificates sslCertificates = _application.Settings.SSLCertificates; while (sslCertificates.Count > 0) { sslCertificates[0].Delete(); } hMailServer.IncomingRelays incomingRelays = _application.Settings.IncomingRelays; while (incomingRelays.Count > 0) { incomingRelays[0].Delete(); } }
public void OnDeleteObject(object sender, EventArgs args) { if (!Utility.AskDeleteItem(_certificateName)) { return; } hMailServer.Settings settings = APICreator.Settings; hMailServer.SSLCertificates sslCertificates = settings.SSLCertificates; sslCertificates.DeleteByDBID(_certificateID); Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(sslCertificates); Instances.MainForm.RefreshParentNode(); }
private void ListSSLCertificates() { comboSSLCertificate.Items.Clear(); hMailServer.Settings settings = APICreator.Settings; hMailServer.SSLCertificates sslCertificates = settings.SSLCertificates; for (int i = 0; i < sslCertificates.Count; i++) { hMailServer.SSLCertificate certificate = sslCertificates[i]; comboSSLCertificate.AddItem(certificate.Name, certificate.ID); Marshal.ReleaseComObject(certificate); } Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(sslCertificates); }
protected override void LoadList() { listObjects.Items.Clear(); hMailServer.Application app = APICreator.Application; hMailServer.Settings settings = app.Settings; hMailServer.SSLCertificates sslCertificates = settings.SSLCertificates; for (int i = 0; i < sslCertificates.Count; i++) { hMailServer.SSLCertificate sslCertificate = sslCertificates[i]; ListViewItem item = listObjects.Items.Add(sslCertificate.Name); item.Tag = sslCertificate.ID; Marshal.ReleaseComObject(sslCertificate); } Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(sslCertificates); }
public ucSSLCertificate(int certificateID) { InitializeComponent(); if (certificateID > 0) { hMailServer.Settings settings = APICreator.Settings; hMailServer.SSLCertificates sslCertificates = settings.SSLCertificates; _representedObject = sslCertificates.get_ItemByDBID(certificateID); Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(sslCertificates); } DirtyChecker.SubscribeToChange(this, OnContentChanged); new TabOrderManager(this).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst); }
public bool SaveData() { bool newObject = false; if (_representedObject == null) { hMailServer.Settings settings = APICreator.Application.Settings; hMailServer.SSLCertificates sslCertificates = settings.SSLCertificates; _representedObject = sslCertificates.Add(); Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(sslCertificates); newObject = true; } _representedObject.Name = textName.Text; _representedObject.CertificateFile = textCertificateFile.Text; _representedObject.PrivateKeyFile = textPrivateKeyFile.Text; _representedObject.Save(); // Refresh the node in the tree if the name has changed. IMainForm mainForm = Instances.MainForm; mainForm.RefreshCurrentNode(textName.Text); // Set the object to clean. DirtyChecker.SetClean(this); if (newObject) { SearchNodeText crit = new SearchNodeText(_representedObject.Name); mainForm.SelectNode(crit); } return(true); }