gobject-introspection 3.0.9-x86-mingw32 → 3.1.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/ext/gobject-introspection/rb-gi-argument.c +205 -47
  4. data/ext/gobject-introspection/rb-gi-constructor-info.c +9 -15
  5. data/ext/gobject-introspection/rb-gi-function-info.c +147 -46
  6. data/ext/gobject-introspection/rb-gi-method-info.c +5 -3
  7. data/ext/gobject-introspection/rb-gi-private.h +3 -1
  8. data/lib/2.2/gobject_introspection.so +0 -0
  9. data/lib/2.3/gobject_introspection.so +0 -0
  10. data/lib/gi.rb +19 -0
  11. data/lib/gobject-introspection.rb +10 -0
  12. data/lib/gobject-introspection/callable-info.rb +19 -5
  13. data/lib/gobject-introspection/loader.rb +113 -82
  14. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  15. data/vendor/local/bin/g-ir-generate.exe +0 -0
  16. data/vendor/local/bin/g-ir-inspect.exe +0 -0
  17. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  18. data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
  19. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  20. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  21. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  22. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  23. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  24. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  26. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  27. data/vendor/local/lib/gobject-introspection/giscanner/ast.py +2 -1
  28. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  29. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  30. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  31. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  32. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyc +0 -0
  33. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyo +0 -0
  34. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  35. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  36. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
  37. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
  38. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyc +0 -0
  39. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyo +0 -0
  40. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
  41. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
  42. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  43. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  44. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  45. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  46. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  47. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  48. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  49. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  50. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  53. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  54. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  56. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  59. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  62. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  65. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  68. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  69. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  70. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  71. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  72. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  73. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  74. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  75. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  76. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  77. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  78. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  79. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  80. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  81. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  82. data/vendor/local/lib/libgirepository-1.0.la +2 -2
  83. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +1 -1
  84. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +1 -1
  85. data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +10 -4
  86. data/vendor/local/share/gir-1.0/GLib-2.0.gir +939 -162
  87. data/vendor/local/share/gir-1.0/GObject-2.0.gir +389 -565
  88. data/vendor/local/share/gir-1.0/Gio-2.0.gir +594 -173
  89. data/vendor/local/share/gobject-introspection-1.0/gdump.c +8 -1
  90. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +13 -0
  91. metadata +7 -5
@@ -21,4 +21,4 @@ Libs.private:
21
21
 
22
22
  Name: gobject-introspection
23
23
  Description: GObject Introspection
24
- Version: 1.48.0
24
+ Version: 1.50.0
@@ -20,4 +20,4 @@ Libs.private:
20
20
 
21
21
  Name: gobject-introspection
22
22
  Description: GObject Introspection
23
- Version: 1.48.0
23
+ Version: 1.50.0
@@ -431,7 +431,10 @@ print_attributes (GIBaseInfo *info)
431
431
  <doc xml:space="preserve">a #GIBaseInfo</doc>
432
432
  <type name="BaseInfo" c:type="GIBaseInfo*"/>
433
433
  </instance-parameter>
434
- <parameter name="iterator" transfer-ownership="none">
434
+ <parameter name="iterator"
435
+ direction="inout"
436
+ caller-allocates="0"
437
+ transfer-ownership="full">
435
438
  <doc xml:space="preserve">a #GIAttributeIter structure, must be initialized; see below</doc>
436
439
  <type name="AttributeIter" c:type="GIAttributeIter*"/>
437
440
  </parameter>
@@ -1758,7 +1761,7 @@ g_base_info_unref() when done.</doc>
1758
1761
  <doc xml:space="preserve">See whether the caller owns the return value of this callable.
1759
1762
  #GITransfer contains a list of possible transfer values.</doc>
1760
1763
  <return-value transfer-ownership="none">
1761
- <doc xml:space="preserve">%TRUE if the caller owns the return value, %FALSE otherwise.</doc>
1764
+ <doc xml:space="preserve">the transfer mode for the return value of the callable</doc>
1762
1765
  <type name="Transfer" c:type="GITransfer"/>
1763
1766
  </return-value>
1764
1767
  <parameters>
@@ -1773,7 +1776,7 @@ g_base_info_unref() when done.</doc>
1773
1776
  <doc xml:space="preserve">Obtains the ownership transfer for the instance argument.
1774
1777
  #GITransfer contains a list of possible transfer values.</doc>
1775
1778
  <return-value transfer-ownership="none">
1776
- <doc xml:space="preserve">the transfer</doc>
1779
+ <doc xml:space="preserve">the transfer mode of the instance argument</doc>
1777
1780
  <type name="Transfer" c:type="GITransfer"/>
1778
1781
  </return-value>
1779
1782
  <parameters>
@@ -1922,7 +1925,10 @@ similar API.</doc>
1922
1925
  <doc xml:space="preserve">a #GICallableInfo</doc>
1923
1926
  <type name="CallableInfo" c:type="GICallableInfo*"/>
1924
1927
  </parameter>
1925
- <parameter name="iterator" transfer-ownership="none">
1928
+ <parameter name="iterator"
1929
+ direction="inout"
1930
+ caller-allocates="0"
1931
+ transfer-ownership="full">
1926
1932
  <doc xml:space="preserve">a #GIAttributeIter structure, must be initialized; see below</doc>
1927
1933
  <type name="AttributeIter" c:type="GIAttributeIter*"/>
1928
1934
  </parameter>
@@ -1827,15 +1827,15 @@ set to either a #GFileError or #GBookmarkFileError.</doc>
1827
1827
  </instance-parameter>
1828
1828
  <parameter name="file" transfer-ownership="none">
1829
1829
  <doc xml:space="preserve">a relative path to a filename to open and parse</doc>
1830
- <type name="utf8" c:type="const gchar*"/>
1830
+ <type name="filename" c:type="gchar*"/>
1831
1831
  </parameter>
1832
1832
  <parameter name="full_path"
1833
1833
  transfer-ownership="none"
1834
1834
  nullable="1"
1835
1835
  allow-none="1">
1836
- <doc xml:space="preserve">return location for a string containing the full path
1837
- of the file, or %NULL</doc>
1838
- <type name="utf8" c:type="gchar**"/>
1836
+ <doc xml:space="preserve">return location for a string
1837
+ containing the full path of the file, or %NULL</doc>
1838
+ <type name="filename" c:type="gchar**"/>
1839
1839
  </parameter>
1840
1840
  </parameters>
1841
1841
  </method>
@@ -1856,8 +1856,9 @@ or #GBookmarkFileError.</doc>
1856
1856
  <type name="BookmarkFile" c:type="GBookmarkFile*"/>
1857
1857
  </instance-parameter>
1858
1858
  <parameter name="filename" transfer-ownership="none">
1859
- <doc xml:space="preserve">the path of a filename to load, in the GLib file name encoding</doc>
1860
- <type name="utf8" c:type="const gchar*"/>
1859
+ <doc xml:space="preserve">the path of a filename to load, in the
1860
+ GLib file name encoding</doc>
1861
+ <type name="filename" c:type="gchar*"/>
1861
1862
  </parameter>
1862
1863
  </parameters>
1863
1864
  </method>
@@ -2336,7 +2337,7 @@ guaranteed to be atomic by using g_file_set_contents() internally.</doc>
2336
2337
  </instance-parameter>
2337
2338
  <parameter name="filename" transfer-ownership="none">
2338
2339
  <doc xml:space="preserve">path of the output file</doc>
2339
- <type name="utf8" c:type="const gchar*"/>
2340
+ <type name="filename" c:type="gchar*"/>
2340
2341
  </parameter>
2341
2342
  </parameters>
2342
2343
  </method>
@@ -3358,7 +3359,7 @@ date to include new hashing algorithm types.</doc>
3358
3359
  <doc xml:space="preserve">Use the SHA-256 hashing algorithm</doc>
3359
3360
  </member>
3360
3361
  <member name="sha512" value="3" c:identifier="G_CHECKSUM_SHA512">
3361
- <doc xml:space="preserve">Use the SHA-512 hashing algorithm</doc>
3362
+ <doc xml:space="preserve">Use the SHA-512 hashing algorithm (Since: 2.36)</doc>
3362
3363
  </member>
3363
3364
  </enumeration>
3364
3365
  <callback name="ChildWatchFunc" c:type="GChildWatchFunc">
@@ -4147,7 +4148,7 @@ The date must be valid.</doc>
4147
4148
  <method name="get_sunday_week_of_year"
4148
4149
  c:identifier="g_date_get_sunday_week_of_year">
4149
4150
  <doc xml:space="preserve">Returns the week of the year during which this date falls, if
4150
- weeks are understood to being on Sunday. The date must be valid.
4151
+ weeks are understood to begin on Sunday. The date must be valid.
4151
4152
  Can return 0 if the day is before the first Sunday of the year.</doc>
4152
4153
  <return-value transfer-ownership="none">
4153
4154
  <doc xml:space="preserve">week number</doc>
@@ -6015,7 +6016,7 @@ filenames, the returned name is in UTF-8.</doc>
6015
6016
  <doc xml:space="preserve">The entry's name or %NULL if there are no
6016
6017
  more entries. The return value is owned by GLib and
6017
6018
  must not be modified or freed.</doc>
6018
- <type name="utf8" c:type="const gchar*"/>
6019
+ <type name="filename" c:type="gchar*"/>
6019
6020
  </return-value>
6020
6021
  <parameters>
6021
6022
  <instance-parameter name="dir" transfer-ownership="none">
@@ -8916,7 +8917,7 @@ access the channel after it is closed).</doc>
8916
8917
  <parameters>
8917
8918
  <parameter name="filename" transfer-ownership="none">
8918
8919
  <doc xml:space="preserve">A string containing the name of a file</doc>
8919
- <type name="utf8" c:type="const gchar*"/>
8920
+ <type name="filename" c:type="gchar*"/>
8920
8921
  </parameter>
8921
8922
  <parameter name="mode" transfer-ownership="none">
8922
8923
  <doc xml:space="preserve">One of "r", "w", "a", "r+", "w+", "a+". These have
@@ -11077,6 +11078,31 @@ or not a key exists.</doc>
11077
11078
  </parameter>
11078
11079
  </parameters>
11079
11080
  </method>
11081
+ <method name="load_from_bytes"
11082
+ c:identifier="g_key_file_load_from_bytes"
11083
+ version="2.50"
11084
+ throws="1">
11085
+ <doc xml:space="preserve">Loads a key file from the data in @bytes into an empty #GKeyFile structure.
11086
+ If the object cannot be created then %error is set to a #GKeyFileError.</doc>
11087
+ <return-value transfer-ownership="none">
11088
+ <doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
11089
+ <type name="gboolean" c:type="gboolean"/>
11090
+ </return-value>
11091
+ <parameters>
11092
+ <instance-parameter name="key_file" transfer-ownership="none">
11093
+ <doc xml:space="preserve">an empty #GKeyFile struct</doc>
11094
+ <type name="KeyFile" c:type="GKeyFile*"/>
11095
+ </instance-parameter>
11096
+ <parameter name="bytes" transfer-ownership="none">
11097
+ <doc xml:space="preserve">a #GBytes</doc>
11098
+ <type name="Bytes" c:type="GBytes*"/>
11099
+ </parameter>
11100
+ <parameter name="flags" transfer-ownership="none">
11101
+ <doc xml:space="preserve">flags from #GKeyFileFlags</doc>
11102
+ <type name="KeyFileFlags" c:type="GKeyFileFlags"/>
11103
+ </parameter>
11104
+ </parameters>
11105
+ </method>
11080
11106
  <method name="load_from_data"
11081
11107
  c:identifier="g_key_file_load_from_data"
11082
11108
  version="2.6"
@@ -11930,7 +11956,10 @@ AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Gtk\"
11930
11956
  <type name="gchar" c:type="gchar"/>
11931
11957
  </constant>
11932
11958
  <constant name="LOG_FATAL_MASK" value="0" c:type="G_LOG_FATAL_MASK">
11933
- <doc xml:space="preserve">GLib log levels that are considered fatal by default.</doc>
11959
+ <doc xml:space="preserve">GLib log levels that are considered fatal by default.
11960
+
11961
+ This is not used if structured logging is enabled; see
11962
+ [Using Structured Logging][using-structured-logging].</doc>
11934
11963
  <type name="gint" c:type="gint"/>
11935
11964
  </constant>
11936
11965
  <constant name="LOG_LEVEL_USER_SHIFT"
@@ -12833,6 +12862,27 @@ a user data argument.</doc>
12833
12862
  </parameters>
12834
12863
  </function>
12835
12864
  </record>
12865
+ <record name="LogField" c:type="GLogField" version="2.50">
12866
+ <doc xml:space="preserve">Structure representing a single field in a structured log entry. See
12867
+ g_log_structured() for details.
12868
+
12869
+ Log fields may contain arbitrary values, including binary with embedded nul
12870
+ bytes. If the field contains a string, the string must be UTF-8 encoded and
12871
+ have a trailing nul byte. Otherwise, @length must be set to a non-negative
12872
+ value.</doc>
12873
+ <field name="key" writable="1">
12874
+ <doc xml:space="preserve">field name (UTF-8 string)</doc>
12875
+ <type name="utf8" c:type="const gchar*"/>
12876
+ </field>
12877
+ <field name="value" writable="1">
12878
+ <doc xml:space="preserve">field value (arbitrary bytes)</doc>
12879
+ <type name="gpointer" c:type="gconstpointer"/>
12880
+ </field>
12881
+ <field name="length" writable="1">
12882
+ <doc xml:space="preserve">length of @value, in bytes, or -1 if it is nul-terminated</doc>
12883
+ <type name="gssize" c:type="gssize"/>
12884
+ </field>
12885
+ </record>
12836
12886
  <callback name="LogFunc" c:type="GLogFunc">
