{-# OPTIONS -fglasgow-exts #-} ----------------------------------------------------------------------------- {-| Module : QDir.hs Copyright : (c) David Harley 2010 Project : qtHaskell Version : 1.1.4 Modified : 2010-09-02 17:02:36 Warning : this file is machine generated - do not modify. --} ----------------------------------------------------------------------------- module Qtc.Enums.Core.QDir ( Filter, Filters, eDirs, fDirs, eFiles, fFiles, eDrives, fDrives, eNoSymLinks, fNoSymLinks, eAllEntries, fAllEntries, eTypeMask, fTypeMask, eReadable, fReadable, eWritable, fWritable, eExecutable, fExecutable, ePermissionMask, fPermissionMask, eModified, fModified, eHidden, fHidden, fSystem, eAccessMask, fAccessMask, eAllDirs, fAllDirs, fCaseSensitive, eNoDotAndDotDot, fNoDotAndDotDot, eNoFilter, fNoFilter , SortFlag, SortFlags, fName, fTime, fSize, eUnsorted, fUnsorted, eSortByMask, fSortByMask, eDirsFirst, fDirsFirst, eReversed, fReversed, eIgnoreCase, fIgnoreCase, eDirsLast, fDirsLast, eLocaleAware, fLocaleAware, fType, eNoSort, fNoSort ) 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 CFilter a = CFilter a type Filter = QEnum(CFilter Int) ieFilter :: Int -> Filter ieFilter x = QEnum (CFilter x) instance QEnumC (CFilter Int) where qEnum_toInt (QEnum (CFilter x)) = x qEnum_fromInt x = QEnum (CFilter 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 -> Filter -> 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 CFilters a = CFilters a type Filters = QFlags(CFilters Int) ifFilters :: Int -> Filters ifFilters x = QFlags (CFilters x) instance QFlagsC (CFilters Int) where qFlags_toInt (QFlags (CFilters x)) = x qFlags_fromInt x = QFlags (CFilters 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 -> Filters -> 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 () eDirs :: Filter eDirs = ieFilter $ 1 eFiles :: Filter eFiles = ieFilter $ 2 eDrives :: Filter eDrives = ieFilter $ 4 eNoSymLinks :: Filter eNoSymLinks = ieFilter $ 8 eAllEntries :: Filter eAllEntries = ieFilter $ 7 eTypeMask :: Filter eTypeMask = ieFilter $ 15 eReadable :: Filter eReadable = ieFilter $ 16 eWritable :: Filter eWritable = ieFilter $ 32 eExecutable :: Filter eExecutable = ieFilter $ 64 ePermissionMask :: Filter ePermissionMask = ieFilter $ 112 eModified :: Filter eModified = ieFilter $ 128 eHidden :: Filter eHidden = ieFilter $ 256 instance QeSystem Filter where eSystem = ieFilter $ 512 eAccessMask :: Filter eAccessMask = ieFilter $ 1008 eAllDirs :: Filter eAllDirs = ieFilter $ 1024 instance QeCaseSensitive Filter where eCaseSensitive = ieFilter $ 2048 eNoDotAndDotDot :: Filter eNoDotAndDotDot = ieFilter $ 4096 eNoFilter :: Filter eNoFilter = ieFilter $ -1 fDirs :: Filters fDirs = ifFilters $ 1 fFiles :: Filters fFiles = ifFilters $ 2 fDrives :: Filters fDrives = ifFilters $ 4 fNoSymLinks :: Filters fNoSymLinks = ifFilters $ 8 fAllEntries :: Filters fAllEntries = ifFilters $ 7 fTypeMask :: Filters fTypeMask = ifFilters $ 15 fReadable :: Filters fReadable = ifFilters $ 16 fWritable :: Filters fWritable = ifFilters $ 32 fExecutable :: Filters fExecutable = ifFilters $ 64 fPermissionMask :: Filters fPermissionMask = ifFilters $ 112 fModified :: Filters fModified = ifFilters $ 128 fHidden :: Filters fHidden = ifFilters $ 256 fSystem :: Filters fSystem = ifFilters $ 512 fAccessMask :: Filters fAccessMask = ifFilters $ 1008 fAllDirs :: Filters fAllDirs = ifFilters $ 1024 fCaseSensitive :: Filters fCaseSensitive = ifFilters $ 2048 fNoDotAndDotDot :: Filters fNoDotAndDotDot = ifFilters $ 4096 fNoFilter :: Filters fNoFilter = ifFilters $ -1 data CSortFlag a = CSortFlag a type SortFlag = QEnum(CSortFlag Int) ieSortFlag :: Int -> SortFlag ieSortFlag x = QEnum (CSortFlag x) instance QEnumC (CSortFlag Int) where qEnum_toInt (QEnum (CSortFlag x)) = x qEnum_fromInt x = QEnum (CSortFlag 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 -> SortFlag -> 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 CSortFlags a = CSortFlags a type SortFlags = QFlags(CSortFlags Int) ifSortFlags :: Int -> SortFlags ifSortFlags x = QFlags (CSortFlags x) instance QFlagsC (CSortFlags Int) where qFlags_toInt (QFlags (CSortFlags x)) = x qFlags_fromInt x = QFlags (CSortFlags 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 -> SortFlags -> 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 QeName SortFlag where eName = ieSortFlag $ 0 instance QeTime SortFlag where eTime = ieSortFlag $ 1 instance QeSize SortFlag where eSize = ieSortFlag $ 2 eUnsorted :: SortFlag eUnsorted = ieSortFlag $ 3 eSortByMask :: SortFlag eSortByMask = ieSortFlag $ 3 eDirsFirst :: SortFlag eDirsFirst = ieSortFlag $ 4 eReversed :: SortFlag eReversed = ieSortFlag $ 8 eIgnoreCase :: SortFlag eIgnoreCase = ieSortFlag $ 16 eDirsLast :: SortFlag eDirsLast = ieSortFlag $ 32 eLocaleAware :: SortFlag eLocaleAware = ieSortFlag $ 64 instance QeType SortFlag where eType = ieSortFlag $ 128 eNoSort :: SortFlag eNoSort = ieSortFlag $ -1 fName :: SortFlags fName = ifSortFlags $ 0 fTime :: SortFlags fTime = ifSortFlags $ 1 fSize :: SortFlags fSize = ifSortFlags $ 2 fUnsorted :: SortFlags fUnsorted = ifSortFlags $ 3 fSortByMask :: SortFlags fSortByMask = ifSortFlags $ 3 fDirsFirst :: SortFlags fDirsFirst = ifSortFlags $ 4 fReversed :: SortFlags fReversed = ifSortFlags $ 8 fIgnoreCase :: SortFlags fIgnoreCase = ifSortFlags $ 16 fDirsLast :: SortFlags fDirsLast = ifSortFlags $ 32 fLocaleAware :: SortFlags fLocaleAware = ifSortFlags $ 64 fType :: SortFlags fType = ifSortFlags $ 128 fNoSort :: SortFlags fNoSort = ifSortFlags $ -1