/// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public override OpdsData Process()
        {
            var id     = Id ?? String.Empty;
            var root   = Path.Combine(RootFolder, id);
            var items  = new List <object>();
            var result = new OpdsData()
            {
                Data = items
            };

            if (!Directory.Exists(root))
            {
                throw new ArgumentException("id");
            }

            foreach (var path in Directory.GetFiles(root))
            {
                if (OpdsHelper.IsFileSupported(path))
                {
                    // Path will be used as Id.
                    var item = GetFileOpdsInfo(path, Path.Combine(id, Path.GetFileName(path)));
                    items.Add(item);
                }
            }

            foreach (var path in Directory.GetDirectories(root))
            {
                var directoryInfo = new DirectoryInfo(path);

                items.Add(new
                {
                    Id           = Path.Combine(id, Path.GetFileName(path)),
                    Title        = directoryInfo.Name,
                    UpdateTime   = directoryInfo.LastWriteTime,
                    OpdsDataType = OpdsDataType.Category,
                });
            }

            return(result);
        }
        /// <summary>
        /// 处理文件搜索请求
        /// </summary>
        /// <returns></returns>
        public override OpdsData Process()
        {
            var id     = Id ?? String.Empty;
            var root   = Path.Combine(RootFolder, id);
            var items  = new List <object>();
            var result = new OpdsData()
            {
                Data = items
            };

            foreach (var file in Directory.GetFiles(root, KeyWord, SearchOption.AllDirectories))
            {
                if (OpdsHelper.IsFileSupported(file))
                {
                    // Path will be used as Id.
                    var item = GetFileOpdsInfo(file, Path.Combine(id, Path.GetFileName(file)));
                    items.Add(item);
                }
            }

            return(result);
        }