12837
12887
  <doc xml:space="preserve">Specifies the prototype of log handler functions.
12838
12888
 
@@ -12840,7 +12890,10 @@ The default log handler, g_log_default_handler(), automatically appends a
12840
12890
  new-line character to @message when printing it. It is advised that any
12841
12891
  custom log handler functions behave similarly, so that logging calls in user
12842
12892
  code do not need modifying to add a new-line character to the message if the
12843
- log handler is changed.</doc>
12893
+ log handler is changed.
12894
+
12895
+ This is not used if structured logging is enabled; see
12896
+ [Using Structured Logging][using-structured-logging].</doc>
12844
12897
  <return-value transfer-ownership="none">
12845
12898
  <type name="none" c:type="void"/>
12846
12899
  </return-value>
@@ -12913,6 +12966,64 @@ levels using g_log_set_handler() and g_log_set_fatal_mask().</doc>
12913
12966
  <doc xml:space="preserve">a mask including all log levels</doc>
12914
12967
  </member>
12915
12968
  </bitfield>
12969
+ <callback name="LogWriterFunc" c:type="GLogWriterFunc" version="2.50">
12970
+ <doc xml:space="preserve">Writer function for log entries. A log entry is a collection of one or more
12971
+ #GLogFields, using the standard [field names from journal
12972
+ specification](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html).
12973
+ See g_log_structured() for more information.
12974
+
12975
+ Writer functions must ignore fields which they do not recognise, unless they
12976
+ can write arbitrary binary output, as field values may be arbitrary binary.
12977
+
12978
+ @log_level is guaranteed to be included in @fields as the `PRIORITY` field,
12979
+ but is provided separately for convenience of deciding whether or where to
12980
+ output the log entry.</doc>
12981
+ <return-value transfer-ownership="none">
12982
+ <doc xml:space="preserve">%G_LOG_WRITER_HANDLED if the log entry was handled successfully;
12983
+ %G_LOG_WRITER_UNHANDLED otherwise</doc>
12984
+ <type name="LogWriterOutput" c:type="GLogWriterOutput"/>
12985
+ </return-value>
12986
+ <parameters>
12987
+ <parameter name="log_level" transfer-ownership="none">
12988
+ <doc xml:space="preserve">log level of the message</doc>
12989
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
12990
+ </parameter>
12991
+ <parameter name="fields" transfer-ownership="none">
12992
+ <doc xml:space="preserve">fields forming the message</doc>
12993
+ <array length="2" zero-terminated="0" c:type="GLogField*">
12994
+ <type name="LogField" c:type="GLogField"/>
12995
+ </array>
12996
+ </parameter>
12997
+ <parameter name="n_fields" transfer-ownership="none">
12998
+ <doc xml:space="preserve">number of @fields</doc>
12999
+ <type name="gsize" c:type="gsize"/>
13000
+ </parameter>
13001
+ <parameter name="user_data"
13002
+ transfer-ownership="none"
13003
+ nullable="1"
13004
+ allow-none="1"
13005
+ closure="3">
13006
+ <doc xml:space="preserve">user data passed to g_log_set_writer_func()</doc>
13007
+ <type name="gpointer" c:type="gpointer"/>
13008
+ </parameter>
13009
+ </parameters>
13010
+ </callback>
13011
+ <enumeration name="LogWriterOutput"
13012
+ version="2.50"
13013
+ c:type="GLogWriterOutput">
13014
+ <doc xml:space="preserve">Return values from #GLogWriterFuncs to indicate whether the given log entry
13015
+ was successfully handled by the writer, or whether there was an error in
13016
+ handling it (and hence a fallback writer should be used).
13017
+
13018
+ If a #GLogWriterFunc ignores a log entry, it should return
13019
+ %G_LOG_WRITER_HANDLED.</doc>
13020
+ <member name="handled" value="1" c:identifier="G_LOG_WRITER_HANDLED">
13021
+ <doc xml:space="preserve">Log writer has handled the log entry.</doc>
13022
+ </member>
13023
+ <member name="unhandled" value="0" c:identifier="G_LOG_WRITER_UNHANDLED">
13024
+ <doc xml:space="preserve">Log writer could not handle the log entry.</doc>
13025
+ </member>
13026
+ </enumeration>
12916
13027
  <constant name="MAJOR_VERSION" value="2" c:type="GLIB_MAJOR_VERSION">
12917
13028
  <doc xml:space="preserve">The major version number of the GLib library.
12918
13029
 
@@ -12964,7 +13075,7 @@ linked against at application run time.</doc>
12964
13075
  <doc xml:space="preserve">The maximum value which can be held in a #guint8.</doc>
12965
13076
  <type name="guint8" c:type="guint8"/>
12966
13077
  </constant>
12967
- <constant name="MICRO_VERSION" value="1" c:type="GLIB_MICRO_VERSION">
13078
+ <constant name="MICRO_VERSION" value="2" c:type="GLIB_MICRO_VERSION">
12968
13079
  <doc xml:space="preserve">The micro version number of the GLib library.
12969
13080
 
12970
13081
  Like #gtk_micro_version, but from the headers used at
@@ -12991,7 +13102,7 @@ linked against at application run time.</doc>
12991
13102
  <doc xml:space="preserve">The minimum value which can be held in a #gint8.</doc>
12992
13103
  <type name="gint8" c:type="gint8"/>
12993
13104
  </constant>
12994
- <constant name="MINOR_VERSION" value="48" c:type="GLIB_MINOR_VERSION">
13105
+ <constant name="MINOR_VERSION" value="50" c:type="GLIB_MINOR_VERSION">
12995
13106
  <doc xml:space="preserve">The minor version number of the GLib library.
12996
13107
 
12997
13108
  Like #gtk_minor_version, but from the headers used at
@@ -13436,9 +13547,20 @@ the context used by functions like g_idle_add().
13436
13547
  Normally you would call this function shortly after creating a new
13437
13548
  thread, passing it a #GMainContext which will be run by a
13438
13549
  #GMainLoop in that thread, to set a new default context for all
13439
- async operations in that thread. (In this case, you don't need to
13440
- ever call g_main_context_pop_thread_default().) In some cases
13441
- however, you may want to schedule a single operation in a
13550
+ async operations in that thread. In this case you may not need to
13551
+ ever call g_main_context_pop_thread_default(), assuming you want the
13552
+ new #GMainContext to be the default for the whole lifecycle of the
13553
+ thread.
13554
+
13555
+ If you don't have control over how the new thread was created (e.g.
13556
+ in the new thread isn't newly created, or if the thread life
13557
+ cycle is managed by a #GThreadPool), it is always suggested to wrap
13558
+ the logic that needs to use the new #GMainContext inside a
13559
+ g_main_context_push_thread_default() / g_main_context_pop_thread_default()
13560
+ pair, otherwise threads that are re-used will end up never explicitly
13561
+ releasing the #GMainContext reference they hold.
13562
+
13563
+ In some cases you may want to schedule a single operation in a
13442
13564
  non-default context, or temporarily use a non-default context in
13443
13565
  the main thread. In that case, you can wrap the call to the
13444
13566
  asynchronous operation inside a
@@ -13847,8 +13969,9 @@ to the #GFileError value #G_FILE_ERROR_INVAL.</doc>
13847
13969
  </return-value>
13848
13970
  <parameters>
13849
13971
  <parameter name="filename" transfer-ownership="none">
13850
- <doc xml:space="preserve">The path of the file to load, in the GLib filename encoding</doc>
13851
- <type name="utf8" c:type="const gchar*"/>
13972
+ <doc xml:space="preserve">The path of the file to load, in the GLib
13973
+ filename encoding</doc>
13974
+ <type name="filename" c:type="gchar*"/>
13852
13975
  </parameter>
13853
13976
  <parameter name="writable" transfer-ownership="none">
13854
13977
  <doc xml:space="preserve">whether the mapping should be writable</doc>
@@ -17139,6 +17262,11 @@ and all memory allocated by the @group is released.</doc>
17139
17262
  <doc xml:space="preserve">The value of pi (ratio of circle's circumference to its diameter).</doc>
17140
17263
  <type name="gdouble" c:type="gdouble"/>
17141
17264
  </constant>
17265
+ <constant name="PID_FORMAT" value="p" c:type="G_PID_FORMAT" version="2.50">
17266
+ <doc xml:space="preserve">A format specifier that can be used in printf()-style format strings
17267
+ when printing a #GPid.</doc>
17268
+ <type name="utf8" c:type="gchar*"/>
17269
+ </constant>
17142
17270
  <constant name="PI_2" value="1.570796" c:type="G_PI_2">
17143
17271
  <doc xml:space="preserve">Pi divided by 2.</doc>
17144
17272
  <type name="gdouble" c:type="gdouble"/>
@@ -19320,7 +19448,7 @@ preceded by a letter.
19320
19448
  Note that, unless you set the #G_REGEX_RAW flag, all the strings passed
19321
19449
  to these functions must be encoded in UTF-8. The lengths and the positions
19322
19450
  inside the strings are in bytes and not in characters, so, for instance,
19323
- "\xc3\xa0" (i.e. "&amp;agrave;") is two bytes long but it is treated as a
19451
+ "\xc3\xa0" (i.e. "à") is two bytes long but it is treated as a
19324
19452
  single character. If you set #G_REGEX_RAW the strings can be non-valid
19325
19453
  UTF-8 strings and a byte is treated as a character, so "\xc3\xa0" is two
19326
19454
  bytes and two characters long.
@@ -19409,7 +19537,11 @@ the initial setup of the #GRegex structure.</doc>
19409
19537
  <method name="get_compile_flags"
19410
19538
  c:identifier="g_regex_get_compile_flags"
19411
19539
  version="2.26">
19412
- <doc xml:space="preserve">Returns the compile options that @regex was created with.</doc>
19540
+ <doc xml:space="preserve">Returns the compile options that @regex was created with.
19541
+
19542
+ Depending on the version of PCRE that is used, this may or may not
19543
+ include flags set by option expressions such as `(?i)` found at the
19544
+ top-level within the compiled pattern.</doc>
19413
19545
  <return-value transfer-ownership="none">
19414
19546
  <doc xml:space="preserve">flags from #GRegexCompileFlags</doc>
19415
19547
  <type name="RegexCompileFlags" c:type="GRegexCompileFlags"/>
@@ -28007,6 +28139,21 @@ See &lt;ulink url="http://www.unicode.org/unicode/reports/tr14/"&gt;http://www.u
28007
28139
  c:identifier="G_UNICODE_BREAK_REGIONAL_INDICATOR">
28008
28140
  <doc xml:space="preserve">Regional Indicator (RI). Since: 2.36</doc>
28009
28141
  </member>
28142
+ <member name="emoji_base"
28143
+ value="40"
28144
+ c:identifier="G_UNICODE_BREAK_EMOJI_BASE">
28145
+ <doc xml:space="preserve">Emoji Base (EB). Since: 2.50</doc>
28146
+ </member>
28147
+ <member name="emoji_modifier"
28148
+ value="41"
28149
+ c:identifier="G_UNICODE_BREAK_EMOJI_MODIFIER">
28150
+ <doc xml:space="preserve">Emoji Modifier (EM). Since: 2.50</doc>
28151
+ </member>
28152
+ <member name="zero_width_joiner"
28153
+ value="42"
28154
+ c:identifier="G_UNICODE_BREAK_ZERO_WIDTH_JOINER">
28155
+ <doc xml:space="preserve">Zero Width Joiner (ZWJ). Since: 2.50</doc>
28156
+ </member>
28010
28157
  </enumeration>
28011
28158
  <enumeration name="UnicodeScript" c:type="GUnicodeScript">
28012
28159
  <doc xml:space="preserve">The #GUnicodeScript enumeration identifies different writing
@@ -28593,11 +28740,33 @@ url="http://www.unicode.org/reports/tr24/"&gt;Unicode Standard Annex
28593
28740
  c:identifier="G_UNICODE_SCRIPT_SIGNWRITING">
28594
28741
  <doc xml:space="preserve">Signwriting. Since: 2.48</doc>
28595
28742
  </member>
28743
+ <member name="adlam" value="132" c:identifier="G_UNICODE_SCRIPT_ADLAM">
28744
+ <doc xml:space="preserve">Adlam. Since: 2.50</doc>
28745
+ </member>
28746
+ <member name="bhaiksuki"
28747
+ value="133"
28748
+ c:identifier="G_UNICODE_SCRIPT_BHAIKSUKI">
28749
+ <doc xml:space="preserve">Bhaiksuki. Since: 2.50</doc>
28750
+ </member>
28751
+ <member name="marchen"
28752
+ value="134"
28753
+ c:identifier="G_UNICODE_SCRIPT_MARCHEN">
28754
+ <doc xml:space="preserve">Marchen. Since: 2.50</doc>
28755
+ </member>
28756
+ <member name="newa" value="135" c:identifier="G_UNICODE_SCRIPT_NEWA">
28757
+ <doc xml:space="preserve">Newa. Since: 2.50</doc>
28758
+ </member>
28759
+ <member name="osage" value="136" c:identifier="G_UNICODE_SCRIPT_OSAGE">
28760
+ <doc xml:space="preserve">Osage. Since: 2.50</doc>
28761
+ </member>
28762
+ <member name="tangut" value="137" c:identifier="G_UNICODE_SCRIPT_TANGUT">
28763
+ <doc xml:space="preserve">Tangut. Since: 2.50</doc>
28764
+ </member>
28596
28765
  </enumeration>
28597
28766
  <enumeration name="UnicodeType" c:type="GUnicodeType">
28598
28767
  <doc xml:space="preserve">These are the possible character classifications from the
28599
28768
  Unicode specification.
28600
- See &lt;ulink url="http://www.unicode.org/Public/UNIDATA/UnicodeData.html"&gt;http://www.unicode.org/Public/UNIDATA/UnicodeData.html&lt;/ulink&gt;.</doc>
28769
+ See &lt;ulink url="http://www.unicode.org/reports/tr44/#General_Category_Values"&gt;Unicode Character Database&lt;/unlink&gt;.</doc>
28601
28770
  <member name="control" value="0" c:identifier="G_UNICODE_CONTROL">
28602
28771
  <doc xml:space="preserve">General category "Other, Control" (Cc)</doc>
28603
28772
  </member>
@@ -28819,10 +28988,36 @@ using functions deprecated in later releases will not).</doc>
28819
28988
  glib:type-name="GVariant"
