@img/sharp-libvips-dev 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/include/expat.h +21 -10
  2. package/include/expat_config.h +11 -5
  3. package/include/ffi.h +12 -25
  4. package/include/freetype2/freetype/config/ftoption.h +1 -1
  5. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +3 -2
  6. package/include/glib-2.0/gio/gapplication.h +6 -0
  7. package/include/glib-2.0/gio/giotypes.h +0 -1
  8. package/include/glib-2.0/girepository/giarginfo.h +23 -6
  9. package/include/glib-2.0/girepository/gibaseinfo.h +44 -18
  10. package/include/glib-2.0/girepository/gicallableinfo.h +26 -16
  11. package/include/glib-2.0/girepository/gicallbackinfo.h +17 -2
  12. package/include/glib-2.0/girepository/giconstantinfo.h +19 -4
  13. package/include/glib-2.0/girepository/gienuminfo.h +20 -21
  14. package/include/glib-2.0/girepository/gifieldinfo.h +22 -7
  15. package/include/glib-2.0/girepository/giflagsinfo.h +60 -0
  16. package/include/glib-2.0/girepository/gifunctioninfo.h +22 -7
  17. package/include/glib-2.0/girepository/giinterfaceinfo.h +33 -18
  18. package/include/glib-2.0/girepository/giobjectinfo.h +41 -26
  19. package/include/glib-2.0/girepository/gipropertyinfo.h +18 -3
  20. package/include/glib-2.0/girepository/giregisteredtypeinfo.h +22 -11
  21. package/include/glib-2.0/girepository/girepository-autocleanups.h +56 -0
  22. package/include/glib-2.0/girepository/girepository.h +53 -62
  23. package/include/glib-2.0/girepository/girffi.h +8 -7
  24. package/include/glib-2.0/girepository/gisignalinfo.h +18 -3
  25. package/include/glib-2.0/girepository/gistructinfo.h +26 -11
  26. package/include/glib-2.0/girepository/gitypeinfo.h +29 -16
  27. package/include/glib-2.0/girepository/gitypelib.h +9 -13
  28. package/include/glib-2.0/girepository/gitypes.h +52 -104
  29. package/include/glib-2.0/girepository/giunioninfo.h +28 -12
  30. package/include/glib-2.0/girepository/giunresolvedinfo.h +17 -2
  31. package/include/glib-2.0/girepository/givalueinfo.h +65 -0
  32. package/include/glib-2.0/girepository/givfuncinfo.h +23 -8
  33. package/include/glib-2.0/glib/deprecated/gthread.h +9 -5
  34. package/include/glib-2.0/glib/gbitlock.h +31 -0
  35. package/include/glib-2.0/glib/gmessages.h +8 -0
  36. package/include/glib-2.0/glib/gslice.h +2 -0
  37. package/include/glib-2.0/glib/gstrfuncs.h +24 -18
  38. package/include/glib-2.0/glib/gthread.h +191 -3
  39. package/include/glib-2.0/glib-unix.h +7 -1
  40. package/include/glib-2.0/gobject/genums.h +6 -6
  41. package/include/glib-2.0/gobject/glib-types.h +11 -0
  42. package/include/glib-2.0/gobject/gsignal.h +16 -6
  43. package/include/hwy/aligned_allocator.h +171 -6
  44. package/include/hwy/base.h +1765 -543
  45. package/include/hwy/cache_control.h +24 -6
  46. package/include/hwy/detect_compiler_arch.h +23 -2
  47. package/include/hwy/detect_targets.h +56 -13
  48. package/include/hwy/foreach_target.h +24 -0
  49. package/include/hwy/highway.h +20 -3
  50. package/include/hwy/ops/arm_neon-inl.h +1086 -667
  51. package/include/hwy/ops/arm_sve-inl.h +1091 -235
  52. package/include/hwy/ops/emu128-inl.h +271 -196
  53. package/include/hwy/ops/generic_ops-inl.h +2270 -399
  54. package/include/hwy/ops/ppc_vsx-inl.h +1786 -563
  55. package/include/hwy/ops/rvv-inl.h +1043 -311
  56. package/include/hwy/ops/scalar-inl.h +189 -159
  57. package/include/hwy/ops/set_macros-inl.h +66 -6
  58. package/include/hwy/ops/shared-inl.h +175 -56
  59. package/include/hwy/ops/wasm_128-inl.h +153 -136
  60. package/include/hwy/ops/x86_128-inl.h +1647 -646
  61. package/include/hwy/ops/x86_256-inl.h +1003 -370
  62. package/include/hwy/ops/x86_512-inl.h +948 -353
  63. package/include/hwy/per_target.h +4 -0
  64. package/include/hwy/profiler.h +648 -0
  65. package/include/hwy/robust_statistics.h +2 -2
  66. package/include/hwy/targets.h +18 -11
  67. package/include/hwy/timer.h +11 -0
  68. package/include/libpng16/png.h +32 -29
  69. package/include/libpng16/pngconf.h +2 -2
  70. package/include/libpng16/pnglibconf.h +7 -2
  71. package/include/librsvg-2.0/librsvg/rsvg-version.h +2 -2
  72. package/include/libxml2/libxml/parser.h +16 -7
  73. package/include/libxml2/libxml/xmlIO.h +0 -1
  74. package/include/libxml2/libxml/xmlversion.h +4 -4
  75. package/include/pango-1.0/pango/pango-features.h +3 -3
  76. package/include/pango-1.0/pango/pango-fontmap.h +7 -0
  77. package/include/pixman-1/pixman-version.h +2 -2
  78. package/include/png.h +32 -29
  79. package/include/pngconf.h +2 -2
  80. package/include/pnglibconf.h +7 -2
  81. package/include/vips/connection.h +9 -3
  82. package/include/vips/util.h +0 -9
  83. package/include/vips/version.h +4 -4
  84. package/package.json +1 -1
  85. package/versions.json +11 -11
