| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Data.GI.Base.BasicTypes
Description
Basic types used in the bindings.
- newtype GType = GType {}
- type CGType = Word64
- gtypeName :: GType -> IO String
- gtypeString :: GType
- gtypePointer :: GType
- gtypeInt32 :: GType
- gtypeUInt32 :: GType
- gtypeInt64 :: GType
- gtypeUInt64 :: GType
- gtypeFloat :: GType
- gtypeDouble :: GType
- gtypeBoolean :: GType
- gtypeGType :: GType
- gtypeStrv :: GType
- gtypeBoxed :: GType
- gtypeObject :: GType
- type ForeignPtrNewtype a = Coercible a (ForeignPtr ())
- class ForeignPtrNewtype a => BoxedObject a where
- class BoxedEnum a where
- boxedEnumType :: a -> IO GType
- class ForeignPtrNewtype a => GObject a where
- gobjectIsInitiallyUnowned :: a -> Bool
- gobjectType :: a -> IO GType
- data UnexpectedNullPointerReturn = UnexpectedNullPointerReturn {}
- newtype GVariant = GVariant (ForeignPtr GVariant)
- newtype GParamSpec = GParamSpec (ForeignPtr GParamSpec)
- data GArray a = GArray (Ptr (GArray a))
- data GPtrArray a = GPtrArray (Ptr (GPtrArray a))
- data GByteArray = GByteArray (Ptr GByteArray)
- data GHashTable a b = GHashTable (Ptr (GHashTable a b))
- data GList a = GList (Ptr (GList a))
- g_list_free :: Ptr (GList a) -> IO ()
- data GSList a = GSList (Ptr (GSList a))
- g_slist_free :: Ptr (GSList a) -> IO ()
- class Enum a => IsGFlag a
- newtype PtrWrapped a = PtrWrapped {}
- type GDestroyNotify a = FunPtr (Ptr a -> IO ())
GType related
A newtype for use on the haskell side.
Constructors
| GType | |
Fields | |
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.
GType of strings.
GType of pointers.
GType for signed integers.
GType for unsigned integers.
GType for signed 64 bit integers.
GType for unsigned 64 bit integers.
GType for floating point values.
GType for gdouble.
GType corresponding to gboolean.
GType corresponding to a BoxedObject.
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.
Instances
class BoxedEnum a where Source
Enums with an associated GType.
Methods
boxedEnumType :: a -> IO GType Source
class ForeignPtrNewtype a => GObject a where Source
A wrapped GObject.
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.
Constructors
| UnexpectedNullPointerReturn | |
Fields | |
Basic GLib / GObject types
A GVariant. See Data.GI.Base.GVariant for further methods.
Constructors
| GVariant (ForeignPtr GVariant) |
Instances
newtype GParamSpec Source
A GParamSpec. See Data.GI.Base.GParamSpec for further methods.
Constructors
| GParamSpec (ForeignPtr GParamSpec) |
A GArray. Marshalling for this type is done in Data.GI.Base.BasicConversions, it is mapped to a list on the Haskell side.
A GPtrArray. Marshalling for this type is done in Data.GI.Base.BasicConversions, it is mapped to a list on the Haskell side.
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)) |
A GList, mapped to a list on the Haskell side. Marshalling is done in Data.GI.Base.BasicConversions.
A GSList, mapped to a list on the Haskell side. Marshalling is done in Data.GI.Base.BasicConversions.
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 | |
type GDestroyNotify a = FunPtr (Ptr a -> IO ()) Source
Destroy the memory associated with a given pointer.