28820
28989
  glib:get-type="intern"
28821
28990
  c:symbol-prefix="variant">
28822
- <doc xml:space="preserve">#GVariant is a variant datatype; it stores a value along with
28823
- information about the type of that value. The range of possible
28824
- values is determined by the type. The type system used by #GVariant
28825
- is #GVariantType.
28991
+ <doc xml:space="preserve">#GVariant is a variant datatype; it can contain one or more values
28992
+ along with information about the type of the values.
28993
+
28994
+ A #GVariant may contain simple types, like an integer, or a boolean value;
28995
+ or complex types, like an array of two strings, or a dictionary of key
28996
+ value pairs. A #GVariant is also immutable: once it's been created neither
28997
+ its type nor its content can be modified further.
28998
+
28999
+ GVariant is useful whenever data needs to be serialized, for example when
29000
+ sending method parameters in DBus, or when saving settings using GSettings.
29001
+
29002
+ When creating a new #GVariant, you pass the data you want to store in it
29003
+ along with a string representing the type of data you wish to pass to it.
29004
+
29005
+ For instance, if you want to create a #GVariant holding an integer value you
29006
+ can use:
29007
+
29008
+ |[&lt;!-- language="C" --&gt;
29009
+ GVariant *v = g_variant_new ('u', 40);
29010
+ ]|
29011
+
29012
+ The string 'u' in the first argument tells #GVariant that the data passed to
29013
+ the constructor (40) is going to be an unsigned integer.
29014
+
29015
+ More advanced examples of #GVariant in use can be found in documentation for
29016
+ [GVariant format strings][gvariant-format-strings-pointers].
29017
+
29018
+ The range of possible values is determined by the type.
29019
+
29020
+ The type system used by #GVariant is #GVariantType.
28826
29021
 
28827
29022
  #GVariant instances always have a type and a value (which are given
28828
29023
  at construction time). The type and value of a #GVariant instance
@@ -30248,6 +30443,9 @@ If the array contains a nul terminator character somewhere other than
30248
30443
  the last byte then the returned string is the string, up to the first
30249
30444
  such nul character.
30250
30445
 
30446
+ g_variant_get_fixed_array() should be used instead if the array contains
30447
+ arbitrary data that could not be nul-terminated or could contain nul bytes.
30448
+
30251
30449
  It is an error to call this function with a @value that is not an
30252
30450
  array of bytes.
30253
30451
 
@@ -31503,11 +31701,26 @@ following functions.
31503
31701
 
31504
31702
  #GVariantBuilder is not threadsafe in any way. Do not attempt to
31505
31703
  access it from more than one thread.</doc>
31506
- <field name="x" readable="0" private="1">
31507
- <array zero-terminated="0" c:type="gsize" fixed-size="16">
31508
- <type name="gsize" c:type="gsize"/>
31509
- </array>
31510
- </field>
31704
+ <union name="u" c:type="u">
31705
+ <record name="s" c:type="s">
31706
+ <field name="partial_magic" writable="1">
31707
+ <type name="gsize" c:type="gsize"/>
31708
+ </field>
31709
+ <field name="type" writable="1">
31710
+ <type name="VariantType" c:type="const GVariantType*"/>
31711
+ </field>
31712
+ <field name="y" writable="1">
31713
+ <array zero-terminated="0" c:type="gsize" fixed-size="14">
31714
+ <type name="gsize" c:type="gsize"/>
31715
+ </array>
31716
+ </field>
31717
+ </record>
31718
+ <field name="x" writable="1">
31719
+ <array zero-terminated="0" c:type="gsize" fixed-size="16">
31720
+ <type name="gsize" c:type="gsize"/>
31721
+ </array>
31722
+ </field>
31723
+ </union>
31511
31724
  <constructor name="new"
31512
31725
  c:identifier="g_variant_builder_new"
31513
31726
  version="2.24">
@@ -31711,7 +31924,10 @@ subcontainer).</doc>
31711
31924
  It is not permissible to use @builder in any way after this call
31712
31925
  except for reference counting operations (in the case of a
31713
31926
  heap-allocated #GVariantBuilder) or by reinitialising it with
31714
- g_variant_builder_init() (in the case of stack-allocated).
31927
+ g_variant_builder_init() (in the case of stack-allocated). This
31928
+ means that for the stack-allocated builders there is no need to
31929
+ call g_variant_builder_clear() after the call to
31930
+ g_variant_builder_end().
31715
31931
 
31716
31932
  It is an error to call this function in any way that would create an
31717
31933
  inconsistent value to be constructed (ie: insufficient number of
@@ -31998,11 +32214,26 @@ key is not found. Each returns the new dictionary as a floating
31998
32214
  return result;
31999
32215
  }
32000
32216
  ]|</doc>
32001
- <field name="x" readable="0" private="1">
32002
- <array zero-terminated="0" c:type="gsize" fixed-size="16">
32003
- <type name="gsize" c:type="gsize"/>
32004
- </array>
32005
- </field>
32217
+ <union name="u" c:type="u">
32218
+ <record name="s" c:type="s">
32219
+ <field name="asv" writable="1">
32220
+ <type name="Variant" c:type="GVariant*"/>
32221
+ </field>
32222
+ <field name="partial_magic" writable="1">
32223
+ <type name="gsize" c:type="gsize"/>
32224
+ </field>
32225
+ <field name="y" writable="1">
32226
+ <array zero-terminated="0" c:type="gsize" fixed-size="14">
32227
+ <type name="gsize" c:type="gsize"/>
32228
+ </array>
32229
+ </field>
32230
+ </record>
32231
+ <field name="x" writable="1">
32232
+ <array zero-terminated="0" c:type="gsize" fixed-size="16">
32233
+ <type name="gsize" c:type="gsize"/>
32234
+ </array>
32235
+ </field>
32236
+ </union>
32006
32237
  <constructor name="new" c:identifier="g_variant_dict_new" version="2.40">
32007
32238
  <doc xml:space="preserve">Allocates and initialises a new #GVariantDict.
32008
32239
 
@@ -33499,6 +33730,18 @@ function passed to g_atexit().</doc>
33499
33730
  Windows Server 2008 R2.</doc>
33500
33731
  </member>
33501
33732
  </enumeration>
33733
+ <function name="abort" c:identifier="g_abort" version="2.50">
33734
+ <doc xml:space="preserve">A wrapper for the POSIX abort() function.
33735
+
33736
+ On Windows it is a function that makes extra effort (including a call
33737
+ to abort()) to ensure that a debugger-catchable exception is thrown
33738
+ before the program terminates.
33739
+
33740
+ See your C library manual for more details about abort().</doc>
33741
+ <return-value transfer-ownership="none">
33742
+ <type name="none" c:type="void"/>
33743
+ </return-value>
33744
+ </function>
33502
33745
  <function name="access" c:identifier="g_access" version="2.8">
33503
33746
  <doc xml:space="preserve">A wrapper for the POSIX access() function. This function is used to
33504
33747
  test a pathname for one or several of read, write or execute
@@ -33520,8 +33763,9 @@ See your C library manual for more details about access().</doc>
33520
33763
  </return-value>
33521
33764
  <parameters>
33522
33765
  <parameter name="filename" transfer-ownership="none">
33523
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
33524
- <type name="utf8" c:type="const gchar*"/>
33766
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
33767
+ (UTF-8 on Windows)</doc>
33768
+ <type name="filename" c:type="gchar*"/>
33525
33769
  </parameter>
33526
33770
  <parameter name="mode" transfer-ownership="none">
33527
33771
  <doc xml:space="preserve">as in access()</doc>
@@ -34794,12 +35038,12 @@ string.</doc>
34794
35038
  <return-value transfer-ownership="none">
34795
35039
  <doc xml:space="preserve">the name of the file without any leading
34796
35040
  directory components</doc>
34797
- <type name="utf8" c:type="const gchar*"/>
35041
+ <type name="filename" c:type="gchar*"/>
34798
35042
  </return-value>
34799
35043
  <parameters>
34800
35044
  <parameter name="file_name" transfer-ownership="none">
34801
35045
  <doc xml:space="preserve">the name of the file</doc>
34802
- <type name="utf8" c:type="const gchar*"/>
35046
+ <type name="filename" c:type="gchar*"/>
34803
35047
  </parameter>
34804
35048
  </parameters>
34805
35049
  </function>
@@ -34964,13 +35208,14 @@ No attempt is made to force the resulting filename to be an absolute
34964
35208
  path. If the first element is a relative path, the result will
34965
35209
  be a relative path.</doc>
34966
35210
  <return-value transfer-ownership="full">
34967
- <doc xml:space="preserve">a newly-allocated string that must be freed with g_free().</doc>
34968
- <type name="utf8" c:type="gchar*"/>
35211
+ <doc xml:space="preserve">a newly-allocated string that must be freed with
35212
+ g_free().</doc>
35213
+ <type name="filename" c:type="gchar*"/>
34969
35214
  </return-value>
34970
35215
  <parameters>
34971
35216
  <parameter name="first_element" transfer-ownership="none">
34972
35217
  <doc xml:space="preserve">the first element in the path</doc>
34973
- <type name="utf8" c:type="const gchar*"/>
35218
+ <type name="filename" c:type="gchar*"/>
34974
35219
  </parameter>
34975
35220
  <parameter name="..." transfer-ownership="none">
34976
35221
  <doc xml:space="preserve">remaining elements in path, terminated by %NULL</doc>
@@ -34985,14 +35230,16 @@ be a relative path.</doc>
34985
35230
  as a string array, instead of varargs. This function is mainly
34986
35231
  meant for language bindings.</doc>
34987
35232
  <return-value transfer-ownership="full">
34988
- <doc xml:space="preserve">a newly-allocated string that must be freed with g_free().</doc>
34989
- <type name="utf8" c:type="gchar*"/>
35233
+ <doc xml:space="preserve">a newly-allocated string that must be freed
35234
+ with g_free().</doc>
35235
+ <type name="filename" c:type="gchar*"/>
34990
35236
  </return-value>
34991
35237
  <parameters>
34992
35238
  <parameter name="args" transfer-ownership="none">
34993
- <doc xml:space="preserve">%NULL-terminated array of strings containing the path elements.</doc>
35239
+ <doc xml:space="preserve">%NULL-terminated
35240
+ array of strings containing the path elements.</doc>
34994
35241
  <array c:type="gchar**">
34995
- <type name="utf8" c:type="gchar*"/>
35242
+ <type name="filename"/>
34996
35243
  </array>
34997
35244
  </parameter>
34998
35245
  </parameters>
@@ -35025,17 +35272,18 @@ Other than for determination of the number of leading and trailing
35025
35272
  copies of the separator, elements consisting only of copies
35026
35273
  of the separator are ignored.</doc>
35027
35274
  <return-value transfer-ownership="full">
35028
- <doc xml:space="preserve">a newly-allocated string that must be freed with g_free().</doc>
35029
- <type name="utf8" c:type="gchar*"/>
35275
+ <doc xml:space="preserve">a newly-allocated string that must be freed with
35276
+ g_free().</doc>
35277
+ <type name="filename" c:type="gchar*"/>
35030
35278
  </return-value>
35031
35279
  <parameters>
35032
35280
  <parameter name="separator" transfer-ownership="none">
35033
35281
  <doc xml:space="preserve">a string used to separator the elements of the path.</doc>
35034
- <type name="utf8" c:type="const gchar*"/>
35282
+ <type name="filename" c:type="gchar*"/>
35035
35283
  </parameter>
35036
35284
  <parameter name="first_element" transfer-ownership="none">
35037
35285
  <doc xml:space="preserve">the first element in the path</doc>