@@ -32,38 +32,53 @@
32
32
 
33
33
  G_BEGIN_DECLS
34
34
 
35
+ #define GI_TYPE_FIELD_INFO (gi_field_info_get_type ())
36
+
37
+ /**
38
+ * GI_FIELD_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.FieldInfo] or derived pointer into a
42
+ * `(GIFieldInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_FIELD_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_FIELD_INFO, GIFieldInfo))
50
+
35
51
  /**
36
52
  * GI_IS_FIELD_INFO:
37
53
  * @info: an info structure
38
54
  *
39
- * Checks if @info is a [class@GIRepository.FieldInfo].
55
+ * Checks if @info is a [class@GIRepository.FieldInfo] (or a derived type).
40
56
  *
41
57
  * Since: 2.80
42
58
  */
43
- #define GI_IS_FIELD_INFO(info) \
44
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_FIELD)
59
+ #define GI_IS_FIELD_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_FIELD_INFO))
45
60
 
46
61
 
47
62
  GI_AVAILABLE_IN_ALL
48
63
  GIFieldInfoFlags gi_field_info_get_flags (GIFieldInfo *info);
49
64
 
50
65
  GI_AVAILABLE_IN_ALL
51
- gsize gi_field_info_get_size (GIFieldInfo *info);
66
+ size_t gi_field_info_get_size (GIFieldInfo *info);
52
67
 
53
68
  GI_AVAILABLE_IN_ALL
54
- gsize gi_field_info_get_offset (GIFieldInfo *info);
69
+ size_t gi_field_info_get_offset (GIFieldInfo *info);
55
70
 
56
71
  GI_AVAILABLE_IN_ALL
57
72
  GITypeInfo * gi_field_info_get_type_info (GIFieldInfo *info);
58
73
 
59
74
  GI_AVAILABLE_IN_ALL
60
75
  gboolean gi_field_info_get_field (GIFieldInfo *field_info,
61
- gpointer mem,
76
+ void *mem,
62
77
  GIArgument *value);
63
78
 
64
79
  GI_AVAILABLE_IN_ALL
65
80
  gboolean gi_field_info_set_field (GIFieldInfo *field_info,
66
- gpointer mem,
81
+ void *mem,
67
82
  const GIArgument *value);
68
83
 
69
84
  G_END_DECLS
