This page describes the features different bindings uses of GObjectIntrospection.

Please, do not add language bindings which do not use gobject-introspection here.

General

Binding

Language

Input

Kind

gjs

JavaScript

Typelib

Runtime

JGIR

Java

Typelib

Compiled to Java bytecode

pygobject

Python

Typelib

Runtime

seed

JavaScript

Typelib

Runtime

vala

Vala

GIR

Compiled to C

lgi

Lua

Typelib

Runtime

GLib::Object::Introspection

Perl

Typelib

Runtime

GirFFI

Ruby

Typelib

Runtime

hbgi

Harbour

Typelib

Runtime

Basic entities

Binding

Functions

Class

Interface

Enum

Callbacks

Structs

Unions

Signals

Properties

Fields

gjs

Yes

Yes

Yes

Yes

Yes

Yes

Partly

gobject

gobject

Yes

JGIR

Yes

Yes

Yes

Yes

No

Yes

Yes

?

?

?

pygobject

Yes

Yes

Yes

Yes

Yes

Yes

Yes

gobject

introspection

Yes

seed

Yes

Yes

Yes

Yes

Yes

Yes

Yes

?

?

?

vala

Yes

Yes

Yes

Yes

Yes

Yes

Yes

GIR

GIR

Yes

lgi

Yes

Yes

Yes

Yes

Yes

Yes

Partly

GIR

GIR/gobject

Yes

G::O::I

Yes

Yes

Yes

Yes

Yes

Yes

Yes

gobject

gobject

Yes

GirFFI

Yes

Yes

Yes

Yes

Yes

Yes

Yes

GIR

GIR

Yes

hbgi

Yes

Yes

Yes

Yes

Yes

Partly

Partly

gobject

introspection

Yes

For signals and properties there exist two ways of extracting the metadata, either via the gobject api or via the introspection api.

Argument types

Binding

Lists

Arrays

HashTables

ByteArray

gjs

Yes

Mostly

Yes

Yes

JGIR

?

?

?

?

pygobject

Yes

Yes

Yes

Yes

seed

Yes

Yes

Yes

No

vala

Yes

Yes

Yes

Yes

lgi

Yes

Yes

Yes

No

G::O::I

Yes

Yes

Yes

No

GirFFI

Yes

Yes

Yes

Yes

hbgi

Yes

Yes

Yes

Yes

Misc

Binding

Foreign

Virtual methods

Fundamentals

gjs

Yes

No

Bugzilla

JGIR

No

No

No

pygobject

Yes

Yes

Bugzilla #631901

seed

No

No

No

vala

No

Yes

No

lgi

Yes

Partly

Yes

G::O::I

No

Yes

No

GirFFI

Yes

Yes

Yes

hbgi

No

No

Partly

Projects/GObjectIntrospection/BindingsFeatures (last edited 2016-08-08 23:54:20 by PhilKrylov)