{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) A #GtkFileFilterInfo-struct is used to pass information about the tested file to gtk_file_filter_filter(). -} module GI.Gtk.Structs.FileFilterInfo ( -- * Exported types FileFilterInfo(..) , noFileFilterInfo , -- * Properties -- ** Contains fileFilterInfoReadContains , -- ** DisplayName fileFilterInfoReadDisplayName , -- ** Filename fileFilterInfoReadFilename , -- ** MimeType fileFilterInfoReadMimeType , -- ** Uri fileFilterInfoReadUri , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import GI.Gtk.Types import GI.Gtk.Callbacks newtype FileFilterInfo = FileFilterInfo (ForeignPtr FileFilterInfo) noFileFilterInfo :: Maybe FileFilterInfo noFileFilterInfo = Nothing fileFilterInfoReadContains :: FileFilterInfo -> IO [FileFilterFlags] fileFilterInfoReadContains s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO CUInt let val' = wordToGFlags val return val' fileFilterInfoReadFilename :: FileFilterInfo -> IO T.Text fileFilterInfoReadFilename s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO CString val' <- cstringToText val return val' fileFilterInfoReadUri :: FileFilterInfo -> IO T.Text fileFilterInfoReadUri s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO CString val' <- cstringToText val return val' fileFilterInfoReadDisplayName :: FileFilterInfo -> IO T.Text fileFilterInfoReadDisplayName s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO CString val' <- cstringToText val return val' fileFilterInfoReadMimeType :: FileFilterInfo -> IO T.Text fileFilterInfoReadMimeType s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 32) :: IO CString val' <- cstringToText val return val'