Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public ItemSecurity[] QueryItemPermissions(string[] identityNames, string[] items,
                                                   RecursionType recursion)
        {
            Message msg = new Message(GetWebRequest(new Uri(Url)), "QueryItemPermissions");

            msg.Body.WriteStartElement("itemSpecs");
            foreach (string item in items)
            {
                ItemSpec spec = new ItemSpec(item, recursion);
                spec.ToXml(msg.Body, "ItemSpec");
            }
            msg.Body.WriteEndElement();

            List <ItemSecurity> itemSecurities = new List <ItemSecurity>();

            using (HttpWebResponse response = Invoke(msg))
            {
                XmlReader results = msg.ResponseReader(response);

                while (results.Read())
                {
                    if (results.NodeType == XmlNodeType.Element &&
                        results.Name == "ItemSecurity")
                    {
                        itemSecurities.Add(ItemSecurity.FromXml(this, results));
                    }
                }
            }

            return(itemSecurities.ToArray());
        }
 public ItemSecurityPrinter(ItemSecurity itemSecurity)
 {
     m_itemSecurity = itemSecurity;
 }