35038
- <type name="utf8" c:type="const gchar*"/>
35286
+ <type name="filename" c:type="gchar*"/>
35039
35287
  </parameter>
35040
35288
  <parameter name="..." transfer-ownership="none">
35041
35289
  <doc xml:space="preserve">remaining elements in path, terminated by %NULL</doc>
@@ -35048,8 +35296,9 @@ of the separator are ignored.</doc>
35048
35296
  as a string array, instead of varargs. This function is mainly
35049
35297
  meant for language bindings.</doc>
35050
35298
  <return-value transfer-ownership="full">
35051
- <doc xml:space="preserve">a newly-allocated string that must be freed with g_free().</doc>
35052
- <type name="utf8" c:type="gchar*"/>
35299
+ <doc xml:space="preserve">a newly-allocated string that must be freed
35300
+ with g_free().</doc>
35301
+ <type name="filename" c:type="gchar*"/>
35053
35302
  </return-value>
35054
35303
  <parameters>
35055
35304
  <parameter name="separator" transfer-ownership="none">
@@ -35057,9 +35306,10 @@ meant for language bindings.</doc>
35057
35306
  <type name="utf8" c:type="const gchar*"/>
35058
35307
  </parameter>
35059
35308
  <parameter name="args" transfer-ownership="none">
35060
- <doc xml:space="preserve">%NULL-terminated array of strings containing the path elements.</doc>
35309
+ <doc xml:space="preserve">%NULL-terminated
35310
+ array of strings containing the path elements.</doc>
35061
35311
  <array c:type="gchar**">
35062
- <type name="utf8" c:type="gchar*"/>
35312
+ <type name="filename"/>
35063
35313
  </array>
35064
35314
  </parameter>
35065
35315
  </parameters>
@@ -35182,8 +35432,9 @@ See your C library manual for more details about chdir().</doc>
35182
35432
  </return-value>
35183
35433
  <parameters>
35184
35434
  <parameter name="path" transfer-ownership="none">
35185
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
35186
- <type name="utf8" c:type="const gchar*"/>
35435
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
35436
+ (UTF-8 on Windows)</doc>
35437
+ <type name="filename" c:type="gchar*"/>
35187
35438
  </parameter>
35188
35439
  </parameters>
35189
35440
  </function>
@@ -35410,8 +35661,9 @@ See your C library manual for more details about chmod().</doc>
35410
35661
  </return-value>
35411
35662
  <parameters>
35412
35663
  <parameter name="filename" transfer-ownership="none">
35413
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
35414
- <type name="utf8" c:type="const gchar*"/>
35664
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
35665
+ (UTF-8 on Windows)</doc>
35666
+ <type name="filename" c:type="gchar*"/>
35415
35667
  </parameter>
35416
35668
  <parameter name="mode" transfer-ownership="none">
35417
35669
  <doc xml:space="preserve">as in chmod()</doc>
@@ -35554,6 +35806,34 @@ The hexadecimal string returned will be in lower case.</doc>
35554
35806
  </parameter>
35555
35807
  </parameters>
35556
35808
  </function>
35809
+ <function name="compute_hmac_for_bytes"
35810
+ c:identifier="g_compute_hmac_for_bytes"
35811
+ version="2.50">
35812
+ <doc xml:space="preserve">Computes the HMAC for a binary @data. This is a
35813
+ convenience wrapper for g_hmac_new(), g_hmac_get_string()
35814
+ and g_hmac_unref().
35815
+
35816
+ The hexadecimal string returned will be in lower case.</doc>
35817
+ <return-value transfer-ownership="full">
35818
+ <doc xml:space="preserve">the HMAC of the binary data as a string in hexadecimal.
35819
+ The returned string should be freed with g_free() when done using it.</doc>
35820
+ <type name="utf8" c:type="gchar*"/>
35821
+ </return-value>
35822
+ <parameters>
35823
+ <parameter name="digest_type" transfer-ownership="none">
35824
+ <doc xml:space="preserve">a #GChecksumType to use for the HMAC</doc>
35825
+ <type name="ChecksumType" c:type="GChecksumType"/>
35826
+ </parameter>
35827
+ <parameter name="key" transfer-ownership="none">
35828
+ <doc xml:space="preserve">the key to use in the HMAC</doc>
35829
+ <type name="Bytes" c:type="GBytes*"/>
35830
+ </parameter>
35831
+ <parameter name="data" transfer-ownership="none">
35832
+ <doc xml:space="preserve">binary blob to compute the HMAC of</doc>
35833
+ <type name="Bytes" c:type="GBytes*"/>
35834
+ </parameter>
35835
+ </parameters>
35836
+ </function>
35557
35837
  <function name="compute_hmac_for_data"
35558
35838
  c:identifier="g_compute_hmac_for_data"
35559
35839
  version="2.30">
@@ -35584,7 +35864,9 @@ The hexadecimal string returned will be in lower case.</doc>
35584
35864
  </parameter>
35585
35865
  <parameter name="data" transfer-ownership="none">
35586
35866
  <doc xml:space="preserve">binary blob to compute the HMAC of</doc>
35587
- <type name="guint8" c:type="const guchar*"/>
35867
+ <array length="4" zero-terminated="0" c:type="guchar*">
35868
+ <type name="guint8" c:type="guchar"/>
35869
+ </array>
35588
35870
  </parameter>
35589
35871
  <parameter name="length" transfer-ownership="none">
35590
35872
  <doc xml:space="preserve">length of @data</doc>
@@ -35850,8 +36132,9 @@ See your C library manual for more details about creat().</doc>
35850
36132
  </return-value>
35851
36133
  <parameters>
35852
36134
  <parameter name="filename" transfer-ownership="none">
35853
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
35854
- <type name="utf8" c:type="const gchar*"/>
36135
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
36136
+ (UTF-8 on Windows)</doc>
36137
+ <type name="filename" c:type="gchar*"/>
35855
36138
  </parameter>
35856
36139
  <parameter name="mode" transfer-ownership="none">
35857
36140
  <doc xml:space="preserve">as in creat()</doc>
@@ -37142,14 +37425,14 @@ name encoding.</doc>
37142
37425
  readlink() function. The returned string is in the encoding used
37143
37426
  for filenames. Use g_filename_to_utf8() to convert it to UTF-8.</doc>
37144
37427
  <return-value transfer-ownership="full">
37145
- <doc xml:space="preserve">A newly-allocated string with the contents of the symbolic link,
37146
- or %NULL if an error occurred.</doc>
37147
- <type name="utf8" c:type="gchar*"/>
37428
+ <doc xml:space="preserve">A newly-allocated string with the contents of
37429
+ the symbolic link, or %NULL if an error occurred.</doc>
37430
+ <type name="filename" c:type="gchar*"/>
37148
37431
  </return-value>
37149
37432
  <parameters>
37150
37433
  <parameter name="filename" transfer-ownership="none">
37151
37434
  <doc xml:space="preserve">the symbolic link</doc>
37152
- <type name="utf8" c:type="const gchar*"/>
37435
+ <type name="filename" c:type="gchar*"/>
37153
37436
  </parameter>
37154
37437
  </parameters>
37155
37438
  </function>
@@ -37252,8 +37535,9 @@ extensions and those listed in the `PATHEXT` environment variable.</doc>
37252
37535
  </return-value>
37253
37536
  <parameters>
37254
37537
  <parameter name="filename" transfer-ownership="none">
37255
- <doc xml:space="preserve">a filename to test in the GLib file name encoding</doc>
37256
- <type name="utf8" c:type="const gchar*"/>
37538
+ <doc xml:space="preserve">a filename to test in the
37539
+ GLib file name encoding</doc>
37540
+ <type name="filename" c:type="gchar*"/>
37257
37541
  </parameter>
37258
37542
  <parameter name="test" transfer-ownership="none">
37259
37543
  <doc xml:space="preserve">bitfield of #GFileTest flags</doc>
@@ -37300,8 +37584,9 @@ whole path, as it allows translation.</doc>
37300
37584
  </return-value>
37301
37585
  <parameters>
37302
37586
  <parameter name="filename" transfer-ownership="none">
37303
- <doc xml:space="preserve">an absolute pathname in the GLib file name encoding</doc>
37304
- <type name="utf8" c:type="const gchar*"/>
37587
+ <doc xml:space="preserve">an absolute pathname in the
37588
+ GLib file name encoding</doc>
37589
+ <type name="filename" c:type="gchar*"/>
37305
37590
  </parameter>
37306
37591
  </parameters>
37307
37592
  </function>
@@ -37330,8 +37615,9 @@ translation of filenames.</doc>
37330
37615
  </return-value>
37331
37616
  <parameters>
37332
37617
  <parameter name="filename" transfer-ownership="none">
37333
- <doc xml:space="preserve">a pathname hopefully in the GLib file name encoding</doc>
37334
- <type name="utf8" c:type="const gchar*"/>
37618
+ <doc xml:space="preserve">a pathname hopefully in the
37619
+ GLib file name encoding</doc>
37620
+ <type name="filename" c:type="gchar*"/>
37335
37621
  </parameter>
37336
37622
  </parameters>
37337
37623
  </function>
@@ -37463,10 +37749,10 @@ component following Section 3.3. of RFC 2396.</doc>
37463
37749
  </return-value>
37464
37750
  <parameters>
37465
37751
  <parameter name="filename" transfer-ownership="none">
37466
- <doc xml:space="preserve">an absolute filename specified in the GLib file name encoding,
37467
- which is the on-disk file name bytes on Unix, and UTF-8 on
37468
- Windows</doc>
37469
- <type name="utf8" c:type="const gchar*"/>
37752
+ <doc xml:space="preserve">an absolute filename specified in the GLib file
37753
+ name encoding, which is the on-disk file name bytes on Unix, and UTF-8
37754
+ on Windows</doc>
37755
+ <type name="filename" c:type="gchar*"/>
37470
37756
  </parameter>
37471
37757
  <parameter name="hostname"
37472
37758
  transfer-ownership="none"
@@ -37506,7 +37792,7 @@ the [current locale][setlocale].</doc>
37506
37792
  <parameters>
37507
37793
  <parameter name="opsysstring" transfer-ownership="none">
37508
37794
  <doc xml:space="preserve">a string in the encoding for filenames</doc>
37509
- <type name="utf8" c:type="const gchar*"/>
37795
+ <type name="filename" c:type="gchar*"/>
37510
37796
  </parameter>
37511
37797
  <parameter name="len" transfer-ownership="none">
37512
37798
  <doc xml:space="preserve">the length of the string, or -1 if the string is
@@ -37584,13 +37870,14 @@ finally in the directories in the `PATH` environment variable. If
37584
37870
  the program is found, the return value contains the full name
37585
37871
  including the type suffix.</doc>
37586
37872
  <return-value transfer-ownership="full">
37587
- <doc xml:space="preserve">a newly-allocated string with the absolute path, or %NULL</doc>
37588
- <type name="utf8" c:type="gchar*"/>
37873
+ <doc xml:space="preserve">a newly-allocated string with the absolute path,
37874
+ or %NULL</doc>
37875
+ <type name="filename" c:type="gchar*"/>
37589
37876
  </return-value>
37590
37877
  <parameters>
37591
37878
  <parameter name="program" transfer-ownership="none">
37592
37879
  <doc xml:space="preserve">a program name in the GLib file name encoding</doc>
37593
- <type name="utf8" c:type="const gchar*"/>
37880
+ <type name="filename" c:type="gchar*"/>
37594
37881
  </parameter>
37595
37882
  </parameters>
37596
37883
  </function>
@@ -37613,8 +37900,9 @@ See your C library manual for more details about fopen().</doc>
37613
37900
  </return-value>
37614
37901
  <parameters>
37615
37902
  <parameter name="filename" transfer-ownership="none">
37616
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
37617
- <type name="utf8" c:type="const gchar*"/>
37903
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
37904
+ (UTF-8 on Windows)</doc>
37905
+ <type name="filename" c:type="gchar*"/>
37618
37906
  </parameter>
37619
37907
  <parameter name="mode" transfer-ownership="none">
37620
37908
  <doc xml:space="preserve">a string describing the mode in which the file should be opened</doc>
@@ -37753,8 +38041,9 @@ See your C library manual for more details about freopen().</doc>
37753
38041
  </return-value>
37754
38042
  <parameters>
37755
38043
  <parameter name="filename" transfer-ownership="none">
37756
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
37757
- <type name="utf8" c:type="const gchar*"/>
38044
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
38045
+ (UTF-8 on Windows)</doc>
38046
+ <type name="filename" c:type="gchar*"/>
37758
38047
  </parameter>
37759
38048
  <parameter name="mode" transfer-ownership="none">
37760
38049
  <doc xml:space="preserve">a string describing the mode in which the file should be opened</doc>
@@ -37839,7 +38128,7 @@ the current directory. This can make a difference in the case that
37839
38128
  the current directory is the target of a symbolic link.</doc>
37840
38129
  <return-value transfer-ownership="full">
37841
38130
  <doc xml:space="preserve">the current directory</doc>
37842
- <type name="utf8" c:type="gchar*"/>
38131
+ <type name="filename" c:type="gchar*"/>
37843
38132
  </return-value>
37844
38133
  </function>
37845
38134
  <function name="get_current_dir_utf8"
