private void OnSendToQueue(object obj) { ItemBase itemBase = obj as ItemBase; if (itemBase != null) { switch (itemBase.Type) { case ItemType.Content: { this.multiScreen.PushMediaToTvQueue((Content)itemBase); break; } case ItemType.Folder: { MultimediaFolder multimediaFolder = (MultimediaFolder)itemBase; this.multiScreen.PushMediaToTvQueue(multimediaFolder.GetFilesList()); return; } default: { return; } } } }
private IEnumerable <XElement> HandleBrowse(HttpRequest request, Dictionary <string, string> sparams) { int num; int num1; string item = sparams["ObjectID"]; string str = sparams["BrowseFlag"]; if (int.TryParse(sparams["RequestedCount"], out num) && num <= 0) { num = 20; } if (int.TryParse(sparams["StartingIndex"], out num1) && num1 <= 0) { num1 = 0; } MultimediaFolder rootFolder = null; string str1 = item; string str2 = str1; if (str1 == null) { goto Label0; } else if (str2 == "0") { rootFolder = this.dataLibrary.RootFolder; } else if (str2 == "I") { rootFolder = this.dataLibrary.RootImageFolder; } else if (str2 == "A") { rootFolder = this.dataLibrary.RootMusicFolder; } else { if (str2 != "V") { goto Label0; } rootFolder = this.dataLibrary.RootVideoFolder; } Label2: XName xName = this.didl + "DIDL-Lite"; object[] xAttribute = new object[] { new XAttribute(XNamespace.Xmlns + "dc", this.dc), new XAttribute(XNamespace.Xmlns + "dlna", this.dlna), new XAttribute(XNamespace.Xmlns + "upnp", this.upnp), new XAttribute(XNamespace.Xmlns + "sec", this.sec) }; XElement xElement = new XElement(xName, xAttribute); if (str != "BrowseMetadata") { xElement.Add(( from i in rootFolder.GetFoldersList() select this.CreateFolder(i)).Union <XElement>( from i in rootFolder.GetFilesList() select this.CreateItem(i)).Skip <XElement>(num1).Take <XElement>(num)); } else { xElement.Add(this.CreateFolder(rootFolder)); } yield return(new XElement("Result", xElement.ToString())); yield return(new XElement("NumberReturned", (object)xElement.Elements().Count <XElement>())); yield return(new XElement("TotalMatches", (object)rootFolder.ItemsList.Count)); yield return(new XElement("UpdateID", (object)this.systemID)); yield break; Label0: rootFolder = this.dataLibrary.GetItemById(new Guid(item), this.dataLibrary.RootFolder) as MultimediaFolder; goto Label2; goto Label0; }