haskell-gi-base-0.26.0: Foundation for libraries generated by haskell-gi
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.GI.Base.GValue

Synopsis

Constructing GValues

newtype GValue Source #

Haskell-side representation of a GValue.

Constructors

GValue (ManagedPtr GValue) 

Instances

Instances details
GBoxed GValue Source #

GValues are registered as boxed in the GLib type system.

Instance details

Defined in Data.GI.Base.GValue

TypedObject GValue Source #

Find the associated GType for GValue.

Instance details

Defined in Data.GI.Base.GValue

HasParentTypes GValue Source # 
Instance details

Defined in Data.GI.Base.GValue

type ParentTypes GValue Source #

There are no types in the bindings that a GValue can be safely cast to.

Instance details

Defined in Data.GI.Base.GValue

type ParentTypes GValue = '[] :: [Type]

class IsGValue a where Source #

Class for types that can be marshaled back and forth between Haskell values and GValues. These are low-level methods, you might want to use toGValue and fromGValue instead for a higher level interface.

Methods

gvalueGType_ Source #

Arguments

:: IO GType

GType for the GValue containing values of this type.

gvalueSet_ Source #

Arguments

:: Ptr GValue 
-> a 
-> IO ()

Set the GValue to the given Haskell value.

gvalueGet_ Source #

Arguments

:: Ptr GValue 
-> IO a

Get the Haskel value inside the GValue.

Instances

Instances details
IsGValue CInt Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CLong Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CUInt Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue CULong Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Int32 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Int64 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Word32 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Word64 Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue GType Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Bool Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Double Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue Float Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Ptr a) Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (StablePtr a) Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Maybe Text) Source # 
Instance details

Defined in Data.GI.Base.GValue

IsGValue (Maybe String) Source # 
Instance details

Defined in Data.GI.Base.GValue

toGValue :: forall a m. (IsGValue a, MonadIO m) => a -> m GValue Source #

Create a GValue from the given Haskell value.

fromGValue :: (IsGValue a, MonadIO m) => GValue -> m a Source #

Create a Haskell object out of the given GValue.

data GValueConstruct o Source #

A type holding a GValue with an associated label. It is parameterized by a phantom type encoding the target type for the GValue (useful when constructing properties).

newGValue :: GType -> IO GValue Source #

Build a new, empty, GValue of the given type.

buildGValue :: GType -> (Ptr GValue -> a -> IO ()) -> a -> IO GValue Source #

A convenience function for building a new GValue and setting the initial value.

disownGValue :: GValue -> IO (Ptr GValue) Source #

Disown a GValue, i.e. do not unref the underlying object when the Haskell object is garbage collected.

noGValue :: Maybe GValue Source #

A convenience alias for Nothing :: Maybe GValue.

newGValueFromPtr :: Ptr GValue -> IO GValue Source #

Construct a Haskell wrapper for the given GValue, making a copy.

wrapGValuePtr :: Ptr GValue -> IO GValue Source #

Take ownership of a passed in Ptr.

unsetGValue :: Ptr GValue -> IO () Source #

Unset the GValue, freeing all resources associated to it.

gvalueType :: GValue -> IO GType Source #

Return the GType contained by a GValue.

Packing GValues into arrays

packGValueArray :: [GValue] -> IO (Ptr GValue) Source #

Pack the given list of GValues contiguously into a C array

unpackGValueArrayWithLength :: Integral a => a -> Ptr GValue -> IO [GValue] Source #

Unpack an array of contiguous GValues into a list of GValues.

mapGValueArrayWithLength :: Integral a => a -> (Ptr GValue -> IO c) -> Ptr GValue -> IO () Source #

Map over the GValues inside a C array.

Setters and getters

set_object :: GObject a => Ptr GValue -> Ptr a -> IO () Source #

set_boxed :: Ptr GValue -> Ptr a -> IO () Source #

set_stablePtr :: Ptr GValue -> StablePtr a -> IO () Source #

Set the value of GValue containing a StablePtr

get_stablePtr :: Ptr GValue -> IO (StablePtr a) Source #

Get the value of a GValue containing a StablePtr

take_stablePtr :: Ptr GValue -> StablePtr a -> IO () Source #

Like set_stablePtr, but the GValue takes ownership of the StablePtr