private static KeePass.Ecas.EcasTrigger ReadEcasTrigger(XmlReader xr)
{
KeePass.Ecas.EcasTrigger o = new KeePass.Ecas.EcasTrigger();
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 "Guid":
o.UuidString = ReadString(xr);
break;
case "Name":
o.Name = ReadString(xr);
break;
case "Comments":
o.Comments = ReadString(xr);
break;
case "Enabled":
o.Enabled = ReadBoolean(xr);
break;
case "InitiallyOn":
o.InitiallyOn = ReadBoolean(xr);
break;
case "TurnOffAfterAction":
o.TurnOffAfterAction = ReadBoolean(xr);
break;
case "Events":
o.EventArrayForSerialization = ReadArrayOfEcasEvent(xr);
break;
case "Conditions":
o.ConditionsArrayForSerialization = ReadArrayOfEcasCondition(xr);
break;
case "Actions":
o.ActionArrayForSerialization = ReadArrayOfEcasAction(xr);
break;
default:
Debug.Assert(false);
xr.Skip();
break;
}
xr.MoveToContent();
}
Debug.Assert(xr.NodeType == XmlNodeType.EndElement);
xr.ReadEndElement();
return o;
}