gi-glib-2.0.26: GLib bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GLib.Structs.SourceFuncs

Description

The GSourceFuncs struct contains a table of functions used to handle event sources in a generic manner.

For idle sources, the prepare and check functions always return True to indicate that the source is always ready to be processed. The prepare function also returns a timeout value of 0 to ensure that the poll() call doesn't block (since that would be time wasted which could have been spent running the idle function).

For timeout sources, the prepare and check functions both return True if the timeout interval has expired. The prepare function also returns a timeout value to ensure that the poll() call doesn't block too long and miss the next timeout.

For file descriptor sources, the prepare function typically returns False, since it must wait until poll() has been called before it knows whether any events need to be processed. It sets the returned timeout to -1 to indicate that it doesn't mind how long the poll() call blocks. In the check function, it tests the results of the poll() call to see if the required condition has been met, and returns True if so.

Synopsis

Exported types

newtype SourceFuncs Source #

Memory-managed wrapper type.

newZeroSourceFuncs :: MonadIO m => m SourceFuncs Source #

Construct a SourceFuncs struct initialized to zero.

Methods

Properties

check

No description available in the introspection data.

clearSourceFuncsCheck :: MonadIO m => SourceFuncs -> m () Source #

Set the value of the “check” field to Nothing. When overloading is enabled, this is equivalent to

clear #check

getSourceFuncsCheck :: MonadIO m => SourceFuncs -> m (Maybe SourceFuncsCheckFieldCallback) Source #

Get the value of the “check” field. When overloading is enabled, this is equivalent to

get sourceFuncs #check

setSourceFuncsCheck :: MonadIO m => SourceFuncs -> FunPtr C_SourceFuncsCheckFieldCallback -> m () Source #

Set the value of the “check” field. When overloading is enabled, this is equivalent to

set sourceFuncs [ #check := value ]

finalize

No description available in the introspection data.

clearSourceFuncsFinalize :: MonadIO m => SourceFuncs -> m () Source #

Set the value of the “finalize” field to Nothing. When overloading is enabled, this is equivalent to

clear #finalize

getSourceFuncsFinalize :: MonadIO m => SourceFuncs -> m (Maybe SourceFuncsFinalizeFieldCallback) Source #

Get the value of the “finalize” field. When overloading is enabled, this is equivalent to

get sourceFuncs #finalize

setSourceFuncsFinalize :: MonadIO m => SourceFuncs -> FunPtr C_SourceFuncsFinalizeFieldCallback -> m () Source #

Set the value of the “finalize” field. When overloading is enabled, this is equivalent to

set sourceFuncs [ #finalize := value ]

prepare

No description available in the introspection data.

clearSourceFuncsPrepare :: MonadIO m => SourceFuncs -> m () Source #

Set the value of the “prepare” field to Nothing. When overloading is enabled, this is equivalent to

clear #prepare

getSourceFuncsPrepare :: MonadIO m => SourceFuncs -> m (Maybe SourceFuncsPrepareFieldCallback) Source #

Get the value of the “prepare” field. When overloading is enabled, this is equivalent to

get sourceFuncs #prepare

setSourceFuncsPrepare :: MonadIO m => SourceFuncs -> FunPtr C_SourceFuncsPrepareFieldCallback -> m () Source #

Set the value of the “prepare” field. When overloading is enabled, this is equivalent to

set sourceFuncs [ #prepare := value ]