{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.MemoryOutputStream
(
MemoryOutputStream(..) ,
IsMemoryOutputStream ,
toMemoryOutputStream ,
#if defined(ENABLE_OVERLOADING)
ResolveMemoryOutputStreamMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamGetDataMethodInfo ,
#endif
memoryOutputStreamGetData ,
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamGetDataSizeMethodInfo ,
#endif
memoryOutputStreamGetDataSize ,
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamGetSizeMethodInfo ,
#endif
memoryOutputStreamGetSize ,
memoryOutputStreamNewResizable ,
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamStealAsBytesMethodInfo,
#endif
memoryOutputStreamStealAsBytes ,
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamStealDataMethodInfo ,
#endif
memoryOutputStreamStealData ,
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamDataPropertyInfo ,
#endif
constructMemoryOutputStreamData ,
getMemoryOutputStreamData ,
#if defined(ENABLE_OVERLOADING)
memoryOutputStreamData ,
#endif
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamDataSizePropertyInfo ,
#endif
getMemoryOutputStreamDataSize ,
#if defined(ENABLE_OVERLOADING)
memoryOutputStreamDataSize ,
#endif
#if defined(ENABLE_OVERLOADING)
MemoryOutputStreamSizePropertyInfo ,
#endif
constructMemoryOutputStreamSize ,
getMemoryOutputStreamSize ,
#if defined(ENABLE_OVERLOADING)
memoryOutputStreamSize ,
#endif
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Enums as GLib.Enums
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.PollFD as GLib.PollFD
import qualified GI.GLib.Structs.Source as GLib.Source
import qualified GI.GObject.Callbacks as GObject.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import {-# SOURCE #-} qualified GI.Gio.Enums as Gio.Enums
import {-# SOURCE #-} qualified GI.Gio.Flags as Gio.Flags
import {-# SOURCE #-} qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import {-# SOURCE #-} qualified GI.Gio.Interfaces.PollableOutputStream as Gio.PollableOutputStream
import {-# SOURCE #-} qualified GI.Gio.Interfaces.Seekable as Gio.Seekable
import {-# SOURCE #-} qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import {-# SOURCE #-} qualified GI.Gio.Objects.InputStream as Gio.InputStream
import {-# SOURCE #-} qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
import {-# SOURCE #-} qualified GI.Gio.Structs.OutputVector as Gio.OutputVector
#else
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Interfaces.PollableOutputStream as Gio.PollableOutputStream
import {-# SOURCE #-} qualified GI.Gio.Interfaces.Seekable as Gio.Seekable
import {-# SOURCE #-} qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
#endif
newtype MemoryOutputStream = MemoryOutputStream (SP.ManagedPtr MemoryOutputStream)
deriving (MemoryOutputStream -> MemoryOutputStream -> Bool
(MemoryOutputStream -> MemoryOutputStream -> Bool)
-> (MemoryOutputStream -> MemoryOutputStream -> Bool)
-> Eq MemoryOutputStream
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MemoryOutputStream -> MemoryOutputStream -> Bool
== :: MemoryOutputStream -> MemoryOutputStream -> Bool
$c/= :: MemoryOutputStream -> MemoryOutputStream -> Bool
/= :: MemoryOutputStream -> MemoryOutputStream -> Bool
Eq)
instance SP.ManagedPtrNewtype MemoryOutputStream where
toManagedPtr :: MemoryOutputStream -> ManagedPtr MemoryOutputStream
toManagedPtr (MemoryOutputStream ManagedPtr MemoryOutputStream
p) = ManagedPtr MemoryOutputStream
p
foreign import ccall "g_memory_output_stream_get_type"
c_g_memory_output_stream_get_type :: IO B.Types.GType
instance B.Types.TypedObject MemoryOutputStream where
glibType :: IO GType
glibType = IO GType
c_g_memory_output_stream_get_type
instance B.Types.GObject MemoryOutputStream
class (SP.GObject o, O.IsDescendantOf MemoryOutputStream o) => IsMemoryOutputStream o
instance (SP.GObject o, O.IsDescendantOf MemoryOutputStream o) => IsMemoryOutputStream o
instance O.HasParentTypes MemoryOutputStream
type instance O.ParentTypes MemoryOutputStream = '[Gio.OutputStream.OutputStream, GObject.Object.Object, Gio.PollableOutputStream.PollableOutputStream, Gio.Seekable.Seekable]
toMemoryOutputStream :: (MIO.MonadIO m, IsMemoryOutputStream o) => o -> m MemoryOutputStream
toMemoryOutputStream :: forall (m :: * -> *) o.
(MonadIO m, IsMemoryOutputStream o) =>
o -> m MemoryOutputStream
toMemoryOutputStream = IO MemoryOutputStream -> m MemoryOutputStream
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO MemoryOutputStream -> m MemoryOutputStream)
-> (o -> IO MemoryOutputStream) -> o -> m MemoryOutputStream
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr MemoryOutputStream -> MemoryOutputStream)
-> o -> IO MemoryOutputStream
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr MemoryOutputStream -> MemoryOutputStream
MemoryOutputStream
instance B.GValue.IsGValue (Maybe MemoryOutputStream) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_memory_output_stream_get_type
gvalueSet_ :: Ptr GValue -> Maybe MemoryOutputStream -> IO ()
gvalueSet_ Ptr GValue
gv Maybe MemoryOutputStream
P.Nothing = Ptr GValue -> Ptr MemoryOutputStream -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr MemoryOutputStream
forall a. Ptr a
FP.nullPtr :: FP.Ptr MemoryOutputStream)
gvalueSet_ Ptr GValue
gv (P.Just MemoryOutputStream
obj) = MemoryOutputStream -> (Ptr MemoryOutputStream -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr MemoryOutputStream
obj (Ptr GValue -> Ptr MemoryOutputStream -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe MemoryOutputStream)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr MemoryOutputStream)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr MemoryOutputStream)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject MemoryOutputStream ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveMemoryOutputStreamMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveMemoryOutputStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveMemoryOutputStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveMemoryOutputStreamMethod "canPoll" o = Gio.PollableOutputStream.PollableOutputStreamCanPollMethodInfo
ResolveMemoryOutputStreamMethod "canSeek" o = Gio.Seekable.SeekableCanSeekMethodInfo
ResolveMemoryOutputStreamMethod "canTruncate" o = Gio.Seekable.SeekableCanTruncateMethodInfo
ResolveMemoryOutputStreamMethod "clearPending" o = Gio.OutputStream.OutputStreamClearPendingMethodInfo
ResolveMemoryOutputStreamMethod "close" o = Gio.OutputStream.OutputStreamCloseMethodInfo
ResolveMemoryOutputStreamMethod "closeAsync" o = Gio.OutputStream.OutputStreamCloseAsyncMethodInfo
ResolveMemoryOutputStreamMethod "closeFinish" o = Gio.OutputStream.OutputStreamCloseFinishMethodInfo
ResolveMemoryOutputStreamMethod "createSource" o = Gio.PollableOutputStream.PollableOutputStreamCreateSourceMethodInfo
ResolveMemoryOutputStreamMethod "flush" o = Gio.OutputStream.OutputStreamFlushMethodInfo
ResolveMemoryOutputStreamMethod "flushAsync" o = Gio.OutputStream.OutputStreamFlushAsyncMethodInfo
ResolveMemoryOutputStreamMethod "flushFinish" o = Gio.OutputStream.OutputStreamFlushFinishMethodInfo
ResolveMemoryOutputStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveMemoryOutputStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveMemoryOutputStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveMemoryOutputStreamMethod "hasPending" o = Gio.OutputStream.OutputStreamHasPendingMethodInfo
ResolveMemoryOutputStreamMethod "isClosed" o = Gio.OutputStream.OutputStreamIsClosedMethodInfo
ResolveMemoryOutputStreamMethod "isClosing" o = Gio.OutputStream.OutputStreamIsClosingMethodInfo
ResolveMemoryOutputStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveMemoryOutputStreamMethod "isWritable" o = Gio.PollableOutputStream.PollableOutputStreamIsWritableMethodInfo
ResolveMemoryOutputStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveMemoryOutputStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveMemoryOutputStreamMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveMemoryOutputStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveMemoryOutputStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveMemoryOutputStreamMethod "seek" o = Gio.Seekable.SeekableSeekMethodInfo
ResolveMemoryOutputStreamMethod "splice" o = Gio.OutputStream.OutputStreamSpliceMethodInfo
ResolveMemoryOutputStreamMethod "spliceAsync" o = Gio.OutputStream.OutputStreamSpliceAsyncMethodInfo
ResolveMemoryOutputStreamMethod "spliceFinish" o = Gio.OutputStream.OutputStreamSpliceFinishMethodInfo
ResolveMemoryOutputStreamMethod "stealAsBytes" o = MemoryOutputStreamStealAsBytesMethodInfo
ResolveMemoryOutputStreamMethod "stealData" o = MemoryOutputStreamStealDataMethodInfo
ResolveMemoryOutputStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveMemoryOutputStreamMethod "tell" o = Gio.Seekable.SeekableTellMethodInfo
ResolveMemoryOutputStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveMemoryOutputStreamMethod "truncate" o = Gio.Seekable.SeekableTruncateMethodInfo
ResolveMemoryOutputStreamMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveMemoryOutputStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveMemoryOutputStreamMethod "write" o = Gio.OutputStream.OutputStreamWriteMethodInfo
ResolveMemoryOutputStreamMethod "writeAll" o = Gio.OutputStream.OutputStreamWriteAllMethodInfo
ResolveMemoryOutputStreamMethod "writeAllAsync" o = Gio.OutputStream.OutputStreamWriteAllAsyncMethodInfo
ResolveMemoryOutputStreamMethod "writeAllFinish" o = Gio.OutputStream.OutputStreamWriteAllFinishMethodInfo
ResolveMemoryOutputStreamMethod "writeAsync" o = Gio.OutputStream.OutputStreamWriteAsyncMethodInfo
ResolveMemoryOutputStreamMethod "writeBytes" o = Gio.OutputStream.OutputStreamWriteBytesMethodInfo
ResolveMemoryOutputStreamMethod "writeBytesAsync" o = Gio.OutputStream.OutputStreamWriteBytesAsyncMethodInfo
ResolveMemoryOutputStreamMethod "writeBytesFinish" o = Gio.OutputStream.OutputStreamWriteBytesFinishMethodInfo
ResolveMemoryOutputStreamMethod "writeFinish" o = Gio.OutputStream.OutputStreamWriteFinishMethodInfo
ResolveMemoryOutputStreamMethod "writeNonblocking" o = Gio.PollableOutputStream.PollableOutputStreamWriteNonblockingMethodInfo
ResolveMemoryOutputStreamMethod "writev" o = Gio.OutputStream.OutputStreamWritevMethodInfo
ResolveMemoryOutputStreamMethod "writevAll" o = Gio.OutputStream.OutputStreamWritevAllMethodInfo
ResolveMemoryOutputStreamMethod "writevAllAsync" o = Gio.OutputStream.OutputStreamWritevAllAsyncMethodInfo
ResolveMemoryOutputStreamMethod "writevAllFinish" o = Gio.OutputStream.OutputStreamWritevAllFinishMethodInfo
ResolveMemoryOutputStreamMethod "writevAsync" o = Gio.OutputStream.OutputStreamWritevAsyncMethodInfo
ResolveMemoryOutputStreamMethod "writevFinish" o = Gio.OutputStream.OutputStreamWritevFinishMethodInfo
ResolveMemoryOutputStreamMethod "writevNonblocking" o = Gio.PollableOutputStream.PollableOutputStreamWritevNonblockingMethodInfo
ResolveMemoryOutputStreamMethod "getData" o = MemoryOutputStreamGetDataMethodInfo
ResolveMemoryOutputStreamMethod "getDataSize" o = MemoryOutputStreamGetDataSizeMethodInfo
ResolveMemoryOutputStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveMemoryOutputStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveMemoryOutputStreamMethod "getSize" o = MemoryOutputStreamGetSizeMethodInfo
ResolveMemoryOutputStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveMemoryOutputStreamMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveMemoryOutputStreamMethod "setPending" o = Gio.OutputStream.OutputStreamSetPendingMethodInfo
ResolveMemoryOutputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveMemoryOutputStreamMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveMemoryOutputStreamMethod t MemoryOutputStream, O.OverloadedMethod info MemoryOutputStream p) => OL.IsLabel t (MemoryOutputStream -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveMemoryOutputStreamMethod t MemoryOutputStream, O.OverloadedMethod info MemoryOutputStream p, R.HasField t MemoryOutputStream p) => R.HasField t MemoryOutputStream p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveMemoryOutputStreamMethod t MemoryOutputStream, O.OverloadedMethodInfo info MemoryOutputStream) => OL.IsLabel t (O.MethodProxy info MemoryOutputStream) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getMemoryOutputStreamData :: (MonadIO m, IsMemoryOutputStream o) => o -> m (Ptr ())
getMemoryOutputStreamData :: forall (m :: * -> *) o.
(MonadIO m, IsMemoryOutputStream o) =>
o -> m (Ptr ())
getMemoryOutputStreamData o
obj = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Ptr ())
forall a b. GObject a => a -> String -> IO (Ptr b)
B.Properties.getObjectPropertyPtr o
obj String
"data"
constructMemoryOutputStreamData :: (IsMemoryOutputStream o, MIO.MonadIO m) => Ptr () -> m (GValueConstruct o)
constructMemoryOutputStreamData :: forall o (m :: * -> *).
(IsMemoryOutputStream o, MonadIO m) =>
Ptr () -> m (GValueConstruct o)
constructMemoryOutputStreamData Ptr ()
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Ptr () -> IO (GValueConstruct o)
forall b o. String -> Ptr b -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyPtr String
"data" Ptr ()
val
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamDataPropertyInfo
instance AttrInfo MemoryOutputStreamDataPropertyInfo where
type AttrAllowedOps MemoryOutputStreamDataPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint MemoryOutputStreamDataPropertyInfo = IsMemoryOutputStream
type AttrSetTypeConstraint MemoryOutputStreamDataPropertyInfo = (~) (Ptr ())
type AttrTransferTypeConstraint MemoryOutputStreamDataPropertyInfo = (~) (Ptr ())
type AttrTransferType MemoryOutputStreamDataPropertyInfo = Ptr ()
type AttrGetType MemoryOutputStreamDataPropertyInfo = (Ptr ())
type AttrLabel MemoryOutputStreamDataPropertyInfo = "data"
type AttrOrigin MemoryOutputStreamDataPropertyInfo = MemoryOutputStream
attrGet = getMemoryOutputStreamData
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructMemoryOutputStreamData
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.data"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#g:attr:data"
})
#endif
getMemoryOutputStreamDataSize :: (MonadIO m, IsMemoryOutputStream o) => o -> m FCT.CULong
getMemoryOutputStreamDataSize :: forall (m :: * -> *) o.
(MonadIO m, IsMemoryOutputStream o) =>
o -> m CULong
getMemoryOutputStreamDataSize o
obj = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ o -> String -> IO CULong
forall a. GObject a => a -> String -> IO CULong
B.Properties.getObjectPropertyULong o
obj String
"data-size"
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamDataSizePropertyInfo
instance AttrInfo MemoryOutputStreamDataSizePropertyInfo where
type AttrAllowedOps MemoryOutputStreamDataSizePropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint MemoryOutputStreamDataSizePropertyInfo = IsMemoryOutputStream
type AttrSetTypeConstraint MemoryOutputStreamDataSizePropertyInfo = (~) ()
type AttrTransferTypeConstraint MemoryOutputStreamDataSizePropertyInfo = (~) ()
type AttrTransferType MemoryOutputStreamDataSizePropertyInfo = ()
type AttrGetType MemoryOutputStreamDataSizePropertyInfo = FCT.CULong
type AttrLabel MemoryOutputStreamDataSizePropertyInfo = "data-size"
type AttrOrigin MemoryOutputStreamDataSizePropertyInfo = MemoryOutputStream
attrGet = getMemoryOutputStreamDataSize
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.dataSize"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#g:attr:dataSize"
})
#endif
getMemoryOutputStreamSize :: (MonadIO m, IsMemoryOutputStream o) => o -> m FCT.CULong
getMemoryOutputStreamSize :: forall (m :: * -> *) o.
(MonadIO m, IsMemoryOutputStream o) =>
o -> m CULong
getMemoryOutputStreamSize o
obj = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ o -> String -> IO CULong
forall a. GObject a => a -> String -> IO CULong
B.Properties.getObjectPropertyULong o
obj String
"size"
constructMemoryOutputStreamSize :: (IsMemoryOutputStream o, MIO.MonadIO m) => FCT.CULong -> m (GValueConstruct o)
constructMemoryOutputStreamSize :: forall o (m :: * -> *).
(IsMemoryOutputStream o, MonadIO m) =>
CULong -> m (GValueConstruct o)
constructMemoryOutputStreamSize CULong
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> CULong -> IO (GValueConstruct o)
forall o. String -> CULong -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyULong String
"size" CULong
val
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamSizePropertyInfo
instance AttrInfo MemoryOutputStreamSizePropertyInfo where
type AttrAllowedOps MemoryOutputStreamSizePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint MemoryOutputStreamSizePropertyInfo = IsMemoryOutputStream
type AttrSetTypeConstraint MemoryOutputStreamSizePropertyInfo = (~) FCT.CULong
type AttrTransferTypeConstraint MemoryOutputStreamSizePropertyInfo = (~) FCT.CULong
type AttrTransferType MemoryOutputStreamSizePropertyInfo = FCT.CULong
type AttrGetType MemoryOutputStreamSizePropertyInfo = FCT.CULong
type AttrLabel MemoryOutputStreamSizePropertyInfo = "size"
type AttrOrigin MemoryOutputStreamSizePropertyInfo = MemoryOutputStream
attrGet = getMemoryOutputStreamSize
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructMemoryOutputStreamSize
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.size"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#g:attr:size"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList MemoryOutputStream
type instance O.AttributeList MemoryOutputStream = MemoryOutputStreamAttributeList
type MemoryOutputStreamAttributeList = ('[ '("data", MemoryOutputStreamDataPropertyInfo), '("dataSize", MemoryOutputStreamDataSizePropertyInfo), '("size", MemoryOutputStreamSizePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
memoryOutputStreamData :: AttrLabelProxy "data"
memoryOutputStreamData = AttrLabelProxy
memoryOutputStreamDataSize :: AttrLabelProxy "dataSize"
memoryOutputStreamDataSize = AttrLabelProxy
memoryOutputStreamSize :: AttrLabelProxy "size"
memoryOutputStreamSize = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList MemoryOutputStream = MemoryOutputStreamSignalList
type MemoryOutputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_memory_output_stream_new_resizable" g_memory_output_stream_new_resizable ::
IO (Ptr MemoryOutputStream)
memoryOutputStreamNewResizable ::
(B.CallStack.HasCallStack, MonadIO m) =>
m MemoryOutputStream
memoryOutputStreamNewResizable :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m MemoryOutputStream
memoryOutputStreamNewResizable = IO MemoryOutputStream -> m MemoryOutputStream
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO MemoryOutputStream -> m MemoryOutputStream)
-> IO MemoryOutputStream -> m MemoryOutputStream
forall a b. (a -> b) -> a -> b
$ do
result <- IO (Ptr MemoryOutputStream)
g_memory_output_stream_new_resizable
checkUnexpectedReturnNULL "memoryOutputStreamNewResizable" result
result' <- (wrapObject MemoryOutputStream) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_memory_output_stream_get_data" g_memory_output_stream_get_data ::
Ptr MemoryOutputStream ->
IO (Ptr ())
memoryOutputStreamGetData ::
(B.CallStack.HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a
-> m (Ptr ())
memoryOutputStreamGetData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a -> m (Ptr ())
memoryOutputStreamGetData a
ostream = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ do
ostream' <- a -> IO (Ptr MemoryOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
ostream
result <- g_memory_output_stream_get_data ostream'
touchManagedPtr ostream
return result
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamGetDataMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m, IsMemoryOutputStream a) => O.OverloadedMethod MemoryOutputStreamGetDataMethodInfo a signature where
overloadedMethod = memoryOutputStreamGetData
instance O.OverloadedMethodInfo MemoryOutputStreamGetDataMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.memoryOutputStreamGetData",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#v:memoryOutputStreamGetData"
})
#endif
foreign import ccall "g_memory_output_stream_get_data_size" g_memory_output_stream_get_data_size ::
Ptr MemoryOutputStream ->
IO FCT.CSize
memoryOutputStreamGetDataSize ::
(B.CallStack.HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a
-> m FCT.CSize
memoryOutputStreamGetDataSize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a -> m CSize
memoryOutputStreamGetDataSize a
ostream = IO CSize -> m CSize
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CSize -> m CSize) -> IO CSize -> m CSize
forall a b. (a -> b) -> a -> b
$ do
ostream' <- a -> IO (Ptr MemoryOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
ostream
result <- g_memory_output_stream_get_data_size ostream'
touchManagedPtr ostream
return result
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamGetDataSizeMethodInfo
instance (signature ~ (m FCT.CSize), MonadIO m, IsMemoryOutputStream a) => O.OverloadedMethod MemoryOutputStreamGetDataSizeMethodInfo a signature where
overloadedMethod = memoryOutputStreamGetDataSize
instance O.OverloadedMethodInfo MemoryOutputStreamGetDataSizeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.memoryOutputStreamGetDataSize",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#v:memoryOutputStreamGetDataSize"
})
#endif
foreign import ccall "g_memory_output_stream_get_size" g_memory_output_stream_get_size ::
Ptr MemoryOutputStream ->
IO FCT.CSize
memoryOutputStreamGetSize ::
(B.CallStack.HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a
-> m FCT.CSize
memoryOutputStreamGetSize :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a -> m CSize
memoryOutputStreamGetSize a
ostream = IO CSize -> m CSize
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CSize -> m CSize) -> IO CSize -> m CSize
forall a b. (a -> b) -> a -> b
$ do
ostream' <- a -> IO (Ptr MemoryOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
ostream
result <- g_memory_output_stream_get_size ostream'
touchManagedPtr ostream
return result
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamGetSizeMethodInfo
instance (signature ~ (m FCT.CSize), MonadIO m, IsMemoryOutputStream a) => O.OverloadedMethod MemoryOutputStreamGetSizeMethodInfo a signature where
overloadedMethod = memoryOutputStreamGetSize
instance O.OverloadedMethodInfo MemoryOutputStreamGetSizeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.memoryOutputStreamGetSize",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#v:memoryOutputStreamGetSize"
})
#endif
foreign import ccall "g_memory_output_stream_steal_as_bytes" g_memory_output_stream_steal_as_bytes ::
Ptr MemoryOutputStream ->
IO (Ptr GLib.Bytes.Bytes)
memoryOutputStreamStealAsBytes ::
(B.CallStack.HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a
-> m GLib.Bytes.Bytes
memoryOutputStreamStealAsBytes :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a -> m Bytes
memoryOutputStreamStealAsBytes a
ostream = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
ostream' <- a -> IO (Ptr MemoryOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
ostream
result <- g_memory_output_stream_steal_as_bytes ostream'
checkUnexpectedReturnNULL "memoryOutputStreamStealAsBytes" result
result' <- (wrapBoxed GLib.Bytes.Bytes) result
touchManagedPtr ostream
return result'
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamStealAsBytesMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m, IsMemoryOutputStream a) => O.OverloadedMethod MemoryOutputStreamStealAsBytesMethodInfo a signature where
overloadedMethod = memoryOutputStreamStealAsBytes
instance O.OverloadedMethodInfo MemoryOutputStreamStealAsBytesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.memoryOutputStreamStealAsBytes",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#v:memoryOutputStreamStealAsBytes"
})
#endif
foreign import ccall "g_memory_output_stream_steal_data" g_memory_output_stream_steal_data ::
Ptr MemoryOutputStream ->
IO (Ptr ())
memoryOutputStreamStealData ::
(B.CallStack.HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a
-> m (Ptr ())
memoryOutputStreamStealData :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsMemoryOutputStream a) =>
a -> m (Ptr ())
memoryOutputStreamStealData a
ostream = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ do
ostream' <- a -> IO (Ptr MemoryOutputStream)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
ostream
result <- g_memory_output_stream_steal_data ostream'
touchManagedPtr ostream
return result
#if defined(ENABLE_OVERLOADING)
data MemoryOutputStreamStealDataMethodInfo
instance (signature ~ (m (Ptr ())), MonadIO m, IsMemoryOutputStream a) => O.OverloadedMethod MemoryOutputStreamStealDataMethodInfo a signature where
overloadedMethod = memoryOutputStreamStealData
instance O.OverloadedMethodInfo MemoryOutputStreamStealDataMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.MemoryOutputStream.memoryOutputStreamStealData",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.35/docs/GI-Gio-Objects-MemoryOutputStream.html#v:memoryOutputStreamStealData"
})
#endif