@@ -0,0 +1,60 @@
1
+ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
2
+ * GObject introspection: Flags type
3
+ *
4
+ * Copyright 2024 GNOME Foundation, Inc.
5
+ *
6
+ * SPDX-License-Identifier: LGPL-2.1-or-later
7
+ *
8
+ * This library is free software; you can redistribute it and/or
9
+ * modify it under the terms of the GNU Lesser General Public
10
+ * License as published by the Free Software Foundation; either
11
+ * version 2 of the License, or (at your option) any later version.
12
+ *
13
+ * This library is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ * Lesser General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU Lesser General Public
19
+ * License along with this library; if not, write to the
20
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21
+ * Boston, MA 02111-1307, USA.
22
+ */
23
+
24
+ #pragma once
25
+
26
+ #if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
27
+ #error "Only <girepository.h> can be included directly."
28
+ #endif
29
+
30
+ #include <girepository/gitypes.h>
31
+
32
+ G_BEGIN_DECLS
33
+
34
+ #define GI_TYPE_FLAGS_INFO (gi_flags_info_get_type ())
35
+
36
+ /**
37
+ * GI_FLAGS_INFO:
38
+ * @info: Info object which is subject to casting.
39
+ *
40
+ * Casts a [type@GIRepository.FlagsInfo] or derived pointer into a
41
+ * `(GIFlagsInfo*)` pointer.
42
+ *
43
+ * Depending on the current debugging level, this function may invoke
44
+ * certain runtime checks to identify invalid casts.
45
+ *
46
+ * Since: 2.80
47
+ */
48
+ #define GI_FLAGS_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_FLAGS_INFO, GIFlagsInfo))
49
+
50
+ /**
51
+ * GI_IS_FLAGS_INFO:
52
+ * @info: an info structure
53
+ *
54
+ * Checks if @info is a [class@GIRepository.FlagsInfo] (or a derived type).
55
+ *
56
+ * Since: 2.80
57
+ */
58
+ #define GI_IS_FLAGS_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_FLAGS_INFO))
59
+
60
+ G_END_DECLS
@@ -32,20 +32,35 @@
32
32
 
33
33
  G_BEGIN_DECLS
34
34
 
35
+ #define GI_TYPE_FUNCTION_INFO (gi_function_info_get_type ())
36
+
37
+ /**
38
+ * GI_FUNCTION_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.FunctionInfo] or derived pointer into a
42
+ * `(GIFunctionInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_FUNCTION_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_FUNCTION_INFO, GIFunctionInfo))
50
+
35
51
  /**
36
52
  * GI_IS_FUNCTION_INFO:
37
53
  * @info: an info structure
38
54
  *
39
- * Checks if @info is a [class@GIRepository.FunctionInfo].
55
+ * Checks if @info is a [class@GIRepository.FunctionInfo] (or a derived type).
40
56
  *
41
57
  * Since: 2.80
42
58
  */
43
- #define GI_IS_FUNCTION_INFO(info) \
44
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_FUNCTION)
59
+ #define GI_IS_FUNCTION_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_FUNCTION_INFO))
45
60
 
46
61
 
47
62
  GI_AVAILABLE_IN_ALL
48
- const gchar * gi_function_info_get_symbol (GIFunctionInfo *info);
63
+ const char * gi_function_info_get_symbol (GIFunctionInfo *info);
49
64
 
50
65
  GI_AVAILABLE_IN_ALL
51
66
  GIFunctionInfoFlags gi_function_info_get_flags (GIFunctionInfo *info);
@@ -92,9 +107,9 @@ typedef enum
92
107
  GI_AVAILABLE_IN_ALL
93
108
  gboolean gi_function_info_invoke (GIFunctionInfo *info,
94
109
  const GIArgument *in_args,
95
- gsize n_in_args,
96
- const GIArgument *out_args,
97
- gsize n_out_args,
110
+ size_t n_in_args,
111
+ GIArgument *out_args,
112
+ size_t n_out_args,
98
113
  GIArgument *return_value,
99
114
  GError **error);
100
115
 
@@ -32,71 +32,86 @@
32
32
 
33
33
  G_BEGIN_DECLS
34
34
 
