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.UnixInputStream

Contents

- Exported types
- Methods
  - getCloseFd
  - getFd
  - new
  - setCloseFd
- Properties
  - closeFd
  - fd

Description

`GUnixInputStream` implements `InputStream` for reading from a UNIX file descriptor, including asynchronous operations. (If the file descriptor refers to a socket or pipe, this will use `poll()` to do asynchronous I/O. If it refers to a regular file, it will fall back to doing asynchronous I/O in another thread.)

Note that `<gio/gunixinputstream.h>` belongs to the UNIX-specific GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file or the `GioUnix-2.0` GIR namespace when using it.

Synopsis

- newtype UnixInputStream = UnixInputStream (ManagedPtr UnixInputStream)
- class (GObject o, IsDescendantOf UnixInputStream o) => IsUnixInputStream o
- toUnixInputStream :: (MonadIO m, IsUnixInputStream o) => o -> m UnixInputStream
- unixInputStreamGetCloseFd :: (HasCallStack, MonadIO m, IsUnixInputStream a) => a -> m Bool
- unixInputStreamGetFd :: (HasCallStack, MonadIO m, IsUnixInputStream a) => a -> m Int32
- unixInputStreamNew :: (HasCallStack, MonadIO m) => Int32 -> Bool -> m UnixInputStream
- unixInputStreamSetCloseFd :: (HasCallStack, MonadIO m, IsUnixInputStream a) => a -> Bool -> m ()
- constructUnixInputStreamCloseFd :: (IsUnixInputStream o, MonadIO m) => Bool -> m (GValueConstruct o)
- getUnixInputStreamCloseFd :: (MonadIO m, IsUnixInputStream o) => o -> m Bool
- setUnixInputStreamCloseFd :: (MonadIO m, IsUnixInputStream o) => o -> Bool -> m ()
- constructUnixInputStreamFd :: (IsUnixInputStream o, MonadIO m) => Int32 -> m (GValueConstruct o)
- getUnixInputStreamFd :: (MonadIO m, IsUnixInputStream o) => o -> m Int32

# Exported types

newtype UnixInputStream Source #

Memory-managed wrapper type.

Constructors

UnixInputStream (ManagedPtr UnixInputStream) |

#### Instances

Instances details

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

class (GObject o, IsDescendantOf UnixInputStream o) => IsUnixInputStream o Source #

Type class for types which can be safely cast to `UnixInputStream`, for instance with `toUnixInputStream`.

#### Instances

Instances details

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

toUnixInputStream :: (MonadIO m, IsUnixInputStream o) => o -> m UnixInputStream Source #

Cast to `UnixInputStream`, 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, canPoll, clearPending, close, closeAsync, closeFinish, createSource, forceFloating, freezeNotify, getv, hasPending, isClosed, isFloating, isReadable, notify, notifyByPspec, read, readAll, readAllAsync, readAllFinish, readAsync, readBytes, readBytesAsync, readBytesFinish, readFinish, readNonblocking, ref, refSink, runDispose, skip, skipAsync, skipFinish, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getCloseFd, getData, getFd, getProperty, getQdata.

#### Setters

setCloseFd, setData, setDataFull, setPending, setProperty.

## getCloseFd

unixInputStreamGetCloseFd Source #

Arguments

:: (HasCallStack, MonadIO m, IsUnixInputStream a) |
=> a | `stream`: a `UnixInputStream`
-> m Bool | Returns: `True` if the file descriptor is closed when done

Returns whether the file descriptor of `stream` will be closed when the stream is closed.

Since: 2.20

## getFd

unixInputStreamGetFd Source #

Arguments

:: (HasCallStack, MonadIO m, IsUnixInputStream a) |
=> a | `stream`: a `UnixInputStream`
-> m Int32 | Returns: The file descriptor of `stream`

Return the UNIX file descriptor that the stream reads from.

Since: 2.20

## new

unixInputStreamNew Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Int32 | `fd`: a UNIX file descriptor
-> Bool | `closeFd`: `True` to close the file descriptor when done
-> m UnixInputStream | Returns: a new `UnixInputStream`

Creates a new `UnixInputStream` for the given `fd`.

If `closeFd` is `True`, the file descriptor will be closed when the stream is closed.

## setCloseFd

unixInputStreamSetCloseFd Source #

Arguments

:: (HasCallStack, MonadIO m, IsUnixInputStream a) |
=> a | `stream`: a `UnixInputStream`
-> Bool | `closeFd`: `True` to close the file descriptor when done
-> m () |

Sets whether the file descriptor of `stream` shall be closed when the stream is closed.

Since: 2.20

# Properties

## closeFd

Whether to close the file descriptor when the stream is closed.

Since: 2.20

constructUnixInputStreamCloseFd :: (IsUnixInputStream o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

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

getUnixInputStreamCloseFd :: (MonadIO m, IsUnixInputStream o) => o -> m Bool Source #

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

    get unixInputStream #closeFd

setUnixInputStreamCloseFd :: (MonadIO m, IsUnixInputStream o) => o -> Bool -> m () Source #

Set the value of the “`close-fd`” property. When overloading is enabled, this is equivalent to

    set unixInputStream [ #closeFd := value ]

## fd

The file descriptor that the stream reads from.

Since: 2.20

constructUnixInputStreamFd :: (IsUnixInputStream o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

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

getUnixInputStreamFd :: (MonadIO m, IsUnixInputStream o) => o -> m Int32 Source #

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

    get unixInputStream #fd