| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The disguised attribute started off as a way to indicate a typedef to a
structure pointer, e.g.
typedef struct Foo* FooPtr;
Over the years, though, it started to include opaque structure types,
e.g.
typedef struct _FooObject FooObject;
typedef struct _FooObjectClass FooObjectClass;
This has led to issues in language bindings, code generators, and
documentation generators, which now have issues when dealing with both
pointer aliases and opaque types.
An initial attempt at fixing this mess in commit f606183a ended up
breaking Vala, and had to be reverted.
To avoid breaking existing users we can follow a similar approach to the
allow-none/nullable/optional solution:
1. introduce a new pair of attributes: "pointer" and "opaque"
2. deprecate the "disguised" attribute
The "pointer" attribute covers the case of pointer types.
The "opaque" attribute covers the case of opaque structured types.
See also: https://gitlab.gnome.org/GNOME/vala/-/issues/735
Fixes: #101
|
|
|
|
|
| |
Add the (copy-func) and (free-func) annotations to the documentation,
and the copy-function and free-function attributes to the GIR schema.
|
|
|
|
|
|
|
| |
An escape hatch to specify a freeform string for the default value of a
property.
Fixes: #4
|
|
|
|
|
|
|
|
|
| |
The default-value attribute for a property element is fundamentally
meant for documentation generators.
We only care about the GIR data, as the conversion from the default
value to a string is lossy by definition, and may very well not
roundtrip.
|
| |
|
| |
|
|
|
|
|
| |
It's pointless, as docbook's style sheets do not work any
more, but gtk-doc still warns about them.
|
| |
|
| |
|
|
|
|
|
|
| |
Signals that have an emitter function should have an annotation to allow
consumers of the introspection XML to effectively pair signals to their
corresponding emitter functions that share the same prototype.
|
|
|
|
|
|
|
|
|
| |
To avoid introducing additional strictness onto unsuspecting libraries,
we introduce a new mode: "strict".
The strict mode is opt-in, and used to signal potential issues with the
public API once exposed by language bindings, even when it's fully
introspectable.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Don't use a real function to describe optional/nullable differences, to avoid getting into
the weeds when it comes to edge cases.
Fixes: #211
|
|
|
|
|
| |
Remove mentions of Autotools: we only support Meson.
Fixes: #327
|
|
|
|
| |
Do not use the snapshot of the old developer.gnome.org website.
|
|
|
|
|
| |
Do not use the snapshot of the old developer.gnome.org website; we
generate and publish the API reference ourselves.
|
| |
|
|
|
|
|
|
| |
The "final" attribute is not namespaced. Like "abstract", the "final"
flag is shared across type systems, it's not strongly related to GObject
types.
|
|
|
|
|
|
|
|
| |
The `set-property` and `get-property` identifier annotations only apply
to methods.
The `setter` and `getter` identifier annotations only apply to
properties.
|
|
|
|
|
| |
Public accessor functions are the functions typically called through
g_object_set_property() and g_object_get_property().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A GObject property can be accessed generically through the GObject API,
e.g. g_object_set_property() and g_object_get_property(). Properties
typically also have public accessor functions, which are (according to
our own best practices) called through the generic API.
The introspection data is currently missing the relation between a
property and its public accessor functions. With this information, a
language binding could, for instance, avoid exposing the C API entirely,
thus minimizing the chances of collisions between property names and
accessor functions; alternatively, a binding could call the C API
directly instead of going through the generic GObject API, thus avoiding
the boxing and unboxing from a native type to a GIArgument and finally
into a GValue, and vice versa.
In the GIR, we add two new attributes to the `property` element:
- setter="SYMBOL"
- getter="SYMBOL"
where "symbol" is the C function identifier of the setter and getter
functions, respectively. The `setter` attribute is only applied to
writable, non-construct-only properties; the `getter` attribute is only
applied to readable properties.
We maintain the ABI compatibility of the typelib data by using 20 bits
of the 25 reserved bits inside the PropertyBlob structure. The data is
exposed through two new GIPropertyInfo methods:
- g_property_info_get_setter()
- g_property_info_get_getter()
which return the GIFunctionInfo for the setter and getter functions,
respectively.
|
|
|
|
|
| |
Mention them in the annotations list, and add the new attributes to the
GIR schema.
|
| |
|
|
|
|
|
|
|
|
| |
A "final" class is a leaf node in a derivable type hierarchy, and cannot
be derived any further.
This matches the changes in libgobject that introduced G_TYPE_FLAG_FINAL
to the type flags.
|
|
|
|
|
|
|
| |
The GNOME developers documentation website has been updated, and we're
in the process of moving API references elsewhere. The old documentation
is still available under developer-old.gnome.org, so let's update the
URLs we have in our documentation.
|
| |
|
|
|
|
|
|
|
| |
This member will contain the string from the GEnumValue/GFlagsValue
'value_name' introspection dump.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
| |
|
|\
| |
| |
| |
| | |
docs: Remove mention of mailing lists
See merge request GNOME/gobject-introspection!261
|
| |
| |
| |
| | |
We don't use them any more; discussions happen on Discourse.
|
|/
|
|
| |
Closes #373
|
|
|
|
|
| |
This is a trap that C APIs can fall into, so it should be mentioned on
the "Writing Bindable APIs" page.
|
|
|
|
|
|
|
| |
There has been no backwards incompatible changes between DockBook 4.3
and 4.5 so there is no need to use both.
Ideally, we would switch to DocBook 5 but that will require more changes.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The libgirepository example now is its own meson project.
There now is a small library that is buildable with meson and autotools
which creates a gir/typelib. Usefull for testing our build system integration
and for small experiments.
Fixes #287
|
| |
|
| |
|
|
|
|
|
| |
The g-ir-scanner man page should include a mention of the
GI_CROSS_LAUNCHER environment variable.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Bindings in some cases need to look up information from a GType
dynamically. Support that better by supplying a cache for this
information.
(Rebased and versioning / gtk-doc stuff added by Philip Chimento.)
Closes #38.
See gjs#55.
|