@img/sharp-libvips-dev 1.0.1 → 1.0.3
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.
- package/README.md +1 -2
- package/include/aom/aom_decoder.h +1 -1
- package/include/aom/aom_encoder.h +7 -1
- package/include/aom/aom_image.h +24 -12
- package/include/aom/aom_integer.h +3 -3
- package/include/aom/aomcx.h +15 -0
- package/include/aom/aomdx.h +5 -2
- package/include/archive.h +7 -5
- package/include/archive_entry.h +5 -3
- package/include/cgif.h +3 -0
- package/include/expat.h +21 -10
- package/include/expat_config.h +11 -5
- package/include/ffi.h +12 -25
- package/include/freetype2/freetype/config/ftoption.h +2 -2
- package/include/fribidi/fribidi-config.h +2 -2
- package/include/fribidi/fribidi-unicode-version.h +3 -3
- package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +3 -2
- package/include/glib-2.0/gio/gappinfo.h +40 -25
- package/include/glib-2.0/gio/gapplication.h +6 -0
- package/include/glib-2.0/gio/gasyncresult.h +1 -1
- package/include/glib-2.0/gio/gconverter.h +5 -0
- package/include/glib-2.0/gio/gdbusintrospection.h +1 -1
- package/include/glib-2.0/gio/gfile.h +16 -0
- package/include/glib-2.0/gio/gio-visibility.h +34 -0
- package/include/glib-2.0/gio/giotypes.h +0 -1
- package/include/glib-2.0/gio/gsettings.h +8 -0
- package/include/glib-2.0/gio/gvfs.h +2 -2
- package/include/glib-2.0/girepository/gi-visibility.h +34 -0
- package/include/glib-2.0/girepository/giarginfo.h +23 -6
- package/include/glib-2.0/girepository/gibaseinfo.h +44 -18
- package/include/glib-2.0/girepository/gicallableinfo.h +26 -16
- package/include/glib-2.0/girepository/gicallbackinfo.h +17 -2
- package/include/glib-2.0/girepository/giconstantinfo.h +19 -4
- package/include/glib-2.0/girepository/gienuminfo.h +20 -21
- package/include/glib-2.0/girepository/gifieldinfo.h +22 -7
- package/include/glib-2.0/girepository/giflagsinfo.h +60 -0
- package/include/glib-2.0/girepository/gifunctioninfo.h +22 -7
- package/include/glib-2.0/girepository/giinterfaceinfo.h +33 -18
- package/include/glib-2.0/girepository/giobjectinfo.h +41 -26
- package/include/glib-2.0/girepository/gipropertyinfo.h +18 -3
- package/include/glib-2.0/girepository/giregisteredtypeinfo.h +22 -11
- package/include/glib-2.0/girepository/girepository-autocleanups.h +56 -0
- package/include/glib-2.0/girepository/girepository.h +53 -62
- package/include/glib-2.0/girepository/girffi.h +8 -7
- package/include/glib-2.0/girepository/gisignalinfo.h +18 -3
- package/include/glib-2.0/girepository/gistructinfo.h +26 -11
- package/include/glib-2.0/girepository/gitypeinfo.h +29 -16
- package/include/glib-2.0/girepository/gitypelib.h +9 -13
- package/include/glib-2.0/girepository/gitypes.h +52 -104
- package/include/glib-2.0/girepository/giunioninfo.h +28 -12
- package/include/glib-2.0/girepository/giunresolvedinfo.h +17 -2
- package/include/glib-2.0/girepository/givalueinfo.h +65 -0
- package/include/glib-2.0/girepository/givfuncinfo.h +23 -8
- package/include/glib-2.0/glib/deprecated/gthread.h +9 -5
- package/include/glib-2.0/glib/gbitlock.h +31 -0
- package/include/glib-2.0/glib/gbookmarkfile.h +1 -1
- package/include/glib-2.0/glib/giochannel.h +2 -2
- package/include/glib-2.0/glib/glib-visibility.h +34 -0
- package/include/glib-2.0/glib/gmacros.h +12 -5
- package/include/glib-2.0/glib/gmain.h +93 -7
- package/include/glib-2.0/glib/gmessages.h +8 -0
- package/include/glib-2.0/glib/gqsort.h +8 -1
- package/include/glib-2.0/glib/gslice.h +2 -0
- package/include/glib-2.0/glib/gstrfuncs.h +24 -30
- package/include/glib-2.0/glib/gstrvbuilder.h +3 -0
- package/include/glib-2.0/glib/gthread.h +191 -3
- package/include/glib-2.0/glib/gunicode.h +1 -1
- package/include/glib-2.0/glib/gversionmacros.h +9 -0
- package/include/glib-2.0/glib-unix.h +7 -1
- package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
- package/include/glib-2.0/gobject/genums.h +6 -6
- package/include/glib-2.0/gobject/glib-types.h +11 -0
- package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
- package/include/glib-2.0/gobject/gsignal.h +16 -6
- package/include/glib-2.0/gobject/gtype.h +6 -6
- package/include/harfbuzz/hb-buffer.h +6 -0
- package/include/harfbuzz/hb-common.h +6 -9
- package/include/harfbuzz/hb-cplusplus.hh +8 -11
- package/include/harfbuzz/hb-subset.h +17 -4
- package/include/harfbuzz/hb-version.h +3 -3
- package/include/hwy/abort.h +28 -0
- package/include/hwy/aligned_allocator.h +218 -6
- package/include/hwy/base.h +1935 -512
- package/include/hwy/cache_control.h +24 -6
- package/include/hwy/detect_compiler_arch.h +105 -10
- package/include/hwy/detect_targets.h +146 -37
- package/include/hwy/foreach_target.h +36 -1
- package/include/hwy/highway.h +222 -50
- package/include/hwy/ops/arm_neon-inl.h +2055 -894
- package/include/hwy/ops/arm_sve-inl.h +1476 -348
- package/include/hwy/ops/emu128-inl.h +711 -623
- package/include/hwy/ops/generic_ops-inl.h +4431 -2157
- package/include/hwy/ops/inside-inl.h +691 -0
- package/include/hwy/ops/ppc_vsx-inl.h +2186 -673
- package/include/hwy/ops/rvv-inl.h +1556 -536
- package/include/hwy/ops/scalar-inl.h +353 -233
- package/include/hwy/ops/set_macros-inl.h +171 -23
- package/include/hwy/ops/shared-inl.h +198 -56
- package/include/hwy/ops/wasm_128-inl.h +283 -244
- package/include/hwy/ops/x86_128-inl.h +3673 -1357
- package/include/hwy/ops/x86_256-inl.h +1737 -663
- package/include/hwy/ops/x86_512-inl.h +1697 -500
- package/include/hwy/per_target.h +4 -0
- package/include/hwy/profiler.h +648 -0
- package/include/hwy/robust_statistics.h +2 -2
- package/include/hwy/targets.h +40 -32
- package/include/hwy/timer-inl.h +3 -3
- package/include/hwy/timer.h +16 -1
- package/include/libheif/heif.h +170 -15
- package/include/libheif/heif_items.h +237 -0
- package/include/libheif/heif_properties.h +38 -2
- package/include/libheif/heif_regions.h +1 -1
- package/include/libheif/heif_version.h +2 -2
- package/include/libpng16/png.h +32 -29
- package/include/libpng16/pngconf.h +2 -2
- package/include/libpng16/pnglibconf.h +8 -3
- package/include/librsvg-2.0/librsvg/rsvg-cairo.h +1 -1
- package/include/librsvg-2.0/librsvg/rsvg-features.h +3 -4
- package/include/librsvg-2.0/librsvg/rsvg-pixbuf.h +235 -0
- package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
- package/include/librsvg-2.0/librsvg/rsvg.h +55 -176
- package/include/libxml2/libxml/HTMLparser.h +12 -19
- package/include/libxml2/libxml/c14n.h +1 -12
- package/include/libxml2/libxml/debugXML.h +1 -1
- package/include/libxml2/libxml/encoding.h +9 -0
- package/include/libxml2/libxml/entities.h +12 -1
- package/include/libxml2/libxml/hash.h +19 -0
- package/include/libxml2/libxml/list.h +2 -2
- package/include/libxml2/libxml/nanohttp.h +17 -0
- package/include/libxml2/libxml/parser.h +73 -58
- package/include/libxml2/libxml/parserInternals.h +9 -1
- package/include/libxml2/libxml/pattern.h +6 -0
- package/include/libxml2/libxml/tree.h +32 -12
- package/include/libxml2/libxml/uri.h +11 -0
- package/include/libxml2/libxml/valid.h +29 -2
- package/include/libxml2/libxml/xinclude.h +7 -0
- package/include/libxml2/libxml/xmlIO.h +21 -5
- package/include/libxml2/libxml/xmlerror.h +14 -0
- package/include/libxml2/libxml/xmlexports.h +111 -15
- package/include/libxml2/libxml/xmlmemory.h +8 -45
- package/include/libxml2/libxml/xmlreader.h +2 -0
- package/include/libxml2/libxml/xmlsave.h +5 -0
- package/include/libxml2/libxml/xmlunicode.h +165 -1
- package/include/libxml2/libxml/xmlversion.h +15 -179
- package/include/libxml2/libxml/xmlwriter.h +1 -0
- package/include/libxml2/libxml/xpath.h +4 -0
- package/include/pango-1.0/pango/pango-features.h +2 -2
- package/include/pango-1.0/pango/pango-fontmap.h +7 -0
- package/include/pango-1.0/pango/pango-item.h +4 -2
- package/include/pango-1.0/pango/pango-version-macros.h +25 -0
- package/include/pango-1.0/pango/pangofc-font.h +2 -1
- package/include/pixman-1/pixman-version.h +2 -2
- package/include/png.h +32 -29
- package/include/pngconf.h +2 -2
- package/include/pnglibconf.h +8 -3
- package/include/vips/connection.h +9 -3
- package/include/vips/util.h +1 -11
- package/include/vips/version.h +4 -4
- package/include/webp/decode.h +58 -56
- package/include/webp/demux.h +25 -21
- package/include/webp/encode.h +44 -39
- package/include/webp/mux.h +76 -15
- package/include/webp/mux_types.h +2 -1
- package/include/webp/sharpyuv/sharpyuv.h +77 -8
- package/include/webp/types.h +29 -8
- package/include/zconf.h +1 -1
- package/include/zlib.h +12 -12
- package/package.json +1 -1
- package/versions.json +18 -19
|
@@ -301,15 +301,101 @@ struct _GSourceCallbackFuncs
|
|
|
301
301
|
*/
|
|
302
302
|
typedef void (*GSourceDummyMarshal) (void);
|
|
303
303
|
|
|
304
|
+
/**
|
|
305
|
+
* GSourceFuncsPrepareFunc:
|
|
306
|
+
* @source: The #GSource
|
|
307
|
+
* @timeout_: (out) (optional): the maximum timeout (in milliseconds) which should be passed to the poll call
|
|
308
|
+
*
|
|
309
|
+
* Checks the source for readiness.
|
|
310
|
+
*
|
|
311
|
+
* Called before all the file descriptors are polled. If the
|
|
312
|
+
* source can determine that it is ready here (without waiting for the
|
|
313
|
+
* results of the poll call) it should return %TRUE. It can also return
|
|
314
|
+
* a @timeout_ value which should be the maximum timeout (in milliseconds)
|
|
315
|
+
* which should be passed to the poll call. The actual timeout used will
|
|
316
|
+
* be `-1` if all sources returned `-1`, or it will be the minimum of all
|
|
317
|
+
* the @timeout_ values returned which were greater than or equal to `0`.
|
|
318
|
+
* If the prepare function returns a timeout and the source also has a
|
|
319
|
+
* ready time set, then the lower of the two will be used.
|
|
320
|
+
*
|
|
321
|
+
* Since 2.36 this may be `NULL`, in which case the effect is as if the
|
|
322
|
+
* function always returns `FALSE` with a timeout of `-1`.
|
|
323
|
+
*
|
|
324
|
+
* Returns: %TRUE if the source is ready, %FALSE otherwise
|
|
325
|
+
*
|
|
326
|
+
* Since: 2.82
|
|
327
|
+
*/
|
|
328
|
+
typedef gboolean (*GSourceFuncsPrepareFunc) (GSource *source,
|
|
329
|
+
gint *timeout_);
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* GSourceFuncsCheckFunc:
|
|
333
|
+
* @source: The #GSource
|
|
334
|
+
*
|
|
335
|
+
* Checks if the source is ready to be dispatched.
|
|
336
|
+
*
|
|
337
|
+
* Called after all the file descriptors are polled. The source
|
|
338
|
+
* should return %TRUE if it is ready to be dispatched. Note that some
|
|
339
|
+
* time may have passed since the previous prepare function was called,
|
|
340
|
+
* so the source should be checked again here.
|
|
341
|
+
*
|
|
342
|
+
* Since 2.36 this may be `NULL`, in which case the effect is
|
|
343
|
+
* as if the function always returns `FALSE`.
|
|
344
|
+
*
|
|
345
|
+
* Returns: %TRUE if ready to be dispatched, %FALSE otherwise
|
|
346
|
+
*
|
|
347
|
+
* Since: 2.82
|
|
348
|
+
*/
|
|
349
|
+
typedef gboolean (*GSourceFuncsCheckFunc) (GSource *source);
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* GSourceFuncsDispatchFunc:
|
|
353
|
+
* @source: The #GSource
|
|
354
|
+
* @callback: (nullable): The #GSourceFunc to call
|
|
355
|
+
* @user_data: (nullable): data to pass to @callback
|
|
356
|
+
*
|
|
357
|
+
* Dispatches the source callback.
|
|
358
|
+
*
|
|
359
|
+
* Called to dispatch the event source, after it has returned
|
|
360
|
+
* `TRUE` in either its prepare or its check function, or if a ready time
|
|
361
|
+
* has been reached. The dispatch function receives a callback function and
|
|
362
|
+
* user data. The callback function may be `NULL` if the source was never
|
|
363
|
+
* connected to a callback using [method@GLib.Source.set_callback]. The dispatch
|
|
364
|
+
* function should call the callback function with @user_data and whatever
|
|
365
|
+
* additional parameters are needed for this type of event source. The
|
|
366
|
+
* return value of the dispatch function should be [const@GLib.SOURCE_REMOVE]
|
|
367
|
+
* if the source should be removed or [const@GLib.SOURCE_CONTINUE] to keep it.
|
|
368
|
+
*
|
|
369
|
+
* Returns: [const@GLib.SOURCE_REMOVE] if the source should be removed,
|
|
370
|
+
* [const@GLib.SOURCE_CONTINUE] otherwise.
|
|
371
|
+
*
|
|
372
|
+
* Since: 2.82
|
|
373
|
+
*/
|
|
374
|
+
typedef gboolean (*GSourceFuncsDispatchFunc) (GSource *source,
|
|
375
|
+
GSourceFunc callback,
|
|
376
|
+
gpointer user_data);
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* GSourceFuncsFinalizeFunc:
|
|
380
|
+
* @source: The #GSource
|
|
381
|
+
*
|
|
382
|
+
* Finalizes the source.
|
|
383
|
+
*
|
|
384
|
+
* Called when the source is finalized. At this point, the source
|
|
385
|
+
* will have been destroyed, had its callback cleared, and have been removed
|
|
386
|
+
* from its [type@GLib.MainContext], but it will still have its final reference
|
|
387
|
+
* count, so methods can be called on it from within this function.
|
|
388
|
+
*
|
|
389
|
+
* Since: 2.82
|
|
390
|
+
*/
|
|
391
|
+
typedef void (*GSourceFuncsFinalizeFunc) (GSource *source);
|
|
392
|
+
|
|
304
393
|
struct _GSourceFuncs
|
|
305
394
|
{
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
GSourceFunc callback,
|
|
311
|
-
gpointer user_data);
|
|
312
|
-
void (*finalize) (GSource *source); /* Can be NULL */
|
|
395
|
+
GSourceFuncsPrepareFunc prepare; /* Can be NULL */
|
|
396
|
+
GSourceFuncsCheckFunc check; /* Can be NULL */
|
|
397
|
+
GSourceFuncsDispatchFunc dispatch;
|
|
398
|
+
GSourceFuncsFinalizeFunc finalize; /* Can be NULL */
|
|
313
399
|
|
|
314
400
|
/*< private >*/
|
|
315
401
|
/* For use by g_source_set_closure */
|
|
@@ -229,6 +229,11 @@ gchar *g_log_writer_format_fields (GLogLevelFlags log_level,
|
|
|
229
229
|
gsize n_fields,
|
|
230
230
|
gboolean use_color);
|
|
231
231
|
|
|
232
|
+
GLIB_AVAILABLE_IN_2_80
|
|
233
|
+
GLogWriterOutput g_log_writer_syslog (GLogLevelFlags log_level,
|
|
234
|
+
const GLogField *fields,
|
|
235
|
+
gsize n_fields,
|
|
236
|
+
gpointer user_data);
|
|
232
237
|
GLIB_AVAILABLE_IN_2_50
|
|
233
238
|
GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level,
|
|
234
239
|
const GLogField *fields,
|
|
@@ -547,6 +552,9 @@ GPrintFunc g_set_printerr_handler (GPrintFunc func);
|
|
|
547
552
|
*
|
|
548
553
|
* Logs a warning if the expression is not true.
|
|
549
554
|
*
|
|
555
|
+
* Unlike g_return_if_fail(), the expression is always evaluated, even if
|
|
556
|
+
* checks and assertions are disabled.
|
|
557
|
+
*
|
|
550
558
|
* Since: 2.16
|
|
551
559
|
*/
|
|
552
560
|
#define g_warn_if_fail(expr) \
|
|
@@ -35,13 +35,20 @@
|
|
|
35
35
|
|
|
36
36
|
G_BEGIN_DECLS
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
GLIB_DEPRECATED_IN_2_82_FOR(g_sort_array)
|
|
39
39
|
void g_qsort_with_data (gconstpointer pbase,
|
|
40
40
|
gint total_elems,
|
|
41
41
|
gsize size,
|
|
42
42
|
GCompareDataFunc compare_func,
|
|
43
43
|
gpointer user_data);
|
|
44
44
|
|
|
45
|
+
GLIB_AVAILABLE_IN_2_82
|
|
46
|
+
void g_sort_array (const void *array,
|
|
47
|
+
size_t n_elements,
|
|
48
|
+
size_t element_size,
|
|
49
|
+
GCompareDataFunc compare_func,
|
|
50
|
+
void *user_data);
|
|
51
|
+
|
|
45
52
|
G_END_DECLS
|
|
46
53
|
|
|
47
54
|
#endif /* __G_QSORT_H__ */
|
|
@@ -107,10 +107,12 @@ gint64 g_slice_get_config (GSliceConfig ckey);
|
|
|
107
107
|
GLIB_DEPRECATED_IN_2_34
|
|
108
108
|
gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values);
|
|
109
109
|
|
|
110
|
+
#ifndef __GI_SCANNER__
|
|
110
111
|
#ifdef G_ENABLE_DEBUG
|
|
111
112
|
GLIB_AVAILABLE_IN_ALL
|
|
112
113
|
void g_slice_debug_tree_statistics (void);
|
|
113
114
|
#endif
|
|
115
|
+
#endif
|
|
114
116
|
|
|
115
117
|
G_END_DECLS
|
|
116
118
|
|
|
@@ -327,21 +327,9 @@ g_strdup_inline (const char *str)
|
|
|
327
327
|
#endif /* !defined (__GTK_DOC_IGNORE__) */
|
|
328
328
|
#endif /* G_GNUC_CHECK_VERSION (2, 0) */
|
|
329
329
|
|
|
330
|
-
/* Make a copy of a string interpreting C string -style escape
|
|
331
|
-
* sequences. Inverse of g_strescape. The recognized sequences are \b
|
|
332
|
-
* \f \n \r \t \\ \" and the octal format.
|
|
333
|
-
*/
|
|
334
330
|
GLIB_AVAILABLE_IN_ALL
|
|
335
331
|
gchar* g_strcompress (const gchar *source) G_GNUC_MALLOC;
|
|
336
332
|
|
|
337
|
-
/* Copy a string escaping nonprintable characters like in C strings.
|
|
338
|
-
* Inverse of g_strcompress. The exceptions parameter, if non-NULL, points
|
|
339
|
-
* to a string containing characters that are not to be escaped.
|
|
340
|
-
*
|
|
341
|
-
* Deprecated API: gchar* g_strescape (const gchar *source);
|
|
342
|
-
* Luckily this function wasn't used much, using NULL as second parameter
|
|
343
|
-
* provides mostly identical semantics.
|
|
344
|
-
*/
|
|
345
333
|
GLIB_AVAILABLE_IN_ALL
|
|
346
334
|
gchar* g_strescape (const gchar *source,
|
|
347
335
|
const gchar *exceptions) G_GNUC_MALLOC;
|
|
@@ -412,8 +400,8 @@ gboolean g_strv_equal (const gchar * const *strv1,
|
|
|
412
400
|
|
|
413
401
|
/**
|
|
414
402
|
* GNumberParserError:
|
|
415
|
-
* @G_NUMBER_PARSER_ERROR_INVALID:
|
|
416
|
-
* @G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS:
|
|
403
|
+
* @G_NUMBER_PARSER_ERROR_INVALID: string was not a valid number
|
|
404
|
+
* @G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: string was a number, but out of bounds
|
|
417
405
|
*
|
|
418
406
|
* Error codes returned by functions converting a string to a number.
|
|
419
407
|
*
|
|
@@ -456,28 +444,34 @@ gboolean g_ascii_string_to_unsigned (const gchar *str,
|
|
|
456
444
|
|
|
457
445
|
/**
|
|
458
446
|
* g_set_str: (skip)
|
|
459
|
-
* @str_pointer: (inout) (not optional) (nullable): a pointer to either
|
|
460
|
-
*
|
|
447
|
+
* @str_pointer: (inout) (not optional) (nullable): a pointer to either
|
|
448
|
+
* a string or `NULL`
|
|
449
|
+
* @new_str: (nullable): a string to assign to @str_pointer
|
|
450
|
+
*
|
|
451
|
+
* Updates a pointer to a string to a copy of @new_str and returns whether the
|
|
452
|
+
* string was changed.
|
|
461
453
|
*
|
|
462
|
-
*
|
|
463
|
-
*
|
|
454
|
+
* If @new_str matches the previous string, this function is a no-op. If
|
|
455
|
+
* @new_str is different, a copy of it will be assigned to @str_pointer and
|
|
456
|
+
* the previous string pointed to by @str_pointer will be freed with
|
|
457
|
+
* [func@GLib.free].
|
|
464
458
|
*
|
|
465
|
-
* @str_pointer must not be
|
|
459
|
+
* @str_pointer must not be `NULL`, but can point to a `NULL` value.
|
|
466
460
|
*
|
|
467
461
|
* One convenient usage of this function is in implementing property settings:
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
*
|
|
472
|
-
*
|
|
473
|
-
*
|
|
462
|
+
* ```C
|
|
463
|
+
* void
|
|
464
|
+
* foo_set_bar (Foo *foo,
|
|
465
|
+
* const char *new_bar)
|
|
466
|
+
* {
|
|
467
|
+
* g_return_if_fail (IS_FOO (foo));
|
|
474
468
|
*
|
|
475
|
-
*
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
469
|
+
* if (g_set_str (&foo->bar, new_bar))
|
|
470
|
+
* g_object_notify (foo, "bar");
|
|
471
|
+
* }
|
|
472
|
+
* ```
|
|
479
473
|
*
|
|
480
|
-
* Returns:
|
|
474
|
+
* Returns: true if the value of @str_pointer changed, false otherwise
|
|
481
475
|
*
|
|
482
476
|
* Since: 2.76
|
|
483
477
|
*/
|
|
@@ -38,6 +38,9 @@ GStrvBuilder *g_strv_builder_new (void);
|
|
|
38
38
|
GLIB_AVAILABLE_IN_2_68
|
|
39
39
|
void g_strv_builder_unref (GStrvBuilder *builder);
|
|
40
40
|
|
|
41
|
+
GLIB_AVAILABLE_IN_2_82
|
|
42
|
+
GStrv g_strv_builder_unref_to_strv (GStrvBuilder *builder);
|
|
43
|
+
|
|
41
44
|
GLIB_AVAILABLE_IN_2_68
|
|
42
45
|
GStrvBuilder *g_strv_builder_ref (GStrvBuilder *builder);
|
|
43
46
|
|
|
@@ -139,6 +139,10 @@ struct _GOnce
|
|
|
139
139
|
# define G_TRYLOCK(name) g_mutex_trylock (&G_LOCK_NAME (name))
|
|
140
140
|
#endif /* !G_DEBUG_LOCKS */
|
|
141
141
|
|
|
142
|
+
#ifdef g_autoptr
|
|
143
|
+
#define G_AUTO_LOCK(name) G_MUTEX_AUTO_LOCK (&G_LOCK_NAME (name), g__##name##_locker)
|
|
144
|
+
#endif /* g_autoptr */
|
|
145
|
+
|
|
142
146
|
GLIB_AVAILABLE_IN_2_32
|
|
143
147
|
GThread * g_thread_ref (GThread *thread);
|
|
144
148
|
GLIB_AVAILABLE_IN_2_32
|
|
@@ -339,7 +343,7 @@ typedef void GMutexLocker;
|
|
|
339
343
|
*
|
|
340
344
|
* // Code with mutex locked here
|
|
341
345
|
*
|
|
342
|
-
* if (
|
|
346
|
+
* if (condition)
|
|
343
347
|
* // No need to unlock
|
|
344
348
|
* return;
|
|
345
349
|
*
|
|
@@ -350,6 +354,10 @@ typedef void GMutexLocker;
|
|
|
350
354
|
* }
|
|
351
355
|
* ]|
|
|
352
356
|
*
|
|
357
|
+
* Note that it is common for the declared variable to not be used in the scope,
|
|
358
|
+
* which causes some compilers to warn. That can be avoided by using
|
|
359
|
+
* `G_GNUC_UNUSED` or, since 2.80, [func@GLib.MUTEX_AUTO_LOCK].
|
|
360
|
+
*
|
|
353
361
|
* Returns: a #GMutexLocker
|
|
354
362
|
* Since: 2.44
|
|
355
363
|
*/
|
|
@@ -378,6 +386,49 @@ g_mutex_locker_free (GMutexLocker *locker)
|
|
|
378
386
|
g_mutex_unlock ((GMutex *) locker);
|
|
379
387
|
}
|
|
380
388
|
|
|
389
|
+
/**
|
|
390
|
+
* G_MUTEX_AUTO_LOCK:
|
|
391
|
+
* @mutex: a [type@GLib.Mutex]
|
|
392
|
+
* @var: a variable name to be declared
|
|
393
|
+
*
|
|
394
|
+
* Declare a [type@GLib.MutexLocker] variable with `g_autoptr()` and lock the
|
|
395
|
+
* mutex. The mutex will be unlocked automatically when leaving the scope. The
|
|
396
|
+
* variable is declared with `G_GNUC_UNUSED` to avoid compiler warning if it is
|
|
397
|
+
* not used in the scope.
|
|
398
|
+
*
|
|
399
|
+
* This feature is only supported on GCC and clang. This macro is not defined on
|
|
400
|
+
* other compilers and should not be used in programs that are intended to be
|
|
401
|
+
* portable to those compilers.
|
|
402
|
+
*
|
|
403
|
+
* Note that this should be used in a place where it is allowed to declare a
|
|
404
|
+
* variable, which could be before any statement in the case
|
|
405
|
+
* `-Wdeclaration-after-statement` is used, or C standard prior to C99.
|
|
406
|
+
*
|
|
407
|
+
* ```c
|
|
408
|
+
* {
|
|
409
|
+
* G_MUTEX_AUTO_LOCK (&obj->mutex, locker);
|
|
410
|
+
*
|
|
411
|
+
* obj->stuff_with_lock ();
|
|
412
|
+
* if (condition)
|
|
413
|
+
* {
|
|
414
|
+
* // No need to unlock
|
|
415
|
+
* return;
|
|
416
|
+
* }
|
|
417
|
+
*
|
|
418
|
+
* // Unlock before end of scope
|
|
419
|
+
* g_clear_pointer (&locker, g_mutex_locker_free);
|
|
420
|
+
* obj->stuff_without_lock ();
|
|
421
|
+
* }
|
|
422
|
+
* ```
|
|
423
|
+
*
|
|
424
|
+
* Since: 2.80.0
|
|
425
|
+
*/
|
|
426
|
+
#ifdef g_autoptr
|
|
427
|
+
#define G_MUTEX_AUTO_LOCK(mutex, var) \
|
|
428
|
+
GLIB_AVAILABLE_MACRO_IN_2_80 g_autoptr (GMutexLocker) \
|
|
429
|
+
G_GNUC_UNUSED var = g_mutex_locker_new (mutex)
|
|
430
|
+
#endif /* g_autoptr */
|
|
431
|
+
|
|
381
432
|
/**
|
|
382
433
|
* GRecMutexLocker:
|
|
383
434
|
*
|
|
@@ -414,7 +465,7 @@ typedef void GRecMutexLocker;
|
|
|
414
465
|
*
|
|
415
466
|
* // Code with rec_mutex locked here
|
|
416
467
|
*
|
|
417
|
-
* if (
|
|
468
|
+
* if (condition)
|
|
418
469
|
* // No need to unlock
|
|
419
470
|
* return;
|
|
420
471
|
*
|
|
@@ -425,6 +476,10 @@ typedef void GRecMutexLocker;
|
|
|
425
476
|
* }
|
|
426
477
|
* ]|
|
|
427
478
|
*
|
|
479
|
+
* Note that it is common for the declared variable to not be used in the scope,
|
|
480
|
+
* which causes some compilers to warn. That can be avoided by using
|
|
481
|
+
* `G_GNUC_UNUSED` or, since 2.80, [func@GLib.REC_MUTEX_AUTO_LOCK].
|
|
482
|
+
*
|
|
428
483
|
* Returns: a #GRecMutexLocker
|
|
429
484
|
* Since: 2.60
|
|
430
485
|
*/
|
|
@@ -457,6 +512,49 @@ g_rec_mutex_locker_free (GRecMutexLocker *locker)
|
|
|
457
512
|
}
|
|
458
513
|
G_GNUC_END_IGNORE_DEPRECATIONS
|
|
459
514
|
|
|
515
|
+
/**
|
|
516
|
+
* G_REC_MUTEX_AUTO_LOCK:
|
|
517
|
+
* @mutex: a [type@GLib.RecMutex]
|
|
518
|
+
* @var: a variable name to be declared
|
|
519
|
+
*
|
|
520
|
+
* Declare a [type@GLib.RecMutexLocker] variable with `g_autoptr()` and lock the
|
|
521
|
+
* mutex. The mutex will be unlocked automatically when leaving the scope. The
|
|
522
|
+
* variable is declared with `G_GNUC_UNUSED` to avoid compiler warning if it is
|
|
523
|
+
* not used in the scope.
|
|
524
|
+
*
|
|
525
|
+
* This feature is only supported on GCC and clang. This macro is not defined on
|
|
526
|
+
* other compilers and should not be used in programs that are intended to be
|
|
527
|
+
* portable to those compilers.
|
|
528
|
+
*
|
|
529
|
+
* Note that this should be used in a place where it is allowed to declare a
|
|
530
|
+
* variable, which could be before any statement in the case
|
|
531
|
+
* `-Wdeclaration-after-statement` is used, or C standard prior to C99.
|
|
532
|
+
*
|
|
533
|
+
* ```c
|
|
534
|
+
* {
|
|
535
|
+
* G_REC_MUTEX_AUTO_LOCK (&obj->rec_mutex, locker);
|
|
536
|
+
*
|
|
537
|
+
* obj->stuff_with_lock ();
|
|
538
|
+
* if (condition)
|
|
539
|
+
* {
|
|
540
|
+
* // No need to unlock
|
|
541
|
+
* return;
|
|
542
|
+
* }
|
|
543
|
+
*
|
|
544
|
+
* // Unlock before end of scope
|
|
545
|
+
* g_clear_pointer (&locker, g_rec_mutex_locker_free);
|
|
546
|
+
* obj->stuff_without_lock ();
|
|
547
|
+
* }
|
|
548
|
+
* ```
|
|
549
|
+
*
|
|
550
|
+
* Since: 2.80.0
|
|
551
|
+
*/
|
|
552
|
+
#ifdef g_autoptr
|
|
553
|
+
#define G_REC_MUTEX_AUTO_LOCK(mutex, var) \
|
|
554
|
+
GLIB_AVAILABLE_MACRO_IN_2_80 g_autoptr (GRecMutexLocker) \
|
|
555
|
+
G_GNUC_UNUSED var = g_rec_mutex_locker_new (mutex)
|
|
556
|
+
#endif /* g_autoptr */
|
|
557
|
+
|
|
460
558
|
/**
|
|
461
559
|
* GRWLockWriterLocker:
|
|
462
560
|
*
|
|
@@ -520,7 +618,7 @@ typedef void GRWLockWriterLocker;
|
|
|
520
618
|
* if (self->array == NULL)
|
|
521
619
|
* self->array = g_ptr_array_new ();
|
|
522
620
|
*
|
|
523
|
-
* if (
|
|
621
|
+
* if (condition)
|
|
524
622
|
* // No need to unlock
|
|
525
623
|
* return;
|
|
526
624
|
*
|
|
@@ -535,6 +633,10 @@ typedef void GRWLockWriterLocker;
|
|
|
535
633
|
* }
|
|
536
634
|
* ]|
|
|
537
635
|
*
|
|
636
|
+
* Note that it is common for the declared variable to not be used in the scope,
|
|
637
|
+
* which causes some compilers to warn. That can be avoided by using
|
|
638
|
+
* `G_GNUC_UNUSED` or, since 2.80, [func@GLib.RW_LOCK_WRITER_AUTO_LOCK].
|
|
639
|
+
*
|
|
538
640
|
* Returns: a #GRWLockWriterLocker
|
|
539
641
|
* Since: 2.62
|
|
540
642
|
*/
|
|
@@ -568,6 +670,49 @@ g_rw_lock_writer_locker_free (GRWLockWriterLocker *locker)
|
|
|
568
670
|
}
|
|
569
671
|
G_GNUC_END_IGNORE_DEPRECATIONS
|
|
570
672
|
|
|
673
|
+
/**
|
|
674
|
+
* G_RW_LOCK_WRITER_AUTO_LOCK:
|
|
675
|
+
* @mutex: a [type@GLib.RWLock]
|
|
676
|
+
* @var: a variable name to be declared
|
|
677
|
+
*
|
|
678
|
+
* Declare a [type@GLib.RWLockWriterLocker] variable with `g_autoptr()` and lock
|
|
679
|
+
* for writing. The mutex will be unlocked automatically when leaving the scope.
|
|
680
|
+
* The variable is declared with `G_GNUC_UNUSED` to avoid compiler warning if it
|
|
681
|
+
* is not used in the scope.
|
|
682
|
+
*
|
|
683
|
+
* This feature is only supported on GCC and clang. This macro is not defined on
|
|
684
|
+
* other compilers and should not be used in programs that are intended to be
|
|
685
|
+
* portable to those compilers.
|
|
686
|
+
*
|
|
687
|
+
* Note that this should be used in a place where it is allowed to declare a
|
|
688
|
+
* variable, which could be before any statement in the case
|
|
689
|
+
* `-Wdeclaration-after-statement` is used, or C standard prior to C99.
|
|
690
|
+
*
|
|
691
|
+
* ```c
|
|
692
|
+
* {
|
|
693
|
+
* G_RW_LOCK_WRITER_AUTO_LOCK (&obj->rw_lock, locker);
|
|
694
|
+
*
|
|
695
|
+
* obj->stuff_with_lock ();
|
|
696
|
+
* if (condition)
|
|
697
|
+
* {
|
|
698
|
+
* // No need to unlock
|
|
699
|
+
* return;
|
|
700
|
+
* }
|
|
701
|
+
*
|
|
702
|
+
* // Unlock before end of scope
|
|
703
|
+
* g_clear_pointer (&locker, g_rw_lock_writer_locker_free);
|
|
704
|
+
* obj->stuff_without_lock ();
|
|
705
|
+
* }
|
|
706
|
+
* ```
|
|
707
|
+
*
|
|
708
|
+
* Since: 2.80.0
|
|
709
|
+
*/
|
|
710
|
+
#ifdef g_autoptr
|
|
711
|
+
#define G_RW_LOCK_WRITER_AUTO_LOCK(mutex, var) \
|
|
712
|
+
GLIB_AVAILABLE_MACRO_IN_2_80 g_autoptr (GRWLockWriterLocker) \
|
|
713
|
+
G_GNUC_UNUSED var = g_rw_lock_writer_locker_new (mutex)
|
|
714
|
+
#endif /* g_autoptr */
|
|
715
|
+
|
|
571
716
|
/**
|
|
572
717
|
* GRWLockReaderLocker:
|
|
573
718
|
*
|
|
@@ -623,6 +768,49 @@ g_rw_lock_reader_locker_free (GRWLockReaderLocker *locker)
|
|
|
623
768
|
}
|
|
624
769
|
G_GNUC_END_IGNORE_DEPRECATIONS
|
|
625
770
|
|
|
771
|
+
/**
|
|
772
|
+
* G_RW_LOCK_READER_AUTO_LOCK:
|
|
773
|
+
* @mutex: a [type@GLib.RWLock]
|
|
774
|
+
* @var: a variable name to be declared
|
|
775
|
+
*
|
|
776
|
+
* Declare a [type@GLib.RWLockReaderLocker] variable with `g_autoptr()` and lock
|
|
777
|
+
* for reading. The mutex will be unlocked automatically when leaving the scope.
|
|
778
|
+
* The variable is declared with `G_GNUC_UNUSED` to avoid compiler warning if it
|
|
779
|
+
* is not used in the scope.
|
|
780
|
+
*
|
|
781
|
+
* This feature is only supported on GCC and clang. This macro is not defined on
|
|
782
|
+
* other compilers and should not be used in programs that are intended to be
|
|
783
|
+
* portable to those compilers.
|
|
784
|
+
*
|
|
785
|
+
* Note that this should be used in a place where it is allowed to declare a
|
|
786
|
+
* variable, which could be before any statement in the case
|
|
787
|
+
* `-Wdeclaration-after-statement` is used, or C standard prior to C99.
|
|
788
|
+
*
|
|
789
|
+
* ```c
|
|
790
|
+
* {
|
|
791
|
+
* G_RW_LOCK_READER_AUTO_LOCK (&obj->rw_lock, locker);
|
|
792
|
+
*
|
|
793
|
+
* obj->stuff_with_lock ();
|
|
794
|
+
* if (condition)
|
|
795
|
+
* {
|
|
796
|
+
* // No need to unlock
|
|
797
|
+
* return;
|
|
798
|
+
* }
|
|
799
|
+
*
|
|
800
|
+
* // Unlock before end of scope
|
|
801
|
+
* g_clear_pointer (&locker, g_rw_lock_reader_locker_free);
|
|
802
|
+
* obj->stuff_without_lock ();
|
|
803
|
+
* }
|
|
804
|
+
* ```
|
|
805
|
+
*
|
|
806
|
+
* Since: 2.80.0
|
|
807
|
+
*/
|
|
808
|
+
#ifdef g_autoptr
|
|
809
|
+
#define G_RW_LOCK_READER_AUTO_LOCK(mutex, var) \
|
|
810
|
+
GLIB_AVAILABLE_MACRO_IN_2_80 g_autoptr (GRWLockReaderLocker) \
|
|
811
|
+
G_GNUC_UNUSED var = g_rw_lock_reader_locker_new (mutex)
|
|
812
|
+
#endif /* g_autoptr */
|
|
813
|
+
|
|
626
814
|
G_END_DECLS
|
|
627
815
|
|
|
628
816
|
#endif /* __G_THREAD_H__ */
|
|
@@ -806,7 +806,7 @@ GLIB_VAR const gchar * const g_utf8_skip;
|
|
|
806
806
|
* Before using this macro, use g_utf8_validate() to validate strings
|
|
807
807
|
* that may contain invalid UTF-8.
|
|
808
808
|
*/
|
|
809
|
-
#define g_utf8_next_char(p) (
|
|
809
|
+
#define g_utf8_next_char(p) ((p) + g_utf8_skip[*(const guchar *)(p)])
|
|
810
810
|
|
|
811
811
|
GLIB_AVAILABLE_IN_ALL
|
|
812
812
|
gunichar g_utf8_get_char (const gchar *p) G_GNUC_PURE;
|
|
@@ -395,6 +395,15 @@
|
|
|
395
395
|
* Since: 2.80
|
|
396
396
|
*/
|
|
397
397
|
#define GLIB_VERSION_2_80 (G_ENCODE_VERSION (2, 80))
|
|
398
|
+
/**
|
|
399
|
+
* GLIB_VERSION_2_82:
|
|
400
|
+
*
|
|
401
|
+
* A macro that evaluates to the 2.82 version of GLib, in a format
|
|
402
|
+
* that can be used by the C pre-processor.
|
|
403
|
+
*
|
|
404
|
+
* Since: 2.82
|
|
405
|
+
*/
|
|
406
|
+
#define GLIB_VERSION_2_82 (G_ENCODE_VERSION (2, 82))
|
|
398
407
|
|
|
399
408
|
/**
|
|
400
409
|
* GLIB_VERSION_CUR_STABLE:
|
|
@@ -173,7 +173,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
|
|
|
173
173
|
/**
|
|
174
174
|
* g_unix_pipe_open:
|
|
175
175
|
* @self: A pair of file descriptors
|
|
176
|
-
* @flags: Flags to pass to g_unix_open_pipe(), typically `
|
|
176
|
+
* @flags: Flags to pass to g_unix_open_pipe(), typically `O_CLOEXEC`
|
|
177
177
|
* @error: Used to report an error on failure
|
|
178
178
|
*
|
|
179
179
|
* Open a pipe. This is the same as g_unix_open_pipe(), but uses the
|
|
@@ -326,6 +326,12 @@ g_unix_pipe_clear (GUnixPipe *self)
|
|
|
326
326
|
|
|
327
327
|
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GUnixPipe, g_unix_pipe_clear)
|
|
328
328
|
|
|
329
|
+
GLIB_AVAILABLE_IN_2_80
|
|
330
|
+
int g_closefrom (int lowfd);
|
|
331
|
+
|
|
332
|
+
GLIB_AVAILABLE_IN_2_80
|
|
333
|
+
int g_fdwalk_set_cloexec (int lowfd);
|
|
334
|
+
|
|
329
335
|
G_GNUC_END_IGNORE_DEPRECATIONS
|
|
330
336
|
|
|
331
337
|
G_END_DECLS
|
|
@@ -984,3 +984,37 @@
|
|
|
984
984
|
#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_80
|
|
985
985
|
#define GMODULE_AVAILABLE_TYPE_IN_2_80
|
|
986
986
|
#endif
|
|
987
|
+
|
|
988
|
+
#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_82
|
|
989
|
+
#define GMODULE_DEPRECATED_IN_2_82 GMODULE_DEPRECATED
|
|
990
|
+
#define GMODULE_DEPRECATED_IN_2_82_FOR(f) GMODULE_DEPRECATED_FOR (f)
|
|
991
|
+
#define GMODULE_DEPRECATED_MACRO_IN_2_82 GLIB_DEPRECATED_MACRO
|
|
992
|
+
#define GMODULE_DEPRECATED_MACRO_IN_2_82_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f)
|
|
993
|
+
#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_82 GLIB_DEPRECATED_ENUMERATOR
|
|
994
|
+
#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_82_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f)
|
|
995
|
+
#define GMODULE_DEPRECATED_TYPE_IN_2_82 GLIB_DEPRECATED_TYPE
|
|
996
|
+
#define GMODULE_DEPRECATED_TYPE_IN_2_82_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f)
|
|
997
|
+
#else
|
|
998
|
+
#define GMODULE_DEPRECATED_IN_2_82 _GMODULE_EXTERN
|
|
999
|
+
#define GMODULE_DEPRECATED_IN_2_82_FOR(f) _GMODULE_EXTERN
|
|
1000
|
+
#define GMODULE_DEPRECATED_MACRO_IN_2_82
|
|
1001
|
+
#define GMODULE_DEPRECATED_MACRO_IN_2_82_FOR(f)
|
|
1002
|
+
#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_82
|
|
1003
|
+
#define GMODULE_DEPRECATED_ENUMERATOR_IN_2_82_FOR(f)
|
|
1004
|
+
#define GMODULE_DEPRECATED_TYPE_IN_2_82
|
|
1005
|
+
#define GMODULE_DEPRECATED_TYPE_IN_2_82_FOR(f)
|
|
1006
|
+
#endif
|
|
1007
|
+
|
|
1008
|
+
#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_82
|
|
1009
|
+
#define GMODULE_AVAILABLE_IN_2_82 GMODULE_UNAVAILABLE (2, 82)
|
|
1010
|
+
#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_82 GLIB_UNAVAILABLE_STATIC_INLINE (2, 82)
|
|
1011
|
+
#define GMODULE_AVAILABLE_MACRO_IN_2_82 GLIB_UNAVAILABLE_MACRO (2, 82)
|
|
1012
|
+
#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_82 GLIB_UNAVAILABLE_ENUMERATOR (2, 82)
|
|
1013
|
+
#define GMODULE_AVAILABLE_TYPE_IN_2_82 GLIB_UNAVAILABLE_TYPE (2, 82)
|
|
1014
|
+
#else
|
|
1015
|
+
#define GMODULE_AVAILABLE_IN_2_82 _GMODULE_EXTERN
|
|
1016
|
+
#define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_82
|
|
1017
|
+
#define GMODULE_AVAILABLE_MACRO_IN_2_82
|
|
1018
|
+
#define GMODULE_AVAILABLE_ENUMERATOR_IN_2_82
|
|
1019
|
+
#define GMODULE_AVAILABLE_TYPE_IN_2_82
|
|
1020
|
+
#endif
|
|
@@ -320,14 +320,14 @@ void g_flags_complete_type_info (GType g_flags_type,
|
|
|
320
320
|
#define G_DEFINE_ENUM_TYPE(TypeName, type_name, ...) \
|
|
321
321
|
GType \
|
|
322
322
|
type_name ## _get_type (void) { \
|
|
323
|
-
static
|
|
324
|
-
if (
|
|
323
|
+
static _g_type_once_init_type g_define_type__static = 0; \
|
|
324
|
+
if (_g_type_once_init_enter (&g_define_type__static)) { \
|
|
325
325
|
static const GEnumValue enum_values[] = { \
|
|
326
326
|
__VA_ARGS__ , \
|
|
327
327
|
{ 0, NULL, NULL }, \
|
|
328
328
|
}; \
|
|
329
329
|
GType g_define_type = g_enum_register_static (g_intern_static_string (#TypeName), enum_values); \
|
|
330
|
-
|
|
330
|
+
_g_type_once_init_leave (&g_define_type__static, g_define_type); \
|
|
331
331
|
} \
|
|
332
332
|
return g_define_type__static; \
|
|
333
333
|
} \
|
|
@@ -363,14 +363,14 @@ type_name ## _get_type (void) { \
|
|
|
363
363
|
#define G_DEFINE_FLAGS_TYPE(TypeName, type_name, ...) \
|
|
364
364
|
GType \
|
|
365
365
|
type_name ## _get_type (void) { \
|
|
366
|
-
static
|
|
367
|
-
if (
|
|
366
|
+
static _g_type_once_init_type g_define_type__static = 0; \
|
|
367
|
+
if (_g_type_once_init_enter (&g_define_type__static)) { \
|
|
368
368
|
static const GFlagsValue flags_values[] = { \
|
|
369
369
|
__VA_ARGS__ , \
|
|
370
370
|
{ 0, NULL, NULL }, \
|
|
371
371
|
}; \
|
|
372
372
|
GType g_define_type = g_flags_register_static (g_intern_static_string (#TypeName), flags_values); \
|
|
373
|
-
|
|
373
|
+
_g_type_once_init_leave (&g_define_type__static, g_define_type); \
|
|
374
374
|
} \
|
|
375
375
|
return g_define_type__static; \
|
|
376
376
|
} \
|
|
@@ -345,6 +345,15 @@ typedef gsize GType;
|
|
|
345
345
|
*/
|
|
346
346
|
#define G_TYPE_DIR (g_dir_get_type ())
|
|
347
347
|
|
|
348
|
+
/**
|
|
349
|
+
* G_TYPE_RAND:
|
|
350
|
+
*
|
|
351
|
+
* The #GType for a boxed type holding a #GRand.
|
|
352
|
+
*
|
|
353
|
+
* Since: 2.80
|
|
354
|
+
*/
|
|
355
|
+
#define G_TYPE_RAND (g_rand_get_type ())
|
|
356
|
+
|
|
348
357
|
/**
|
|
349
358
|
* G_TYPE_STRV_BUILDER:
|
|
350
359
|
*
|
|
@@ -423,6 +432,8 @@ GType g_hmac_get_type (void) G_GNUC_CONST;
|
|
|
423
432
|
GOBJECT_AVAILABLE_IN_2_80
|
|
424
433
|
GType g_dir_get_type (void) G_GNUC_CONST;
|
|
425
434
|
GOBJECT_AVAILABLE_IN_2_80
|
|
435
|
+
GType g_rand_get_type (void) G_GNUC_CONST;
|
|
436
|
+
GOBJECT_AVAILABLE_IN_2_80
|
|
426
437
|
GType g_strv_builder_get_type (void) G_GNUC_CONST;
|
|
427
438
|
|
|
428
439
|
GOBJECT_DEPRECATED_FOR('G_TYPE_VARIANT')
|