49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System;
|
|
using System.Xml.Linq;
|
|
|
|
namespace MediaBrowser.Dlna.PlayTo
|
|
{
|
|
public class uIcon
|
|
{
|
|
public string Url { get; private set; }
|
|
|
|
public string MimeType { get; private set; }
|
|
|
|
public int Width { get; private set; }
|
|
|
|
public int Height { get; private set; }
|
|
|
|
public string Depth { get; private set; }
|
|
|
|
public uIcon(string mimeType, string width, string height, string depth, string url)
|
|
{
|
|
MimeType = mimeType;
|
|
Width = (!string.IsNullOrEmpty(width)) ? int.Parse(width) : 0;
|
|
Height = (!string.IsNullOrEmpty(height)) ? int.Parse(height) : 0;
|
|
Depth = depth;
|
|
Url = url;
|
|
}
|
|
|
|
public static uIcon Create(XElement element)
|
|
{
|
|
if (element == null)
|
|
{
|
|
throw new ArgumentNullException("element");
|
|
}
|
|
|
|
var mimeType = element.GetDescendantValue(uPnpNamespaces.ud.GetName("mimetype"));
|
|
var width = element.GetDescendantValue(uPnpNamespaces.ud.GetName("width"));
|
|
var height = element.GetDescendantValue(uPnpNamespaces.ud.GetName("height"));
|
|
var depth = element.GetDescendantValue(uPnpNamespaces.ud.GetName("depth"));
|
|
var url = element.GetDescendantValue(uPnpNamespaces.ud.GetName("url"));
|
|
|
|
return new uIcon(mimeType, width, height, depth, url);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0}x{1}", Height, Width);
|
|
}
|
|
}
|
|
}
|