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 Source #

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) Source # |
Methods (==) :: HVFSReadOnly a -> HVFSReadOnly a -> Bool # (/=) :: HVFSReadOnly a -> HVFSReadOnly a -> Bool #
HVFS a => Show (HVFSReadOnly a) Source # |
Methods showsPrec :: Int -> HVFSReadOnly a -> ShowS # show :: HVFSReadOnly a -> String # showList :: [HVFSReadOnly a] -> ShowS #
HVFSOpenable a => HVFSOpenable (HVFSReadOnly a) Source # |
Methods vOpen :: HVFSReadOnly a -> FilePath -> IOMode -> IO HVFSOpenEncap Source # vReadFile :: HVFSReadOnly a -> FilePath -> IO String Source # vWriteFile :: HVFSReadOnly a -> FilePath -> String -> IO () Source # vOpenBinaryFile :: HVFSReadOnly a -> FilePath -> IOMode -> IO HVFSOpenEncap Source #
HVFS a => HVFS (HVFSReadOnly a) Source # |

Methods

vGetCurrentDirectory :: HVFSReadOnly a -> IO FilePath Source #

vSetCurrentDirectory :: HVFSReadOnly a -> FilePath -> IO () Source #

vGetDirectoryContents :: HVFSReadOnly a -> FilePath -> IO [FilePath] Source #

vDoesFileExist :: HVFSReadOnly a -> FilePath -> IO Bool Source #

vDoesDirectoryExist :: HVFSReadOnly a -> FilePath -> IO Bool Source #

vDoesExist :: HVFSReadOnly a -> FilePath -> IO Bool Source #

vCreateDirectory :: HVFSReadOnly a -> FilePath -> IO () Source #

vRemoveDirectory :: HVFSReadOnly a -> FilePath -> IO () Source #

vRenameDirectory :: HVFSReadOnly a -> FilePath -> FilePath -> IO () Source #

vRemoveFile :: HVFSReadOnly a -> FilePath -> IO () Source #

vRenameFile :: HVFSReadOnly a -> FilePath -> FilePath -> IO () Source #

vGetFileStatus :: HVFSReadOnly a -> FilePath -> IO HVFSStatEncap Source #

vGetSymbolicLinkStatus :: HVFSReadOnly a -> FilePath -> IO HVFSStatEncap Source #

vGetModificationTime :: HVFSReadOnly a -> FilePath -> IO ClockTime Source #

vRaiseError :: HVFSReadOnly a -> IOErrorType -> String -> Maybe FilePath -> IO c Source #

vCreateSymbolicLink :: HVFSReadOnly a -> FilePath -> FilePath -> IO () Source #

vReadSymbolicLink :: HVFSReadOnly a -> FilePath -> IO FilePath Source #

vCreateLink :: HVFSReadOnly a -> FilePath -> FilePath -> IO () Source #

data HVFS a => HVFSChroot a Source #

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

Instances

(Eq a, HVFS a) => Eq (HVFSChroot a) Source # |
Methods (==) :: HVFSChroot a -> HVFSChroot a -> Bool # (/=) :: HVFSChroot a -> HVFSChroot a -> Bool #
HVFS a => Show (HVFSChroot a) Source # |
Methods showsPrec :: Int -> HVFSChroot a -> ShowS # show :: HVFSChroot a -> String # showList :: [HVFSChroot a] -> ShowS #
HVFSOpenable a => HVFSOpenable (HVFSChroot a) Source # |
Methods vOpen :: HVFSChroot a -> FilePath -> IOMode -> IO HVFSOpenEncap Source # vReadFile :: HVFSChroot a -> FilePath -> IO String Source # vWriteFile :: HVFSChroot a -> FilePath -> String -> IO () Source # vOpenBinaryFile :: HVFSChroot a -> FilePath -> IOMode -> IO HVFSOpenEncap Source #
HVFS a => HVFS (HVFSChroot a) Source # |

Methods

vGetCurrentDirectory :: HVFSChroot a -> IO FilePath Source #

vSetCurrentDirectory :: HVFSChroot a -> FilePath -> IO () Source #

vGetDirectoryContents :: HVFSChroot a -> FilePath -> IO [FilePath] Source #

vDoesFileExist :: HVFSChroot a -> FilePath -> IO Bool Source #

vDoesDirectoryExist :: HVFSChroot a -> FilePath -> IO Bool Source #

vDoesExist :: HVFSChroot a -> FilePath -> IO Bool Source #

vCreateDirectory :: HVFSChroot a -> FilePath -> IO () Source #

vRemoveDirectory :: HVFSChroot a -> FilePath -> IO () Source #

vRenameDirectory :: HVFSChroot a -> FilePath -> FilePath -> IO () Source #

vRemoveFile :: HVFSChroot a -> FilePath -> IO () Source #

vRenameFile :: HVFSChroot a -> FilePath -> FilePath -> IO () Source #

vGetFileStatus :: HVFSChroot a -> FilePath -> IO HVFSStatEncap Source #

vGetSymbolicLinkStatus :: HVFSChroot a -> FilePath -> IO HVFSStatEncap Source #

vGetModificationTime :: HVFSChroot a -> FilePath -> IO ClockTime Source #

vRaiseError :: HVFSChroot a -> IOErrorType -> String -> Maybe FilePath -> IO c Source #

vCreateSymbolicLink :: HVFSChroot a -> FilePath -> FilePath -> IO () Source #

vReadSymbolicLink :: HVFSChroot a -> FilePath -> IO FilePath Source #

vCreateLink :: HVFSChroot a -> FilePath -> FilePath -> IO () Source #

newHVFSChroot Source #

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.