public XmlNode Create(XmlDocument doc)
{
// create the permission node
XmlNode perm = doc.CreateNode(XmlNodeType.Element, "Permission", null);
// assign the directory attribute
XmlAttribute dir = doc.CreateAttribute("Dir");
dir.Value = Dir;
perm.Attributes.Append(dir);
// create and add the options
perm.AppendChild(CreateOption(doc, "FileRead",OptionFileRead));
perm.AppendChild(CreateOption(doc, "FileWrite", OptionFileWrite));
perm.AppendChild(CreateOption(doc, "FileDelete", OptionFileDelete));
perm.AppendChild(CreateOption(doc, "FileAppend", OptionFileAppend));
perm.AppendChild(CreateOption(doc, "DirCreate", OptionDirCreate));
perm.AppendChild(CreateOption(doc, "DirDelete", OptionDirDelete));
perm.AppendChild(CreateOption(doc, "DirList", OptionDirList));
perm.AppendChild(CreateOption(doc, "DirSubdirs", OptionDirSubdirs));
perm.AppendChild(CreateOption(doc, "IsHome", OptionIsHome));
perm.AppendChild(CreateOption(doc, "AutoCreate", OptionAutoCreate));
// add the aliases
if (Aliases.Count > 0)
{
XmlNode aliasesNode = doc.CreateElement("Aliases");
foreach (string alias in Aliases)
{
XmlNode aliasNode = doc.CreateElement("Alias");
aliasNode.Value = alias;
aliasesNode.AppendChild(aliasNode);
}
perm.AppendChild(aliasesNode);
}
return perm;
}