Toc Gallery Index Tree Glib.Type_Conversion_Hooks

Hierarchy

Description

This package provides an implementation for hooks used in Gtk.Type_Conversion. These hooks should be used when you import a new C GObject, so that GtkAda can recreate the Ada structure from the underlying C structure. Note that when you create a GObject directly in Ada, you do not need to provide any hook.

Implementation note: This is a separate package from Gtk.Type_Conversion so that adding a hook does not necessarily mean the user has to 'with' Gtk.Type_Conversion, and thus all the packages from GtkAda.

Note that this package is not thread safe. You should call the function Add_Hook from the elaboration part of your packages.

Types

  • type Expected_Object is returned instead. -- -- This allows convertion of types we know are expected, but don't have -- registered conversion hook functions. private Creator_Access : constant Conversion_Creator_Hook_Type := Creator'Access;
    We need to create this access type here because of RM 3.10.2(28) It should go to the body, but conversion of Creator'Access to Conversion_Creator_Hook_Type is only allowed in the private section.
  • type Handled_Type is new GObject_Record with private;
    The type we want to convert to.

Subprograms

  • function Creator (Expected_Object : GObject_Record'Class) return GObject;
    This function will create an Ada type corresponding to Handled_Type. In case Expected_Object is a child type of Handled_Type, an Ada object of type Expected_Object is returned instead.

    This allows convertion of types we know are expected, but don't have registered conversion hook functions.

Alphabetical Index