System.IO.HVFS.Combinators

MissingH-1.4.0.1: Large utility library

Copyright | Copyright (C) 2004-2011 John Goerzen
License | BSD3
Maintainer | John Goerzen <jgoerzen@complete.org>
Stability | provisional
Portability | portable
Safe Haskell | None
Language | Haskell98

System.IO.HVFS.Combinators

Contents

- Restrictions

Description

Support for combining different HVFS modules together

Copyright (c) 2004-2005 John Goerzen, jgoerzen@complete.org

Synopsis

- data HVFS a => HVFSReadOnly a = HVFSReadOnly a
- data HVFS a => HVFSChroot a
- newHVFSChroot :: HVFS a => a -> FilePath -> IO (HVFSChroot a)

# Restrictions

data HVFS a => HVFSReadOnly a

Restrict access to the underlying filesystem to be strictly read-only. Any write-type operations will cause an error.

No constructor is required; just say `HVFSReadOnly fs` to make a new read-only wrapper around the `HVFS` instance `fs`.

Constructors

HVFSReadOnly a |

Instances

(Eq a, HVFS a) => Eq (HVFSReadOnly a) |
HVFS a => Show (HVFSReadOnly a) |
HVFSOpenable a => HVFSOpenable (HVFSReadOnly a) |
HVFS a => HVFS (HVFSReadOnly a) |

data HVFS a => HVFSChroot a

Access a subdirectory of a real filesystem as if it was the root of that filesystem.

Instances

(Eq a, HVFS a) => Eq (HVFSChroot a) |
HVFS a => Show (HVFSChroot a) |
HVFSOpenable a => HVFSOpenable (HVFSChroot a) |
HVFS a => HVFS (HVFSChroot a) |

newHVFSChroot

Arguments

:: HVFS a |
=> a | The object to pass requests on to
-> FilePath | The path of the directory to make root
-> IO (HVFSChroot a) | The resulting new object

Create a new `HVFSChroot` object.