gi-gio-0.2.46.12: GI/Gio/Objects/MemoryOutputStream.hs
{- |
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.MemoryOutputStream
(
-- * Exported types
MemoryOutputStream(..) ,
MemoryOutputStreamK ,
toMemoryOutputStream ,
noMemoryOutputStream ,
-- * Methods
-- ** memoryOutputStreamGetData
memoryOutputStreamGetData ,
-- ** memoryOutputStreamGetDataSize
memoryOutputStreamGetDataSize ,
-- ** memoryOutputStreamGetSize
memoryOutputStreamGetSize ,
-- ** memoryOutputStreamNewResizable
memoryOutputStreamNewResizable ,
-- ** memoryOutputStreamStealAsBytes
memoryOutputStreamStealAsBytes ,
-- ** memoryOutputStreamStealData
memoryOutputStreamStealData ,
-- * Properties
-- ** Data
MemoryOutputStreamDataPropertyInfo ,
constructMemoryOutputStreamData ,
getMemoryOutputStreamData ,
-- ** DataSize
MemoryOutputStreamDataSizePropertyInfo ,
getMemoryOutputStreamDataSize ,
-- ** Size
MemoryOutputStreamSizePropertyInfo ,
constructMemoryOutputStreamSize ,
getMemoryOutputStreamSize ,
) 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.GLib as GLib
import qualified GI.GObject as GObject
newtype MemoryOutputStream = MemoryOutputStream (ForeignPtr MemoryOutputStream)
foreign import ccall "g_memory_output_stream_get_type"
c_g_memory_output_stream_get_type :: IO GType
type instance ParentTypes MemoryOutputStream = MemoryOutputStreamParentTypes
type MemoryOutputStreamParentTypes = '[OutputStream, GObject.Object, PollableOutputStream, Seekable]
instance GObject MemoryOutputStream where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_memory_output_stream_get_type
class GObject o => MemoryOutputStreamK o
instance (GObject o, IsDescendantOf MemoryOutputStream o) => MemoryOutputStreamK o
toMemoryOutputStream :: MemoryOutputStreamK o => o -> IO MemoryOutputStream
toMemoryOutputStream = unsafeCastTo MemoryOutputStream
noMemoryOutputStream :: Maybe MemoryOutputStream
noMemoryOutputStream = Nothing
-- VVV Prop "data"
-- Type: TBasicType TVoid
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getMemoryOutputStreamData :: (MonadIO m, MemoryOutputStreamK o) => o -> m (Ptr ())
getMemoryOutputStreamData obj = liftIO $ getObjectPropertyPtr obj "data"
constructMemoryOutputStreamData :: (Ptr ()) -> IO ([Char], GValue)
constructMemoryOutputStreamData val = constructObjectPropertyPtr "data" val
data MemoryOutputStreamDataPropertyInfo
instance AttrInfo MemoryOutputStreamDataPropertyInfo where
type AttrAllowedOps MemoryOutputStreamDataPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint MemoryOutputStreamDataPropertyInfo = (~) (Ptr ())
type AttrBaseTypeConstraint MemoryOutputStreamDataPropertyInfo = MemoryOutputStreamK
type AttrGetType MemoryOutputStreamDataPropertyInfo = (Ptr ())
type AttrLabel MemoryOutputStreamDataPropertyInfo = "MemoryOutputStream::data"
attrGet _ = getMemoryOutputStreamData
attrSet _ = undefined
attrConstruct _ = constructMemoryOutputStreamData
-- VVV Prop "data-size"
-- Type: TBasicType TUInt64
-- Flags: [PropertyReadable]
getMemoryOutputStreamDataSize :: (MonadIO m, MemoryOutputStreamK o) => o -> m Word64
getMemoryOutputStreamDataSize obj = liftIO $ getObjectPropertyUInt64 obj "data-size"
data MemoryOutputStreamDataSizePropertyInfo
instance AttrInfo MemoryOutputStreamDataSizePropertyInfo where
type AttrAllowedOps MemoryOutputStreamDataSizePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint MemoryOutputStreamDataSizePropertyInfo = (~) ()
type AttrBaseTypeConstraint MemoryOutputStreamDataSizePropertyInfo = MemoryOutputStreamK
type AttrGetType MemoryOutputStreamDataSizePropertyInfo = Word64
type AttrLabel MemoryOutputStreamDataSizePropertyInfo = "MemoryOutputStream::data-size"
attrGet _ = getMemoryOutputStreamDataSize
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "size"
-- Type: TBasicType TUInt64
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getMemoryOutputStreamSize :: (MonadIO m, MemoryOutputStreamK o) => o -> m Word64
getMemoryOutputStreamSize obj = liftIO $ getObjectPropertyUInt64 obj "size"
constructMemoryOutputStreamSize :: Word64 -> IO ([Char], GValue)
constructMemoryOutputStreamSize val = constructObjectPropertyUInt64 "size" val
data MemoryOutputStreamSizePropertyInfo
instance AttrInfo MemoryOutputStreamSizePropertyInfo where
type AttrAllowedOps MemoryOutputStreamSizePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint MemoryOutputStreamSizePropertyInfo = (~) Word64
type AttrBaseTypeConstraint MemoryOutputStreamSizePropertyInfo = MemoryOutputStreamK
type AttrGetType MemoryOutputStreamSizePropertyInfo = Word64
type AttrLabel MemoryOutputStreamSizePropertyInfo = "MemoryOutputStream::size"
attrGet _ = getMemoryOutputStreamSize
attrSet _ = undefined
attrConstruct _ = constructMemoryOutputStreamSize
type instance AttributeList MemoryOutputStream = MemoryOutputStreamAttributeList
type MemoryOutputStreamAttributeList = ('[ '("data", MemoryOutputStreamDataPropertyInfo), '("data-size", MemoryOutputStreamDataSizePropertyInfo), '("size", MemoryOutputStreamSizePropertyInfo)] :: [(Symbol, *)])
type instance SignalList MemoryOutputStream = MemoryOutputStreamSignalList
type MemoryOutputStreamSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method MemoryOutputStream::new_resizable
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gio" "MemoryOutputStream"
-- throws : False
-- Skip return : False
foreign import ccall "g_memory_output_stream_new_resizable" g_memory_output_stream_new_resizable ::
IO (Ptr MemoryOutputStream)
memoryOutputStreamNewResizable ::
(MonadIO m) =>
m MemoryOutputStream
memoryOutputStreamNewResizable = liftIO $ do
result <- g_memory_output_stream_new_resizable
checkUnexpectedReturnNULL "g_memory_output_stream_new_resizable" result
result' <- (wrapObject MemoryOutputStream) result
return result'
-- method MemoryOutputStream::get_data
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_memory_output_stream_get_data" g_memory_output_stream_get_data ::
Ptr MemoryOutputStream -> -- _obj : TInterface "Gio" "MemoryOutputStream"
IO ()
memoryOutputStreamGetData ::
(MonadIO m, MemoryOutputStreamK a) =>
a -> -- _obj
m ()
memoryOutputStreamGetData _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_memory_output_stream_get_data _obj'
touchManagedPtr _obj
return ()
-- method MemoryOutputStream::get_data_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_memory_output_stream_get_data_size" g_memory_output_stream_get_data_size ::
Ptr MemoryOutputStream -> -- _obj : TInterface "Gio" "MemoryOutputStream"
IO Word64
memoryOutputStreamGetDataSize ::
(MonadIO m, MemoryOutputStreamK a) =>
a -> -- _obj
m Word64
memoryOutputStreamGetDataSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_memory_output_stream_get_data_size _obj'
touchManagedPtr _obj
return result
-- method MemoryOutputStream::get_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_memory_output_stream_get_size" g_memory_output_stream_get_size ::
Ptr MemoryOutputStream -> -- _obj : TInterface "Gio" "MemoryOutputStream"
IO Word64
memoryOutputStreamGetSize ::
(MonadIO m, MemoryOutputStreamK a) =>
a -> -- _obj
m Word64
memoryOutputStreamGetSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_memory_output_stream_get_size _obj'
touchManagedPtr _obj
return result
-- method MemoryOutputStream::steal_as_bytes
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GLib" "Bytes"
-- throws : False
-- Skip return : False
foreign import ccall "g_memory_output_stream_steal_as_bytes" g_memory_output_stream_steal_as_bytes ::
Ptr MemoryOutputStream -> -- _obj : TInterface "Gio" "MemoryOutputStream"
IO (Ptr GLib.Bytes)
memoryOutputStreamStealAsBytes ::
(MonadIO m, MemoryOutputStreamK a) =>
a -> -- _obj
m GLib.Bytes
memoryOutputStreamStealAsBytes _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_memory_output_stream_steal_as_bytes _obj'
checkUnexpectedReturnNULL "g_memory_output_stream_steal_as_bytes" result
result' <- (wrapBoxed GLib.Bytes) result
touchManagedPtr _obj
return result'
-- method MemoryOutputStream::steal_data
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "MemoryOutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_memory_output_stream_steal_data" g_memory_output_stream_steal_data ::
Ptr MemoryOutputStream -> -- _obj : TInterface "Gio" "MemoryOutputStream"
IO ()
memoryOutputStreamStealData ::
(MonadIO m, MemoryOutputStreamK a) =>
a -> -- _obj
m ()
memoryOutputStreamStealData _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_memory_output_stream_steal_data _obj'
touchManagedPtr _obj
return ()