gi-gio
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.MemoryOutputStream

Description

GMemoryOutputStream is a class for using arbitrary memory chunks as output for GIO streaming output operations.

As of GLib 2.34, GMemoryOutputStream trivially implements PollableOutputStream: it always polls as ready.

Synopsis

Exported types

newtype MemoryOutputStream Source #

Memory-managed wrapper type.

Instances

Instances details
Eq MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

GObject MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

ManagedPtrNewtype MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

TypedObject MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

Methods

glibType :: IO GType #

HasParentTypes MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

HasAttributeList MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

(info ~ ResolveMemoryOutputStreamMethod t MemoryOutputStream, OverloadedMethod info MemoryOutputStream p, HasField t MemoryOutputStream p) => HasField (t :: Symbol) MemoryOutputStream (p :: Type) Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

(info ~ ResolveMemoryOutputStreamMethod t MemoryOutputStream, OverloadedMethodInfo info MemoryOutputStream) => IsLabel t (MethodProxy info MemoryOutputStream) Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

(info ~ ResolveMemoryOutputStreamMethod t MemoryOutputStream, OverloadedMethod info MemoryOutputStream p) => IsLabel t (MemoryOutputStream -> p) Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

IsGValue (Maybe MemoryOutputStream) Source #

Convert MemoryOutputStream to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttributeList MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type ParentTypes MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type SignalList MemoryOutputStream Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

class (GObject o, IsDescendantOf MemoryOutputStream o) => IsMemoryOutputStream o Source #

Type class for types which can be safely cast to MemoryOutputStream, for instance with toMemoryOutputStream.

Instances

Instances details
(GObject o, IsDescendantOf MemoryOutputStream o) => IsMemoryOutputStream o Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

toMemoryOutputStream :: (MonadIO m, IsMemoryOutputStream o) => o -> m MemoryOutputStream Source #

Cast to MemoryOutputStream, for types for which this is known to be safe. For general casts, use castTo.

Methods

type family ResolveMemoryOutputStreamMethod (t :: Symbol) o where ... Source #

Equations

