haskell-gi-base-0.24.4: Foundation for libraries generated by haskell-gi

Safe HaskellNone
LanguageHaskell2010

Data.GI.Base.GClosure

Description

Some helper functions for dealing with GClosures.

Synopsis

Documentation

newtype GClosure a Source #

The basic type. This corresponds to a wrapped GClosure on the C side, which is a boxed object.

Constructors

GClosure (ManagedPtr (GClosure a)) 
Instances
HasParentTypes (GClosure a) Source # 
Instance details
GBoxed (GClosure a) Source #

GClosures are registered as boxed in the GLib type system.

Instance details
TypedObject (GClosure a) Source #

Find the associated GType for the given closure.

Instance details
type ParentTypes (GClosure a) Source # 
Instance details
type ParentTypes (GClosure a) = ([] :: [*])

newGClosure :: MonadIO m => FunPtr a -> m (GClosure a) Source #

Create a new GClosure holding the given FunPtr. Note that after calling this the FunPtr will be freed whenever the GClosure is garbage collected, so it is generally not safe to refer to the generated FunPtr after this function returns.

wrapGClosurePtr :: Ptr (GClosure a) -> IO (GClosure a) Source #

Take ownership of a passed in Ptr to a GClosure.

newGClosureFromPtr :: Ptr (GClosure a) -> IO (GClosure a) Source #

Construct a Haskell wrapper for the GClosure, without assuming ownership.

noGClosure :: Maybe (GClosure a) Source #

A convenience alias for Nothing :: Maybe (GClosure a).

unrefGClosure :: (HasCallStack, MonadIO m) => GClosure a -> m () Source #

Decrease the reference count of the given GClosure. If the reference count reaches 0 the memory will be released.

disownGClosure :: GClosure a -> IO (Ptr (GClosure a)) Source #

Disown (that is, remove from te purview of the Haskell Garbage Collector) the given GClosure.