{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.Gio.Objects.FilterInputStream ( -- * Exported types FilterInputStream(..) , FilterInputStreamK , toFilterInputStream , noFilterInputStream , -- * Methods -- ** filterInputStreamGetBaseStream filterInputStreamGetBaseStream , -- ** filterInputStreamGetCloseBaseStream filterInputStreamGetCloseBaseStream , -- ** filterInputStreamSetCloseBaseStream filterInputStreamSetCloseBaseStream , -- * Properties -- ** BaseStream FilterInputStreamBaseStreamPropertyInfo , constructFilterInputStreamBaseStream , getFilterInputStreamBaseStream , -- ** CloseBaseStream FilterInputStreamCloseBaseStreamPropertyInfo, constructFilterInputStreamCloseBaseStream, getFilterInputStreamCloseBaseStream , setFilterInputStreamCloseBaseStream , ) 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.Gio.Types import GI.Gio.Callbacks import qualified GI.GObject as GObject newtype FilterInputStream = FilterInputStream (ForeignPtr FilterInputStream) foreign import ccall "g_filter_input_stream_get_type" c_g_filter_input_stream_get_type :: IO GType type instance ParentTypes FilterInputStream = FilterInputStreamParentTypes type FilterInputStreamParentTypes = '[InputStream, GObject.Object] instance GObject FilterInputStream where gobjectIsInitiallyUnowned _ = False gobjectType _ = c_g_filter_input_stream_get_type class GObject o => FilterInputStreamK o instance (GObject o, IsDescendantOf FilterInputStream o) => FilterInputStreamK o toFilterInputStream :: FilterInputStreamK o => o -> IO FilterInputStream toFilterInputStream = unsafeCastTo FilterInputStream noFilterInputStream :: Maybe FilterInputStream noFilterInputStream = Nothing -- VVV Prop "base-stream" -- Type: TInterface "Gio" "InputStream" -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] getFilterInputStreamBaseStream :: (MonadIO m, FilterInputStreamK o) => o -> m InputStream getFilterInputStreamBaseStream obj = liftIO $ getObjectPropertyObject obj "base-stream" InputStream constructFilterInputStreamBaseStream :: (InputStreamK a) => a -> IO ([Char], GValue) constructFilterInputStreamBaseStream val = constructObjectPropertyObject "base-stream" val data FilterInputStreamBaseStreamPropertyInfo instance AttrInfo FilterInputStreamBaseStreamPropertyInfo where type AttrAllowedOps FilterInputStreamBaseStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint FilterInputStreamBaseStreamPropertyInfo = InputStreamK type AttrBaseTypeConstraint FilterInputStreamBaseStreamPropertyInfo = FilterInputStreamK type AttrGetType FilterInputStreamBaseStreamPropertyInfo = InputStream type AttrLabel FilterInputStreamBaseStreamPropertyInfo = "FilterInputStream::base-stream" attrGet _ = getFilterInputStreamBaseStream attrSet _ = undefined attrConstruct _ = constructFilterInputStreamBaseStream -- VVV Prop "close-base-stream" -- Type: TBasicType TBoolean -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct] getFilterInputStreamCloseBaseStream :: (MonadIO m, FilterInputStreamK o) => o -> m Bool getFilterInputStreamCloseBaseStream obj = liftIO $ getObjectPropertyBool obj "close-base-stream" setFilterInputStreamCloseBaseStream :: (MonadIO m, FilterInputStreamK o) => o -> Bool -> m () setFilterInputStreamCloseBaseStream obj val = liftIO $ setObjectPropertyBool obj "close-base-stream" val constructFilterInputStreamCloseBaseStream :: Bool -> IO ([Char], GValue) constructFilterInputStreamCloseBaseStream val = constructObjectPropertyBool "close-base-stream" val data FilterInputStreamCloseBaseStreamPropertyInfo instance AttrInfo FilterInputStreamCloseBaseStreamPropertyInfo where type AttrAllowedOps FilterInputStreamCloseBaseStreamPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint FilterInputStreamCloseBaseStreamPropertyInfo = (~) Bool type AttrBaseTypeConstraint FilterInputStreamCloseBaseStreamPropertyInfo = FilterInputStreamK type AttrGetType FilterInputStreamCloseBaseStreamPropertyInfo = Bool type AttrLabel FilterInputStreamCloseBaseStreamPropertyInfo = "FilterInputStream::close-base-stream" attrGet _ = getFilterInputStreamCloseBaseStream attrSet _ = setFilterInputStreamCloseBaseStream attrConstruct _ = constructFilterInputStreamCloseBaseStream type instance AttributeList FilterInputStream = FilterInputStreamAttributeList type FilterInputStreamAttributeList = ('[ '("base-stream", FilterInputStreamBaseStreamPropertyInfo), '("close-base-stream", FilterInputStreamCloseBaseStreamPropertyInfo)] :: [(Symbol, *)]) type instance SignalList FilterInputStream = FilterInputStreamSignalList type FilterInputStreamSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method FilterInputStream::get_base_stream -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FilterInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FilterInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gio" "InputStream" -- throws : False -- Skip return : False foreign import ccall "g_filter_input_stream_get_base_stream" g_filter_input_stream_get_base_stream :: Ptr FilterInputStream -> -- _obj : TInterface "Gio" "FilterInputStream" IO (Ptr InputStream) filterInputStreamGetBaseStream :: (MonadIO m, FilterInputStreamK a) => a -> -- _obj m InputStream filterInputStreamGetBaseStream _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- g_filter_input_stream_get_base_stream _obj' checkUnexpectedReturnNULL "g_filter_input_stream_get_base_stream" result result' <- (newObject InputStream) result touchManagedPtr _obj return result' -- method FilterInputStream::get_close_base_stream -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FilterInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FilterInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "g_filter_input_stream_get_close_base_stream" g_filter_input_stream_get_close_base_stream :: Ptr FilterInputStream -> -- _obj : TInterface "Gio" "FilterInputStream" IO CInt filterInputStreamGetCloseBaseStream :: (MonadIO m, FilterInputStreamK a) => a -> -- _obj m Bool filterInputStreamGetCloseBaseStream _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- g_filter_input_stream_get_close_base_stream _obj' let result' = (/= 0) result touchManagedPtr _obj return result' -- method FilterInputStream::set_close_base_stream -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "FilterInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "close_base", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "FilterInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "close_base", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "g_filter_input_stream_set_close_base_stream" g_filter_input_stream_set_close_base_stream :: Ptr FilterInputStream -> -- _obj : TInterface "Gio" "FilterInputStream" CInt -> -- close_base : TBasicType TBoolean IO () filterInputStreamSetCloseBaseStream :: (MonadIO m, FilterInputStreamK a) => a -> -- _obj Bool -> -- close_base m () filterInputStreamSetCloseBaseStream _obj close_base = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let close_base' = (fromIntegral . fromEnum) close_base g_filter_input_stream_set_close_base_stream _obj' close_base' touchManagedPtr _obj return ()