Example #1
0
 /// <summary>
 /// Adds a DpwsMexServices to the end of the collection.
 /// </summary>
 /// <param name="value">
 /// The DpwsMexServices element to be added to the end of the collection.
 /// The value can be null.
 /// </param>
 /// <returns>
 /// The collection index at which the DpwsMexServices has been added.
 /// </returns>
 public int Add(DpwsMexService value)
 {
     lock (m_threadLock)
     {
         return(m_services.Add(value));
     }
 }
Example #2
0
        internal void Append(XmlReader reader)
        {
            if (reader.IsStartElement("Relationship", WsWellKnownUri.WsdpNamespaceUri) == false)
            {
                throw new XmlException();
            }

            reader.MoveToAttribute("Type");
            if (reader.Value != "http://schemas.xmlsoap.org/ws/2006/02/devprof/host")
            {
                throw new XmlException(); // Incorrect Type Attribute
            }

            reader.MoveToElement();
            reader.Read(); // Relationship - Start Element

            if (reader.IsStartElement("Host", WsWellKnownUri.WsdpNamespaceUri))
            {
                if (_host != null)
                {
                    throw new XmlException(); // An host has already been defined
                }

                _host = new DpwsMexService(reader);
            }

            while (reader.IsStartElement("Hosted", WsWellKnownUri.WsdpNamespaceUri))
            {
                this.HostedServices.Add(new DpwsMexService(reader));
            }

            if (this.Host == null && this.HostedServices.Count == 0)
            {
                throw new XmlException();
            }

            XmlReaderHelper.SkipAllSiblings(reader); // xs:any

            reader.ReadEndElement();                 // Relationship
        }
        internal void Append(XmlReader reader, ProtocolVersion version)
        {
            if (reader.IsStartElement("Relationship", version.WsdpNamespaceUri) == false)
            {
                throw new XmlException();
            }

            reader.MoveToAttribute("Type");
            if (reader.Value != version.WsdpNamespaceUri + "/host")
            {
                throw new XmlException(); // Incorrect Type Attribute
            }

            reader.MoveToElement();
            reader.Read(); // Relationship - Start Element

            if (reader.IsStartElement("Host", version.WsdpNamespaceUri))
            {
                if (_host != null)
                {
                    throw new XmlException(); // An host has already been defined
                }

                _host = new DpwsMexService(reader, version);
            }

            while (reader.IsStartElement("Hosted", version.WsdpNamespaceUri))
            {
                this.HostedServices.Add(new DpwsMexService(reader, version));
            }

            if (this.Host == null && this.HostedServices.Count == 0)
            {
                throw new XmlException();
            }

            XmlReaderHelper.SkipAllSiblings(reader); // xs:any

            reader.ReadEndElement();                 // Relationship
        }
Example #4
0
 /// <summary>
 /// Adds a DpwsMexServices to the end of the collection.
 /// </summary>
 /// <param name="value">
 /// The DpwsMexServices element to be added to the end of the collection.
 /// The value can be null.
 /// </param>
 /// <returns>
 /// The collection index at which the DpwsMexServices has been added.
 /// </returns>
 public int Add(DpwsMexService value)
 {
     lock (m_threadLock)
     {
         return m_services.Add(value);
     }
 }
Example #5
0
        internal void Append(XmlReader reader)
        {
            if (reader.IsStartElement("Relationship", WsWellKnownUri.WsdpNamespaceUri) == false)
            {
                throw new XmlException();
            }

            reader.MoveToAttribute("Type");
            if (reader.Value != "http://schemas.xmlsoap.org/ws/2006/02/devprof/host")
            {
                throw new XmlException(); // Incorrect Type Attribute
            }

            reader.MoveToElement();
            reader.Read(); // Relationship - Start Element

            if (reader.IsStartElement("Host", WsWellKnownUri.WsdpNamespaceUri))
            {
                if (_host != null)
                {
                    throw new XmlException(); // An host has already been defined
                }

                _host = new DpwsMexService(reader);
            }

            while (reader.IsStartElement("Hosted", WsWellKnownUri.WsdpNamespaceUri))
            {
                this.HostedServices.Add(new DpwsMexService(reader));
            }

            if (this.Host == null && this.HostedServices.Count == 0)
            {
                throw new XmlException();
            }

            XmlReaderHelper.SkipAllSiblings(reader); // xs:any

            reader.ReadEndElement(); // Relationship
        }
Example #6
0
        internal void Append(XmlReader reader, ProtocolVersion version)
        {
            if (reader.IsStartElement("Relationship", version.WsdpNamespaceUri) == false)
            {
                throw new XmlException();
            }

            reader.MoveToAttribute("Type");
            if (reader.Value != version.WsdpNamespaceUri + "/host")
            {
                throw new XmlException(); // Incorrect Type Attribute
            }

            reader.MoveToElement();
            reader.Read(); // Relationship - Start Element

            if (reader.IsStartElement("Host", version.WsdpNamespaceUri))
            {
                if (_host != null)
                {
                    throw new XmlException(); // An host has already been defined
                }

                _host = new DpwsMexService(reader, version);
            }

            while (reader.IsStartElement("Hosted", version.WsdpNamespaceUri))
            {
                this.HostedServices.Add(new DpwsMexService(reader, version));
            }

            if (this.Host == null && this.HostedServices.Count == 0)
            {
                throw new XmlException();
            }

            XmlReaderHelper.SkipAllSiblings(reader); // xs:any

            reader.ReadEndElement(); // Relationship
        }