ResolveMemoryOutputStreamMethod "bindProperty" o = ObjectBindPropertyMethodInfo 
ResolveMemoryOutputStreamMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo 
ResolveMemoryOutputStreamMethod "canPoll" o = PollableOutputStreamCanPollMethodInfo 
ResolveMemoryOutputStreamMethod "canSeek" o = SeekableCanSeekMethodInfo 
ResolveMemoryOutputStreamMethod "canTruncate" o = SeekableCanTruncateMethodInfo 
ResolveMemoryOutputStreamMethod "clearPending" o = OutputStreamClearPendingMethodInfo 
ResolveMemoryOutputStreamMethod "close" o = OutputStreamCloseMethodInfo 
ResolveMemoryOutputStreamMethod "closeAsync" o = OutputStreamCloseAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "closeFinish" o = OutputStreamCloseFinishMethodInfo 
ResolveMemoryOutputStreamMethod "createSource" o = PollableOutputStreamCreateSourceMethodInfo 
ResolveMemoryOutputStreamMethod "flush" o = OutputStreamFlushMethodInfo 
ResolveMemoryOutputStreamMethod "flushAsync" o = OutputStreamFlushAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "flushFinish" o = OutputStreamFlushFinishMethodInfo 
ResolveMemoryOutputStreamMethod "forceFloating" o = ObjectForceFloatingMethodInfo 
ResolveMemoryOutputStreamMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo 
ResolveMemoryOutputStreamMethod "getv" o = ObjectGetvMethodInfo 
ResolveMemoryOutputStreamMethod "hasPending" o = OutputStreamHasPendingMethodInfo 
ResolveMemoryOutputStreamMethod "isClosed" o = OutputStreamIsClosedMethodInfo 
ResolveMemoryOutputStreamMethod "isClosing" o = OutputStreamIsClosingMethodInfo 
ResolveMemoryOutputStreamMethod "isFloating" o = ObjectIsFloatingMethodInfo 
ResolveMemoryOutputStreamMethod "isWritable" o = PollableOutputStreamIsWritableMethodInfo 
ResolveMemoryOutputStreamMethod "notify" o = ObjectNotifyMethodInfo 
ResolveMemoryOutputStreamMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo 
ResolveMemoryOutputStreamMethod "ref" o = ObjectRefMethodInfo 
ResolveMemoryOutputStreamMethod "refSink" o = ObjectRefSinkMethodInfo 
ResolveMemoryOutputStreamMethod "runDispose" o = ObjectRunDisposeMethodInfo 
ResolveMemoryOutputStreamMethod "seek" o = SeekableSeekMethodInfo 
ResolveMemoryOutputStreamMethod "splice" o = OutputStreamSpliceMethodInfo 
ResolveMemoryOutputStreamMethod "spliceAsync" o = OutputStreamSpliceAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "spliceFinish" o = OutputStreamSpliceFinishMethodInfo 
ResolveMemoryOutputStreamMethod "stealAsBytes" o = MemoryOutputStreamStealAsBytesMethodInfo 
ResolveMemoryOutputStreamMethod "stealData" o = MemoryOutputStreamStealDataMethodInfo 
ResolveMemoryOutputStreamMethod "stealQdata" o = ObjectStealQdataMethodInfo 
ResolveMemoryOutputStreamMethod "tell" o = SeekableTellMethodInfo 
ResolveMemoryOutputStreamMethod "thawNotify" o = ObjectThawNotifyMethodInfo 
ResolveMemoryOutputStreamMethod "truncate" o = SeekableTruncateMethodInfo 
ResolveMemoryOutputStreamMethod "unref" o = ObjectUnrefMethodInfo 
ResolveMemoryOutputStreamMethod "watchClosure" o = ObjectWatchClosureMethodInfo 
ResolveMemoryOutputStreamMethod "write" o = OutputStreamWriteMethodInfo 
ResolveMemoryOutputStreamMethod "writeAll" o = OutputStreamWriteAllMethodInfo 
ResolveMemoryOutputStreamMethod "writeAllAsync" o = OutputStreamWriteAllAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "writeAllFinish" o = OutputStreamWriteAllFinishMethodInfo 
ResolveMemoryOutputStreamMethod "writeAsync" o = OutputStreamWriteAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "writeBytes" o = OutputStreamWriteBytesMethodInfo 
ResolveMemoryOutputStreamMethod "writeBytesAsync" o = OutputStreamWriteBytesAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "writeBytesFinish" o = OutputStreamWriteBytesFinishMethodInfo 
ResolveMemoryOutputStreamMethod "writeFinish" o = OutputStreamWriteFinishMethodInfo 
ResolveMemoryOutputStreamMethod "writeNonblocking" o = PollableOutputStreamWriteNonblockingMethodInfo 
ResolveMemoryOutputStreamMethod "writev" o = OutputStreamWritevMethodInfo 
ResolveMemoryOutputStreamMethod "writevAll" o = OutputStreamWritevAllMethodInfo 
ResolveMemoryOutputStreamMethod "writevAllAsync" o = OutputStreamWritevAllAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "writevAllFinish" o = OutputStreamWritevAllFinishMethodInfo 
ResolveMemoryOutputStreamMethod "writevAsync" o = OutputStreamWritevAsyncMethodInfo 
ResolveMemoryOutputStreamMethod "writevFinish" o = OutputStreamWritevFinishMethodInfo 
ResolveMemoryOutputStreamMethod "writevNonblocking" o = PollableOutputStreamWritevNonblockingMethodInfo 
ResolveMemoryOutputStreamMethod "getData" o = MemoryOutputStreamGetDataMethodInfo 
ResolveMemoryOutputStreamMethod "getDataSize" o = MemoryOutputStreamGetDataSizeMethodInfo 
ResolveMemoryOutputStreamMethod "getProperty" o = ObjectGetPropertyMethodInfo 
ResolveMemoryOutputStreamMethod "getQdata" o = ObjectGetQdataMethodInfo 
ResolveMemoryOutputStreamMethod "getSize" o = MemoryOutputStreamGetSizeMethodInfo 
ResolveMemoryOutputStreamMethod "setData" o = ObjectSetDataMethodInfo 
ResolveMemoryOutputStreamMethod "setDataFull" o = ObjectSetDataFullMethodInfo 
ResolveMemoryOutputStreamMethod "setPending" o = OutputStreamSetPendingMethodInfo 
ResolveMemoryOutputStreamMethod "setProperty" o = ObjectSetPropertyMethodInfo 
ResolveMemoryOutputStreamMethod l o = MethodResolutionFailed l o :: Type 

getData

memoryOutputStreamGetData Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryOutputStream a) 
=> a

ostream: a MemoryOutputStream

-> m (Ptr ())

Returns: pointer to the stream's data, or Nothing if the data has been stolen

Gets any loaded data from the ostream.

Note that the returned pointer may become invalid on the next write or truncate operation on the stream.

getDataSize

memoryOutputStreamGetDataSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryOutputStream a) 
=> a

ostream: a MemoryOutputStream

-> m CSize

Returns: the number of bytes written to the stream

Returns the number of bytes from the start up to including the last byte written in the stream that has not been truncated away.

