base-io-access-0.2.0.0: Access/System/IO.hs
module Access.System.IO
( module System.IO
, HandleWriteAccess
, HandleReadAccess
, HandleAccess(..)
, StdIOAccess(..)
, FileAccess(..)
, TempFileAccess(..)
, TextEncodingAccess(..)
) where
import System.IO
import Foreign.Ptr (Ptr)
import Access.Core
class Access io => HandleWriteAccess io where
hPutChar' :: Handle -> Char -> io ()
hPutStr' :: Handle -> String -> io ()
hPutStrLn' :: Handle -> String -> io ()
hPrint' :: Show a => Handle -> a -> io ()
hPutBuf' :: Handle -> Ptr a -> Int -> io ()
hPutBufNonBlocking' :: Handle -> Ptr a -> Int -> io Int
class Access io => HandleReadAccess io where
hWaitForInput' :: Handle -> Int -> io Bool
hGetChar' :: Handle -> io Char
hGetLine' :: Handle -> io String
hLookAhead' :: Handle -> io Char
hGetContents' :: Handle -> io String
hGetBuf' :: Handle -> Ptr a -> Int -> io Int
hGetBufSome' :: Handle -> Ptr a -> Int -> io Int
hGetBufNonBlocking' :: Handle -> Ptr a -> Int -> io Int
class (HandleWriteAccess io, HandleReadAccess io) => HandleAccess io where
hClose' :: Handle -> io ()
hFileSize' :: Handle -> io Integer
hSetFileSize' :: Handle -> Integer -> io ()
hIsEOF' :: Handle -> io Bool
hSetBuffering' :: Handle -> BufferMode -> io ()
hGetBuffering' :: Handle -> io BufferMode
hFlush' :: Handle -> io ()
hGetPosn' :: Handle -> io HandlePosn
hSetPosn' :: HandlePosn -> io ()
hSeek' :: Handle -> SeekMode -> Integer -> io ()
hTell' :: Handle -> io Integer
hIsOpen' :: Handle -> io Bool
hIsClosed' :: Handle -> io Bool
hIsReadable' :: Handle -> io Bool
hIsWritable' :: Handle -> io Bool
hIsSeekable' :: Handle -> io Bool
hIsTerminalDevice' :: Handle -> io Bool
hSetEcho' :: Handle -> Bool -> io ()
hGetEcho' :: Handle -> io Bool
hShow' :: Handle -> io String
hReady' :: Handle -> io Bool
hSetEncoding' :: Handle -> TextEncoding -> io ()
hGetEncoding' :: Handle -> io (Maybe TextEncoding)
hSetNewlineMode' :: Handle -> NewlineMode -> io ()
class HandleAccess io => StdIOAccess io where
isEOF' :: io Bool
interact' :: (String -> String) -> io ()
putChar' :: Char -> io ()
putStr' :: String -> io ()
putStrLn' :: String -> io ()
print' :: Show a => a -> io ()
getChar' :: io Char
getLine' :: io String
getContents' :: io String
readLn' :: Read a => io a
class HandleAccess io => FileAccess io where
withFile' :: FilePath -> IOMode -> (Handle -> io r) -> io r
openFile' :: FilePath -> IOMode -> io Handle
readFile' :: FilePath -> io String
writeFile' :: FilePath -> String -> io ()
appendFile' :: FilePath -> String -> io ()
withBinaryFile' :: FilePath -> IOMode -> (Handle -> io r) -> io r
openBinaryFile' :: FilePath -> IOMode -> io Handle
class HandleAccess io => TempFileAccess io where
openTempFile' :: FilePath -> String -> io (FilePath, Handle)
openBinaryTempFile' :: FilePath -> String -> io (FilePath, Handle)
openTempFileWithDefaultPermissions' :: FilePath -> String -> io (FilePath, Handle)
openBinaryTempFileWithDefaultPermissions' :: FilePath -> String -> io (FilePath, Handle)
class Access io => TextEncodingAccess io where
mkTextEncoding' :: String -> io TextEncoding
instance HandleWriteAccess IO where
hPutChar' = hPutChar
hPutStr' = hPutStr
hPutStrLn' = hPutStrLn
hPrint' = hPrint
hPutBuf' = hPutBuf
hPutBufNonBlocking' = hPutBufNonBlocking
instance HandleReadAccess IO where
hWaitForInput' = hWaitForInput
hGetChar' = hGetChar
hGetLine' = hGetLine
hLookAhead' = hLookAhead
hGetContents' = hGetContents
hGetBuf' = hGetBuf
hGetBufSome' = hGetBufSome
hGetBufNonBlocking' = hGetBufNonBlocking
instance HandleAccess IO where
hClose' = hClose
hFileSize' = hFileSize
hSetFileSize' = hSetFileSize
hIsEOF' = hIsEOF
hSetBuffering' = hSetBuffering
hGetBuffering' = hGetBuffering
hFlush' = hFlush
hGetPosn' = hGetPosn
hSetPosn' = hSetPosn
hSeek' = hSeek
hTell' = hTell
hIsOpen' = hIsOpen
hIsClosed' = hIsClosed
hIsReadable' = hIsReadable
hIsWritable' = hIsWritable
hIsSeekable' = hIsSeekable
hIsTerminalDevice' = hIsTerminalDevice
hSetEcho' = hSetEcho
hGetEcho' = hGetEcho
hShow' = hShow
hReady' = hReady
hSetEncoding' = hSetEncoding
hGetEncoding' = hGetEncoding
hSetNewlineMode' = hSetNewlineMode
instance StdIOAccess IO where
isEOF' = isEOF
interact' = interact
putChar' = putChar
putStr' = putStr
putStrLn' = putStrLn
print' = print
getChar' = getChar
getLine' = getLine
getContents' = getContents
readLn' = readLn
instance FileAccess IO where
withFile' = withFile
openFile' = openFile
readFile' = readFile
writeFile' = writeFile
appendFile' = appendFile
withBinaryFile' = withBinaryFile
openBinaryFile' = openBinaryFile
instance TempFileAccess IO where
openTempFile' = openTempFile
openBinaryTempFile' = openBinaryTempFile
openTempFileWithDefaultPermissions' = openTempFileWithDefaultPermissions
openBinaryTempFileWithDefaultPermissions' = openBinaryTempFileWithDefaultPermissions
instance TextEncodingAccess IO where
mkTextEncoding' = mkTextEncoding