BSD style: see
license.txt
Oct 2007: Initial version
Kris
- class FileFolder : VfsFolder ¶#
-
Represents a physical folder in a file system. Use one of these
to address specific paths (sub-trees) within the file system.
- this(char[] path, bool create = false) ¶#
-
Create a file folder with the given path.
Option 'create' will create the path when set true,
or reference an existing path otherwise.
- this(char[] path, char[] name) [private] ¶#
-
Create a FileFolder as a Group member.
- this(FileFolder parent, char[] name, bool create = false) [private] ¶#
-
Explicitly create() or open() a named folder.
- char[] name() [final] ¶#
-
Return a short name.
- char[] toString() [final] ¶#
-
Return a long name.
- void verify(VfsFolder folder, bool mounting) [final] ¶#
-
A folder is being added or removed from the hierarchy. Use
this to test for validity (or whatever) and throw exceptions
as necessary
Here we test for folder overlap, and bail-out when found.
- VfsFile file(char[] name) [final] ¶#
-
Return a contained file representation.
- VfsFolderEntry folder(char[] path) [final] ¶#
-
Return a contained folder representation.
- VfsFolder clear() [final] ¶#
-
Remove the folder subtree. Use with care!
- bool writable() [final] ¶#
-
Is folder writable?
- VfsFolders self() [final] ¶#
-
Returns content information about this folder.
- VfsFolders tree() [final] ¶#
-
Returns a subtree of folders matching the given name.
- int opApply(int delegate(ref VfsFolder) dg) [final] ¶#
-
Iterate over the set of immediate child folders. This is
useful for reflecting the hierarchy.
- VfsFolder close(bool commit = true) ¶#
-
Close and/or synchronize changes made to this folder. Each
driver should take advantage of this as appropriate, perhaps
combining multiple files together, or possibly copying to a
remote location.
- FileFolder[] folders(bool collect) [private] ¶#
-
Sweep owned folders.
- char[][] files(ref VfsStats stats, VfsFilter filter = null) [private] ¶#
-
Sweep owned files.
- char[] error(char[] msg) [private] ¶#
-
Throw an exception.
- char[] open(char[] path, bool create) [private] ¶#
-
Create or open the given path, and detect path errors.
- class FileGroup : VfsFiles ¶#
-
Represents a group of files (need this declared here to avoid
a bunch of bizarre compiler warnings.)
- this(FolderGroup host, VfsFilter filter) ¶#
-
- int opApply(int delegate(ref VfsFile) dg) [final] ¶#
-
Iterate over the set of contained VfsFile instances.
- uint files() [final] ¶#
-
Return the total number of entries.
- ulong bytes() [final] ¶#
-
Return the total size of all files.
- class FolderGroup : VfsFolders [private] ¶#
-
A set of folders representing a selection. This is where file
selection is made, and pattern-matched folder subsets can be
extracted. You need one of these to expose statistics (such as
file or folder count) of a selected folder group.
- this() [private] ¶#
-
Create a subset group.
- this(FileFolder root, bool recurse) [private] ¶#
-
Create a folder group including the provided folder and
(optionally) all child folders.
- int opApply(int delegate(ref VfsFolder) dg) [final] ¶#
-
Iterate over the set of contained VfsFolder instances.
- uint files() [final] ¶#
-
Return the number of files in this group.
- ulong bytes() [final] ¶#
-
Return the total size of all files in this group.
- uint folders() [final] ¶#
-
Return the number of folders in this group.
- uint entries() [final] ¶#
-
Return the total number of entries in this group.
- VfsFolders subset(char[] pattern) [final] ¶#
-
Return a subset of folders matching the given pattern.
- FileGroup catalog(char[] pattern) [final] ¶#
-
Return a set of files matching the given pattern.
- FileGroup catalog(VfsFilter filter = null) [final] ¶#
-
Returns a set of files conforming to the given filter.
- FileFolder[] scan(FileFolder root, bool recurse) [private, final] ¶#
-
Internal routine to traverse the folder tree.
- class FolderHost : VfsFolderEntry [private] ¶#
-
A host for folders, currently used to harbor create() and open()
methods only.
- this(FileFolder parent, char[] path) [private] ¶#
-
- VfsFolder create() [final] ¶#
-
- VfsFolder open() [final] ¶#
-
- bool exists() ¶#
-
Test to see if a folder exists.
- class FileHost : VfsFile [private] ¶#
-
Represents things you can do with a file.
- this(char[] path = null) ¶#
-
- char[] name() [final] ¶#
-
Return a short name.
- char[] toString() [final] ¶#
-
Return a long name.
- bool exists() [final] ¶#
-
Does this file exist?
- ulong size() [final] ¶#
-
Return the file size.
- VfsFile create() [final] ¶#
-
Create a new file instance.
- VfsFile create(InputStream input) [final] ¶#
-
Create a new file instance and populate with stream.
- VfsFile copy(VfsFile source) ¶#
-
Create and copy the given source.
- VfsFile move(VfsFile source) [final] ¶#
-
Create and copy the given source, and remove the source.
- InputStream input() [final] ¶#
-
Return the input stream. Don't forget to close it.
- OutputStream output() [final] ¶#
-
Return the output stream. Don't forget to close it.
- VfsFile remove() [final] ¶#
-
Remove this file.
- VfsFile dup() [final] ¶#
-
Duplicate this entry.
- Time modified() [final] ¶#
-
Modified time of the file.