gi-gio-2.0.38: Gio bindings

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

GI.Gio.Objects.FileInputStream

Contents

- Exported types
- Methods
  - queryInfo
  - queryInfoAsync
  - queryInfoFinish

Description

`GFileInputStream` provides input streams that take their content from a file.

`GFileInputStream` implements `Seekable`, which allows the input stream to jump to arbitrary positions in the file, provided the filesystem of the file allows it. To find the position of a file input stream, use `seekableTell`. To find out if a file input stream supports seeking, use `Seekable`.`can_seek`(). To position a file input stream, use `Seekable`.`seek`().

Synopsis

- newtype FileInputStream = FileInputStream (ManagedPtr FileInputStream)
- class (GObject o, IsDescendantOf FileInputStream o) => IsFileInputStream o
- toFileInputStream :: (MonadIO m, IsFileInputStream o) => o -> m FileInputStream
- fileInputStreamQueryInfo :: (HasCallStack, MonadIO m, IsFileInputStream a, IsCancellable b) => a -> Text -> Maybe b -> m FileInfo
- fileInputStreamQueryInfoAsync :: (HasCallStack, MonadIO m, IsFileInputStream a, IsCancellable b) => a -> Text -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- fileInputStreamQueryInfoFinish :: (HasCallStack, MonadIO m, IsFileInputStream a, IsAsyncResult b) => a -> b -> m FileInfo

# Exported types

newtype FileInputStream Source #

Memory-managed wrapper type.

Constructors

FileInputStream (ManagedPtr FileInputStream) |

#### Instances

Instances details

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

class (GObject o, IsDescendantOf FileInputStream o) => IsFileInputStream o Source #

Type class for types which can be safely cast to `FileInputStream`, for instance with `toFileInputStream`.

#### Instances

Instances details

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

toFileInputStream :: (MonadIO m, IsFileInputStream o) => o -> m FileInputStream Source #

Cast to `FileInputStream`, 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, canSeek, canTruncate, clearPending, close, closeAsync, closeFinish, forceFloating, freezeNotify, getv, hasPending, isClosed, isFloating, notify, notifyByPspec, queryInfo, queryInfoAsync, queryInfoFinish, read, readAll, readAllAsync, readAllFinish, readAsync, readBytes, readBytesAsync, readBytesFinish, readFinish, ref, refSink, runDispose, seek, skip, skipAsync, skipFinish, stealData, stealQdata, tell, thawNotify, truncate, unref, watchClosure.

#### Getters

getData, getProperty, getQdata.

#### Setters

setData, setDataFull, setPending, setProperty.

## queryInfo

fileInputStreamQueryInfo Source #

Arguments

:: (HasCallStack, MonadIO m, IsFileInputStream a, IsCancellable b) |
=> a | `stream`: a `FileInputStream`.
-> Text | `attributes`: a file attribute query string.
-> Maybe b | `cancellable`: optional `Cancellable` object, `Nothing` to ignore.
-> m FileInfo | Returns: a `FileInfo`, or `Nothing` on error. (Can throw `GError`)

Queries a file input stream the given `attributes`. This function blocks while querying the stream. For the asynchronous (non-blocking) version of this function, see `fileInputStreamQueryInfoAsync`. While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with `IOErrorEnumPending`.

## queryInfoAsync

fileInputStreamQueryInfoAsync Source #

Arguments

:: (HasCallStack, MonadIO m, IsFileInputStream a, IsCancellable b) |
=> a | `stream`: a `FileInputStream`.
-> Text | `attributes`: a file attribute query string.
-> Int32 | `ioPriority`: the I/O priority of the request
-> Maybe b | `cancellable`: optional `Cancellable` object, `Nothing` to ignore.
-> Maybe AsyncReadyCallback | `callback`: a `AsyncReadyCallback` to call when the request is satisfied
-> m () |

Queries the stream information asynchronously. When the operation is finished `callback` will be called. You can then call `fileInputStreamQueryInfoFinish` to get the result of the operation.

For the synchronous version of this function, see `fileInputStreamQueryInfo`.

If `cancellable` is not `Nothing`, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error `IOErrorEnumCancelled` will be set

## queryInfoFinish

fileInputStreamQueryInfoFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsFileInputStream a, IsAsyncResult b) |
=> a | `stream`: a `FileInputStream`.
-> b | `result`: a `AsyncResult`.
-> m FileInfo | Returns: `FileInfo`. (Can throw `GError`)

Finishes an asynchronous info query operation.