gi-gio-2.0.19: Gio bindings

Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com)
Safe Haskell | None
Language | Haskell2010

GI.Gio.Objects.MemoryInputStream

Contents

- Exported types
- Methods
  - addBytes
  - addData
  - new
  - newFromBytes
  - newFromData

Description

`MemoryInputStream` is a class for using arbitrary memory chunks as input for GIO streaming input operations.

As of GLib 2.34, `MemoryInputStream` implements `PollableInputStream`.

Synopsis

- newtype MemoryInputStream = MemoryInputStream (ManagedPtr MemoryInputStream)
- class GObject o => IsMemoryInputStream o
- toMemoryInputStream :: (MonadIO m, IsMemoryInputStream o) => o -> m MemoryInputStream
- noMemoryInputStream :: Maybe MemoryInputStream
- memoryInputStreamAddBytes :: (HasCallStack, MonadIO m, IsMemoryInputStream a) => a -> Bytes -> m ()
- memoryInputStreamAddData :: (HasCallStack, MonadIO m, IsMemoryInputStream a) => a -> ByteString -> Maybe DestroyNotify -> m ()
- memoryInputStreamNew :: (HasCallStack, MonadIO m) => m MemoryInputStream
- memoryInputStreamNewFromBytes :: (HasCallStack, MonadIO m) => Bytes -> m MemoryInputStream
- memoryInputStreamNewFromData :: (HasCallStack, MonadIO m) => ByteString -> Maybe DestroyNotify -> m MemoryInputStream

# Exported types

newtype MemoryInputStream Source #

Memory-managed wrapper type.

Constructors

MemoryInputStream (ManagedPtr MemoryInputStream) |

Instances

GObject MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream Methods gobjectType :: MemoryInputStream -> IO GType Source #
IsObject MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream
IsPollableInputStream MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream
IsSeekable MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream
IsInputStream MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream
IsMemoryInputStream MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream

class GObject o => IsMemoryInputStream o Source #

Type class for types which can be safely cast to `MemoryInputStream`, for instance with `toMemoryInputStream`.

Instances

(GObject a, (UnknownAncestorError MemoryInputStream a :: Constraint)) => IsMemoryInputStream a Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream
IsMemoryInputStream MemoryInputStream Source # |
Instance details Defined in GI.Gio.Objects.MemoryInputStream

toMemoryInputStream :: (MonadIO m, IsMemoryInputStream o) => o -> m MemoryInputStream Source #

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

noMemoryInputStream :: Maybe MemoryInputStream Source #

A convenience alias for `Nothing` :: `Maybe` `MemoryInputStream`.

# Methods

## addBytes

memoryInputStreamAddBytes Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryInputStream a) |
=> a | `stream`: a `MemoryInputStream`
-> Bytes | `bytes`: input data
-> m () |

Appends `bytes` to data that can be read from the input stream.

Since: 2.34

## addData

memoryInputStreamAddData Source #

Arguments

:: (HasCallStack, MonadIO m, IsMemoryInputStream a) |
=> a | `stream`: a `MemoryInputStream`
-> ByteString | `data`: input data
-> Maybe DestroyNotify | `destroy`: function that is called to free `data`, or `Nothing`
-> m () |

Appends `data` to data that can be read from the input stream

## new

memoryInputStreamNew Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> m MemoryInputStream | Returns: a new `InputStream`

Creates a new empty `MemoryInputStream`.

## newFromBytes

memoryInputStreamNewFromBytes Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Bytes | `bytes`: a `Bytes`
-> m MemoryInputStream | Returns: new `InputStream` read from `bytes`

Creates a new `MemoryInputStream` with data from the given `bytes`.

Since: 2.34

## newFromData

memoryInputStreamNewFromData Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> ByteString | `data`: input data
-> Maybe DestroyNotify | `destroy`: function that is called to free `data`, or `Nothing`
-> m MemoryInputStream | Returns: new `InputStream` read from `data` of `len` bytes.

Creates a new `MemoryInputStream` with data in memory of a given size.