Revision: 71
http://svn.sourceforge.net/nmailserver/?rev=71&view=rev
Author: tmyroadctfig
Date: 2006-10-31 03:45:40 -0800 (Tue, 31 Oct 2006)
Log Message:
-----------
Improvements to SmtpSubSysConfigPanel.
Modified Paths:
--------------
NMail/branches/luke-dev/NMail.Server.Console/NMail.Server.Console.csproj
NMail/branches/luke-dev/NMail.SetupWizard/LocalStoreConfigPanel.cs
NMail/branches/luke-dev/NMail.SetupWizard/SmtpSubSysConfigPanel.cs
Modified: NMail/branches/luke-dev/NMail.Server.Console/NMail.Server.Console.csproj
===================================================================
--- NMail/branches/luke-dev/NMail.Server.Console/NMail.Server.Console.csproj 2006-10-31 09:28:13 UTC (rev 70)
+++ NMail/branches/luke-dev/NMail.Server.Console/NMail.Server.Console.csproj 2006-10-31 11:45:40 UTC (rev 71)
@@ -171,7 +171,7 @@
<ItemGroup>
<Content Include="oldconfig.xml" />
<None Include="NMail.config">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="NMail.pfx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
Modified: NMail/branches/luke-dev/NMail.SetupWizard/LocalStoreConfigPanel.cs
===================================================================
--- NMail/branches/luke-dev/NMail.SetupWizard/LocalStoreConfigPanel.cs 2006-10-31 09:28:13 UTC (rev 70)
+++ NMail/branches/luke-dev/NMail.SetupWizard/LocalStoreConfigPanel.cs 2006-10-31 11:45:40 UTC (rev 71)
@@ -261,7 +261,7 @@
return;
}
- if (this.regenDbCheckBox.Checked && !this.BaseForm.Tasks.Contains(this.makeTablesTask)) {
+ if (this.enableLocalStoreSubSysBox.Checked && this.regenDbCheckBox.Checked && !this.BaseForm.Tasks.Contains(this.makeTablesTask)) {
this.BaseForm.Tasks.Add(this.makeTablesTask);
}
Modified: NMail/branches/luke-dev/NMail.SetupWizard/SmtpSubSysConfigPanel.cs
===================================================================
--- NMail/branches/luke-dev/NMail.SetupWizard/SmtpSubSysConfigPanel.cs 2006-10-31 09:28:13 UTC (rev 70)
+++ NMail/branches/luke-dev/NMail.SetupWizard/SmtpSubSysConfigPanel.cs 2006-10-31 11:45:40 UTC (rev 71)
@@ -28,6 +28,7 @@
using NMail.MessageRouter.Configuration;
using NMail.SmtpClient.Configuration;
using NMail.SmtpService.Configuration;
+using NMail.SpoolData.MySql;
using NMail.SpoolFilter.Configuration;
using NMail.SpoolService.Configuration;
@@ -118,6 +119,9 @@
/// Stores the settings into the configuration objects.
/// </summary>
private void storeConfiguration() {
+ NMailConfiguration.AddToConfigFile();
+ NMailConfiguration nc = NMailConfiguration.Current;
+
if (this.enableSmtpSubSysBox.Checked) {
// Ensure our config sections are there
SmtpClientConfiguration.AddToConfigFile();
@@ -128,6 +132,67 @@
SmtpClientConfiguration scc = SmtpClientConfiguration.Current;
SmtpServiceConfiguration ssc = SmtpServiceConfiguration.Current;
+ // Ensure the SMTP service is in the list of services
+ bool foundSmtpService = false;
+
+ for (int i = 0; i < nc.ServiceDetails.Count; i++) {
+ if (nc.ServiceDetails[i].ObjectType == typeof(SmtpService.SmtpService)) {
+ foundSmtpService = true;
+ }
+ }
+
+ if (!foundSmtpService) {
+ IServiceElement service = new IServiceElement();
+ service.ObjectType = typeof(SmtpService.SmtpService);
+ nc.ServiceDetails.Add(service);
+ }
+
+ // Ensure the local store and localstore data are in the list of named services
+ bool foundSmtpClient = false;
+ bool foundSpoolData = false;
+ bool foundSpoolService = false;
+ bool foundSpoolFilter = false;
+
+ for (int i = 0; i < nc.NamedServiceDetails.Count; i++) {
+ if (nc.NamedServiceDetails[i].Name == "SmtpClient") {
+ foundSmtpClient = true;
+ } else if (nc.NamedServiceDetails[i].Name == "SpoolData") {
+ foundSpoolData = true;
+ } else if (nc.NamedServiceDetails[i].Name == "SpoolService") {
+ foundSpoolService = true;
+ } else if (nc.NamedServiceDetails[i].Name == "SpoolFilterService") {
+ foundSpoolFilter = true;
+ }
+ }
+
+ if (!foundSmtpClient) {
+ NamedServiceElement service = new NamedServiceElement();
+ service.Name = "SmtpClient";
+ service.ObjectType = typeof(SmtpClient.SmtpClient);
+ nc.NamedServiceDetails.Add(service);
+ }
+
+ if (!foundSpoolData) {
+ NamedServiceElement service = new NamedServiceElement();
+ service.Name = "SpoolData";
+ service.ObjectType = typeof(MySqlSpoolData);
+ nc.NamedServiceDetails.Add(service);
+ }
+
+ if (!foundSpoolService) {
+ NamedServiceElement service = new NamedServiceElement();
+ service.Name = "SpoolService";
+ service.ObjectType = typeof(SpoolService.SpoolService);
+ nc.NamedServiceDetails.Add(service);
+ }
+
+ if (!foundSpoolFilter) {
+ NamedServiceElement service = new NamedServiceElement();
+ service.Name = "SpoolFilterService";
+ service.ObjectType = typeof(SpoolFilter.SpoolFilter);
+ nc.NamedServiceDetails.Add(service);
+ }
+
// Save the visible host
try {
ssc.VisibleHost = new Host(this.visibleHostTextBox.Text);
@@ -149,6 +214,40 @@
SmtpServiceConfiguration.RemoveFromConfigFile();
SpoolFilterServiceConfiguration.RemoveFromConfigFile();
SpoolServiceConfiguration.RemoveFromConfigFile();
+
+ // Ensure the Smtp service is not in the list of services
+ for (int i = 0; i < nc.ServiceDetails.Count; i++) {
+ if (nc.ServiceDetails[i].ObjectType == typeof(SmtpService.SmtpService)) {
+ nc.ServiceDetails.RemoveAt(i);
+ break;
+ }
+ }
+
+ // Ensure the SmtpClient, SpoolData, SpoolFilterService, SpoolService services are not in the list of named services
+ for (int i = 0; i < nc.NamedServiceDetails.Count; i++) {
+ if (nc.NamedServiceDetails[i].Name == "SmtpClient") {
+ nc.NamedServiceDetails.RemoveAt(i);
+ break;
+ }
+ }
+ for (int i = 0; i < nc.NamedServiceDetails.Count; i++) {
+ if (nc.NamedServiceDetails[i].Name == "SpoolData") {
+ nc.NamedServiceDetails.RemoveAt(i);
+ break;
+ }
+ }
+ for (int i = 0; i < nc.NamedServiceDetails.Count; i++) {
+ if (nc.NamedServiceDetails[i].Name == "SpoolService") {
+ nc.NamedServiceDetails.RemoveAt(i);
+ break;
+ }
+ }
+ for (int i = 0; i < nc.NamedServiceDetails.Count; i++) {
+ if (nc.NamedServiceDetails[i].Name == "SpoolFilterService") {
+ nc.NamedServiceDetails.RemoveAt(i);
+ break;
+ }
+ }
}
}
@@ -202,7 +301,7 @@
return;
}
- if (this.regenDbCheckBox.Checked && !this.BaseForm.Tasks.Contains(this.makeTablesTask)) {
+ if (this.enableSmtpSubSysBox.Checked && this.regenDbCheckBox.Checked && !this.BaseForm.Tasks.Contains(this.makeTablesTask)) {
this.BaseForm.Tasks.Add(this.makeTablesTask);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|