123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Rssdp
- {
- /// <summary>
- /// Represents a device that is a descendant of a <see cref="SsdpRootDevice"/> instance.
- /// </summary>
- public class SsdpEmbeddedDevice : SsdpDevice
- {
- #region Fields
-
- private SsdpRootDevice _RootDevice;
- #endregion
- #region Constructors
- /// <summary>
- /// Default constructor.
- /// </summary>
- public SsdpEmbeddedDevice()
- {
- }
- /// <summary>
- /// Deserialisation constructor.
- /// </summary>
- /// <param name="deviceDescriptionXml">A UPnP device description XML document.</param>
- /// <exception cref="System.ArgumentNullException">Thrown if the <paramref name="deviceDescriptionXml"/> argument is null.</exception>
- /// <exception cref="System.ArgumentException">Thrown if the <paramref name="deviceDescriptionXml"/> argument is empty.</exception>
- public SsdpEmbeddedDevice(string deviceDescriptionXml)
- : base(deviceDescriptionXml)
- {
- }
- #endregion
- #region Public Properties
- /// <summary>
- /// Returns the <see cref="SsdpRootDevice"/> that is this device's first ancestor. If this device is itself an <see cref="SsdpRootDevice"/>, then returns a reference to itself.
- /// </summary>
- public SsdpRootDevice RootDevice
- {
- get
- {
- return _RootDevice;
- }
- internal set
- {
- _RootDevice = value;
- lock (this.Devices)
- {
- foreach (var embeddedDevice in this.Devices)
- {
- ((SsdpEmbeddedDevice)embeddedDevice).RootDevice = _RootDevice;
- }
- }
- }
- }
- #endregion
- }
- }
|