| 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
 
- 	}
 
- }
 
 
  |