private static KeePass.App.Configuration.AceApplication ReadAceApplication(XmlReader xr)
{
KeePass.App.Configuration.AceApplication o = new KeePass.App.Configuration.AceApplication();
if(SkipEmptyElement(xr)) return o;
Debug.Assert(xr.NodeType == XmlNodeType.Element);
xr.ReadStartElement();
xr.MoveToContent();
while(true)
{
XmlNodeType nt = xr.NodeType;
if((nt == XmlNodeType.EndElement) || (nt == XmlNodeType.None)) break;
if(nt != XmlNodeType.Element) { Debug.Assert(false); continue; }
switch(xr.LocalName)
{
case "LanguageFile":
o.LanguageFile = ReadString(xr);
break;
case "HelpUseLocal":
o.HelpUseLocal = ReadBoolean(xr);
break;
case "LastUpdateCheck":
o.LastUpdateCheck = ReadString(xr);
break;
case "LastUsedFile":
o.LastUsedFile = ReadIOConnectionInfo(xr);
break;
case "MostRecentlyUsed":
o.MostRecentlyUsed = ReadAceMru(xr);
break;
case "RememberWorkingDirectories":
o.RememberWorkingDirectories = ReadBoolean(xr);
break;
case "WorkingDirectories":
o.WorkingDirectoriesSerialized = ReadArrayOfString(xr);
break;
case "Start":
o.Start = ReadAceStartUp(xr);
break;
case "FileOpening":
o.FileOpening = ReadAceOpenDb(xr);
break;
case "VerifyWrittenFileAfterSaving":
o.VerifyWrittenFileAfterSaving = ReadBoolean(xr);
break;
case "UseTransactedFileWrites":
o.UseTransactedFileWrites = ReadBoolean(xr);
break;
case "FileTxExtra":
o.FileTxExtra = ReadBoolean(xr);
break;
case "UseFileLocks":
o.UseFileLocks = ReadBoolean(xr);
break;
case "SaveForceSync":
o.SaveForceSync = ReadBoolean(xr);
break;
case "FileClosing":
o.FileClosing = ReadAceCloseDb(xr);
break;
case "TriggerSystem":
o.TriggerSystem = ReadEcasTriggerSystem(xr);
break;
case "PluginCachePath":
o.PluginCachePath = ReadString(xr);
break;
default:
Debug.Assert(false);
xr.Skip();
break;
}
xr.MoveToContent();
}
Debug.Assert(xr.NodeType == XmlNodeType.EndElement);
xr.ReadEndElement();
return o;
}