Commit Graph

14 Commits

Author SHA1 Message Date
Chun-wei Fan
a068c6c303 gi[callable|type]info.c: Avoid MSVC C4098 warnings
We attempted to return a value in void-return-type functions in both
gicallableinfo.c and gitypeinfo.c, so avoid that since that will trigger a
C4098 warning on Visual Studio, which is considered an error if we are building
against an installed version of GLib 2.68.x or later.

This will fix builds against GLib-2.68.x and later on Visual Studio.
2022-03-28 20:11:21 +00:00
Philip Chimento
3556c864ed gitypeinfo: Add pointer-stuffing functions for GITypeTag storage type
This adds gi_type_tag_argument_from_hash_pointer() and
gi_type_tag_hash_pointer_from_argument(). They do the same thing as
the corresponding g_type_info_... functions, which are used to pack and
unpack the correct field of a GIArgument into/from a data pointer in
GHashTable or GList, regardless of machine architecture or endianness.

These functions take a GITypeTag obtained from
g_type_info_get_storage_type(), instead of a GITypeInfo pointer. (The
storage type is the only piece of data that is actually used from the
GITypeInfo structure.)

It's intended for bindings using an argument cache, such as GJS and
PyGObject, so that they don't have to store a whole 64-bit GITypeInfo
pointer in their cache in many common cases, and can just store the 5-bit
type tag instead.

The original g_type_info_... functions are reimplemented in
terms of the new g_type_tag... functions.
2022-02-16 17:58:24 -08:00
Emmanuele Bassi
2ca3c1da83 docs: Remove DocBook tags
We are still using gtk-doc, but gtk-doc uses Markdown these days, not
DocBook.
2022-02-13 14:20:51 +00:00
Philip Chimento
aae9a3cdd1 girepository: Fix documentation comments
It was driving me crazy that g_type_info_get_array_length() claimed to
return an array length.
2022-02-13 12:25:18 +00:00
Philip Chimento
7daee7b90a girepository: Add GITypeInfo utility functions for storing values in pointers
This functionality is used in both PyGObject and GJS, and if not done
correctly can lead to architecture-specific bugs. It seems best to add
API in gobject-introspection for the correct way to do it.

See also: GNOME/gjs#309
2020-04-26 10:24:26 -07:00
Christoph Reiter
722518e5bc docs: fix gtk-doc warnings and update version infos
Move things around and rename things until gtk-doc is happy.

This also moves the "Since" annotations to the next stable releases and
adds version added info for g_callable_info_get_instance_ownership_transfer()
and g_struct_info_find_field().
2018-12-09 18:26:26 +01:00
Philip Withnall
ba2c4624da gitypeinfo: Expand documentation for g_type_info_is_pointer()
Note that (direction [in]out) parameters are only pointers if the
underlying type being transferred is a pointer, i.e. if the formal
parameter is a pointer to a pointer or deeper.

https://bugzilla.gnome.org/show_bug.cgi?id=720201
2015-09-26 11:37:15 -04:00
Chun-wei Fan
adc6f08ff7 girepository: Include config.h First in All Sources
This includes config.h in all the C-sources of girepository so that we can
get the correct export directive from config.h during compile time and
therefore export the symbols as necessary, like what GLib and GTK+ is
currently doing.

https://bugzilla.gnome.org/show_bug.cgi?id=732669
2014-07-07 09:24:12 +08:00
Dieter Verfaillie
bb7f8d57c2 docs: fix up reference docs a bit
- require GTK-Doc 1.19
      - remove sgml mode
      - automatically generate gi.types (needs GTK-Doc 1.19)
      - fix https://bugzilla.gnome.org/show_bug.cgi?id=700025
[WIP] - rearange sections a bit
[WIP] - add gi-building, gi-programming sections
[WIP] - mark missing docs with TODO, which is only marginaly
        better than nothing but at least can be grepped :)

https://bugzilla.gnome.org/show_bug.cgi?id=571648
2013-10-10 16:48:51 -04:00
Colin Walters
e865dcb7b4 Add Emacs mode lines to C sources 2012-02-03 13:42:56 -05:00
Dan Winship
f9ebb4e99d Deprecate ErrorDomain
The previous ErrorDomain blob was never actually scanned or used, and
it was kind of a lame API conceptually.

To keep some compatibility, rather than removing the enumeration
values, rename them to _INVALID, and don't bump the typelib version.
This should in theory allow a new libgirepository to read an old
typelib.

Based on a patch from Colin Walters

https://bugzilla.gnome.org/show_bug.cgi?id=602516
2011-08-12 11:10:43 -04:00
Johan Dahlin
ce1779b8dd [GIRepository] Add missing transfer and skip 2010-08-31 17:50:44 -03:00
Johan Dahlin
1eca3abe67 [docs] Add struct hierarchy to each section 2010-06-11 20:16:00 -03:00
Johan Dahlin
edcce0af88 [girepository] Move GITypeInfo out of ginfo.ch 2010-06-06 12:58:28 -03:00