35
+ #define GI_TYPE_INTERFACE_INFO (gi_interface_info_get_type ())
36
+
37
+ /**
38
+ * GI_INTERFACE_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.InterfaceInfo] or derived pointer into a
42
+ * `(GIInterfaceInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_INTERFACE_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_INTERFACE_INFO, GIInterfaceInfo))
50
+
35
51
  /**
36
52
  * GI_IS_INTERFACE_INFO:
37
53
  * @info: an info structure
38
54
  *
39
- * Checks if @info is a [class@GIRepository.InterfaceInfo].
55
+ * Checks if @info is a [class@GIRepository.InterfaceInfo] (or a derived type).
40
56
  *
41
57
  * Since: 2.80
42
58
  */
43
- #define GI_IS_INTERFACE_INFO(info) \
44
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_INTERFACE)
59
+ #define GI_IS_INTERFACE_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_INTERFACE_INFO))
45
60
 
46
61
 
47
62
  GI_AVAILABLE_IN_ALL
48
- guint gi_interface_info_get_n_prerequisites (GIInterfaceInfo *info);
63
+ unsigned int gi_interface_info_get_n_prerequisites (GIInterfaceInfo *info);
49
64
 
50
65
  GI_AVAILABLE_IN_ALL
51
66
  GIBaseInfo * gi_interface_info_get_prerequisite (GIInterfaceInfo *info,
52
- guint n);
67
+ unsigned int n);
53
68
 
54
69
  GI_AVAILABLE_IN_ALL
55
- guint gi_interface_info_get_n_properties (GIInterfaceInfo *info);
70
+ unsigned int gi_interface_info_get_n_properties (GIInterfaceInfo *info);
56
71
 
57
72
  GI_AVAILABLE_IN_ALL
58
73
  GIPropertyInfo * gi_interface_info_get_property (GIInterfaceInfo *info,
59
- guint n);
74
+ unsigned int n);
60
75
 
61
76
  GI_AVAILABLE_IN_ALL
62
- guint gi_interface_info_get_n_methods (GIInterfaceInfo *info);
77
+ unsigned int gi_interface_info_get_n_methods (GIInterfaceInfo *info);
63
78
 
64
79
  GI_AVAILABLE_IN_ALL
65
80
  GIFunctionInfo * gi_interface_info_get_method (GIInterfaceInfo *info,
66
- guint n);
81
+ unsigned int n);
67
82
 
68
83
  GI_AVAILABLE_IN_ALL
69
84
  GIFunctionInfo * gi_interface_info_find_method (GIInterfaceInfo *info,
70
- const gchar *name);
85
+ const char *name);
71
86
 
72
87
  GI_AVAILABLE_IN_ALL
73
- guint gi_interface_info_get_n_signals (GIInterfaceInfo *info);
88
+ unsigned int gi_interface_info_get_n_signals (GIInterfaceInfo *info);
74
89
 
75
90
  GI_AVAILABLE_IN_ALL
76
91
  GISignalInfo * gi_interface_info_get_signal (GIInterfaceInfo *info,
77
- guint n);
92
+ unsigned int n);
78
93
 
79
94
  GI_AVAILABLE_IN_ALL
80
95
  GISignalInfo * gi_interface_info_find_signal (GIInterfaceInfo *info,
81
- const gchar *name);
96
+ const char *name);
82
97
 
83
98
  GI_AVAILABLE_IN_ALL
84
- guint gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info);
99
+ unsigned int gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info);
85
100
 
86
101
  GI_AVAILABLE_IN_ALL
87
102
  GIVFuncInfo * gi_interface_info_get_vfunc (GIInterfaceInfo *info,
88
- guint n);
103
+ unsigned int n);
89
104
 
90
105
  GI_AVAILABLE_IN_ALL
91
106
  GIVFuncInfo * gi_interface_info_find_vfunc (GIInterfaceInfo *info,
92
- const gchar *name);
107
+ const char *name);
93
108
 
94
109
  GI_AVAILABLE_IN_ALL
95
- guint gi_interface_info_get_n_constants (GIInterfaceInfo *info);
110
+ unsigned int gi_interface_info_get_n_constants (GIInterfaceInfo *info);
96
111
 
97
112
  GI_AVAILABLE_IN_ALL
98
113
  GIConstantInfo * gi_interface_info_get_constant (GIInterfaceInfo *info,
99
- guint n);
114
+ unsigned int n);
100
115
 
101
116
 
