|
System.IO.HVFS.InstanceHelpers | Portability | portable | Stability | provisional | Maintainer | John Goerzen <jgoerzen@complete.org> |
|
|
|
|
|
Description |
Utilities for creating instances of the items defined in
System.IO.HVFS.
Copyright (c) 2004 John Goerzen, jgoerzen@complete.org
|
|
Synopsis |
|
|
|
|
HVFSStat objects
|
|
data SimpleStat |
A simple System.IO.HVFS.HVFSStat
class that assumes that everything is either a file
or a directory.
| Constructors | SimpleStat | | isFile :: Bool | True if file, False if directory
| fileSize :: FileOffset | Set to 0 if unknown or a directory
|
|
| Instances | |
|
|
HVFS objects & types
|
|
MemoryVFS
|
|
data MemoryVFS |
An in-memory read/write filesystem. Think of it as a dynamically
resizable ramdisk written in Haskell.
| Instances | |
|
|
newMemoryVFS :: [MemoryNode] -> IO MemoryVFS |
Create a new MemoryVFS object from an existing tree.
An empty filesystem may be created by using [] for the parameter.
|
|
newMemoryVFSRef :: IORef [MemoryNode] -> IO MemoryVFS |
Create a new MemoryVFS object using an IORef to an
existing tree.
|
|
type MemoryNode = (String, MemoryEntry) |
The basic node of a MemoryVFS. The String corresponds to the filename,
and the entry to the contents.
|
|
data MemoryEntry |
The content of a file or directory in a MemoryVFS.
| Constructors | | Instances | |
|
|
Utilities
|
|
nice_slice :: String -> [String] |
Similar to NameManip but the first element
won't be /.
nice_slice "/" -> []
nice_slice "/foo/bar" -> ["foo", "bar"]
|
|
getFullPath :: HVFS a => a -> String -> IO String |
Gets a full path, after investigating the cwd.
|
|
getFullSlice :: HVFS a => a -> String -> IO [String] |
Gets the full path via getFullPath, then splits it via nice_slice.
|
|
Produced by Haddock version 0.8 |