module GI.Gio.Objects.MemoryOutputStream
(
MemoryOutputStream(..) ,
MemoryOutputStreamK ,
toMemoryOutputStream ,
noMemoryOutputStream ,
memoryOutputStreamGetData ,
memoryOutputStreamGetDataSize ,
memoryOutputStreamGetSize ,
memoryOutputStreamNewResizable ,
memoryOutputStreamStealAsBytes ,
memoryOutputStreamStealData ,
MemoryOutputStreamDataPropertyInfo ,
constructMemoryOutputStreamData ,
getMemoryOutputStreamData ,
MemoryOutputStreamDataSizePropertyInfo ,
getMemoryOutputStreamDataSize ,
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
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
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
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, *)])
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'
foreign import ccall "g_memory_output_stream_get_data" g_memory_output_stream_get_data ::
Ptr MemoryOutputStream ->
IO ()
memoryOutputStreamGetData ::
(MonadIO m, MemoryOutputStreamK a) =>
a ->
m ()
memoryOutputStreamGetData _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_memory_output_stream_get_data _obj'
touchManagedPtr _obj
return ()
foreign import ccall "g_memory_output_stream_get_data_size" g_memory_output_stream_get_data_size ::
Ptr MemoryOutputStream ->
IO Word64
memoryOutputStreamGetDataSize ::
(MonadIO m, MemoryOutputStreamK a) =>
a ->
m Word64
memoryOutputStreamGetDataSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_memory_output_stream_get_data_size _obj'
touchManagedPtr _obj
return result
foreign import ccall "g_memory_output_stream_get_size" g_memory_output_stream_get_size ::
Ptr MemoryOutputStream ->
IO Word64
memoryOutputStreamGetSize ::
(MonadIO m, MemoryOutputStreamK a) =>
a ->
m Word64
memoryOutputStreamGetSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_memory_output_stream_get_size _obj'
touchManagedPtr _obj
return result
foreign import ccall "g_memory_output_stream_steal_as_bytes" g_memory_output_stream_steal_as_bytes ::
Ptr MemoryOutputStream ->
IO (Ptr GLib.Bytes)
memoryOutputStreamStealAsBytes ::
(MonadIO m, MemoryOutputStreamK a) =>
a ->
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'
foreign import ccall "g_memory_output_stream_steal_data" g_memory_output_stream_steal_data ::
Ptr MemoryOutputStream ->
IO ()
memoryOutputStreamStealData ::
(MonadIO m, MemoryOutputStreamK a) =>
a ->
m ()
memoryOutputStreamStealData _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_memory_output_stream_steal_data _obj'
touchManagedPtr _obj
return ()