gi-gio-2.0.18: Gio bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.FileOutputStream

Contents

Description

GFileOutputStream provides output streams that write their content to a file.

GFileOutputStream implements Seekable, which allows the output stream to jump to arbitrary positions in the file and to truncate the file, provided the filesystem of the file supports these operations.

To find the position of a file output stream, use seekableTell. To find out if a file output stream supports seeking, use seekableCanSeek.To position a file output stream, use seekableSeek. To find out if a file output stream supports truncating, use seekableCanTruncate. To truncate a file output stream, use seekableTruncate.

Synopsis

Exported types

class GObject o => IsFileOutputStream o Source #

Type class for types which can be safely cast to FileOutputStream, for instance with toFileOutputStream.

toFileOutputStream :: (MonadIO m, IsFileOutputStream o) => o -> m FileOutputStream Source #

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

Methods

getEtag

fileOutputStreamGetEtag Source #

Arguments

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

stream: a FileOutputStream.

-> m Text

Returns: the entity tag for the stream.

Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing.

queryInfo

fileOutputStreamQueryInfo Source #

Arguments

:: (HasCallStack, MonadIO m, IsFileOutputStream a, IsCancellable b) 
=> a

stream: a FileOutputStream.

-> Text

attributes: a file attribute query string.

-> Maybe b

cancellable: optional Cancellable object, Nothing to ignore.

-> m FileInfo

Returns: a FileInfo for the stream, or Nothing on error. (Can throw GError)

Queries a file output stream for the given attributes. This function blocks while querying the stream. For the asynchronous version of this function, see fileOutputStreamQueryInfoAsync. While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with IOErrorEnumPending.

Can fail if the stream was already closed (with error being set to IOErrorEnumClosed), the stream has pending operations (with error being set to IOErrorEnumPending), or if querying info is not supported for the stream's interface (with error being set to IOErrorEnumNotSupported). In all cases of failure, Nothing will be returned.

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, and Nothing will be returned.

queryInfoAsync

fileOutputStreamQueryInfoAsync Source #

Arguments

:: (HasCallStack, MonadIO m, IsFileOutputStream a, IsCancellable b) 
=> a

stream: a FileOutputStream.

-> Text

attributes: a file attribute query string.

-> Int32

ioPriority: the [I/O priority][gio-GIOScheduler] of the request

-> Maybe b

cancellable: optional Cancellable object, Nothing to ignore.

-> Maybe AsyncReadyCallback

callback: callback to call when the request is satisfied

-> m () 

Asynchronously queries the stream for a FileInfo. When completed, callback will be called with a AsyncResult which can be used to finish the operation with fileOutputStreamQueryInfoFinish.

For the synchronous version of this function, see fileOutputStreamQueryInfo.

queryInfoFinish

fileOutputStreamQueryInfoFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsFileOutputStream a, IsAsyncResult b) 
=> a

stream: a FileOutputStream.

-> b

result: a AsyncResult.

-> m FileInfo

Returns: A FileInfo for the finished query. (Can throw GError)

Finalizes the asynchronous query started by fileOutputStreamQueryInfoAsync.