/// <summary>
        /// Creates a new resource, given a contentUri and a protocolInfo.
        /// </summary>
        /// <param name="contentUri"></param>
        /// <param name="protocolInfo"></param>
        /// <returns></returns>
        public static DvMediaResource CreateResource(string contentUri, string protocolInfo)
        {
            ResourceBuilder.ResourceAttributes attribs = new ResourceBuilder.ResourceAttributes();
            attribs.contentUri   = contentUri;
            attribs.protocolInfo = new ProtocolInfoString(protocolInfo);

            return(DvResourceBuilder.CreateResource(attribs, false));
        }
        /// <summary>
        /// Creates a new resource, given the attributes for the resource and an indication
        /// of whether item resource should be importable.
        /// </summary>
        /// <param name="attribs"></param>
        /// <param name="allowImport"></param>
        /// <returns></returns>
        public static CpMediaResource CreateResource(ResourceBuilder.ResourceAttributes attribs, bool allowImport)
        {
            CpMediaResource newRes = new CpMediaResource();

            ResourceBuilder.SetCommonAttributes(newRes, attribs);

            return(newRes);
        }
        /// <summary>
        /// Creates a new resource, given the attributes for the resource and an indication
        /// of whether item resource should be importable.
        /// </summary>
        /// <param name="attribs"></param>
        /// <param name="allowImport"></param>
        /// <returns></returns>
        public static DvMediaResource CreateResource(ResourceBuilder.ResourceAttributes attribs, bool allowImport)
        {
            DvMediaResource newRes = new DvMediaResource();

            ResourceBuilder.SetCommonAttributes(newRes, attribs);

            newRes.CheckLocalFileExists();
            newRes.AllowImport = allowImport;

            return(newRes);
        }
        /// <summary>
        /// Creates a new resource, given a contentUri and a protocolInfo.
        /// </summary>
        /// <param name="contentUri"></param>
        /// <param name="protocolInfo"></param>
        /// <returns></returns>
        public static CpMediaResource CreateResource(string contentUri, string protocolInfo)
        {
            ResourceBuilder.ResourceAttributes attribs = new ResourceBuilder.ResourceAttributes();
            attribs.contentUri   = contentUri;
            attribs.protocolInfo = new ProtocolInfoString(protocolInfo);

            CpMediaResource newRes = new CpMediaResource();

            ResourceBuilder.SetCommonAttributes(newRes, attribs);

            return(newRes);
        }
        protected MediaResource[] BuildResources(string Interface, IDictionaryEnumerator en)
        {
            ArrayList a = new ArrayList();

            while (en.MoveNext())
            {
                FileInfo      f = (FileInfo)en.Value;
                MediaResource mr;

                ResourceBuilder.ResourceAttributes resInfo = new ResourceBuilder.ResourceAttributes();
                resInfo.contentUri   = "file://" + f.FullName;
                resInfo.protocolInfo = ProtocolInfoString.CreateHttpGetProtocolInfoString(f);

                mr = ResourceBuilder.CreateResource(resInfo);
                OpenSource.UPnP.AV.Extensions.MetaData.Finder.PopulateMetaData(mr, f);

                a.Add(mr);
            }
            return((MediaResource[])a.ToArray(typeof(MediaResource)));
        }