private static async Task <IEnumerable <T> > WithFolder <T>(this StorageFolder folder, string relativeFolder, Func <StorageFolder, Task <IEnumerable <T> > > op) where T : IStorageItem { StorageFolder f = relativeFolder == String.Empty ? folder : await folder.GetFolderAsync(FileUtilsBase.WindowsSeparators(relativeFolder)); return(await op(f)); }
/// <summary> /// The local file referenced by the URI, or null if the URI is not local. /// </summary> /// <param name="localUri">uri to local file</param> /// <returns></returns> public static async Task <StorageFile> GetFile(Uri localUri) { if (FileUtilsBase.IsLocalNonAppFile(localUri)) { return(await StorageFile.GetFileFromPathAsync(localUri.LocalPath)); } else if (FileUtilsBase.IsAppLocalFile(localUri)) { return(await StorageFile.GetFileFromApplicationUriAsync(localUri)); } else { return(null); } }
public override Uri UriFor(IStorageFile file) { var path = localStorageUriPrefix + FileUtilsBase.UnixSeparators(LocalPath(file)); return(new Uri(path)); }
/// <summary> /// Must be overridden for special app folders, todo fix class hierarchy. /// </summary> /// <param name="file"></param> /// <returns></returns> public virtual Uri UriFor(IStorageFile file) { var uriPath = FileUtilsBase.UnixSeparators(file.Path); return(new Uri("file:///" + uriPath)); }