Since: 2.18

getSize

memoryOutputStreamGetSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryOutputStream a) 
=> a

ostream: a MemoryOutputStream

-> m CSize

Returns: the number of bytes allocated for the data buffer

Gets the size of the currently allocated data area (available from memoryOutputStreamGetData).

You probably don't want to use this function on resizable streams. See memoryOutputStreamGetDataSize instead. For resizable streams the size returned by this function is an implementation detail and may be change at any time in response to operations on the stream.

If the stream is fixed-sized (ie: no realloc was passed to g_memory_output_stream_new()) then this is the maximum size of the stream and further writes will return IOErrorEnumNoSpace.

In any case, if you want the number of bytes currently written to the stream, use memoryOutputStreamGetDataSize.

newResizable

memoryOutputStreamNewResizable :: (HasCallStack, MonadIO m) => m MemoryOutputStream Source #

Creates a new MemoryOutputStream, using realloc and free for memory allocation.

Since: 2.36

stealAsBytes

memoryOutputStreamStealAsBytes Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryOutputStream a) 
=> a

ostream: a MemoryOutputStream

-> m Bytes

Returns: the stream's data

Returns data from the ostream as a Bytes. ostream must be closed before calling this function.

Since: 2.34

stealData

memoryOutputStreamStealData Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryOutputStream a) 
=> a

ostream: a MemoryOutputStream

-> m (Ptr ())

Returns: the stream's data, or Nothing if it has previously been stolen

Gets any loaded data from the ostream. Ownership of the data is transferred to the caller; when no longer needed it must be freed using the free function set in ostream's MemoryOutputStream:destroy-function property.

ostream must be closed before calling this function.

Since: 2.26

Properties

data

Pointer to buffer where data will be written.

Since: 2.24

data MemoryOutputStreamDataPropertyInfo Source #

Instances

Instances details
AttrInfo MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

Associated Types

type AttrAllowedOps MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrBaseTypeConstraint MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrGetType MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrSetTypeConstraint MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferTypeConstraint MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferType MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrLabel MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrOrigin MemoryOutputStreamDataPropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrAllowedOps MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrBaseTypeConstraint MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrGetType MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrLabel MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrOrigin MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrSetTypeConstraint MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferType MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferTypeConstraint MemoryOutputStreamDataPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

constructMemoryOutputStreamData :: (IsMemoryOutputStream o, MonadIO m) => Ptr () -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “data” property. This is rarely needed directly, but it is used by new.

getMemoryOutputStreamData :: (MonadIO m, IsMemoryOutputStream o) => o -> m (Ptr ()) Source #

Get the value of the “data” property. When overloading is enabled, this is equivalent to

get memoryOutputStream #data

dataSize

Size of data written to the buffer.

Since: 2.24

data MemoryOutputStreamDataSizePropertyInfo Source #

Instances

Instances details
AttrInfo MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

Associated Types

type AttrAllowedOps MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrBaseTypeConstraint MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrGetType MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrSetTypeConstraint MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferTypeConstraint MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferType MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrLabel MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrOrigin MemoryOutputStreamDataSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrAllowedOps MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrBaseTypeConstraint MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrGetType MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrLabel MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrOrigin MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrSetTypeConstraint MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferType MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferTypeConstraint MemoryOutputStreamDataSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

getMemoryOutputStreamDataSize :: (MonadIO m, IsMemoryOutputStream o) => o -> m CULong Source #

Get the value of the “data-size” property. When overloading is enabled, this is equivalent to

get memoryOutputStream #dataSize

size

Current size of the data buffer.

Since: 2.24

data MemoryOutputStreamSizePropertyInfo Source #

Instances

Instances details
AttrInfo MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

Associated Types

type AttrAllowedOps MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrBaseTypeConstraint MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrGetType MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrSetTypeConstraint MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferTypeConstraint MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferType MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrLabel MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrOrigin MemoryOutputStreamSizePropertyInfo 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrAllowedOps MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrBaseTypeConstraint MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrGetType MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrLabel MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrOrigin MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrSetTypeConstraint MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferType MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

type AttrTransferTypeConstraint MemoryOutputStreamSizePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.MemoryOutputStream

constructMemoryOutputStreamSize :: (IsMemoryOutputStream o, MonadIO m) => CULong -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “size” property. This is rarely needed directly, but it is used by new.

getMemoryOutputStreamSize :: (MonadIO m, IsMemoryOutputStream o) => o -> m CULong Source #

Get the value of the “size” property. When overloading is enabled, this is equivalent to

get memoryOutputStream #size