module Qtc.Enums.Core.QFile (
FileError, eReadError, eWriteError, eFatalError, eResourceError, eOpenError, eAbortError, eTimeOutError, eUnspecifiedError, eRemoveError, eRenameError, ePositionError, eResizeError, ePermissionsError, eCopyError
, Permission, Permissions, fReadOwner, fWriteOwner, fExeOwner, eReadUser, fReadUser, eWriteUser, fWriteUser, eExeUser, fExeUser, fReadGroup, fWriteGroup, fExeGroup, fReadOther, fWriteOther, fExeOther
)
where
import Foreign.C.Types
import Qtc.Classes.Base
import Qtc.ClassTypes.Core (QObject, TQObject, qObjectFromPtr)
import Qtc.Core.Base (Qcs, connectSlot, qtc_connectSlot_int, wrapSlotHandler_int)
import Qtc.Enums.Base
import Qtc.Enums.Classes.Core
data CFileError a = CFileError a
type FileError = QEnum(CFileError Int)
ieFileError :: Int -> FileError
ieFileError x = QEnum (CFileError x)
instance QEnumC (CFileError Int) where
qEnum_toInt (QEnum (CFileError x)) = x
qEnum_fromInt x = QEnum (CFileError x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> FileError -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
instance QeNoError FileError where
eNoError
= ieFileError $ 0
eReadError :: FileError
eReadError
= ieFileError $ 1
eWriteError :: FileError
eWriteError
= ieFileError $ 2
eFatalError :: FileError
eFatalError
= ieFileError $ 3
eResourceError :: FileError
eResourceError
= ieFileError $ 4
eOpenError :: FileError
eOpenError
= ieFileError $ 5
eAbortError :: FileError
eAbortError
= ieFileError $ 6
eTimeOutError :: FileError
eTimeOutError
= ieFileError $ 7
eUnspecifiedError :: FileError
eUnspecifiedError
= ieFileError $ 8
eRemoveError :: FileError
eRemoveError
= ieFileError $ 9
eRenameError :: FileError
eRenameError
= ieFileError $ 10
ePositionError :: FileError
ePositionError
= ieFileError $ 11
eResizeError :: FileError
eResizeError
= ieFileError $ 12
ePermissionsError :: FileError
ePermissionsError
= ieFileError $ 13
eCopyError :: FileError
eCopyError
= ieFileError $ 14
data CPermission a = CPermission a
type Permission = QEnum(CPermission Int)
iePermission :: Int -> Permission
iePermission x = QEnum (CPermission x)
instance QEnumC (CPermission Int) where
qEnum_toInt (QEnum (CPermission x)) = x
qEnum_fromInt x = QEnum (CPermission x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> Permission -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
data CPermissions a = CPermissions a
type Permissions = QFlags(CPermissions Int)
ifPermissions :: Int -> Permissions
ifPermissions x = QFlags (CPermissions x)
instance QFlagsC (CPermissions Int) where
qFlags_toInt (QFlags (CPermissions x)) = x
qFlags_fromInt x = QFlags (CPermissions x)
withQFlagsResult x
= do
ti <- x
return $ qFlags_fromInt $ fromIntegral ti
withQFlagsListResult x
= do
til <- x
return $ map qFlags_fromInt til
instance Qcs (QObject c -> Permissions -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qFlags_fromInt hint)
return ()
instance QeReadOwner Permission where
eReadOwner
= iePermission $ 16384
instance QeWriteOwner Permission where
eWriteOwner
= iePermission $ 8192
instance QeExeOwner Permission where
eExeOwner
= iePermission $ 4096
eReadUser :: Permission
eReadUser
= iePermission $ 1024
eWriteUser :: Permission
eWriteUser
= iePermission $ 512
eExeUser :: Permission
eExeUser
= iePermission $ 256
instance QeReadGroup Permission where
eReadGroup
= iePermission $ 64
instance QeWriteGroup Permission where
eWriteGroup
= iePermission $ 32
instance QeExeGroup Permission where
eExeGroup
= iePermission $ 16
instance QeReadOther Permission where
eReadOther
= iePermission $ 4
instance QeWriteOther Permission where
eWriteOther
= iePermission $ 2
instance QeExeOther Permission where
eExeOther
= iePermission $ 1
fReadOwner :: Permissions
fReadOwner
= ifPermissions $ 16384
fWriteOwner :: Permissions
fWriteOwner
= ifPermissions $ 8192
fExeOwner :: Permissions
fExeOwner
= ifPermissions $ 4096
fReadUser :: Permissions
fReadUser
= ifPermissions $ 1024
fWriteUser :: Permissions
fWriteUser
= ifPermissions $ 512
fExeUser :: Permissions
fExeUser
= ifPermissions $ 256
fReadGroup :: Permissions
fReadGroup
= ifPermissions $ 64
fWriteGroup :: Permissions
fWriteGroup
= ifPermissions $ 32
fExeGroup :: Permissions
fExeGroup
= ifPermissions $ 16
fReadOther :: Permissions
fReadOther
= ifPermissions $ 4
fWriteOther :: Permissions
fWriteOther
= ifPermissions $ 2
fExeOther :: Permissions
fExeOther
= ifPermissions $ 1