internal static AccessEntry FromXml(Repository repository, XmlReader reader) { AccessEntry entry = new AccessEntry(); string elementName = reader.Name; entry.ident = reader.GetAttribute("ident"); while (reader.Read()) { if (reader.NodeType == XmlNodeType.EndElement && reader.Name == elementName) break; if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "Allow": entry.allow = ReadPermissions(reader); break; case "Deny": entry.deny = ReadPermissions(reader); break; case "AllowInherited": entry.allowInherited = ReadPermissions(reader); break; case "DenyInherited": entry.denyInherited = ReadPermissions(reader); break; } } } return entry; }
internal static ItemSecurity FromXml(Repository repository, XmlReader reader) { ItemSecurity itemSecurity = new ItemSecurity(); string elementName = reader.Name; itemSecurity.serverItem = reader.GetAttribute("item"); itemSecurity.writable = Convert.ToBoolean(reader.GetAttribute("writable")); List <AccessEntry> entries = new List <AccessEntry>(); while (reader.Read()) { if (reader.NodeType == XmlNodeType.EndElement && reader.Name == elementName) { break; } if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "AccessEntry": entries.Add(AccessEntry.FromXml(repository, reader)); break; } } } itemSecurity.entries = entries.ToArray(); return(itemSecurity); }
internal static AccessEntry FromXml(Repository repository, XmlReader reader) { AccessEntry entry = new AccessEntry(); string elementName = reader.Name; entry.ident = reader.GetAttribute("ident"); while (reader.Read()) { if (reader.NodeType == XmlNodeType.EndElement && reader.Name == elementName) { break; } if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "Allow": entry.allow = ReadPermissions(reader); break; case "Deny": entry.deny = ReadPermissions(reader); break; case "AllowInherited": entry.allowInherited = ReadPermissions(reader); break; case "DenyInherited": entry.denyInherited = ReadPermissions(reader); break; } } } return(entry); }