102
117
  GI_AVAILABLE_IN_ALL
@@ -75,23 +75,38 @@ typedef void (*GIObjectInfoSetValueFunction) (GValue *value, void *object);
75
75
  */
76
76
  typedef void * (*GIObjectInfoGetValueFunction) (const GValue *value);
77
77
 
78
+ #define GI_TYPE_OBJECT_INFO (gi_object_info_get_type ())
79
+
80
+ /**
81
+ * GI_OBJECT_INFO:
82
+ * @info: Info object which is subject to casting.
83
+ *
84
+ * Casts a [type@GIRepository.ObjectInfo] or derived pointer into a
85
+ * `(GIObjectInfo*)` pointer.
86
+ *
87
+ * Depending on the current debugging level, this function may invoke
88
+ * certain runtime checks to identify invalid casts.
89
+ *
90
+ * Since: 2.80
91
+ */
92
+ #define GI_OBJECT_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_OBJECT_INFO, GIObjectInfo))
93
+
78
94
  /**
79
95
  * GI_IS_OBJECT_INFO:
80
96
  * @info: an info structure
81
97
  *
82
- * Checks if @info is a [class@GIRepository.ObjectInfo].
98
+ * Checks if @info is a [class@GIRepository.ObjectInfo] (or a derived type).
83
99
  *
84
100
  * Since: 2.80
85
101
  */
86
- #define GI_IS_OBJECT_INFO(info) \
87
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_OBJECT)
102
+ #define GI_IS_OBJECT_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_OBJECT_INFO))
88
103
 
89
104
 
90
105
  GI_AVAILABLE_IN_ALL
91
- const gchar * gi_object_info_get_type_name (GIObjectInfo *info);
106
+ const char * gi_object_info_get_type_name (GIObjectInfo *info);
92
107
 
93
108
  GI_AVAILABLE_IN_ALL
94
- const gchar * gi_object_info_get_type_init_function_name (GIObjectInfo *info);
109
+ const char * gi_object_info_get_type_init_function_name (GIObjectInfo *info);
95
110
 
96
111
  GI_AVAILABLE_IN_ALL
97
112
  gboolean gi_object_info_get_abstract (GIObjectInfo *info);
@@ -106,79 +121,79 @@ GI_AVAILABLE_IN_ALL
106
121
  GIObjectInfo * gi_object_info_get_parent (GIObjectInfo *info);
107
122
 
108
123
  GI_AVAILABLE_IN_ALL
109
- guint gi_object_info_get_n_interfaces (GIObjectInfo *info);
124
+ unsigned int gi_object_info_get_n_interfaces (GIObjectInfo *info);
110
125
 
111
126
  GI_AVAILABLE_IN_ALL
112
127
  GIInterfaceInfo * gi_object_info_get_interface (GIObjectInfo *info,
113
- guint n);
128
+ unsigned int n);
114
129
 
115
130
  GI_AVAILABLE_IN_ALL
116
- guint gi_object_info_get_n_fields (GIObjectInfo *info);
131
+ unsigned int gi_object_info_get_n_fields (GIObjectInfo *info);
117
132
 
118
133
  GI_AVAILABLE_IN_ALL
119
134
  GIFieldInfo * gi_object_info_get_field (GIObjectInfo *info,
120
- guint n);
135
+ unsigned int n);
121
136
 
122
137
  GI_AVAILABLE_IN_ALL
123
- guint gi_object_info_get_n_properties (GIObjectInfo *info);
138
+ unsigned int gi_object_info_get_n_properties (GIObjectInfo *info);
124
139
 
125
140
  GI_AVAILABLE_IN_ALL
126
141
  GIPropertyInfo * gi_object_info_get_property (GIObjectInfo *info,
127
- guint n);
142
+ unsigned int n);
128
143
 
129
144
  GI_AVAILABLE_IN_ALL
130
- guint gi_object_info_get_n_methods (GIObjectInfo *info);
145
+ unsigned int gi_object_info_get_n_methods (GIObjectInfo *info);
131
146
 
132
147
  GI_AVAILABLE_IN_ALL
133
148
  GIFunctionInfo * gi_object_info_get_method (GIObjectInfo *info,
134
- guint n);
149
+ unsigned int n);
135
150
 