@@ -37895,7 +38184,7 @@ On Windows, the character set used in the GLib API is always UTF-8
37895
38184
  and said environment variables have no effect.
37896
38185
 
37897
38186
  `G_FILENAME_ENCODING` may be set to a comma-separated list of
37898
- character set names. The special token "&amp;commat;locale" is taken
38187
+ character set names. The special token "\@locale" is taken
37899
38188
  to mean the character set for the [current locale][setlocale].
37900
38189
  If `G_FILENAME_ENCODING` is not set, but `G_BROKEN_FILENAMES` is,
37901
38190
  the character set of the current locale is taken as the filename
@@ -37942,7 +38231,7 @@ should either directly check the `HOME` environment variable yourself
37942
38231
  or unset it before calling any functions in GLib.</doc>
37943
38232
  <return-value transfer-ownership="none">
37944
38233
  <doc xml:space="preserve">the current user's home directory</doc>
37945
- <type name="utf8" c:type="const gchar*"/>
38234
+ <type name="filename" c:type="gchar*"/>
37946
38235
  </return-value>
37947
38236
  </function>
37948
38237
  <function name="get_host_name"
@@ -38066,7 +38355,7 @@ real user name cannot be determined, the string "Unknown" is
38066
38355
  returned.</doc>
38067
38356
  <return-value transfer-ownership="none">
38068
38357
  <doc xml:space="preserve">the user's real name.</doc>
38069
- <type name="utf8" c:type="const gchar*"/>
38358
+ <type name="filename" c:type="gchar*"/>
38070
38359
  </return-value>
38071
38360
  </function>
38072
38361
  <function name="get_real_time"
@@ -38104,10 +38393,11 @@ For example, an application can store a spell-check dictionary, a database
38104
38393
  of clip art, or a log file in the CSIDL_COMMON_APPDATA folder.
38105
38394
  This information will not roam and is available to anyone using the computer.</doc>
38106
38395
  <return-value transfer-ownership="none">
38107
- <doc xml:space="preserve">a %NULL-terminated array of strings owned by GLib that must
38108
- not be modified or freed.</doc>
38396
+ <doc xml:space="preserve">
38397
+ a %NULL-terminated array of strings owned by GLib that must not be
38398
+ modified or freed.</doc>
38109
38399
  <array c:type="gchar**">
38110
- <type name="utf8"/>
38400
+ <type name="filename"/>
38111
38401
  </array>
38112
38402
  </return-value>
38113
38403
  </function>
@@ -38144,10 +38434,11 @@ itself.
38144
38434
  Note that on Windows the returned list can vary depending on where
38145
38435
  this function is called.</doc>
38146
38436
  <return-value transfer-ownership="none">
38147
- <doc xml:space="preserve">a %NULL-terminated array of strings owned by GLib that must
38148
- not be modified or freed.</doc>
38437
+ <doc xml:space="preserve">
38438
+ a %NULL-terminated array of strings owned by GLib that must not be
38439
+ modified or freed.</doc>
38149
38440
  <array c:type="gchar**">
38150
- <type name="utf8"/>
38441
+ <type name="filename"/>
38151
38442
  </array>
38152
38443
  </return-value>
38153
38444
  </function>
@@ -38168,7 +38459,7 @@ it is always UTF-8. The return value is never %NULL or the empty
38168
38459
  string.</doc>
38169
38460
  <return-value transfer-ownership="none">
38170
38461
  <doc xml:space="preserve">the directory to use for temporary files.</doc>
38171
- <type name="utf8" c:type="const gchar*"/>
38462
+ <type name="filename" c:type="gchar*"/>
38172
38463
  </return-value>
38173
38464
  </function>
38174
38465
  <function name="get_user_cache_dir"
@@ -38189,7 +38480,7 @@ See documentation for CSIDL_INTERNET_CACHE.</doc>
38189
38480
  <return-value transfer-ownership="none">
38190
38481
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38191
38482
  or freed.</doc>
38192
- <type name="utf8" c:type="const gchar*"/>
38483
+ <type name="filename" c:type="gchar*"/>
38193
38484
  </return-value>
38194
38485
  </function>
38195
38486
  <function name="get_user_config_dir"
@@ -38210,7 +38501,7 @@ what g_get_user_data_dir() returns.</doc>
38210
38501
  <return-value transfer-ownership="none">
38211
38502
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38212
38503
  or freed.</doc>
38213
- <type name="utf8" c:type="const gchar*"/>
38504
+ <type name="filename" c:type="gchar*"/>
38214
38505
  </return-value>
38215
38506
  </function>
38216
38507
  <function name="get_user_data_dir"
@@ -38231,7 +38522,7 @@ what g_get_user_config_dir() returns.</doc>
38231
38522
  <return-value transfer-ownership="none">
38232
38523
  <doc xml:space="preserve">a string owned by GLib that must not be modified
38233
38524
  or freed.</doc>
38234
- <type name="utf8" c:type="const gchar*"/>
38525
+ <type name="filename" c:type="gchar*"/>
38235
38526
  </return-value>
38236
38527
  </function>
38237
38528
  <function name="get_user_name" c:identifier="g_get_user_name">
@@ -38241,7 +38532,7 @@ encoding, or something else, and there is no guarantee that it is even
38241
38532
  consistent on a machine. On Windows, it is always UTF-8.</doc>
38242
38533
  <return-value transfer-ownership="none">
38243
38534
  <doc xml:space="preserve">the user name of the current user.</doc>
38244
- <type name="utf8" c:type="const gchar*"/>
38535
+ <type name="filename" c:type="gchar*"/>
38245
38536
  </return-value>
38246
38537
  </function>
38247
38538
  <function name="get_user_runtime_dir"
@@ -38263,8 +38554,9 @@ roaming) application data. See documentation for
38263
38554
  CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as
38264
38555
  what g_get_user_config_dir() returns.</doc>
38265
38556
  <return-value transfer-ownership="none">
38266
- <doc xml:space="preserve">a string owned by GLib that must not be modified or freed.</doc>
38267
- <type name="utf8" c:type="const gchar*"/>
38557
+ <doc xml:space="preserve">a string owned by GLib that must not be
38558
+ modified or freed.</doc>
38559
+ <type name="filename" c:type="gchar*"/>
38268
38560
  </return-value>
38269
38561
  </function>
38270
38562
  <function name="get_user_special_dir"
@@ -38281,10 +38573,10 @@ Depending on the platform, the user might be able to change the path
38281
38573
  of the special directory without requiring the session to restart; GLib
38282
38574
  will not reflect any change once the special directories are loaded.</doc>
38283
38575
  <return-value transfer-ownership="none">
38284
- <doc xml:space="preserve">the path to the specified special directory, or %NULL
38285
- if the logical id was not found. The returned string is owned by
38576
+ <doc xml:space="preserve">the path to the specified special directory, or
38577
+ %NULL if the logical id was not found. The returned string is owned by
38286
38578
  GLib and should not be modified or freed.</doc>
38287
- <type name="utf8" c:type="const gchar*"/>
38579
+ <type name="filename" c:type="gchar*"/>
38288
38580
  </return-value>
38289
38581
  <parameters>
38290
38582
  <parameter name="directory" transfer-ownership="none">
@@ -39471,7 +39763,10 @@ function is called to terminate the program.
39471
39763
 
39472
39764
  If g_log_default_handler() is used as the log handler function, a new-line
39473
39765
  character will automatically be appended to @..., and need not be entered
39474
- manually.</doc>
39766
+ manually.
39767
+
39768
+ If [structured logging is enabled][using-structured-logging] this will
39769
+ output via the structured log writer function (see g_log_set_writer_func()).</doc>
39475
39770
  <return-value transfer-ownership="none">
39476
39771
  <type name="none" c:type="void"/>
39477
39772
  </return-value>
@@ -39521,7 +39816,10 @@ environment variables:
39521
39816
 
39522
39817
  stderr is used for levels %G_LOG_LEVEL_ERROR, %G_LOG_LEVEL_CRITICAL,
39523
39818
  %G_LOG_LEVEL_WARNING and %G_LOG_LEVEL_MESSAGE. stdout is used for
39524
- the rest.</doc>
39819
+ the rest.
39820
+
39821
+ This has no effect if structured logging is enabled; see
39822
+ [Using Structured Logging][using-structured-logging].</doc>
39525
39823
  <return-value transfer-ownership="none">
39526
39824
  <type name="none" c:type="void"/>
39527
39825
  </return-value>
@@ -39555,7 +39853,10 @@ default "" application domain</doc>
39555
39853
  </parameters>
39556
39854
  </function>
39557
39855
  <function name="log_remove_handler" c:identifier="g_log_remove_handler">
39558
- <doc xml:space="preserve">Removes the log handler.</doc>
39856
+ <doc xml:space="preserve">Removes the log handler.
39857
+
39858
+ This has no effect if structured logging is enabled; see
39859
+ [Using Structured Logging][using-structured-logging].</doc>
39559
39860
  <return-value transfer-ownership="none">
39560
39861
  <type name="none" c:type="void"/>
39561
39862
  </return-value>
@@ -39580,7 +39881,15 @@ You can only set the levels defined by GLib to be fatal.
39580
39881
 
39581
39882
  You can also make some message levels fatal at runtime by setting
39582
39883
  the `G_DEBUG` environment variable (see
39583
- [Running GLib Applications](glib-running.html)).</doc>
39884
+ [Running GLib Applications](glib-running.html)).
39885
+
39886
+ Libraries should not call this function, as it affects all messages logged
39887
+ by a process, including those from other libraries.
39888
+
39889
+ Structured log messages (using g_log_structured() and
39890
+ g_log_structured_array()) are fatal only if the default log writer is used;
39891
+ otherwise it is up to the writer function to determine which log messages
39892
+ are fatal. See [Using Structured Logging][using-structured-logging].</doc>
39584
39893
  <return-value transfer-ownership="none">
39585
39894
  <doc xml:space="preserve">the old fatal mask</doc>
39586
39895
  <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
