RaumfeldNET.ContentDirectoryBrowser.retrieveList C# (CSharp) Метод

retrieveList() защищенный Метод

protected retrieveList ( String _containerId, String _parentListId = "", System.Boolean _useCache = true, MediaItem _parentMediaItem = null ) : void
_containerId String
_parentListId String
_useCache System.Boolean
_parentMediaItem MediaItem
Результат void
        protected void retrieveList(String _containerId, String _parentListId = "", Boolean _useCache = true, MediaItem _parentMediaItem = null)
        {
            UPNPMediaListBrowse mediaList;
            UPNPMediaListBrowse parentList = (UPNPMediaListBrowse)this.getList(_parentListId);
            String listId = this.containerIdToListId(_containerId, mainContentType);

            // try to get list from cache, we do not cache search results (isSearchListChild)!
            if (_useCache)
            {
                mediaList = (UPNPMediaListBrowse)this.getList(listId);
                if (mediaList != null && !mediaList.isSearchChild)
                {
                    currentContainerId = _containerId;
                    currentListId = mediaList.listId;
                    this.eventListDataReady(mediaList.listId);
                }
            }
            else
            {
                if (lists.ContainsKey(listId))
                    lists.Remove(listId);
            }

            string tempListPath = "";
            if (!String.IsNullOrWhiteSpace(_parentListId))
                tempListPath = parentList.path;
            if (_parentMediaItem != null)
            {
                if (!String.IsNullOrEmpty(tempListPath))
                    tempListPath += "/";
                tempListPath += _parentMediaItem.text;
            }

            // if there is no list in cache, then retrieve list
            mediaList = (UPNPMediaListBrowse)this.createListObject(listId);
            mediaList.listDataReady += listDataReadySink;
            mediaList.parentListId = _parentListId;
            mediaList.path = tempListPath;
            if (parentList!=null)
                mediaList.isSearchChild = parentList.isSearchChild;
            lists.Add(mediaList.listId, mediaList);
            mediaList.retrieveListByContainerId(_containerId);
        }