136
151
  GI_AVAILABLE_IN_ALL
137
152
  GIFunctionInfo * gi_object_info_find_method (GIObjectInfo *info,
138
- const gchar *name);
153
+ const char *name);
139
154
 
140
155
 
141
156
  GI_AVAILABLE_IN_ALL
142
157
  GIFunctionInfo * gi_object_info_find_method_using_interfaces (GIObjectInfo *info,
143
- const gchar *name,
144
- GIObjectInfo **implementor);
158
+ const char *name,
159
+ GIBaseInfo **declarer);
145
160
 
146
161
 
147
162
  GI_AVAILABLE_IN_ALL
148
- guint gi_object_info_get_n_signals (GIObjectInfo *info);
163
+ unsigned int gi_object_info_get_n_signals (GIObjectInfo *info);
149
164
 
150
165
  GI_AVAILABLE_IN_ALL
151
166
  GISignalInfo * gi_object_info_get_signal (GIObjectInfo *info,
152
- guint n);
167
+ unsigned int n);
153
168
 
154
169
 
155
170
  GI_AVAILABLE_IN_ALL
156
171
  GISignalInfo * gi_object_info_find_signal (GIObjectInfo *info,
157
- const gchar *name);
172
+ const char *name);
158
173
 
159
174
 
160
175
  GI_AVAILABLE_IN_ALL
161
- guint gi_object_info_get_n_vfuncs (GIObjectInfo *info);
176
+ unsigned int gi_object_info_get_n_vfuncs (GIObjectInfo *info);
162
177
 
163
178
  GI_AVAILABLE_IN_ALL
164
179
  GIVFuncInfo * gi_object_info_get_vfunc (GIObjectInfo *info,
165
- guint n);
180
+ unsigned int n);
166
181
 
167
182
  GI_AVAILABLE_IN_ALL
168
183
  GIVFuncInfo * gi_object_info_find_vfunc (GIObjectInfo *info,
169
- const gchar *name);
184
+ const char *name);
170
185
 
171
186
  GI_AVAILABLE_IN_ALL
172
187
  GIVFuncInfo * gi_object_info_find_vfunc_using_interfaces (GIObjectInfo *info,
173
- const gchar *name,
174
- GIObjectInfo **implementor);
188
+ const char *name,
189
+ GIBaseInfo **declarer);
175
190
 
176
191
  GI_AVAILABLE_IN_ALL
177
- guint gi_object_info_get_n_constants (GIObjectInfo *info);
192
+ unsigned int gi_object_info_get_n_constants (GIObjectInfo *info);
178
193
 
179
194
  GI_AVAILABLE_IN_ALL
180
195
  GIConstantInfo * gi_object_info_get_constant (GIObjectInfo *info,
181
- guint n);
196
+ unsigned int n);
182
197
 
183
198
  GI_AVAILABLE_IN_ALL
184
199
  GIStructInfo * gi_object_info_get_class_struct (GIObjectInfo *info);
@@ -32,16 +32,31 @@
32
32
 
33
33
  G_BEGIN_DECLS
34
34
 
35
+ #define GI_TYPE_PROPERTY_INFO (gi_property_info_get_type ())
36
+
37
+ /**
38
+ * GI_PROPERTY_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.PropertyInfo] or derived pointer into a
42
+ * `(GIPropertyInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_PROPERTY_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_PROPERTY_INFO, GIPropertyInfo))
50
+
35
51
  /**
36
52
  * GI_IS_PROPERTY_INFO:
37
53
  * @info: an info structure
38
54
  *
39
- * Checks if @info is a [class@GIRepository.PropertyInfo].
55
+ * Checks if @info is a [class@GIRepository.PropertyInfo] (or a derived type).
40
56
  *
41
57
  * Since: 2.80
42
58
  */
43
- #define GI_IS_PROPERTY_INFO(info) \
44
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_PROPERTY)
59
+ #define GI_IS_PROPERTY_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_PROPERTY_INFO))
45
60
 
46
61
 
47
62
  GI_AVAILABLE_IN_ALL
@@ -33,6 +33,22 @@
33
33
 
34
34
  G_BEGIN_DECLS
35
35
 