@@ -39600,7 +39909,10 @@ the `G_DEBUG` environment variable (see
39600
39909
  <doc xml:space="preserve">Installs a default log handler which is used if no
39601
39910
  log handler has been set for the particular log domain
39602
39911
  and log level combination. By default, GLib uses
39603
- g_log_default_handler() as default log handler.</doc>
39912
+ g_log_default_handler() as default log handler.
39913
+
39914
+ This has no effect if structured logging is enabled; see
39915
+ [Using Structured Logging][using-structured-logging].</doc>
39604
39916
  <return-value>
39605
39917
  <doc xml:space="preserve">the previous default log handler</doc>
39606
39918
  <type name="LogFunc" c:type="GLogFunc"/>
@@ -39621,7 +39933,13 @@ g_log_default_handler() as default log handler.</doc>
39621
39933
  </function>
39622
39934
  <function name="log_set_fatal_mask" c:identifier="g_log_set_fatal_mask">
39623
39935
  <doc xml:space="preserve">Sets the log levels which are fatal in the given domain.
39624
- %G_LOG_LEVEL_ERROR is always fatal.</doc>
39936
+ %G_LOG_LEVEL_ERROR is always fatal.
39937
+
39938
+ This has no effect on structured log messages (using g_log_structured() or
39939
+ g_log_structured_array()). To change the fatal behaviour for specific log
39940
+ messages, programs must install a custom log writer function using
39941
+ g_log_set_writer_func(). See
39942
+ [Using Structured Logging][using-structured-logging].</doc>
39625
39943
  <return-value transfer-ownership="none">
39626
39944
  <doc xml:space="preserve">the old fatal mask for the log domain</doc>
39627
39945
  <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
@@ -39650,6 +39968,9 @@ Note that since the #G_LOG_LEVEL_ERROR log level is always fatal, if
39650
39968
  you want to set a handler for this log level you must combine it with
39651
39969
  #G_LOG_FLAG_FATAL.
39652
39970
 
39971
+ This has no effect if structured logging is enabled; see
39972
+ [Using Structured Logging][using-structured-logging].
39973
+
39653
39974
  Here is an example for adding a log handler for all warning messages
39654
39975
  in the default domain:
39655
39976
  |[&lt;!-- language="C" --&gt;
@@ -39705,7 +40026,10 @@ g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
39705
40026
  c:identifier="g_log_set_handler_full"
39706
40027
  shadows="log_set_handler"
39707
40028
  version="2.46">
39708
- <doc xml:space="preserve">Like g_log_sets_handler(), but takes a destroy notify for the @user_data.</doc>
40029
+ <doc xml:space="preserve">Like g_log_sets_handler(), but takes a destroy notify for the @user_data.
40030
+
40031
+ This has no effect if structured logging is enabled; see
40032
+ [Using Structured Logging][using-structured-logging].</doc>
39709
40033
  <return-value transfer-ownership="none">
39710
40034
  <doc xml:space="preserve">the id of the new handler</doc>
39711
40035
  <type name="guint" c:type="guint"/>
@@ -39747,6 +40071,432 @@ g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
39747
40071
  </parameter>
39748
40072
  </parameters>
39749
40073
  </function>
40074
+ <function name="log_set_writer_func"
40075
+ c:identifier="g_log_set_writer_func"
40076
+ version="2.50">
40077
+ <doc xml:space="preserve">Set a writer function which will be called to format and write out each log
40078
+ message. Each program should set a writer function, or the default writer
40079
+ (g_log_writer_default()) will be used.
40080
+
40081
+ Libraries **must not** call this function — only programs are allowed to
40082
+ install a writer function, as there must be a single, central point where
40083
+ log messages are formatted and outputted.
40084
+
40085
+ There can only be one writer function. It is an error to set more than one.</doc>
40086
+ <return-value transfer-ownership="none">
40087
+ <type name="none" c:type="void"/>
40088
+ </return-value>
40089
+ <parameters>
40090
+ <parameter name="func"
40091
+ transfer-ownership="none"
40092
+ nullable="1"
40093
+ allow-none="1"
40094
+ scope="notified"
40095
+ closure="1"
40096
+ destroy="2">
40097
+ <doc xml:space="preserve">log writer function, which must not be %NULL</doc>
40098
+ <type name="LogWriterFunc" c:type="GLogWriterFunc"/>
40099
+ </parameter>
40100
+ <parameter name="user_data"
40101
+ transfer-ownership="none"
40102
+ nullable="1"
40103
+ allow-none="1"
40104
+ closure="0">
40105
+ <doc xml:space="preserve">user data to pass to @func</doc>
40106
+ <type name="gpointer" c:type="gpointer"/>
40107
+ </parameter>
40108
+ <parameter name="user_data_free"
40109
+ transfer-ownership="none"
40110
+ scope="async"
40111
+ destroy="0">
40112
+ <doc xml:space="preserve">function to free @user_data once it’s
40113
+ finished with, if non-%NULL</doc>
40114
+ <type name="DestroyNotify" c:type="GDestroyNotify"/>
40115
+ </parameter>
40116
+ </parameters>
40117
+ </function>
40118
+ <function name="log_structured"
40119
+ c:identifier="g_log_structured"
40120
+ version="2.50"
40121
+ introspectable="0">
40122
+ <doc xml:space="preserve">Log a message with structured data. The message will be passed through to
40123
+ the log writer set by the application using g_log_set_writer_func(). If the
40124
+ message is fatal (i.e. its log level is %G_LOG_LEVEL_ERROR), the program will
40125
+ be aborted at the end of this function.
40126
+
40127
+ The structured data is provided as key–value pairs, where keys are UTF-8
40128
+ strings, and values are arbitrary pointers — typically pointing to UTF-8
40129
+ strings, but that is not a requirement. To pass binary (non-nul-terminated)
40130
+ structured data, use g_log_structured_array(). The keys for structured data
40131
+ should follow the [systemd journal
40132
+ fields](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html)
40133
+ specification. It is suggested that custom keys are namespaced according to
40134
+ the code which sets them. For example, custom keys from GLib all have a
40135
+ `GLIB_` prefix.
40136
+
40137
+ The @log_domain will be converted into a `GLIB_DOMAIN` field. @log_level will
40138
+ be converted into a
40139
+ [`PRIORITY`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#PRIORITY=)
40140
+ field. The format string will have its placeholders substituted for the provided
40141
+ values and be converted into a
40142
+ [`MESSAGE`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#MESSAGE=)
40143
+ field.
40144
+
40145
+ Other fields you may commonly want to pass into this function:
40146
+
40147
+ * [`MESSAGE_ID`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#MESSAGE_ID=)
40148
+ * [`CODE_FILE`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#CODE_FILE=)
40149
+ * [`CODE_LINE`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#CODE_LINE=)
40150
+ * [`CODE_FUNC`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#CODE_FUNC=)
40151
+ * [`ERRNO`](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#ERRNO=)
40152
+
40153
+ Note that `CODE_FILE`, `CODE_LINE` and `CODE_FUNC` are automatically set by
40154
+ the logging macros, G_DEBUG_HERE(), g_message(), g_warning(), g_critical(),
40155
+ g_error(), etc, if the symbols `G_LOG_USE_STRUCTURED` is defined before including
40156
+ glib.h.
40157
+
40158
+ For example:
40159
+ |[&lt;!-- language="C" --&gt;
40160
+ g_log_structured (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,
40161
+ "MESSAGE_ID", "06d4df59e6c24647bfe69d2c27ef0b4e",
40162
+ "MY_APPLICATION_CUSTOM_FIELD", "some debug string",
40163
+ "MESSAGE", "This is a debug message about pointer %p and integer %u.",
40164
+ some_pointer, some_integer);
40165
+ ]|
40166
+
40167
+ Note that each `MESSAGE_ID` must be [uniquely and randomly
40168
+ generated](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html#MESSAGE_ID=).
40169
+ If adding a `MESSAGE_ID`, consider shipping a [message
40170
+ catalog](https://www.freedesktop.org/wiki/Software/systemd/catalog/) with
40171
+ your software.
40172
+
40173
+ To pass a user data pointer to the log writer function which is specific to
40174
+ this logging call, you must use g_log_structured_array() and pass the pointer
40175
+ as a field with #GLogField.length set to zero, otherwise it will be
40176
+ interpreted as a string.
40177
+
40178
+ For example:
40179
+ |[&lt;!-- language="C" --&gt;
40180
+ const GLogField fields[] = {
40181
+ { "MESSAGE", "This is a debug message.", -1 },
40182
+ { "MESSAGE_ID", "fcfb2e1e65c3494386b74878f1abf893", -1 },
40183
+ { "MY_APPLICATION_CUSTOM_FIELD", "some debug string", -1 },
40184
+ { "MY_APPLICATION_STATE", state_object, 0 },
40185
+ };
40186
+ g_log_structured_array (G_LOG_LEVEL_DEBUG, fields, G_N_ELEMENTS (fields));
40187
+ ]|
40188
+
40189
+ Note also that, even if no other structured fields are specified, there
40190
+ must always be a "MESSAGE" key before the format string. The "MESSAGE"-format
40191
+ pair has to be the last of the key-value pairs, and "MESSAGE" is the only
40192
+ field for which printf()-style formatting is supported.
40193
+
40194
+ The default writer function for `stdout` and `stderr` will automatically
40195
+ append a new-line character after the message, so you should not add one
40196
+ manually to the format string.</doc>
40197
+ <return-value transfer-ownership="none">
40198
+ <type name="none" c:type="void"/>
40199
+ </return-value>
40200
+ <parameters>
40201
+ <parameter name="log_domain" transfer-ownership="none">
40202
+ <doc xml:space="preserve">log domain, usually %G_LOG_DOMAIN</doc>
40203
+ <type name="utf8" c:type="const gchar*"/>
40204
+ </parameter>
40205
+ <parameter name="log_level" transfer-ownership="none">
40206
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40207
+ level</doc>
40208
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40209
+ </parameter>
40210
+ <parameter name="..." transfer-ownership="none">
40211
+ <doc xml:space="preserve">key-value pairs of structured data to add to the log entry, followed
40212
+ by the key "MESSAGE", followed by a printf()-style message format,
40213
+ followed by parameters to insert in the format string</doc>
40214
+ <varargs/>
40215
+ </parameter>
40216
+ </parameters>
40217
+ </function>
40218
+ <function name="log_structured_array"
40219
+ c:identifier="g_log_structured_array"
40220
+ version="2.50">
40221
+ <doc xml:space="preserve">Log a message with structured data. The message will be passed through to the
40222
+ log writer set by the application using g_log_set_writer_func(). If the
40223
+ message is fatal (i.e. its log level is %G_LOG_LEVEL_ERROR), the program will
40224
+ be aborted at the end of this function.
40225
+
40226
+ See g_log_structured() for more documentation.
40227
+
40228
+ This assumes that @log_level is already present in @fields (typically as the
40229
+ `PRIORITY` field).</doc>
40230
+ <return-value transfer-ownership="none">
40231
+ <type name="none" c:type="void"/>
40232
+ </return-value>
40233
+ <parameters>
40234
+ <parameter name="log_level" transfer-ownership="none">
40235
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40236
+ level</doc>
40237
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40238
+ </parameter>
40239
+ <parameter name="fields" transfer-ownership="none">
40240
+ <doc xml:space="preserve">key–value pairs of structured data to add
40241
+ to the log message</doc>
40242
+ <array length="2" zero-terminated="0" c:type="GLogField*">
40243
+ <type name="LogField" c:type="GLogField"/>
40244
+ </array>
40245
+ </parameter>
40246
+ <parameter name="n_fields" transfer-ownership="none">
40247
+ <doc xml:space="preserve">number of elements in the @fields array</doc>
40248
+ <type name="gsize" c:type="gsize"/>
40249
+ </parameter>
40250
+ </parameters>
40251
+ </function>
40252
+ <function name="log_variant" c:identifier="g_log_variant" version="2.50">
40253
+ <doc xml:space="preserve">Log a message with structured data, accepting the data within a #GVariant. This
40254
+ version is especially useful for use in other languages, via introspection.
40255
+
40256
+ The only mandatory item in the @fields dictionary is the "MESSAGE" which must
40257
+ contain the text shown to the user.
40258
+
40259
+ The values in the @fields dictionary are likely to be of type String
40260
+ (#G_VARIANT_TYPE_STRING). Array of bytes (#G_VARIANT_TYPE_BYTESTRING) is also
40261
+ supported. In this case the message is handled as binary and will be forwarded
40262
+ to the log writer as such. The size of the array should not be higher than
40263
+ %G_MAXSSIZE. Otherwise it will be truncated to this size. For other types
40264
+ g_variant_print() will be used to convert the value into a string.
40265
+
40266
+ For more details on its usage and about the parameters, see g_log_structured().</doc>
40267
+ <return-value transfer-ownership="none">
40268
+ <type name="none" c:type="void"/>
40269
+ </return-value>
40270
+ <parameters>
40271
+ <parameter name="log_domain"
40272
+ transfer-ownership="none"
40273
+ nullable="1"
40274
+ allow-none="1">
40275
+ <doc xml:space="preserve">log domain, usually %G_LOG_DOMAIN</doc>
40276
+ <type name="utf8" c:type="const gchar*"/>
40277
+ </parameter>
40278
+ <parameter name="log_level" transfer-ownership="none">
40279
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40280
+ level</doc>
40281
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40282
+ </parameter>
40283
+ <parameter name="fields" transfer-ownership="none">
40284
+ <doc xml:space="preserve">a dictionary (#GVariant of the type %G_VARIANT_TYPE_VARDICT)
40285
+ containing the key-value pairs of message data.</doc>
40286
+ <type name="Variant" c:type="GVariant*"/>
40287
+ </parameter>
40288
+ </parameters>
40289
+ </function>
40290
+ <function name="log_writer_default"
40291
+ c:identifier="g_log_writer_default"
40292
+ version="2.50">
40293
+ <doc xml:space="preserve">Format a structured log message and output it to the default log destination
40294
+ for the platform. On Linux, this is typically the systemd journal, falling
40295
+ back to `stdout` or `stderr` if running from the terminal or if output is
40296
+ being redirected to a file.
40297
+
40298
+ Support for other platform-specific logging mechanisms may be added in
40299
+ future. Distributors of GLib may modify this function to impose their own
40300
+ (documented) platform-specific log writing policies.
40301
+
40302
+ This is suitable for use as a #GLogWriterFunc, and is the default writer used
40303
+ if no other is set using g_log_set_writer_func().
40304
+
40305
+ As with g_log_default_handler(), this function drops debug and informational
40306
+ messages unless their log domain (or `all`) is listed in the space-separated
40307
+ `G_MESSAGES_DEBUG` environment variable.</doc>
40308
+ <return-value transfer-ownership="none">
40309
+ <doc xml:space="preserve">%G_LOG_WRITER_HANDLED on success, %G_LOG_WRITER_UNHANDLED otherwise</doc>
40310
+ <type name="LogWriterOutput" c:type="GLogWriterOutput"/>
40311
+ </return-value>
40312
+ <parameters>
40313
+ <parameter name="log_level" transfer-ownership="none">
40314
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40315
+ level</doc>
40316
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40317
+ </parameter>
40318
+ <parameter name="fields" transfer-ownership="none">
40319
+ <doc xml:space="preserve">key–value pairs of structured data forming
40320
+ the log message</doc>
40321
+ <array length="2" zero-terminated="0" c:type="GLogField*">
40322
+ <type name="LogField" c:type="GLogField"/>
40323
+ </array>
40324
+ </parameter>
40325
+ <parameter name="n_fields" transfer-ownership="none">
40326
+ <doc xml:space="preserve">number of elements in the @fields array</doc>
40327
+ <type name="gsize" c:type="gsize"/>
40328
+ </parameter>
40329
+ <parameter name="user_data"
40330
+ transfer-ownership="none"
40331
+ nullable="1"
40332
+ allow-none="1">
40333
+ <doc xml:space="preserve">user data passed to g_log_set_writer_func()</doc>
40334
+ <type name="gpointer" c:type="gpointer"/>
40335
+ </parameter>
40336
+ </parameters>
40337
+ </function>
40338
+ <function name="log_writer_format_fields"
40339
+ c:identifier="g_log_writer_format_fields"
40340
+ version="2.50">
40341
+ <doc xml:space="preserve">Format a structured log message as a string suitable for outputting to the
40342
+ terminal (or elsewhere). This will include the values of all fields it knows
40343
+ how to interpret, which includes `MESSAGE` and `GLIB_DOMAIN` (see the
40344
+ documentation for g_log_structured()). It does not include values from
40345
+ unknown fields.
40346
+
40347
+ The returned string does **not** have a trailing new-line character. It is
40348
+ encoded in the character set of the current locale, which is not necessarily
40349
+ UTF-8.</doc>
40350
+ <return-value transfer-ownership="full">
40351
+ <doc xml:space="preserve">string containing the formatted log message, in
40352
+ the character set of the current locale</doc>
40353
+ <type name="utf8" c:type="gchar*"/>
40354
+ </return-value>
40355
+ <parameters>
40356
+ <parameter name="log_level" transfer-ownership="none">
40357
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40358
+ level</doc>
40359
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40360
+ </parameter>
40361
+ <parameter name="fields" transfer-ownership="none">
40362
+ <doc xml:space="preserve">key–value pairs of structured data forming
40363
+ the log message</doc>
40364
+ <array length="2" zero-terminated="0" c:type="GLogField*">
40365
+ <type name="LogField" c:type="GLogField"/>
40366
+ </array>
40367
+ </parameter>
40368
+ <parameter name="n_fields" transfer-ownership="none">
40369
+ <doc xml:space="preserve">number of elements in the @fields array</doc>
40370
+ <type name="gsize" c:type="gsize"/>
40371
+ </parameter>
40372
+ <parameter name="use_color" transfer-ownership="none">
40373
+ <doc xml:space="preserve">%TRUE to use ANSI color escape sequences when formatting the
40374
+ message, %FALSE to not</doc>
40375
+ <type name="gboolean" c:type="gboolean"/>
40376
+ </parameter>
40377
+ </parameters>
40378
+ </function>
40379
+ <function name="log_writer_is_journald"
40380
+ c:identifier="g_log_writer_is_journald"
40381
+ version="2.50">
40382
+ <doc xml:space="preserve">Check whether the given @output_fd file descriptor is a connection to the
40383
+ systemd journal, or something else (like a log file or `stdout` or
40384
+ `stderr`).</doc>
40385
+ <return-value transfer-ownership="none">
40386
+ <doc xml:space="preserve">%TRUE if @output_fd points to the journal, %FALSE otherwise</doc>
40387
+ <type name="gboolean" c:type="gboolean"/>
40388
+ </return-value>
40389
+ <parameters>
40390
+ <parameter name="output_fd" transfer-ownership="none">
40391
+ <doc xml:space="preserve">output file descriptor to check</doc>
40392
+ <type name="gint" c:type="gint"/>
40393
+ </parameter>
40394
+ </parameters>
40395
+ </function>
40396
+ <function name="log_writer_journald"
40397
+ c:identifier="g_log_writer_journald"
40398
+ version="2.50">
40399
+ <doc xml:space="preserve">Format a structured log message and send it to the systemd journal as a set
40400
+ of key–value pairs. All fields are sent to the journal, but if a field has
40401
+ length zero (indicating program-specific data) then only its key will be
40402
+ sent.
40403
+
40404
+ This is suitable for use as a #GLogWriterFunc.
40405
+
40406
+ If GLib has been compiled without systemd support, this function is still
40407
+ defined, but will always return %G_LOG_WRITER_UNHANDLED.</doc>
40408
+ <return-value transfer-ownership="none">
40409
+ <doc xml:space="preserve">%G_LOG_WRITER_HANDLED on success, %G_LOG_WRITER_UNHANDLED otherwise</doc>
40410
+ <type name="LogWriterOutput" c:type="GLogWriterOutput"/>
40411
+ </return-value>
40412
+ <parameters>
40413
+ <parameter name="log_level" transfer-ownership="none">
40414
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40415
+ level</doc>
40416
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40417
+ </parameter>
40418
+ <parameter name="fields" transfer-ownership="none">
40419
+ <doc xml:space="preserve">key–value pairs of structured data forming
40420
+ the log message</doc>
40421
+ <array length="2" zero-terminated="0" c:type="GLogField*">
40422
+ <type name="LogField" c:type="GLogField"/>
40423
+ </array>
40424
+ </parameter>
40425
+ <parameter name="n_fields" transfer-ownership="none">
40426
+ <doc xml:space="preserve">number of elements in the @fields array</doc>
40427
+ <type name="gsize" c:type="gsize"/>
40428
+ </parameter>
40429
+ <parameter name="user_data"
40430
+ transfer-ownership="none"
40431
+ nullable="1"
40432
+ allow-none="1">
40433
+ <doc xml:space="preserve">user data passed to g_log_set_writer_func()</doc>
40434
+ <type name="gpointer" c:type="gpointer"/>
40435
+ </parameter>
40436
+ </parameters>
40437
+ </function>
40438
+ <function name="log_writer_standard_streams"
40439
+ c:identifier="g_log_writer_standard_streams"
40440
+ version="2.50">
40441
+ <doc xml:space="preserve">Format a structured log message and print it to either `stdout` or `stderr`,
40442
+ depending on its log level. %G_LOG_LEVEL_INFO and %G_LOG_LEVEL_DEBUG messages
40443
+ are sent to `stdout`; all other log levels are sent to `stderr`. Only fields
40444
+ which are understood by this function are included in the formatted string
40445
+ which is printed.
40446
+
40447
+ If the output stream supports ANSI color escape sequences, they will be used
40448
+ in the output.
40449
+
40450
+ A trailing new-line character is added to the log message when it is printed.
40451
+
40452
+ This is suitable for use as a #GLogWriterFunc.</doc>
40453
+ <return-value transfer-ownership="none">
40454
+ <doc xml:space="preserve">%G_LOG_WRITER_HANDLED on success, %G_LOG_WRITER_UNHANDLED otherwise</doc>
40455
+ <type name="LogWriterOutput" c:type="GLogWriterOutput"/>
40456
+ </return-value>
40457
+ <parameters>
40458
+ <parameter name="log_level" transfer-ownership="none">
40459
+ <doc xml:space="preserve">log level, either from #GLogLevelFlags, or a user-defined
40460
+ level</doc>
40461
+ <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
40462
+ </parameter>
40463
+ <parameter name="fields" transfer-ownership="none">
40464
+ <doc xml:space="preserve">key–value pairs of structured data forming
40465
+ the log message</doc>
40466
+ <array length="2" zero-terminated="0" c:type="GLogField*">
40467
+ <type name="LogField" c:type="GLogField"/>
40468
+ </array>
40469
+ </parameter>
40470
+ <parameter name="n_fields" transfer-ownership="none">
40471
+ <doc xml:space="preserve">number of elements in the @fields array</doc>
40472
+ <type name="gsize" c:type="gsize"/>
40473
+ </parameter>
40474
+ <parameter name="user_data"
40475
+ transfer-ownership="none"
40476
+ nullable="1"
40477
+ allow-none="1">
40478
+ <doc xml:space="preserve">user data passed to g_log_set_writer_func()</doc>
40479
+ <type name="gpointer" c:type="gpointer"/>
40480
+ </parameter>
40481
+ </parameters>
40482
+ </function>
40483
+ <function name="log_writer_supports_color"
40484
+ c:identifier="g_log_writer_supports_color"
40485
+ version="2.50">
40486
+ <doc xml:space="preserve">Check whether the given @output_fd file descriptor supports ANSI color
40487
+ escape sequences. If so, they can safely be used when formatting log
40488
+ messages.</doc>
40489
+ <return-value transfer-ownership="none">
40490
+ <doc xml:space="preserve">%TRUE if ANSI color escapes are supported, %FALSE otherwise</doc>
40491
+ <type name="gboolean" c:type="gboolean"/>
40492
+ </return-value>
40493
+ <parameters>
40494
+ <parameter name="output_fd" transfer-ownership="none">
40495
+ <doc xml:space="preserve">output file descriptor to check</doc>
40496
+ <type name="gint" c:type="gint"/>
40497
+ </parameter>
40498
+ </parameters>
40499
+ </function>
39750
40500
  <function name="logv" c:identifier="g_logv" introspectable="0">
39751
40501
  <doc xml:space="preserve">Logs an error or debugging message.
39752
40502
 
@@ -39755,7 +40505,10 @@ function is called to terminate the program.
39755
40505
 
39756
40506
  If g_log_default_handler() is used as the log handler function, a new-line
39757
40507
  character will automatically be appended to @..., and need not be entered
39758
- manually.</doc>
40508
+ manually.
40509
+
40510
+ If [structured logging is enabled][using-structured-logging] this will
40511
+ output via the structured log writer function (see g_log_set_writer_func()).</doc>
39759
40512
  <return-value transfer-ownership="none">
39760
40513
  <type name="none" c:type="void"/>
39761
40514
  </return-value>
@@ -39797,8 +40550,9 @@ See your C library manual for more details about lstat().</doc>
39797
40550
  </return-value>
39798
40551
  <parameters>
39799
40552
  <parameter name="filename" transfer-ownership="none">
39800
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
39801
- <type name="utf8" c:type="const gchar*"/>
40553
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
40554
+ (UTF-8 on Windows)</doc>
40555
+ <type name="filename" c:type="gchar*"/>
39802
40556
  </parameter>
39803
40557
  <parameter name="buf" transfer-ownership="none">
39804
40558
  <doc xml:space="preserve">a pointer to a stat struct, which will be filled with the file
@@ -40287,8 +41041,9 @@ See your C library manual for more details about mkdir().</doc>
40287
41041
  </return-value>
40288
41042
  <parameters>
40289
41043
  <parameter name="filename" transfer-ownership="none">
40290
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
40291
- <type name="utf8" c:type="const gchar*"/>
41044
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
41045
+ (UTF-8 on Windows)</doc>
41046
+ <type name="filename" c:type="gchar*"/>
40292
41047
  </parameter>
40293
41048
  <parameter name="mode" transfer-ownership="none">
40294
41049
  <doc xml:space="preserve">permissions to use for the newly created directory</doc>
@@ -40309,7 +41064,7 @@ created. Returns -1 if an error occurred, with errno set.</doc>
40309
41064
  <parameters>
40310
41065
  <parameter name="pathname" transfer-ownership="none">
40311
41066
  <doc xml:space="preserve">a pathname in the GLib file name encoding</doc>
40312
- <type name="utf8" c:type="const gchar*"/>
41067
+ <type name="filename" c:type="gchar*"/>
40313
41068
  </parameter>
40314
41069
  <parameter name="mode" transfer-ownership="none">
40315
41070
  <doc xml:space="preserve">permissions to use for newly created directories</doc>
@@ -40329,11 +41084,11 @@ and you can pass a @mode and additional @flags. The X string will
40329
41084
  be modified to form the name of a directory that didn't exist.
40330
41085
  The string should be in the GLib file name encoding. Most importantly,
40331
41086
  on Windows it should be in UTF-8.</doc>
40332
- <return-value transfer-ownership="full">
40333
- <doc xml:space="preserve">A pointer to @tmpl, which has been modified
40334
- to hold the directory name. In case of errors, %NULL is
41087
+ <return-value transfer-ownership="full" nullable="1">
41088
+ <doc xml:space="preserve">A pointer to @tmpl, which has been
41089
+ modified to hold the directory name. In case of errors, %NULL is
40335
41090
  returned and %errno will be set.</doc>
40336
- <type name="utf8" c:type="gchar*"/>
41091
+ <type name="filename" c:type="gchar*"/>
40337
41092
  </return-value>
40338
41093
  <parameters>
40339
41094
  <parameter name="tmpl" transfer-ownership="none">
@@ -40354,11 +41109,11 @@ and you can pass a @mode. The X string will be modified to form
40354
41109
  the name of a directory that didn't exist. The string should be
40355
41110
  in the GLib file name encoding. Most importantly, on Windows it
40356
41111
  should be in UTF-8.</doc>
40357
- <return-value transfer-ownership="full">
40358
- <doc xml:space="preserve">A pointer to @tmpl, which has been modified
40359
- to hold the directory name. In case of errors, %NULL is
41112
+ <return-value transfer-ownership="full" nullable="1">
41113
+ <doc xml:space="preserve">A pointer to @tmpl, which has been
41114
+ modified to hold the directory name. In case of errors, %NULL is
40360
41115
  returned, and %errno will be set.</doc>
40361
- <type name="utf8" c:type="gchar*"/>
41116
+ <type name="filename" c:type="gchar*"/>
40362
41117
  </return-value>
40363
41118
  <parameters>
40364
41119
  <parameter name="tmpl" transfer-ownership="none">
@@ -40620,8 +41375,9 @@ See your C library manual for more details about open().</doc>
40620
41375
  </return-value>
40621
41376
  <parameters>
40622
41377
  <parameter name="filename" transfer-ownership="none">
40623
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
40624
- <type name="utf8" c:type="const gchar*"/>
41378
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
41379
+ (UTF-8 on Windows)</doc>
41380
+ <type name="filename" c:type="gchar*"/>
40625
41381
  </parameter>
40626
41382
  <parameter name="flags" transfer-ownership="none">
40627
41383
  <doc xml:space="preserve">as in open()</doc>
@@ -40687,12 +41443,12 @@ separator is returned. If @file_name is empty, it gets ".".</doc>
40687
41443
  <return-value transfer-ownership="full">
40688
41444
  <doc xml:space="preserve">a newly allocated string containing the last
40689
41445
  component of the filename</doc>
40690
- <type name="utf8" c:type="gchar*"/>
41446
+ <type name="filename" c:type="gchar*"/>
40691
41447
  </return-value>
40692
41448
  <parameters>
40693
41449
  <parameter name="file_name" transfer-ownership="none">
40694
41450
  <doc xml:space="preserve">the name of the file</doc>
40695
- <type name="utf8" c:type="const gchar*"/>
41451
+ <type name="filename" c:type="gchar*"/>
40696
41452
  </parameter>
40697
41453
  </parameters>
40698
41454
  </function>
@@ -40703,12 +41459,12 @@ If the file name has no directory components "." is returned.
40703
41459
  The returned string should be freed when no longer needed.</doc>
40704
41460
  <return-value transfer-ownership="full">
40705
41461
  <doc xml:space="preserve">the directory components of the file</doc>
40706
- <type name="utf8" c:type="gchar*"/>
41462
+ <type name="filename" c:type="gchar*"/>
40707
41463
  </return-value>
40708
41464
  <parameters>
40709
41465
  <parameter name="file_name" transfer-ownership="none">
40710
41466
  <doc xml:space="preserve">the name of the file</doc>
40711
- <type name="utf8" c:type="const gchar*"/>
41467
+ <type name="filename" c:type="gchar*"/>
40712
41468
  </parameter>
40713
41469
  </parameters>
40714
41470
  </function>
@@ -40744,7 +41500,7 @@ Windows-specific code.</doc>
40744
41500
  <parameters>
40745
41501
  <parameter name="file_name" transfer-ownership="none">
40746
41502
  <doc xml:space="preserve">a file name</doc>
40747
- <type name="utf8" c:type="const gchar*"/>
41503
+ <type name="filename" c:type="gchar*"/>
40748
41504
  </parameter>
40749
41505
  </parameters>
40750
41506
  </function>
@@ -40753,13 +41509,14 @@ Windows-specific code.</doc>
40753
41509
  i.e. after the "/" in UNIX or "C:\" under Windows. If @file_name
40754
41510
  is not an absolute path it returns %NULL.</doc>
40755
41511
  <return-value transfer-ownership="none" nullable="1">
40756
- <doc xml:space="preserve">a pointer into @file_name after the root component</doc>
40757
- <type name="utf8" c:type="const gchar*"/>
41512
+ <doc xml:space="preserve">a pointer into @file_name after the
41513
+ root component</doc>
41514
+ <type name="filename" c:type="gchar*"/>
40758
41515
  </return-value>
40759
41516
  <parameters>
40760
41517
  <parameter name="file_name" transfer-ownership="none">
40761
41518
  <doc xml:space="preserve">a file name</doc>
40762
- <type name="utf8" c:type="const gchar*"/>
41519
+ <type name="filename" c:type="gchar*"/>
40763
41520
  </parameter>
40764
41521
  </parameters>
40765
41522
  </function>
@@ -40998,8 +41755,8 @@ its own new-line character.
40998
41755
  g_print() should not be used from within libraries for debugging
40999
41756
  messages, since it may be redirected by applications to special
41000
41757
  purpose message windows or even files. Instead, libraries should
41001
- use g_log(), or the convenience functions g_message(), g_warning()
41002
- and g_error().</doc>
41758
+ use g_log(), g_log_structured(), or the convenience macros g_message(),
41759
+ g_warning() and g_error().</doc>
41003
41760
  <return-value transfer-ownership="none">
41004
41761
  <type name="none" c:type="void"/>
41005
41762
  </return-value>
@@ -41021,8 +41778,8 @@ a trailing new-line character. Typically, @format should end with its own
41021
41778
  new-line character.
41022
41779
 
41023
41780
  g_printerr() should not be used from within libraries.
41024
- Instead g_log() should be used, or the convenience functions
41025
- g_message(), g_warning() and g_error().</doc>
41781
+ Instead g_log() or g_log_structured() should be used, or the convenience
41782
+ macros g_message(), g_warning() and g_error().</doc>
41026
41783
  <return-value transfer-ownership="none">
41027
41784
  <type name="none" c:type="void"/>
41028
41785
  </return-value>
@@ -41597,8 +42354,9 @@ set by rmdir().</doc>
41597
42354
  </return-value>
41598
42355
  <parameters>
41599
42356
  <parameter name="filename" transfer-ownership="none">
41600
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
41601
- <type name="utf8" c:type="const gchar*"/>
42357
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
42358
+ (UTF-8 on Windows)</doc>
42359
+ <type name="filename" c:type="gchar*"/>
41602
42360
  </parameter>
41603
42361
  </parameters>
41604
42362
  </function>
@@ -41615,12 +42373,13 @@ a file that is open to some process.</doc>
41615
42373
  </return-value>
41616
42374
  <parameters>
41617
42375
  <parameter name="oldfilename" transfer-ownership="none">
41618
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
41619
- <type name="utf8" c:type="const gchar*"/>
42376
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
42377
+ (UTF-8 on Windows)</doc>
42378
+ <type name="filename" c:type="gchar*"/>
41620
42379
  </parameter>
41621
42380
  <parameter name="newfilename" transfer-ownership="none">
41622
42381
  <doc xml:space="preserve">a pathname in the GLib file name encoding</doc>
41623
- <type name="utf8" c:type="const gchar*"/>
42382
+ <type name="filename" c:type="gchar*"/>
41624
42383
  </parameter>
41625
42384
  </parameters>
41626
42385
  </function>
@@ -41661,8 +42420,9 @@ on your system.</doc>
41661
42420
  </return-value>
41662
42421
  <parameters>
41663
42422
  <parameter name="filename" transfer-ownership="none">
41664
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
41665
- <type name="utf8" c:type="const gchar*"/>
42423
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
42424
+ (UTF-8 on Windows)</doc>
42425
+ <type name="filename" c:type="gchar*"/>
41666
42426
  </parameter>
41667
42427
  </parameters>
41668
42428
  </function>
@@ -42492,7 +43252,7 @@ are different concepts on Windows.</doc>
42492
43252
  nullable="1"
42493
43253
  allow-none="1">
42494
43254
  <doc xml:space="preserve">child's current working directory, or %NULL to inherit parent's</doc>
42495
- <type name="utf8" c:type="const gchar*"/>
43255
+ <type name="filename" c:type="gchar*"/>
42496
43256
  </parameter>
42497
43257
  <parameter name="argv" transfer-ownership="none">
42498
43258
  <doc xml:space="preserve">child's argument vector</doc>
@@ -42736,7 +43496,7 @@ the spawned program opens its windows on the right screen.</doc>
42736
43496
  nullable="1"
42737
43497
  allow-none="1">
42738
43498
  <doc xml:space="preserve">child's current working directory, or %NULL to inherit parent's, in the GLib file name encoding</doc>
42739
- <type name="utf8" c:type="const gchar*"/>
43499
+ <type name="filename" c:type="gchar*"/>
42740
43500
  </parameter>
42741
43501
  <parameter name="argv" transfer-ownership="none">
42742
43502
  <doc xml:space="preserve">child's argument vector, in the GLib file name encoding</doc>
@@ -43084,7 +43844,7 @@ how these functions work on Windows.</doc>
43084
43844
  nullable="1"
43085
43845
  allow-none="1">
43086
43846
  <doc xml:space="preserve">child's current working directory, or %NULL to inherit parent's</doc>
43087
- <type name="utf8" c:type="const gchar*"/>
43847
+ <type name="filename" c:type="gchar*"/>
43088
43848
  </parameter>
43089
43849
  <parameter name="argv" transfer-ownership="none">
43090
43850
  <doc xml:space="preserve">child's argument vector</doc>
@@ -43255,8 +44015,9 @@ See your C library manual for more details about stat().</doc>
43255
44015
  </return-value>
43256
44016
  <parameters>
43257
44017
  <parameter name="filename" transfer-ownership="none">
43258
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
43259
- <type name="utf8" c:type="const gchar*"/>
44018
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
44019
+ (UTF-8 on Windows)</doc>
44020
+ <type name="filename" c:type="gchar*"/>
43260
44021
  </parameter>
43261
44022
  <parameter name="buf" transfer-ownership="none">
43262
44023
  <doc xml:space="preserve">a pointer to a stat struct, which will be filled with the file
@@ -43840,7 +44601,7 @@ The value of %errno will not be changed by this function.</doc>
43840
44601
  </function>
43841
44602
  <function name="strescape" c:identifier="g_strescape">
43842
44603
  <doc xml:space="preserve">Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\v', '\'
43843
- and '&amp;quot;' in the string @source by inserting a '\' before
44604
+ and '"' in the string @source by inserting a '\' before
43844
44605
  them. Additionally all characters in the range 0x01-0x1F (everything
43845
44606
  below SPACE) and in the range 0x7F-0xFF (all non-ASCII chars) are
43846
44607
  replaced with a '\' followed by their octal representation.
@@ -43989,7 +44750,11 @@ should be freed with g_free().</doc>
43989
44750
  <function name="strjoinv" c:identifier="g_strjoinv">
43990
44751
  <doc xml:space="preserve">Joins a number of strings together to form one long string, with the
43991
44752
  optional @separator inserted between each of them. The returned string
43992
- should be freed with g_free().</doc>
44753
+ should be freed with g_free().
44754
+
44755
+ If @str_array has no items, the return value will be an
44756
+ empty string. If @str_array contains a single item, @separator will not
44757
+ appear in the resulting string.</doc>
43993
44758
  <return-value transfer-ownership="full">
43994
44759
  <doc xml:space="preserve">a newly-allocated string containing all of the strings joined
43995
44760
  together, with @separator between them</doc>
@@ -44753,6 +45518,10 @@ with text matching @pattern, is expected to be logged. When this
44753
45518
  message is logged, it will not be printed, and the test case will
44754
45519
  not abort.
44755
45520
 
45521
+ This API may only be used with the old logging API (g_log() without
45522
+ %G_LOG_USE_STRUCTURED defined). It will not work with the structured logging
45523
+ API. See [Testing for Messages][testing-for-messages].
45524
+
44756
45525
  Use g_test_assert_expected_messages() to assert that all
44757
45526
  previously-expected messages have been seen and suppressed.
44758
45527
 
@@ -44841,7 +45610,7 @@ This is approximately the same as calling g_test_build_filename("."),
44841
45610
  but you don't need to free the return value.</doc>
44842
45611
  <return-value transfer-ownership="none">
44843
45612
  <doc xml:space="preserve">the path of the directory, owned by GLib</doc>
44844
- <type name="utf8" c:type="const gchar*"/>
45613
+ <type name="filename" c:type="gchar*"/>
44845
45614
  </return-value>
44846
45615
  <parameters>
44847
45616
  <parameter name="file_type" transfer-ownership="none">
@@ -44948,7 +45717,7 @@ So far, the following arguments are understood:
44948
45717
  `quick`: Quick tests, should run really quickly and give good coverage.
44949
45718
 
44950
45719
  `undefined`: Tests for undefined behaviour, may provoke programming errors
44951
- under g_test_trap_subprocess() or g_test_expect_messages() to check
45720
+ under g_test_trap_subprocess() or g_test_expect_message() to check
44952
45721
  that appropriate assertions or warnings are given
44953
45722
 
44954
45723
  `no-undefined`: Avoid tests for undefined behaviour
@@ -44994,7 +45763,13 @@ Note that the handler is reset at the beginning of
44994
45763
  any test case, so you have to set it inside each test
44995
45764
  function which needs the special behavior.
44996
45765
 
44997
- This handler has no effect on g_error messages.</doc>
45766
+ This handler has no effect on g_error messages.
45767
+
45768
+ This handler also has no effect on structured log messages (using
45769
+ g_log_structured() or g_log_structured_array()). To change the fatal
45770
+ behaviour for specific log messages, programs must install a custom log
45771
+ writer function using g_log_set_writer_func().See
45772
+ [Using Structured Logging][using-structured-logging].</doc>
44998
45773
  <return-value transfer-ownership="none">
44999
45774
  <type name="none" c:type="void"/>
45000
45775
  </return-value>
@@ -47012,8 +47787,9 @@ are open to some process, or mapped into memory.</doc>
47012
47787
  </return-value>
47013
47788
  <parameters>
47014
47789
  <parameter name="filename" transfer-ownership="none">
47015
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
47016
- <type name="utf8" c:type="const gchar*"/>
47790
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
47791
+ (UTF-8 on Windows)</doc>
47792
+ <type name="filename" c:type="gchar*"/>
47017
47793
  </parameter>
47018
47794
  </parameters>
47019
47795
  </function>
@@ -48009,8 +48785,9 @@ on your system.</doc>
48009
48785
  </return-value>
48010
48786
  <parameters>
48011
48787
  <parameter name="filename" transfer-ownership="none">
48012
- <doc xml:space="preserve">a pathname in the GLib file name encoding (UTF-8 on Windows)</doc>
48013
- <type name="utf8" c:type="const gchar*"/>
48788
+ <doc xml:space="preserve">a pathname in the GLib file name encoding
48789
+ (UTF-8 on Windows)</doc>
48790
+ <type name="filename" c:type="gchar*"/>
48014
48791
  </parameter>
48015
48792
  <parameter name="utb"
48016
48793
  transfer-ownership="none"