tango.io.vfs.ZipFolder

License:

BSD style: see license.txt

Version:

The Great Namechange: February 2008

Initial release: December 2007

Author:

Daniel Keep
class ZipSubFolder : VfsFolder, VfsSync #
This class represents a folder in an archive. In addition to supporting the sync operation, you can also use the archive member to get a reference to the underlying ZipFolder instance.
char[] name() [final] #
char[] toString() [override, final] #
VfsFile file(char[] path) [final] #
VfsFolderEntry folder(char[] path) [final] #
VfsFolders self() [final] #
VfsFolders tree() [final] #
int opApply(int delegate(ref VfsFolder) dg) [final] #
VfsFolder clear() [final] #
bool writable() [final] #
VfsFolder close(bool commit = true) #
Closes this folder object. If commit is true, then the folder is sync'ed before being closed.
VfsFolder sync() [override] #
This will flush any changes to the archive to disk. Note that this applies to the entire archive, not just this folder and its contents.
void verify(VfsFolder folder, bool mounting) [final] #
ZipFolder archive() [final] #
Returns a reference to the underlying ZipFolder instance.
class ZipFolder : ZipSubFolder #
ZipFolder serves as the root object for all Zip archives in the VFS. Presently, it can only open archives on the local filesystem.
this(char[] path, bool readonly = false) #
Opens an archive from the local filesystem. If the readonly argument is specified as true, then modification of the archive will be explicitly disallowed.
VfsFolder close(bool commit = true) [override, final] #
Closes the archive, and releases all internal resources. If the commit argument is true (the default), then changes to the archive will be flushed out to disk. If false, changes will simply be discarded.
VfsFolder sync() [override, final] #
Flushes all changes to the archive out to disk.
bool readonly() [final] #
Indicates whether the archive was opened for read-only access. Note that in addition to the readonly constructor flag, this is also influenced by whether the file itself is read-only or not.
char[] path() [final] #
char[] path(char[] v) [final] #
Allows you to read and specify the path to the archive. The effect of setting this is to change where the archive will be written to when flushed to disk.
class ZipFile : VfsFile #
This class represents a file within an archive.
char[] name() [final] #
char[] toString() [override, final] #
bool exists() [final] #
ulong size() [final] #
VfsFile copy(VfsFile source) [final] #
VfsFile move(VfsFile source) [final] #
VfsFile create() [final] #
VfsFile create(InputStream stream) [final] #
VfsFile remove() [final] #
InputStream input() [final] #
OutputStream output() [final] #
VfsFile dup() [final] #
Time modified() [final] #
class DummyInputStream : InputStream [private, deprecated] #
class DummyOutputStream : OutputStream [private, deprecated] #

Copyright:

Copyright © 2007 Daniel Keep. All rights reserved.

License:

BSD style: see license.txt

Version:

Prerelease

Author:

Daniel Keep

The dummy stream classes are used to provide simple, empty stream objects where one is required, but none is available.

Note that, currently, these classes return 'null' for the underlying conduit, which will likely break code which expects streams to have an underlying conduit.

class EventSeekInputStream : InputStream [private] #
class EventSeekOutputStream : OutputStream [private] #

Copyright:

Copyright © 2007 Daniel Keep. All rights reserved.

License:

BSD style: see license.txt

Version:

Prerelease

Author:

Daniel Keep

The event stream classes are designed to allow you to receive feedback on how a stream chain is being used. This is done through the use of delegate callbacks which are invoked just before the associated method is complete.

struct Callbacks #
void delegate() close #
void delegate() clear #
void delegate(uint, void[]) read #
void delegate(long, long, Anchor) seek #
this(InputStream source, Callbacks callbacks) #
class WrapSeekInputStream : InputStream [private] #

Copyright:

Copyright © 2007 Daniel Keep. All rights reserved.

License:

BSD style: see license.txt

Version:

Prerelease

Author:

Daniel Keep

This stream can be used to provide access to another stream. Its distinguishing feature is that users cannot close the underlying stream.

This stream fully supports seeking, and as such requires that the underlying stream also support seeking.

this(InputStream source) #
this(InputStream source, long position) #
Create a new wrap stream from the given source.
class WrapSeekOutputStream : OutputStream [private] #
This stream can be used to provide access to another stream. Its distinguishing feature is that the users cannot close the underlying stream.
This stream fully supports seeking, and as such requires that the underlying stream also support seeking.
this(OutputStream source) #
this(OutputStream source, long position) #
Create a new wrap stream from the given source.