36
+ #define GI_TYPE_REGISTERED_TYPE_INFO (gi_registered_type_info_get_type ())
37
+
38
+ /**
39
+ * GI_REGISTERED_TYPE_INFO:
40
+ * @info: Info object which is subject to casting.
41
+ *
42
+ * Casts a [type@GIRepository.RegisteredTypeInfo] or derived pointer into a
43
+ * `(GIRegisteredTypeInfo*)` pointer.
44
+ *
45
+ * Depending on the current debugging level, this function may invoke
46
+ * certain runtime checks to identify invalid casts.
47
+ *
48
+ * Since: 2.80
49
+ */
50
+ #define GI_REGISTERED_TYPE_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_REGISTERED_TYPE_INFO, GIRegisteredTypeInfo))
51
+
36
52
  /**
37
53
  * GI_IS_REGISTERED_TYPE_INFO:
38
54
  * @info: an info structure
@@ -42,23 +58,18 @@ G_BEGIN_DECLS
42
58
  *
43
59
  * Since: 2.80
44
60
  */
45
- #define GI_IS_REGISTERED_TYPE_INFO(info) \
46
- ((gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_BOXED) || \
47
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_ENUM) || \
48
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_FLAGS) || \
49
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_INTERFACE) || \
50
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_OBJECT) || \
51
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_STRUCT) || \
52
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_UNION) || \
53
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_BOXED))
61
+ #define GI_IS_REGISTERED_TYPE_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_REGISTERED_TYPE_INFO))
54
62
 
55
63
  GI_AVAILABLE_IN_ALL
56
- const gchar * gi_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
64
+ const char * gi_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);
57
65
 
58
66
  GI_AVAILABLE_IN_ALL
59
- const gchar * gi_registered_type_info_get_type_init_function_name (GIRegisteredTypeInfo *info);
67
+ const char * gi_registered_type_info_get_type_init_function_name (GIRegisteredTypeInfo *info);
60
68
 
61
69
  GI_AVAILABLE_IN_ALL
62
70
  GType gi_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);
63
71
 
72
+ GI_AVAILABLE_IN_ALL
73
+ gboolean gi_registered_type_info_is_boxed (GIRegisteredTypeInfo *info);
74
+
64
75
  G_END_DECLS
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright 2024 GNOME Foundation, Inc.
3
+ *
4
+ * SPDX-License-Identifier: LGPL-2.1-or-later
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General
17
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
18
+ *
19
+ * Author: Philip Withnall <pwithnall@gnome.org>
20
+ */
21
+
22
+ #if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
23
+ #error "Only <girepository.h> can be included directly."
24
+ #endif
25
+
26
+ #ifndef __GI_SCANNER__
27
+
28
+ /* GIRepository already has its cleanups defined by G_DECLARE_FINAL_TYPE */
29
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GITypelib, gi_typelib_unref)
30
+
31
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIBaseInfo, gi_base_info_unref)
32
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIArgInfo, gi_base_info_unref)
33
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GICallableInfo, gi_base_info_unref)
34
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GICallbackInfo, gi_base_info_unref)
35
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIConstantInfo, gi_base_info_unref)
36
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIEnumInfo, gi_base_info_unref)
37
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIFieldInfo, gi_base_info_unref)
38
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIFlagsInfo, gi_base_info_unref)
39
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIFunctionInfo, gi_base_info_unref)
40
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIInterfaceInfo, gi_base_info_unref)
41
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIObjectInfo, gi_base_info_unref)
42
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIPropertyInfo, gi_base_info_unref)
43
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIRegisteredTypeInfo, gi_base_info_unref)
44
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GISignalInfo, gi_base_info_unref)
45
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIStructInfo, gi_base_info_unref)
46
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GITypeInfo, gi_base_info_unref)
47
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIUnionInfo, gi_base_info_unref)
48
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIUnresolvedInfo, gi_base_info_unref)
49
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIValueInfo, gi_base_info_unref)
50
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (GIVFuncInfo, gi_base_info_unref)
51
+
52
+ /* These types can additionally be stack allocated and cleared */
53
+ G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GIArgInfo, gi_base_info_clear)
54
+ G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GITypeInfo, gi_base_info_clear)
55
+
56
+ #endif /* __GI_SCANNER__ */