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

Safe HaskellNone
LanguageHaskell98

Data.GI.Base.BasicTypes

Contents

Description

Basic types used in the bindings.

Synopsis

GType related

newtype GType Source

A newtype for use on the haskell side.

Constructors

GType 

type CGType = Word64 Source

A type identifier in the GLib type system. This is the low-level type associated with the representation in memory, when using this on the Haskell side use GType below.

gtypeName :: GType -> IO String Source

Get the name assigned to the given GType.

gtypeInt32 :: GType Source

GType for signed integers.

gtypeUInt32 :: GType Source

GType for unsigned integers.

gtypeInt64 :: GType Source

GType for signed 64 bit integers.

gtypeUInt64 :: GType Source

GType for unsigned 64 bit integers.

gtypeFloat :: GType Source

GType for floating point values.

gtypeDouble :: GType Source

GType for gdouble.

gtypeBoolean :: GType Source

GType corresponding to gboolean.

gtypeGType :: GType Source

GType corresponding to a GType itself.

gtypeStrv :: GType Source

GType for a NULL terminated array of strings.

gtypeBoxed :: GType Source

GType corresponding to a BoxedObject.

gtypeObject :: GType Source

GType corresponding to a GObject.

Memory management

type ForeignPtrNewtype a = Coercible a (ForeignPtr ()) Source

A constraint ensuring that the given type is coercible to a ForeignPtr. It will hold for newtypes of the form

newtype Foo = Foo (ForeignPtr Foo)

which is the typical shape of wrapped GObjects.

class ForeignPtrNewtype a => BoxedObject a where Source

Wrapped boxed structures, identified by their GType.

Minimal complete definition

boxedType

Methods

boxedType :: a -> IO GType Source

class BoxedEnum a where Source

Enums with an associated GType.

Minimal complete definition

boxedEnumType

Methods

boxedEnumType :: a -> IO GType Source

class ForeignPtrNewtype a => GObject a where Source

A wrapped GObject.

Minimal complete definition

gobjectIsInitiallyUnowned, gobjectType

Methods

gobjectIsInitiallyUnowned :: a -> Bool Source

Whether the GObject is a descendent of GInitiallyUnowned.

gobjectType :: a -> IO GType Source

The GType for this object.

data UnexpectedNullPointerReturn Source

A common omission in the introspection data is missing (nullable) annotations for return types, when they clearly are nullable. (A common idiom is "Returns: valid value, or %NULL if something went wrong.")

Haskell wrappers will raise this exception if the return value is an unexpected nullPtr.

Basic GLib / GObject types

newtype GParamSpec Source

A GParamSpec. See Data.GI.Base.GParamSpec for further methods.

data GArray a Source

A GArray. Marshalling for this type is done in Data.GI.Base.BasicConversions, it is mapped to a list on the Haskell side.

Constructors

GArray (Ptr (GArray a)) 

data GPtrArray a Source

A GPtrArray. Marshalling for this type is done in Data.GI.Base.BasicConversions, it is mapped to a list on the Haskell side.

Constructors

GPtrArray (Ptr (GPtrArray a)) 

data GByteArray Source

A GByteArray. Marshalling for this type is done in Data.GI.Base.BasicConversions, it is packed to a ByteString on the Haskell side.

Constructors

GByteArray (Ptr GByteArray) 

data GHashTable a b Source

A GHashTable. It is mapped to a Map on the Haskell side.

Constructors

GHashTable (Ptr (GHashTable a b)) 

data GList a Source

A GList, mapped to a list on the Haskell side. Marshalling is done in Data.GI.Base.BasicConversions.

Constructors

GList (Ptr (GList a)) 

g_list_free :: Ptr (GList a) -> IO () Source

Free the given GList.

data GSList a Source

A GSList, mapped to a list on the Haskell side. Marshalling is done in Data.GI.Base.BasicConversions.

Constructors

GSList (Ptr (GSList a)) 

g_slist_free :: Ptr (GSList a) -> IO () Source

Free the given GSList.

class Enum a => IsGFlag a Source

An enum usable as a flag for a function.

newtype PtrWrapped a Source

Some APIs, such as GHashTable, pass around scalar types wrapped into a pointer. We encode such a type as follows.

Constructors

PtrWrapped 

Fields

type GDestroyNotify a = FunPtr (Ptr a -> IO ()) Source

Destroy the memory associated with a given pointer.