{- | 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.BufferedOutputStream ( -- * Exported types BufferedOutputStream(..) , BufferedOutputStreamK , toBufferedOutputStream , noBufferedOutputStream , -- * Methods -- ** bufferedOutputStreamGetAutoGrow bufferedOutputStreamGetAutoGrow , -- ** bufferedOutputStreamGetBufferSize bufferedOutputStreamGetBufferSize , -- ** bufferedOutputStreamNew bufferedOutputStreamNew , -- ** bufferedOutputStreamNewSized bufferedOutputStreamNewSized , -- ** bufferedOutputStreamSetAutoGrow bufferedOutputStreamSetAutoGrow , -- ** bufferedOutputStreamSetBufferSize bufferedOutputStreamSetBufferSize , -- * Properties -- ** AutoGrow BufferedOutputStreamAutoGrowPropertyInfo, constructBufferedOutputStreamAutoGrow , getBufferedOutputStreamAutoGrow , setBufferedOutputStreamAutoGrow , -- ** BufferSize BufferedOutputStreamBufferSizePropertyInfo, constructBufferedOutputStreamBufferSize , getBufferedOutputStreamBufferSize , setBufferedOutputStreamBufferSize , ) 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 BufferedOutputStream = BufferedOutputStream (ForeignPtr BufferedOutputStream) foreign import ccall "g_buffered_output_stream_get_type" c_g_buffered_output_stream_get_type :: IO GType type instance ParentTypes BufferedOutputStream = BufferedOutputStreamParentTypes type BufferedOutputStreamParentTypes = '[FilterOutputStream, OutputStream, GObject.Object, Seekable] instance GObject BufferedOutputStream where gobjectIsInitiallyUnowned _ = False gobjectType _ = c_g_buffered_output_stream_get_type class GObject o => BufferedOutputStreamK o instance (GObject o, IsDescendantOf BufferedOutputStream o) => BufferedOutputStreamK o toBufferedOutputStream :: BufferedOutputStreamK o => o -> IO BufferedOutputStream toBufferedOutputStream = unsafeCastTo BufferedOutputStream noBufferedOutputStream :: Maybe BufferedOutputStream noBufferedOutputStream = Nothing -- VVV Prop "auto-grow" -- Type: TBasicType TBoolean -- Flags: [PropertyReadable,PropertyWritable] getBufferedOutputStreamAutoGrow :: (MonadIO m, BufferedOutputStreamK o) => o -> m Bool getBufferedOutputStreamAutoGrow obj = liftIO $ getObjectPropertyBool obj "auto-grow" setBufferedOutputStreamAutoGrow :: (MonadIO m, BufferedOutputStreamK o) => o -> Bool -> m () setBufferedOutputStreamAutoGrow obj val = liftIO $ setObjectPropertyBool obj "auto-grow" val constructBufferedOutputStreamAutoGrow :: Bool -> IO ([Char], GValue) constructBufferedOutputStreamAutoGrow val = constructObjectPropertyBool "auto-grow" val data BufferedOutputStreamAutoGrowPropertyInfo instance AttrInfo BufferedOutputStreamAutoGrowPropertyInfo where type AttrAllowedOps BufferedOutputStreamAutoGrowPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint BufferedOutputStreamAutoGrowPropertyInfo = (~) Bool type AttrBaseTypeConstraint BufferedOutputStreamAutoGrowPropertyInfo = BufferedOutputStreamK type AttrGetType BufferedOutputStreamAutoGrowPropertyInfo = Bool type AttrLabel BufferedOutputStreamAutoGrowPropertyInfo = "BufferedOutputStream::auto-grow" attrGet _ = getBufferedOutputStreamAutoGrow attrSet _ = setBufferedOutputStreamAutoGrow attrConstruct _ = constructBufferedOutputStreamAutoGrow -- VVV Prop "buffer-size" -- Type: TBasicType TUInt32 -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct] getBufferedOutputStreamBufferSize :: (MonadIO m, BufferedOutputStreamK o) => o -> m Word32 getBufferedOutputStreamBufferSize obj = liftIO $ getObjectPropertyCUInt obj "buffer-size" setBufferedOutputStreamBufferSize :: (MonadIO m, BufferedOutputStreamK o) => o -> Word32 -> m () setBufferedOutputStreamBufferSize obj val = liftIO $ setObjectPropertyCUInt obj "buffer-size" val constructBufferedOutputStreamBufferSize :: Word32 -> IO ([Char], GValue) constructBufferedOutputStreamBufferSize val = constructObjectPropertyCUInt "buffer-size" val data BufferedOutputStreamBufferSizePropertyInfo instance AttrInfo BufferedOutputStreamBufferSizePropertyInfo where type AttrAllowedOps BufferedOutputStreamBufferSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint BufferedOutputStreamBufferSizePropertyInfo = (~) Word32 type AttrBaseTypeConstraint BufferedOutputStreamBufferSizePropertyInfo = BufferedOutputStreamK type AttrGetType BufferedOutputStreamBufferSizePropertyInfo = Word32 type AttrLabel BufferedOutputStreamBufferSizePropertyInfo = "BufferedOutputStream::buffer-size" attrGet _ = getBufferedOutputStreamBufferSize attrSet _ = setBufferedOutputStreamBufferSize attrConstruct _ = constructBufferedOutputStreamBufferSize type instance AttributeList BufferedOutputStream = BufferedOutputStreamAttributeList type BufferedOutputStreamAttributeList = ('[ '("auto-grow", BufferedOutputStreamAutoGrowPropertyInfo), '("base-stream", FilterOutputStreamBaseStreamPropertyInfo), '("buffer-size", BufferedOutputStreamBufferSizePropertyInfo), '("close-base-stream", FilterOutputStreamCloseBaseStreamPropertyInfo)] :: [(Symbol, *)]) type instance SignalList BufferedOutputStream = BufferedOutputStreamSignalList type BufferedOutputStreamSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method BufferedOutputStream::new -- method type : Constructor -- Args : [Arg {argName = "base_stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "base_stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gio" "BufferedOutputStream" -- throws : False -- Skip return : False foreign import ccall "g_buffered_output_stream_new" g_buffered_output_stream_new :: Ptr OutputStream -> -- base_stream : TInterface "Gio" "OutputStream" IO (Ptr BufferedOutputStream) bufferedOutputStreamNew :: (MonadIO m, OutputStreamK a) => a -> -- base_stream m BufferedOutputStream bufferedOutputStreamNew base_stream = liftIO $ do let base_stream' = unsafeManagedPtrCastPtr base_stream result <- g_buffered_output_stream_new base_stream' checkUnexpectedReturnNULL "g_buffered_output_stream_new" result result' <- (wrapObject BufferedOutputStream) result touchManagedPtr base_stream return result' -- method BufferedOutputStream::new_sized -- method type : Constructor -- Args : [Arg {argName = "base_stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "base_stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gio" "BufferedOutputStream" -- throws : False -- Skip return : False foreign import ccall "g_buffered_output_stream_new_sized" g_buffered_output_stream_new_sized :: Ptr OutputStream -> -- base_stream : TInterface "Gio" "OutputStream" Word64 -> -- size : TBasicType TUInt64 IO (Ptr BufferedOutputStream) bufferedOutputStreamNewSized :: (MonadIO m, OutputStreamK a) => a -> -- base_stream Word64 -> -- size m BufferedOutputStream bufferedOutputStreamNewSized base_stream size = liftIO $ do let base_stream' = unsafeManagedPtrCastPtr base_stream result <- g_buffered_output_stream_new_sized base_stream' size checkUnexpectedReturnNULL "g_buffered_output_stream_new_sized" result result' <- (wrapObject BufferedOutputStream) result touchManagedPtr base_stream return result' -- method BufferedOutputStream::get_auto_grow -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "g_buffered_output_stream_get_auto_grow" g_buffered_output_stream_get_auto_grow :: Ptr BufferedOutputStream -> -- _obj : TInterface "Gio" "BufferedOutputStream" IO CInt bufferedOutputStreamGetAutoGrow :: (MonadIO m, BufferedOutputStreamK a) => a -> -- _obj m Bool bufferedOutputStreamGetAutoGrow _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- g_buffered_output_stream_get_auto_grow _obj' let result' = (/= 0) result touchManagedPtr _obj return result' -- method BufferedOutputStream::get_buffer_size -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUInt64 -- throws : False -- Skip return : False foreign import ccall "g_buffered_output_stream_get_buffer_size" g_buffered_output_stream_get_buffer_size :: Ptr BufferedOutputStream -> -- _obj : TInterface "Gio" "BufferedOutputStream" IO Word64 bufferedOutputStreamGetBufferSize :: (MonadIO m, BufferedOutputStreamK a) => a -> -- _obj m Word64 bufferedOutputStreamGetBufferSize _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- g_buffered_output_stream_get_buffer_size _obj' touchManagedPtr _obj return result -- method BufferedOutputStream::set_auto_grow -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_grow", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_grow", 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_buffered_output_stream_set_auto_grow" g_buffered_output_stream_set_auto_grow :: Ptr BufferedOutputStream -> -- _obj : TInterface "Gio" "BufferedOutputStream" CInt -> -- auto_grow : TBasicType TBoolean IO () bufferedOutputStreamSetAutoGrow :: (MonadIO m, BufferedOutputStreamK a) => a -> -- _obj Bool -> -- auto_grow m () bufferedOutputStreamSetAutoGrow _obj auto_grow = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let auto_grow' = (fromIntegral . fromEnum) auto_grow g_buffered_output_stream_set_auto_grow _obj' auto_grow' touchManagedPtr _obj return () -- method BufferedOutputStream::set_buffer_size -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "BufferedOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "g_buffered_output_stream_set_buffer_size" g_buffered_output_stream_set_buffer_size :: Ptr BufferedOutputStream -> -- _obj : TInterface "Gio" "BufferedOutputStream" Word64 -> -- size : TBasicType TUInt64 IO () bufferedOutputStreamSetBufferSize :: (MonadIO m, BufferedOutputStreamK a) => a -> -- _obj Word64 -> -- size m () bufferedOutputStreamSetBufferSize _obj size = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj g_buffered_output_stream_set_buffer_size _obj' size touchManagedPtr _obj return ()