module Eventloop.Module.File.Types where
import System.IO
import GHC.Generics (Generic)
import Control.DeepSeq
type OpenFile = (FilePath, Handle, IOMode)
data FileIn = FileOpened FilePath Bool
| FileClosed FilePath Bool
| RetrievedContents FilePath [[Char]]
| RetrievedLine FilePath [Char]
| RetrievedChar FilePath Char
| IsEOF FilePath Bool
| WroteTo FilePath Bool
deriving (Eq, Show)
data FileOut = OpenFile FilePath IOMode
| CloseFile FilePath
| RetrieveContents FilePath
| RetrieveLine FilePath
| RetrieveChar FilePath
| IfEOF FilePath
| WriteTo FilePath [Char]
deriving (Eq, Show, Generic, NFData)
deriving instance Generic IOMode
deriving instance NFData IOMode