summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* Split disguised attribute into twoEmmanuele Bassi2023-01-081-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Document the newly added attributesEmmanuele Bassi2023-01-082-0/+16
| | | | | Add the (copy-func) and (free-func) annotations to the documentation, and the copy-function and free-function attributes to the GIR schema.
* Add `default-value` annotationEmmanuele Bassi2023-01-081-0/+4
| | | | | | | An escape hatch to specify a freeform string for the default value of a property. Fixes: #4
* Add an optional attribute for the property default valueEmmanuele Bassi2023-01-081-0/+2
| | | | | | | | | 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.
* Fix typo in async scope descriptionbadcel2022-10-061-2/+2
|
* docs: Update documentation links in the GIR schemaTestingPlant2022-04-291-2/+2
|
* docs: Add missing versioned indicesEmmanuele Bassi2022-02-131-0/+16
| | | | | It's pointless, as docbook's style sheets do not work any more, but gtk-doc still warns about them.
* docs: Add missing symbols to the sections fileEmmanuele Bassi2022-02-131-0/+19
|
* Document the newly added g-ir-scanner CLI optionEmmanuele Bassi2022-02-122-0/+12
|
* scanner: Add (emitter) annotation for signalsEmmanuele Bassi2022-02-122-0/+6
| | | | | | 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.
* scanner: Add strict modeEmmanuele Bassi2022-02-122-0/+7
| | | | | | | | | 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.
* Record: Properties are not supportedbadcel2022-02-101-2/+1
|
* Fix typos in commentsbadcel2022-02-091-4/+4
|
* Add "forever" scope to docsbadcel2022-01-211-0/+1
|
* Add forever scopeMarcel Tiede2022-01-161-4/+4
|
* Update giannotations.rst Emmanuele Bassi2021-12-071-9/+9
| | | | | | 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
* Update build_test.rst Emmanuele Bassi2021-12-071-21/+5
| | | | | Remove mentions of Autotools: we only support Meson. Fixes: #327
* docs: Point to the GObject reference on docs.gtk.orgEmmanuele Bassi2021-11-072-5/+3
| | | | Do not use the snapshot of the old developer.gnome.org website.
* docs: Point to the GitLab page for libgrepository's API referenceEmmanuele Bassi2021-11-072-3/+3
| | | | | Do not use the snapshot of the old developer.gnome.org website; we generate and publish the API reference ourselves.
* docs: Fix documentation links in the GIR schemaEmmanuele Bassi2021-11-071-6/+6
|
* docs: Fix the "final" attribute in the GIR schemaEmmanuele Bassi2021-08-051-1/+1
| | | | | | The "final" attribute is not namespaced. Like "abstract", the "final" flag is shared across type systems, it's not strongly related to GObject types.
* docs: Clarify scope of property-related annotationsEmmanuele Bassi2021-08-051-4/+4
| | | | | | | | The `set-property` and `get-property` identifier annotations only apply to methods. The `setter` and `getter` identifier annotations only apply to properties.
* docs: Clarify the meaning of accessor functionsEmmanuele Bassi2021-08-051-4/+16
| | | | | Public accessor functions are the functions typically called through g_object_set_property() and g_object_get_property().
* Document the new property accessors annotationsEmmanuele Bassi2021-08-052-0/+12
|
* Add introspection data for property accessorsEmmanuele Bassi2021-08-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* docs: Add the new accessors annotationsEmmanuele Bassi2021-08-052-0/+13
| | | | | Mention them in the annotations list, and add the new attributes to the GIR schema.
* Add newly added girepository symbol to the API referenceEmmanuele Bassi2021-08-051-0/+1
|
* Add "final" class attributeEmmanuele Bassi2021-08-051-0/+2
| | | | | | | | 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.
* Update the developer.gnome.org URLsEmmanuele Bassi2021-08-055-11/+11
| | | | | | | 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.
* docs: Add g-ir-doc-tool man pageDavid King2021-07-095-3/+146
|
* Add glib:name to enum memberMarc-André Lureau2021-06-201-1/+3
| | | | | | | This member will contain the string from the GEnumValue/GFlagsValue 'value_name' introspection dump. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
* Add Crystal lnaguage bindings to Users listCristian Molina2021-05-051-0/+1
|
* Merge branch 'ebassi/for-master' into 'master'Emmanuele Bassi2021-03-181-1/+1
|\ | | | | | | | | docs: Remove mention of mailing lists See merge request GNOME/gobject-introspection!261
| * docs: Remove mention of mailing listsebassi/for-masterEmmanuele Bassi2021-03-171-1/+1
| | | | | | | | We don't use them any more; discussions happen on Discourse.
* | Fix syntax errors in gir-1.2.rncPhil Clayton2021-03-141-11/+11
|/ | | | Closes #373
* website: Add section about property/method name conflictsPhilip Chimento2020-08-021-0/+9
| | | | | This is a trap that C APIs can fall into, so it should be mentioned on the "Writing Bindable APIs" page.
* docs: Unify DocBook doctypeJan Tojnar2020-05-151-2/+2
| | | | | | | 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.
* docs: Update website linkJan Tojnar2020-05-157-7/+7
|
* examples: Make self contained and add build system integration examplesChristoph Reiter2019-11-091-1/+1
| | | | | | | | | | 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
* Add Ruby-GNOME to Users.rstkojix22019-09-261-0/+1
|
* Fix broken linkkojix22019-09-261-1/+1
|
* docs: Document GI_CROSS_LAUNCHER envvarEmmanuele Bassi2019-09-041-0/+4
| | | | | The g-ir-scanner man page should include a mention of the GI_CROSS_LAUNCHER environment variable.
* updated thanks to comments from reviewersDavid Bellot2019-04-021-10/+11
|
* docs: finally transformed tabs to spaces in GIR xml relaxng fileDavid Bellot2019-04-021-164/+164
|
* docs: added missing docs for annotations attributeDavid Bellot2019-04-021-0/+3
|
* docs: added complete documentation as comments in the RelaxNG schemaDavid Bellot2019-04-021-21/+217
|
* docs: include '--c-include' in g-ir-scanner man page. Fixes #275Christoph Reiter2019-03-242-0/+8
|
* Drop autotools build systemChristoph Reiter2019-03-112-125/+0
|
* website: Add link to C/typelib ABI cross-validatorTomasz Miąsko2019-02-131-0/+1
|
* repository: g_irepository_get_object_gtype_interfacesColin Walters2019-01-091-0/+2
| | | | | | | | | | | 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.