gi-gio-2.0.32: Gio bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | Safe-Inferred
Language | Haskell2010

GI.Gio.Objects.SimpleIOStream

Contents

- Exported types
- Methods
  - new
- Properties
  - inputStream
  - outputStream

Description

`GSimpleIOStream` creates a `IOStream` from an arbitrary `InputStream` and `OutputStream`. This allows any pair of input and output streams to be used with `IOStream` methods.

This is useful when you obtained a `InputStream` and a `OutputStream` by other means, for instance creating them with platform specific methods as `g_unix_input_stream_new()` (from `gio-unix-2.0.pc` / `GioUnix-2.0`), and you want to take advantage of the methods provided by `IOStream`.

Since: 2.44

Synopsis

- newtype SimpleIOStream = SimpleIOStream (ManagedPtr SimpleIOStream)
- class (GObject o, IsDescendantOf SimpleIOStream o) => IsSimpleIOStream o
- toSimpleIOStream :: (MonadIO m, IsSimpleIOStream o) => o -> m SimpleIOStream
- simpleIOStreamNew :: (HasCallStack, MonadIO m, IsInputStream a, IsOutputStream b) => a -> b -> m SimpleIOStream
- constructSimpleIOStreamInputStream :: (IsSimpleIOStream o, MonadIO m, IsInputStream a) => a -> m (GValueConstruct o)
- getSimpleIOStreamInputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe InputStream)
- constructSimpleIOStreamOutputStream :: (IsSimpleIOStream o, MonadIO m, IsOutputStream a) => a -> m (GValueConstruct o)
- getSimpleIOStreamOutputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe OutputStream)

# Exported types

newtype SimpleIOStream Source #

Memory-managed wrapper type.

Constructors

SimpleIOStream (ManagedPtr SimpleIOStream) |

#### Instances

Instances details

Eq SimpleIOStream Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream Methods (==) :: SimpleIOStream -> SimpleIOStream -> Bool Source # (/=) :: SimpleIOStream -> SimpleIOStream -> Bool Source #
GObject SimpleIOStream Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream
ManagedPtrNewtype SimpleIOStream Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream Methods toManagedPtr :: SimpleIOStream -> ManagedPtr SimpleIOStream Source #
TypedObject SimpleIOStream Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream Methods glibType :: IO GType Source #
HasParentTypes SimpleIOStream Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream
IsGValue (Maybe SimpleIOStream) Source # | Convert `SimpleIOStream` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gio.Objects.SimpleIOStream Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe SimpleIOStream -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe SimpleIOStream) Source #
type ParentTypes SimpleIOStream Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream type ParentTypes SimpleIOStream = '[IOStream, Object]

class (GObject o, IsDescendantOf SimpleIOStream o) => IsSimpleIOStream o Source #

Type class for types which can be safely cast to `SimpleIOStream`, for instance with `toSimpleIOStream`.

#### Instances

Instances details

(GObject o, IsDescendantOf SimpleIOStream o) => IsSimpleIOStream o Source # |
Instance details Defined in GI.Gio.Objects.SimpleIOStream

toSimpleIOStream :: (MonadIO m, IsSimpleIOStream o) => o -> m SimpleIOStream Source #

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

# Methods

### Click to display all available methods, including inherited ones

Expand

#### Methods

bindProperty, bindPropertyFull, clearPending, close, closeAsync, closeFinish, forceFloating, freezeNotify, getv, hasPending, isClosed, isFloating, notify, notifyByPspec, ref, refSink, runDispose, spliceAsync, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getData, getInputStream, getOutputStream, getProperty, getQdata.

#### Setters

setData, setDataFull, setPending, setProperty.

## new

simpleIOStreamNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsInputStream a, IsOutputStream b) |
=> a | `inputStream`: a `InputStream`.
-> b | `outputStream`: a `OutputStream`.
-> m SimpleIOStream | Returns: a new `SimpleIOStream` instance.

Creates a new `SimpleIOStream` wrapping `inputStream` and `outputStream`. See also `IOStream`.

Since: 2.44

# Properties

## inputStream

The `InputStream` to read from.

Since: 2.44

constructSimpleIOStreamInputStream :: (IsSimpleIOStream o, MonadIO m, IsInputStream a) => a -> m (GValueConstruct o) Source #

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

getSimpleIOStreamInputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe InputStream) Source #

Get the value of the “`input-stream`” property. When overloading is enabled, this is equivalent to

    get simpleIOStream #inputStream

## outputStream

The `OutputStream` to write to.

Since: 2.44

constructSimpleIOStreamOutputStream :: (IsSimpleIOStream o, MonadIO m, IsOutputStream a) => a -> m (GValueConstruct o) Source #

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

getSimpleIOStreamOutputStream :: (MonadIO m, IsSimpleIOStream o) => o -> m (Maybe OutputStream) Source #

Get the value of the “`output-stream`” property. When overloading is enabled, this is equivalent to

    get simpleIOStream #outputStream