summaryrefslogtreecommitdiff
path: root/glib
diff options
context:
space:
mode:
authorKjell Ahlstedt <kjellahlstedt@gmail.com>2020-12-18 15:31:08 +0100
committerKjell Ahlstedt <kjellahlstedt@gmail.com>2020-12-18 15:31:08 +0100
commitb87624291ff0df3d8b529d8b3a5cfe8e1fb571d4 (patch)
tree98d6c73a3a903aea11412ee0c0b95abffc49ded7 /glib
parent24b17dc618b9a0f1211c8a1c0e2c250ad8056b2c (diff)
downloadglibmm-b87624291ff0df3d8b529d8b3a5cfe8e1fb571d4.tar.gz
Glib, Gio: Regenerate docs.xml and .defs files
and update gio/src/gio_docs_override.xml. Regenerated while the glib-2-66 branch was checked out from glib.
Diffstat (limited to 'glib')
-rw-r--r--glib/src/glib_docs.xml2722
-rw-r--r--glib/src/glib_enums.defs137
-rw-r--r--glib/src/glib_functions.defs536
-rw-r--r--glib/src/gobject_functions.defs14
4 files changed, 2996 insertions, 413 deletions
diff --git a/glib/src/glib_docs.xml b/glib/src/glib_docs.xml
index 6ef54a1e..90c72d7d 100644
--- a/glib/src/glib_docs.xml
+++ b/glib/src/glib_docs.xml
@@ -565,6 +565,46 @@ code applies.
</parameters>
</enum>
+<enum name="GFileSetContentsFlags">
+<description>
+Flags to pass to g_file_set_contents_full() to affect its safety and
+performance.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="G_FILE_SET_CONTENTS_NONE">
+<parameter_description> No guarantees about file consistency or durability.
+The most dangerous setting, which is slightly faster than other settings.
+</parameter_description>
+</parameter>
+<parameter name="G_FILE_SET_CONTENTS_CONSISTENT">
+<parameter_description> Guarantee file consistency: after a crash,
+either the old version of the file or the new version of the file will be
+available, but not a mixture. On Unix systems this equates to an `fsync()`
+on the file and use of an atomic `rename()` of the new version of the file
+over the old.
+</parameter_description>
+</parameter>
+<parameter name="G_FILE_SET_CONTENTS_DURABLE">
+<parameter_description> Guarantee file durability: after a crash, the
+new version of the file will be available. On Unix systems this equates to
+an `fsync()` on the file (if %G_FILE_SET_CONTENTS_CONSISTENT is unset), or
+the effects of %G_FILE_SET_CONTENTS_CONSISTENT plus an `fsync()` on the
+directory containing the file after calling `rename()`.
+</parameter_description>
+</parameter>
+<parameter name="G_FILE_SET_CONTENTS_ONLY_EXISTING">
+<parameter_description> Only apply consistency and durability
+guarantees if the file already exists. This may speed up file operations
+if the file doesn’t currently exist, but may result in a corrupted version
+of the new file if the system crashes while writing it.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
<enum name="GFileTest">
<description>
A test to perform on a file using g_file_test().
@@ -815,7 +855,7 @@ with g_io_channel_set_flags()
<enum name="GIOStatus">
<description>
-Stati returned by most of the #GIOFuncs functions.
+Statuses returned by most of the #GIOFuncs functions.
</description>
<parameters>
@@ -2286,7 +2326,7 @@ as the file to execute, and passes all of `argv` to the child.
</parameter_description>
</parameter>
<parameter name="G_SPAWN_SEARCH_PATH_FROM_ENVP">
-<parameter_description> if `argv[0]` is not an abolute path,
+<parameter_description> if `argv[0]` is not an absolute path,
it will be looked for in the `PATH` from the passed child environment.
Since: 2.34
</parameter_description>
@@ -2610,7 +2650,7 @@ version use %G_TRAVERSE_NON_LEAFS.
<enum name="GTraverseType">
<description>
-Specifies the type of traveral performed by g_tree_traverse(),
+Specifies the type of traversal performed by g_tree_traverse(),
g_node_traverse() and g_node_find(). The different orders are
illustrated here:
- In order: A, B, C, D, E, F, G, H, I
@@ -3559,6 +3599,22 @@ Old South Arabian. Since 2.26
<parameter_description> Wcho. Since: 2.62
</parameter_description>
</parameter>
+<parameter name="G_UNICODE_SCRIPT_CHORASMIAN">
+<parameter_description> Chorasmian. Since: 2.66
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_DIVES_AKURU">
+<parameter_description> Dives Akuru. Since: 2.66
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT">
+<parameter_description> Khitan small script. Since: 2.66
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_YEZIDI">
+<parameter_description> Yezidi. Since: 2.66
+</parameter_description>
+</parameter>
</parameters>
</enum>
@@ -3693,6 +3749,193 @@ See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Ca
</parameters>
</enum>
+<enum name="GUriError">
+<description>
+Error codes returned by #GUri methods.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="G_URI_ERROR_FAILED">
+<parameter_description> Generic error if no more specific error is available.
+See the error message for details.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_SCHEME">
+<parameter_description> The scheme of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_USER">
+<parameter_description> The user/userinfo of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_PASSWORD">
+<parameter_description> The password of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_AUTH_PARAMS">
+<parameter_description> The authentication parameters of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_HOST">
+<parameter_description> The host of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_PORT">
+<parameter_description> The port of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_PATH">
+<parameter_description> The path of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_QUERY">
+<parameter_description> The query of a URI could not be parsed.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_ERROR_BAD_FRAGMENT">
+<parameter_description> The fragment of a URI could not be parsed.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GUriFlags">
+<description>
+Flags that describe a URI.
+
+When parsing a URI, if you need to choose different flags based on
+the type of URI, you can use g_uri_peek_scheme() on the URI string
+to check the scheme first, and use that to decide what flags to
+parse it with.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="G_URI_FLAGS_NONE">
+<parameter_description> No flags set.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_PARSE_RELAXED">
+<parameter_description> Parse the URI more relaxedly than the
+[RFC 3986](https://tools.ietf.org/html/rfc3986) grammar specifies,
+fixing up or ignoring common mistakes in URIs coming from external
+sources. This is also needed for some obscure URI schemes where `;`
+separates the host from the path. Don’t use this flag unless you need to.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_HAS_PASSWORD">
+<parameter_description> The userinfo field may contain a password,
+which will be separated from the username by `:`.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_HAS_AUTH_PARAMS">
+<parameter_description> The userinfo may contain additional
+authentication-related parameters, which will be separated from
+the username and/or password by `;`.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_NON_DNS">
+<parameter_description> The host component should not be assumed to be a
+DNS hostname or IP address (for example, for `smb` URIs with NetBIOS
+hostnames).
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_ENCODED">
+<parameter_description> When parsing a URI, this indicates that `%`-encoded
+characters in the userinfo, path, query, and fragment fields
+should not be decoded. (And likewise the host field if
+%G_URI_FLAGS_NON_DNS is also set.) When building a URI, it indicates
+that you have already `%`-encoded the components, and so #GUri
+should not do any encoding itself.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_ENCODED_QUERY">
+<parameter_description> Same as %G_URI_FLAGS_ENCODED, for the query
+field only.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_ENCODED_PATH">
+<parameter_description> Same as %G_URI_FLAGS_ENCODED, for the path only.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_FLAGS_ENCODED_FRAGMENT">
+<parameter_description> Same as %G_URI_FLAGS_ENCODED, for the
+fragment only.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GUriHideFlags">
+<description>
+Flags describing what parts of the URI to hide in
+g_uri_to_string_partial(). Note that %G_URI_HIDE_PASSWORD and
+%G_URI_HIDE_AUTH_PARAMS will only work if the #GUri was parsed with
+the corresponding flags.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="G_URI_HIDE_NONE">
+<parameter_description> No flags set.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_HIDE_USERINFO">
+<parameter_description> Hide the userinfo.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_HIDE_PASSWORD">
+<parameter_description> Hide the password.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_HIDE_AUTH_PARAMS">
+<parameter_description> Hide the auth_params.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_HIDE_QUERY">
+<parameter_description> Hide the query.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_HIDE_FRAGMENT">
+<parameter_description> Hide the fragment.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GUriParamsFlags">
+<description>
+Flags modifying the way parameters are handled by g_uri_parse_params() and
+#GUriParamsIter.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="G_URI_PARAMS_NONE">
+<parameter_description> No flags set.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_PARAMS_CASE_INSENSITIVE">
+<parameter_description> Parameter names are case insensitive.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_PARAMS_WWW_FORM">
+<parameter_description> Replace `+` with space character. Only useful for
+URLs on the web, using the `https` or `http` schemas.
+</parameter_description>
+</parameter>
+<parameter name="G_URI_PARAMS_PARSE_RELAXED">
+<parameter_description> See %G_URI_FLAGS_PARSE_RELAXED.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
<enum name="GUserDirectory">
<description>
These are logical ids for special directories which are defined
@@ -4212,14 +4455,29 @@ Since: 2.22
<function name="g_array_index">
<description>
Returns the element of a #GArray at the given index. The return
-value is cast to the given type.
+value is cast to the given type. This is the main way to read or write an
+element in a #GArray.
-This example gets a pointer to an element in a #GArray:
+Writing an element is typically done by reference, as in the following
+example. This example gets a pointer to an element in a #GArray, and then
+writes to a field in it:
|[&lt;!-- language=&quot;C&quot; --&gt;
EDayViewEvent *event;
// This gets a pointer to the 4th element in the array of
// EDayViewEvent structs.
event = &amp;g_array_index (events, EDayViewEvent, 3);
+event-&gt;start_time = g_get_current_time ();
+]|
+
+This example reads from and writes to an array of integers:
+|[&lt;!-- language=&quot;C&quot; --&gt;
+g_autoptr(GArray) int_array = g_array_new (FALSE, FALSE, sizeof (guint));
+for (guint i = 0; i &lt; 10; i++)
+g_array_append_val (int_array, i);
+
+guint *my_int = &amp;g_array_index (int_array, guint, 1);
+g_print (&quot;Int at index 1 is %u; decrementing it\n&quot;, *my_int);
+*my_int = *my_int - 1;
]|
@@ -4279,6 +4537,10 @@ The elements between the old end of the array and the newly inserted elements
will be initialised to zero if the array was configured to clear elements;
otherwise their values will be undefined.
+If @index_ is less than the array’s current length, new entries will be
+inserted into the array, and the existing entries above @index_ will be moved
+upwards.
+
@data may be %NULL if (and only if) @len is zero. If @len is zero, this
function is a no-op.
@@ -5430,7 +5692,7 @@ an ASCII lower case letter, @c is returned unchanged.
<function name="g_ascii_xdigit_value">
<description>
-Determines the numeric value of a character as a hexidecimal
+Determines the numeric value of a character as a hexadecimal
digit. Differs from g_unichar_xdigit_value() because it takes
a char, so there's no worry about sign extension if characters
are signed.
@@ -5808,6 +6070,31 @@ Since: 2.62
<return></return>
</function>
+<function name="g_assert_no_errno">
+<description>
+Debugging macro to check that an expression has a non-negative return value,
+as used by traditional POSIX functions (such as `rmdir()`) to indicate
+success.
+
+If the assertion fails (i.e. the @expr returns a negative value), an error
+message is logged and the testcase is marked as failed. The error message
+will contain the value of `errno` and its human-readable message from
+g_strerror().
+
+This macro will clear the value of `errno` before executing @expr.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="expr">
+<parameter_description> the expression to check
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_assert_no_error">
<description>
Debugging macro to check that a #GError is not set.
@@ -7161,7 +7448,7 @@ Since: 2.58
<function name="g_atomic_rc_box_alloc0">
<description>
Allocates @block_size bytes of memory, and adds atomic
-referenc counting semantics to it.
+reference counting semantics to it.
The contents of the returned data is set to zero.
@@ -7923,6 +8210,10 @@ Since: 2.26
<description>
Retrieves the #GObject instance used as the source of the binding.
+A #GBinding can outlive the source #GObject as the binding does not hold a
+strong reference to the source. If the source is destroyed before the
+binding then this function will return %NULL.
+
Since: 2.26
</description>
@@ -7932,7 +8223,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the source #GObject
+<return> the source #GObject, or %NULL if the
+source does not exist any more.
</return>
</function>
@@ -7960,6 +8252,10 @@ Since: 2.26
<description>
Retrieves the #GObject instance used as the target of the binding.
+A #GBinding can outlive the target #GObject as the binding does not hold a
+strong reference to the target. If the target is destroyed before the
+binding then this function will return %NULL.
+
Since: 2.26
</description>
@@ -7969,7 +8265,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the target #GObject
+<return> the target #GObject, or %NULL if the
+target does not exist any more.
</return>
</function>
@@ -8273,6 +8570,8 @@ In the event the URI cannot be found, -1 is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_get_added_date_time() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -8294,10 +8593,39 @@ Since: 2.12
</return>
</function>
+<function name="g_bookmark_file_get_added_date_time">
+<description>
+Gets the time the bookmark for @uri was added to @bookmark
+
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GDateTime
+
+</return>
+</function>
+
<function name="g_bookmark_file_get_app_info">
<description>
Gets the registration information of @app_name for the bookmark for
-@uri. See g_bookmark_file_set_app_info() for more information about
+@uri. See g_bookmark_file_set_application_info() for more information about
the returned data.
The string returned in @app_exec must be freed.
@@ -8311,6 +8639,62 @@ the command line fails, an error of the #G_SHELL_ERROR domain is
set and %FALSE is returned.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_get_application_info() instead, as
+`time_t` is deprecated due to the year 2038 problem.
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> an application's name
+</parameter_description>
+</parameter>
+<parameter name="exec">
+<parameter_description> return location for the command line of the application, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> return location for the registration count, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="stamp">
+<parameter_description> return location for the last registration time, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success.
+
+</return>
+</function>
+
+<function name="g_bookmark_file_get_application_info">
+<description>
+Gets the registration information of @app_name for the bookmark for
+@uri. See g_bookmark_file_set_application_info() for more information about
+the returned data.
+
+The string returned in @app_exec must be freed.
+
+In the event the URI cannot be found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
+event that no application with name @app_name has registered a bookmark
+for @uri, %FALSE is returned and error is set to
+#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting
+the command line fails, an error of the #G_SHELL_ERROR domain is
+set and %FALSE is returned.
+
+Since: 2.66
</description>
<parameters>
@@ -8559,6 +8943,8 @@ In the event the URI cannot be found, -1 is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_get_modified_date_time() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -8580,6 +8966,35 @@ Since: 2.12
</return>
</function>
+<function name="g_bookmark_file_get_modified_date_time">
+<description>
+Gets the time when the bookmark for @uri was last modified.
+
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GDateTime
+
+</return>
+</function>
+
<function name="g_bookmark_file_get_size">
<description>
Gets the number of bookmarks inside @bookmark.
@@ -8663,6 +9078,8 @@ In the event the URI cannot be found, -1 is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_get_visited_date_time() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -8684,6 +9101,35 @@ Since: 2.12
</return>
</function>
+<function name="g_bookmark_file_get_visited_date_time">
+<description>
+Gets the time the bookmark for @uri was last visited.
+
+In the event the URI cannot be found, %NULL is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GDateTime
+
+</return>
+</function>
+
<function name="g_bookmark_file_has_application">
<description>
Checks whether the bookmark for @uri inside @bookmark has been
@@ -9030,6 +9476,8 @@ Sets the time the bookmark for @uri was added into @bookmark.
If no bookmark for @uri is found then it is created.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_set_added_date_time() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -9049,6 +9497,32 @@ Since: 2.12
<return></return>
</function>
+<function name="g_bookmark_file_set_added_date_time">
+<description>
+Sets the time the bookmark for @uri was added into @bookmark.
+
+If no bookmark for @uri is found then it is created.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="added">
+<parameter_description> a #GDateTime
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_bookmark_file_set_app_info">
<description>
Sets the meta-data of application @name inside the list of
@@ -9064,7 +9538,7 @@ application.
be expanded as the local file name retrieved from the bookmark's
URI; &quot;\%u&quot;, which will be expanded as the bookmark's URI.
The expansion is done automatically when retrieving the stored
-command line using the g_bookmark_file_get_app_info() function.
+command line using the g_bookmark_file_get_application_info() function.
@count is the number of times the application has registered the
bookmark; if is &lt; 0, the current registration count will be increased
by one, if is 0, the application with @name will be removed from
@@ -9081,6 +9555,8 @@ for @uri, %FALSE is returned and error is set to
for @uri is found, one is created.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_set_application_info() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -9119,6 +9595,76 @@ changed.
</return>
</function>
+<function name="g_bookmark_file_set_application_info">
+<description>
+Sets the meta-data of application @name inside the list of
+applications that have registered a bookmark for @uri inside
+@bookmark.
+
+You should rarely use this function; use g_bookmark_file_add_application()
+and g_bookmark_file_remove_application() instead.
+
+@name can be any UTF-8 encoded string used to identify an
+application.
+@exec can have one of these two modifiers: &quot;\%f&quot;, which will
+be expanded as the local file name retrieved from the bookmark's
+URI; &quot;\%u&quot;, which will be expanded as the bookmark's URI.
+The expansion is done automatically when retrieving the stored
+command line using the g_bookmark_file_get_application_info() function.
+@count is the number of times the application has registered the
+bookmark; if is &lt; 0, the current registration count will be increased
+by one, if is 0, the application with @name will be removed from
+the list of registered applications.
+@stamp is the Unix time of the last registration.
+
+If you try to remove an application by setting its registration count to
+zero, and no bookmark for @uri is found, %FALSE is returned and
+@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly,
+in the event that no application @name has registered a bookmark
+for @uri, %FALSE is returned and error is set to
+#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark
+for @uri is found, one is created.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> an application's name
+</parameter_description>
+</parameter>
+<parameter name="exec">
+<parameter_description> an application's command line
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> the number of registrations done for this application
+</parameter_description>
+</parameter>
+<parameter name="stamp">
+<parameter_description> the time of the last registration for this application,
+which may be %NULL if @count is 0
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the application's meta-data was successfully
+changed.
+
+</return>
+</function>
+
<function name="g_bookmark_file_set_description">
<description>
Sets @description as the description of the bookmark for @uri.
@@ -9272,9 +9818,11 @@ If no bookmark for @uri is found then it is created.
The &quot;modified&quot; time should only be set when the bookmark's meta-data
was actually changed. Every function of #GBookmarkFile that
modifies a bookmark also changes the modification time, except for
-g_bookmark_file_set_visited().
+g_bookmark_file_set_visited_date_time().
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_set_modified_date_time() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -9294,6 +9842,37 @@ Since: 2.12
<return></return>
</function>
+<function name="g_bookmark_file_set_modified_date_time">
+<description>
+Sets the last time the bookmark for @uri was last modified.
+
+If no bookmark for @uri is found then it is created.
+
+The &quot;modified&quot; time should only be set when the bookmark's meta-data
+was actually changed. Every function of #GBookmarkFile that
+modifies a bookmark also changes the modification time, except for
+g_bookmark_file_set_visited_date_time().
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="modified">
+<parameter_description> a #GDateTime
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_bookmark_file_set_title">
<description>
Sets @title as the title of the bookmark for @uri inside the
@@ -9330,12 +9909,14 @@ Sets the time the bookmark for @uri was last visited.
If no bookmark for @uri is found then it is created.
The &quot;visited&quot; time should only be set if the bookmark was launched,
-either using the command line retrieved by g_bookmark_file_get_app_info()
+either using the command line retrieved by g_bookmark_file_get_application_info()
or by the default application for the bookmark's MIME type, retrieved
using g_bookmark_file_get_mime_type(). Changing the &quot;visited&quot; time
does not affect the &quot;modified&quot; time.
Since: 2.12
+Deprecated: 2.66: Use g_bookmark_file_set_visited_date_time() instead, as
+`time_t` is deprecated due to the year 2038 problem.
</description>
<parameters>
@@ -9355,6 +9936,38 @@ Since: 2.12
<return></return>
</function>
+<function name="g_bookmark_file_set_visited_date_time">
+<description>
+Sets the time the bookmark for @uri was last visited.
+
+If no bookmark for @uri is found then it is created.
+
+The &quot;visited&quot; time should only be set if the bookmark was launched,
+either using the command line retrieved by g_bookmark_file_get_application_info()
+or by the default application for the bookmark's MIME type, retrieved
+using g_bookmark_file_get_mime_type(). Changing the &quot;visited&quot; time
+does not affect the &quot;modified&quot; time.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="bookmark">
+<parameter_description> a #GBookmarkFile
+</parameter_description>
+</parameter>
+<parameter name="uri">
+<parameter_description> a valid URI
+</parameter_description>
+</parameter>
+<parameter name="visited">
+<parameter_description> a #GDateTime
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_bookmark_file_to_data">
<description>
This function outputs @bookmark as a string.
@@ -10667,35 +11280,40 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_BOOLEAN__FLAGS">
<description>
-A marshaller for a #GCClosure with a callback of type
-`gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
-denotes a flags type.
+A #GClosureMarshal function for use with signals with handlers that
+take a flags type as an argument and return a boolean. If you have
+such a signal, you will probably also need to use an accumulator,
+such as g_signal_accumulator_true_handled().
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> a #GValue which can store the returned #gboolean
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding instance and arg1
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -10824,44 +11442,78 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_BOOL__FLAGS">
<description>
-Another name for g_cclosure_marshal_BOOLEAN__FLAGS().
+An old alias for g_cclosure_marshal_BOOLEAN__FLAGS().
</description>
<parameters>
+<parameter name="closure">
+<parameter_description> A #GClosure.
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
+</parameter_description>
+</parameter>
+<parameter name="n_param_values">
+<parameter_description> The length of the @param_values array.
+</parameter_description>
+</parameter>
+<parameter name="param_values">
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
+</parameter_description>
+</parameter>
+<parameter name="invocation_hint">
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
+</parameter_description>
+</parameter>
</parameters>
<return></return>
</function>
<function name="g_cclosure_marshal_STRING__OBJECT_POINTER">
<description>
-A marshaller for a #GCClosure with a callback of type
-`gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with handlers that
+take a #GObject and a pointer and produce a string. It is highly
+unlikely that your signal handler fits this description.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> a #GValue, which can store the returned string
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 3
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding instance, arg1 and arg2
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -10913,34 +11565,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__BOOLEAN">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+boolean argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gboolean parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -10992,34 +11648,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__BOXED">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+argument which is any boxed pointer type.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #GBoxed* parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11071,34 +11731,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__CHAR">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+character argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gchar parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11150,34 +11814,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__DOUBLE">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with one
+double-precision floating point argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gdouble parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11229,34 +11897,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__ENUM">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type..
+A #GClosureMarshal function for use with signals with a single
+argument with an enumerated type.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the enumeration parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11308,34 +11980,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__FLAGS">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type.
+A #GClosureMarshal function for use with signals with a single
+argument with a flags types.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the flags parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11387,34 +12063,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__FLOAT">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with one
+single-precision floating point argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gfloat parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11466,34 +12146,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__INT">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+integer argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gint parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11545,34 +12229,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__LONG">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with with a single
+long integer argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #glong parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11624,34 +12312,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__OBJECT">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+#GObject argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #GObject* parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11703,34 +12395,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__PARAM">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+argument of type #GParamSpec.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #GParamSpec* parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11782,34 +12478,42 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__POINTER">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single raw
+pointer argument type.
+
+If it is possible, it is better to use one of the more specific
+functions such as g_cclosure_marshal_VOID__OBJECT() or
+g_cclosure_marshal_VOID__OBJECT().
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gpointer parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11861,34 +12565,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__STRING">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single string
+argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gchar* parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -11940,34 +12648,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__UCHAR">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+unsigned character argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #guchar parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -12019,34 +12731,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__UINT">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with with a single
+unsigned integer argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #guint parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -12055,34 +12771,38 @@ to g_closure_invoke()
<function name="g_cclosure_marshal_VOID__UINT_POINTER">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with an unsigned int
+and a pointer as arguments.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 3
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding instance, arg1 and arg2
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -12177,34 +12897,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__ULONG">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with a single
+unsigned long integer argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #gulong parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -12256,36 +12980,38 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__VARIANT">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
-
-Since: 2.26
+A #GClosureMarshal function for use with signals with a single
+#GVariant argument.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 2
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding the instance and the #GVariant* parameter
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -12337,34 +13063,37 @@ g_closure_set_meta_marshal()
<function name="g_cclosure_marshal_VOID__VOID">
<description>
-A marshaller for a #GCClosure with a callback of type
-`void (*callback) (gpointer instance, gpointer user_data)`.
+A #GClosureMarshal function for use with signals with no arguments.
</description>
<parameters>
<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
+<parameter_description> A #GClosure.
</parameter_description>
</parameter>
<parameter name="return_value">
-<parameter_description> ignored
+<parameter_description> A #GValue to store the return value. May be %NULL
+if the callback of closure doesn't return a value.
</parameter_description>
</parameter>
<parameter name="n_param_values">
-<parameter_description> 1
+<parameter_description> The length of the @param_values array.
</parameter_description>
</parameter>
<parameter name="param_values">
-<parameter_description> a #GValue array holding only the instance
+<parameter_description> An array of #GValues holding the arguments
+on which to invoke the callback of closure.
</parameter_description>
</parameter>
<parameter name="invocation_hint">
-<parameter_description> the invocation hint given as the last argument
-to g_closure_invoke()
+<parameter_description> The invocation hint given as the last argument to
+g_closure_invoke().
</parameter_description>
</parameter>
<parameter name="marshal_data">
-<parameter_description> additional data specified when registering the marshaller
+<parameter_description> Additional data specified when registering the
+marshaller, see g_closure_set_marshal() and
+g_closure_set_meta_marshal()
</parameter_description>
</parameter>
</parameters>
@@ -13604,7 +14333,7 @@ initial reference count, if it is unowned, we instead can write:
g_source_set_closure (source, g_cclosure_new (cb_func, cb_data));
]|
-Generally, this function is used together with g_closure_ref(). Ane example
+Generally, this function is used together with g_closure_ref(). An example
of storing a closure for later notification looks like:
|[&lt;!-- language=&quot;C&quot; --&gt;
static GClosure *notify_closure = NULL;
@@ -15421,7 +16150,7 @@ All non-%NULL dates must be valid.
<function name="g_date_clear">
<description>
-Initializes one or more #GDate structs to a sane but invalid
+Initializes one or more #GDate structs to a safe but invalid
state. The cleared dates will not represent an existing date, but will
not contain garbage. Useful to init a date declared on the stack.
Validity can be tested with g_date_valid().
@@ -15796,7 +16525,7 @@ is also divisible by 400.
<function name="g_date_new">
<description>
Allocates a #GDate and initializes
-it to a sane state. The new date will
+it to a safe state. The new date will
be cleared (as if you'd called g_date_clear()) but invalid (it won't
represent an existing day). Free the return value with g_date_free().
@@ -16200,8 +16929,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16224,8 +16953,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16268,8 +16997,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime that should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16292,8 +17021,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16316,8 +17045,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16345,8 +17074,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16369,8 +17098,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16393,8 +17122,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16420,8 +17149,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime which should be freed with
-g_date_time_unref().
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -16508,7 +17237,7 @@ The format strings understood by this function are a subset of the
strftime() format language as specified by C99. The \%D, \%U and \%W
conversions are not supported, nor is the 'E' modifier. The GNU
extensions \%k, \%l, \%s and \%P are supported, however, as are the
-'0', '_' and '-' modifiers.
+'0', '_' and '-' modifiers. The Python extension \%f is also supported.
In contrast to strftime(), this function always produces a UTF-8
string, regardless of the current locale. Note that the rendering of
@@ -16540,12 +17269,17 @@ single digits are preceded by a blank
single digits are preceded by a blank
- \%m: the month as a decimal number (range 01 to 12)
- \%M: the minute as a decimal number (range 00 to 59)
+- \%f: the microsecond as a decimal number (range 000000 to 999999)
- \%p: either &quot;AM&quot; or &quot;PM&quot; according to the given time value, or the
corresponding strings for the current locale. Noon is treated as
-&quot;PM&quot; and midnight as &quot;AM&quot;.
+&quot;PM&quot; and midnight as &quot;AM&quot;. Use of this format specifier is discouraged, as
+many locales have no concept of AM/PM formatting. Use \%c or \%X instead.
- \%P: like \%p but lowercase: &quot;am&quot; or &quot;pm&quot; or a corresponding string for
-the current locale
-- \%r: the time in a.m. or p.m. notation
+the current locale. Use of this format specifier is discouraged, as
+many locales have no concept of AM/PM formatting. Use \%c or \%X instead.
+- \%r: the time in a.m. or p.m. notation. Use of this format specifier is
+discouraged, as many locales have no concept of AM/PM formatting. Use \%c
+or \%X instead.
- \%R: the time in 24-hour notation (\%H:\%M)
- \%s: the number of seconds since the Epoch, that is, since 1970-01-01
00:00:00 UTC
@@ -16611,10 +17345,10 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> a newly allocated string formatted to the requested format
-or %NULL in the case that there was an error (such as a format specifier
-not being supported in the current locale). The string
-should be freed with g_free().
+<return> a newly allocated string formatted to
+the requested format or %NULL in the case that there was an error (such
+as a format specifier not being supported in the current locale). The
+string should be freed with g_free().
</return>
</function>
@@ -16625,6 +17359,8 @@ Format @datetime in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601),
including the date, time and time zone, and return that as a UTF-8 encoded
string.
+Since GLib 2.66, this will output to sub-second precision if needed.
+
Since: 2.62
</description>
@@ -16634,9 +17370,10 @@ Since: 2.62
</parameter_description>
</parameter>
</parameters>
-<return> a newly allocated string formatted in ISO 8601 format
-or %NULL in the case that there was an error. The string
+<return> a newly allocated string formatted in
+ISO 8601 format or %NULL in the case that there was an error. The string
should be freed with g_free().
+
</return>
</function>
@@ -17335,9 +18072,8 @@ Creates a #GDateTime corresponding to this exact instant in the given
time zone @tz. The time is as accurate as the system allows, to a
maximum accuracy of 1 microsecond.
-This function will always succeed unless the system clock is set to
-truly insane values (or unless GLib is still being used after the
-year 9999).
+This function will always succeed unless GLib is still being used after the
+year 9999.
You should release the return value by calling g_date_time_unref()
when you are done with it.
@@ -17468,7 +18204,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -17518,9 +18255,6 @@ This call can fail in the case that the time goes out of bounds. For
example, converting 0001-01-01 00:00:00 UTC to a time zone west of
Greenwich will fail (due to the year 0 being out of range).
-You should release the return value by calling g_date_time_unref()
-when you are done with it.
-
Since: 2.26
</description>
@@ -17534,7 +18268,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> a new #GDateTime, or %NULL
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -17578,7 +18313,8 @@ Since: 2.26
</parameter_description>
</parameter>
</parameters>
-<return> the newly created #GDateTime
+<return> the newly created #GDateTime which
+should be freed with g_date_time_unref(), or %NULL
</return>
</function>
@@ -17605,7 +18341,7 @@ Since: 2.26
<function name="g_date_to_struct_tm">
<description>
Fills in the date-related bits of a struct tm using the @date value.
-Initializes the non-date parts with something sane but meaningless.
+Initializes the non-date parts with something safe but meaningless.
</description>
<parameters>
@@ -18785,11 +19521,57 @@ the symbolic link, or %NULL if an error occurred.
<function name="g_file_set_contents">
<description>
+Writes all of @contents to a file named @filename. This is a convenience
+wrapper around calling g_file_set_contents() with `flags` set to
+`G_FILE_SET_CONTENTS_CONSISTENT | G_FILE_SET_CONTENTS_ONLY_EXISTING` and
+`mode` set to `0666`.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> name of a file to write @contents to, in the GLib file name
+encoding
+</parameter_description>
+</parameter>
+<parameter name="contents">
+<parameter_description> string to write to the file
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of @contents, or -1 if @contents is a nul-terminated string
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE if an error occurred
+
+</return>
+</function>
+
+<function name="g_file_set_contents_full">
+<description>
Writes all of @contents to a file named @filename, with good error checking.
If a file called @filename already exists it will be overwritten.
-This write is atomic in the sense that it is first written to a temporary
-file which is then renamed to the final name. Notes:
+@flags control the properties of the write operation: whether it’s atomic,
+and what the tradeoff is between returning quickly or being resilient to
+system crashes.
+
+As this function performs file I/O, it is recommended to not call it anywhere
+where blocking would cause problems, such as in the main loop of a graphical
+application. In particular, if @flags has any value other than
+%G_FILE_SET_CONTENTS_NONE then this function may call `fsync()`.
+
+If %G_FILE_SET_CONTENTS_CONSISTENT is set in @flags, the operation is atomic
+in the sense that it is first written to a temporary file which is then
+renamed to the final name.
+
+Notes:
- On UNIX, if @filename already exists hard links to @filename will break.
Also since the file is recreated, existing permissions, access control
@@ -18797,15 +19579,17 @@ lists, metadata etc. may be lost. If @filename is a symbolic link,
the link itself will be replaced, not the linked file.
- On UNIX, if @filename already exists and is non-empty, and if the system
-supports it (via a journalling filesystem or equivalent), the fsync()
-call (or equivalent) will be used to ensure atomic replacement: @filename
+supports it (via a journalling filesystem or equivalent), and if
+%G_FILE_SET_CONTENTS_CONSISTENT is set in @flags, the `fsync()` call (or
+equivalent) will be used to ensure atomic replacement: @filename
will contain either its old contents or @contents, even in the face of
system power loss, the disk being unsafely removed, etc.
- On UNIX, if @filename does not already exist or is empty, there is a
possibility that system power loss etc. after calling this function will
leave @filename empty or full of NUL bytes, depending on the underlying
-filesystem.
+filesystem, unless %G_FILE_SET_CONTENTS_DURABLE and
+%G_FILE_SET_CONTENTS_CONSISTENT are set in @flags.
- On Windows renaming a file will not remove an existing file with the
new name, so on Windows there is a race condition between the existing
@@ -18822,7 +19606,11 @@ Possible error codes are those in the #GFileError enumeration.
Note that the name for the temporary file is constructed by appending up
to 7 characters to @filename.
-Since: 2.8
+If the file didn’t exist before and is created, it will be given the
+permissions from @mode. Otherwise, the permissions of the existing file may
+be changed to @mode depending on @flags, or they may remain unchanged.
+
+Since: 2.66
</description>
<parameters>
@@ -18839,6 +19627,14 @@ encoding
<parameter_description> length of @contents, or -1 if @contents is a nul-terminated string
</parameter_description>
</parameter>
+<parameter name="flags">
+<parameter_description> flags controlling the safety vs speed of the operation
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> file mode, as passed to `open()`; typically this will be `0666`
+</parameter_description>
+</parameter>
<parameter name="error">
<parameter_description> return location for a #GError, or %NULL
</parameter_description>
@@ -19334,7 +20130,7 @@ See your C library manual for more details about `fopen()`.
As `close()` and `fclose()` are part of the C library, this implies that it is
currently impossible to close a file if the application C library and the C library
-used by GLib are different. Convenience functions like g_file_set_contents()
+used by GLib are different. Convenience functions like g_file_set_contents_full()
avoid this problem.
Since: 2.6
@@ -19524,10 +20320,13 @@ an error occurred.
<function name="g_fsync">
<description>
-A wrapper for the POSIX fsync() function (_commit() on Windows).
-The fsync() function is used to synchronize a file's in-core
+A wrapper for the POSIX `fsync()` function. On Windows, `_commit()` will be
+used. On macOS, `fcntl(F_FULLFSYNC)` will be used.
+The `fsync()` function is used to synchronize a file's in-core
state with that of the disk.
+This wrapper will handle retrying on `EINTR`.
+
See the C library manual for more details about fsync().
Since: 2.64
@@ -21929,6 +22728,8 @@ segments.
Tests if @hostname is the string form of an IPv4 or IPv6 address.
(Eg, &quot;192.168.0.1&quot;.)
+Since 2.66, IPv6 addresses with a zone-id are accepted (RFC6874).
+
Since: 2.22
</description>
@@ -22779,7 +23580,7 @@ a buffer to read data into
</parameter>
<parameter name="count">
<parameter_description> the size of the buffer. Note that the buffer may not be
-complelely filled even if there is data in the buffer if the
+completely filled even if there is data in the buffer if the
remaining data is not a complete character.
</parameter_description>
</parameter>
@@ -24357,7 +25158,7 @@ of the file, or %NULL
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a key file could be loaded, %FALSE othewise
+<return> %TRUE if a key file could be loaded, %FALSE otherwise
</return>
</function>
@@ -24573,7 +25374,9 @@ Since: 2.6
<function name="g_key_file_save_to_file">
<description>
Writes the contents of @key_file to @filename using
-g_file_set_contents().
+g_file_set_contents(). If you need stricter guarantees about durability of
+the written file than are provided by g_file_set_contents(), use
+g_file_set_contents_full() with the return value of g_key_file_to_data().
This function can fail for any of the reasons that
g_file_set_contents() may fail.
@@ -25411,7 +26214,7 @@ g_list_free (g_steal_pointer (&amp;list_of_borrowed_things));
</description>
<parameters>
<parameter name="list">
-<parameter_description> a #GList
+<parameter_description> the first link of a #GList
</parameter_description>
</parameter>
</parameters>
@@ -25468,7 +26271,7 @@ Since: 2.28
</description>
<parameters>
<parameter name="list">
-<parameter_description> a pointer to a #GList
+<parameter_description> the first link of a #GList
</parameter_description>
</parameter>
<parameter name="free_func">
@@ -26183,7 +26986,7 @@ environment variables:
- `G_MESSAGES_PREFIXED`: A :-separated list of log levels for which
messages should be prefixed by the program name and PID of the
-aplication.
+application.
- `G_MESSAGES_DEBUG`: A space-separated list of log domains for
which debug and informational messages are printed. By default
@@ -26980,7 +27783,10 @@ file descriptor is polled whenever the results may be needed.
<function name="g_main_context_check">
<description>
-Passes the results of polling back to the main loop.
+Passes the results of polling back to the main loop. You should be
+careful to pass @fds and its length @n_fds as received from
+g_main_context_query(), as this functions relies on assumptions
+on how @fds is filled.
You must have successfully acquired the context with
g_main_context_acquire() before you may call this function.
@@ -27497,7 +28303,10 @@ Since: 2.64
<function name="g_main_context_query">
<description>
-Determines information necessary to poll this main loop.
+Determines information necessary to poll this main loop. You should
+be careful to pass the resulting @fds array and its length @n_fds
+as is when calling g_main_context_check(), as this function relies
+on assumptions made when the array is filled.
You must have successfully acquired the context with
g_main_context_acquire() before you may call this function.
@@ -28041,13 +28850,13 @@ to %TRUE anyway.
Checks if any events are pending for the default #GMainContext
(i.e. ready to be processed).
+Deprecated: 2.2: Use g_main_context_pending() instead.
</description>
<parameters>
</parameters>
<return> %TRUE if any events are pending.
-Deprected: 2.2: Use g_main_context_pending() instead.
</return>
</function>
@@ -31966,7 +32775,9 @@ Since: 2.10
Creates a new instance of a #GObject subtype and sets its properties.
Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
-which are not explicitly specified are set to their default values.
+which are not explicitly specified are set to their default values. Any
+private data for the object is guaranteed to be initialized with zeros, as
+per g_type_create_instance().
Note that in C, small integer types in variable argument lists are promoted
up to #gint or #guint as appropriate, and read back accordingly. #gint is 32
@@ -32520,7 +33331,7 @@ Sets a property on an object.
<function name="g_object_set_qdata">
<description>
This sets an opaque, named pointer on an object.
-The name is specified through a #GQuark (retrived e.g. via
+The name is specified through a #GQuark (retrieved e.g. via
g_quark_from_static_string()), and the pointer
can be gotten back from the @object with g_object_get_qdata()
until the @object is finalized.
@@ -32668,7 +33479,7 @@ const gchar *new_string)
{
// the quark, naming the object data
GQuark quark_string_list = g_quark_from_static_string (&quot;my-string-list&quot;);
-// retrive the old string list
+// retrieve the old string list
GList *list = g_object_steal_qdata (object, quark_string_list);
// prepend new string
@@ -35292,7 +36103,7 @@ g_param_value_validate().
</parameter_description>
</parameter>
<parameter name="src_value">
-<parameter_description> souce #GValue
+<parameter_description> source #GValue
</parameter_description>
</parameter>
<parameter name="dest_value">
@@ -39544,7 +40355,7 @@ Since: 2.14
</parameter_description>
</parameter>
</parameters>
-<return> a #GRegex structure or %NULL if an error occured. Call
+<return> a #GRegex structure or %NULL if an error occurred. Call
g_regex_unref() when you are done with it
</return>
@@ -39590,7 +40401,7 @@ There are also escapes that changes the case of the following text:
If you do not need to use backreferences use g_regex_replace_literal().
The @replacement string must be UTF-8 encoded even if #G_REGEX_RAW was
-passed to g_regex_new(). If you want to use not UTF-8 encoded stings
+passed to g_regex_new(). If you want to use not UTF-8 encoded strings
you can use g_regex_replace_literal().
Setting @start_position differs from just passing over a shortened
@@ -42514,7 +43325,7 @@ example.
<description>
Updates a pointer to weakly refer to @new_object. It assigns @new_object
to @weak_pointer_location and ensures that @weak_pointer_location will
-automaticaly be set to %NULL if @new_object gets destroyed. The assignment
+automatically be set to %NULL if @new_object gets destroyed. The assignment
is not atomic. The weak reference is not thread-safe, see
g_object_add_weak_pointer() for details.
@@ -43259,7 +44070,7 @@ Returns the invocation hint of the innermost signal emission of instance.
<description>
Blocks a handler of an instance so it will not be called during any
signal emissions unless it is unblocked again. Thus &quot;blocking&quot; a
-signal handler means to temporarily deactive it, a signal handler
+signal handler means to temporarily deactivate it, a signal handler
has to be unblocked exactly the same amount of times it has been
blocked before to become active again.
@@ -43877,7 +44688,7 @@ This is a variant of g_signal_new() that takes a C callback instead
of a class offset for the signal's class handler. This function
doesn't need a function pointer exposed in the class structure of
an object definition, instead the function pointer is passed
-directly and can be overriden by derived classes with
+directly and can be overridden by derived classes with
g_signal_override_class_closure() or
g_signal_override_class_handler()and chained to with
g_signal_chain_from_overridden() or
@@ -44926,7 +45737,7 @@ g_slist_free (g_steal_pointer (&amp;list_of_borrowed_things));
</description>
<parameters>
<parameter name="list">
-<parameter_description> a #GSList
+<parameter_description> the first link of a #GSList
</parameter_description>
</parameter>
</parameters>
@@ -44982,7 +45793,7 @@ Since: 2.28
</description>
<parameters>
<parameter name="list">
-<parameter_description> a pointer to a #GSList
+<parameter_description> the first link of a #GSList
</parameter_description>
</parameter>
<parameter name="free_func">
@@ -47578,6 +48389,7 @@ lock @lock for writing, immediately returns %FALSE. Otherwise locks
@lock for reading and returns %TRUE. This lock has to be unlocked by
g_static_rw_lock_reader_unlock().
+Deprecated: 2.32: Use g_rw_lock_reader_trylock() instead
</description>
<parameters>
@@ -47588,7 +48400,6 @@ g_static_rw_lock_reader_unlock().
</parameters>
<return> %TRUE, if @lock could be locked for reading
-Deprectated: 2.32: Use g_rw_lock_reader_trylock() instead
</return>
</function>
@@ -47598,7 +48409,7 @@ Unlocks @lock. If a thread waits to lock @lock for writing and all
locks for reading have been unlocked, the waiting thread is woken up
and can lock @lock for writing.
-Deprectated: 2.32: Use g_rw_lock_reader_unlock() instead
+Deprecated: 2.32: Use g_rw_lock_reader_unlock() instead
</description>
<parameters>
@@ -47620,7 +48431,7 @@ reading. When @lock is locked for writing, no other thread can lock
@lock (neither for reading nor writing). This lock has to be
unlocked by g_static_rw_lock_writer_unlock().
-Deprectated: 2.32: Use g_rw_lock_writer_lock() instead
+Deprecated: 2.32: Use g_rw_lock_writer_lock() instead
</description>
<parameters>
@@ -47639,6 +48450,7 @@ either reading or writing) by another thread, it immediately returns
%FALSE. Otherwise it locks @lock for writing and returns %TRUE. This
lock has to be unlocked by g_static_rw_lock_writer_unlock().
+Deprecated: 2.32: Use g_rw_lock_writer_trylock() instead
</description>
<parameters>
@@ -47649,7 +48461,6 @@ lock has to be unlocked by g_static_rw_lock_writer_unlock().
</parameters>
<return> %TRUE, if @lock could be locked for writing
-Deprectated: 2.32: Use g_rw_lock_writer_trylock() instead
</return>
</function>
@@ -47662,7 +48473,7 @@ lock @lock for writing, and some thread or threads are waiting to
lock @lock for reading, the waiting threads are woken up and can
lock @lock for reading.
-Deprectated: 2.32: Use g_rw_lock_writer_unlock() instead
+Deprecated: 2.32: Use g_rw_lock_writer_unlock() instead
</description>
<parameters>
@@ -48564,7 +49375,7 @@ to the string.
<function name="g_string_append_uri_escaped">
<description>
-Appends @unescaped to @string, escaped any characters that
+Appends @unescaped to @string, escaping any characters that
are reserved in URIs using URI-style escape sequences.
Since: 2.16
@@ -49872,7 +50683,8 @@ Since: 2.4
</parameter>
<parameter name="delimiters">
<parameter_description> A nul-terminated string containing bytes that are used
-to split the string.
+to split the string (it can accept an empty string, which will result
+in no string splitting).
</parameter_description>
</parameter>
<parameter name="max_tokens">
@@ -50309,8 +51121,11 @@ Since: 2.38
<function name="g_test_create_case">
<description>
-Create a new #GTestCase, named @test_name, this API is fairly
-low level, calling g_test_add() or g_test_add_func() is preferable.
+Create a new #GTestCase, named @test_name.
+
+This API is fairly low level, and calling g_test_add() or g_test_add_func()
+is preferable.
+
When this test is executed, a fixture structure of size @data_size
will be automatically allocated and filled with zeros. Then @data_setup is
called to initialize the fixture. After fixture setup, the actual test
@@ -50319,10 +51134,10 @@ fixture structure is torn down by calling @data_teardown and
after that the memory is automatically released by the test framework.
Splitting up a test run into fixture setup, test function and
-fixture teardown is most useful if the same fixture is used for
+fixture teardown is most useful if the same fixture type is used for
multiple tests. In this cases, g_test_create_case() will be
-called with the same fixture, but varying @test_name and
-@data_test arguments.
+called with the same type of fixture (the @data_size argument), but varying
+@test_name and @data_test arguments.
Since: 2.16
@@ -51108,16 +51923,14 @@ Since: 2.16
<function name="g_test_set_nonfatal_assertions">
<description>
-Changes the behaviour of g_assert_cmpstr(), g_assert_cmpint(),
-g_assert_cmpuint(), g_assert_cmphex(), g_assert_cmpfloat(),
-g_assert_true(), g_assert_false(), g_assert_null(), g_assert_no_error(),
-g_assert_error(), g_test_assert_expected_messages() and the various
-g_test_trap_assert_*() macros to not abort to program, but instead
+Changes the behaviour of the various `g_assert_*()` macros,
+g_test_assert_expected_messages() and the various
+`g_test_trap_assert_*()` macros to not abort to program, but instead
call g_test_fail() and continue. (This also changes the behavior of
g_test_fail() so that it will not cause the test program to abort
after completing the failed test.)
-Note that the g_assert_not_reached() and g_assert() are not
+Note that the g_assert_not_reached() and g_assert() macros are not
affected by this.
This function can only be called after g_test_init().
@@ -51912,10 +52725,10 @@ Note however, that no thread of this pool is interrupted while
processing a task. Instead at least all still running threads
can finish their tasks before the @pool is freed.
-If @wait_ is %TRUE, the functions does not return before all
+If @wait_ is %TRUE, this function does not return before all
tasks to be processed (dependent on @immediate, whether all
or only the currently running) are ready.
-Otherwise the function returns immediately.
+Otherwise this function returns immediately.
After calling this function @pool must not be used anymore.
@@ -52049,6 +52862,10 @@ newly created or reused thread now executes the function @func
with the two arguments. The first one is the parameter to
g_thread_pool_push() and the second one is @user_data.
+Pass g_get_num_processors() to @max_threads to create as many threads as
+there are logical processors on the system. This will not pin each thread to
+a specific processor.
+
The parameter @exclusive determines whether the thread pool owns
all threads exclusive or shares them with other thread pools.
If @exclusive is %TRUE, @max_threads threads are started
@@ -53481,6 +54298,9 @@ key is freed using that function.
The tree is automatically 'balanced' as new key/value pairs are added,
so that the distance from the root to every leaf is as small as possible.
+The cost of maintaining a balanced tree while inserting new key/value
+result in a O(n log(n)) operation where most of the other operations
+are O(log(n)).
</description>
<parameters>
@@ -53674,6 +54494,10 @@ are freed using the supplied destroy functions, otherwise you have to
make sure that any dynamically allocated values are freed yourself.
If the key does not exist in the #GTree, the function does nothing.
+The cost of maintaining a balanced tree while removing a key/value
+result in a O(n log(n)) operation where most of the other operations
+are O(log(n)).
+
</description>
<parameters>
@@ -54494,7 +55318,7 @@ can be instantiated. The type system only performs basic allocation
and structure setups for instances: actual instance creation should
happen through functions supplied by the type's fundamental type
implementation. So use of g_type_create_instance() is reserved for
-implementators of fundamental types only. E.g. instances of the
+implementers of fundamental types only. E.g. instances of the
#GObject hierarchy should be created via g_object_new() and never
directly through g_type_create_instance() which doesn't handle things
like singleton objects or object construction.
@@ -54546,7 +55370,7 @@ Increments the reference count for the interface type @g_type,
and returns the default interface vtable for the type.
If the type is not currently in use, then the default vtable
-for the type will be created and initalized by calling
+for the type will be created and initialized by calling
the base interface init and default vtable init functions for
the type (the @base_init and @class_init members of #GTypeInfo).
Calling g_type_default_interface_ref() is useful when you
@@ -56365,7 +57189,7 @@ Since: 2.12
<function name="g_unichar_isxdigit">
<description>
-Determines if a character is a hexidecimal digit.
+Determines if a character is a hexadecimal digit.
</description>
@@ -56517,7 +57341,7 @@ character, though it's normally a string terminator.
<function name="g_unichar_xdigit_value">
<description>
-Determines the numeric value of a character as a hexidecimal
+Determines the numeric value of a character as a hexadecimal
digit.
@@ -57002,16 +57826,164 @@ not contain '='
<return></return>
</function>
+<function name="g_uri_build">
+<description>
+Creates a new #GUri from the given components according to @flags.
+
+See also g_uri_build_with_user(), which allows specifying the
+components of the &quot;userinfo&quot; separately.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="flags">
+<parameter_description> flags describing how to build the #GUri
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> the URI scheme
+</parameter_description>
+</parameter>
+<parameter name="userinfo">
+<parameter_description> the userinfo component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> the host component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> the port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path component
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> the query component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="fragment">
+<parameter_description> the fragment, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GUri
+
+</return>
+</function>
+
+<function name="g_uri_build_with_user">
+<description>
+Creates a new #GUri from the given components according to @flags
+(%G_URI_FLAGS_HAS_PASSWORD is added unconditionally). The @flags must be
+coherent with the passed values, in particular use `%`-encoded values with
+%G_URI_FLAGS_ENCODED.
+
+In contrast to g_uri_build(), this allows specifying the components
+of the ‘userinfo’ field separately. Note that @user must be non-%NULL
+if either @password or @auth_params is non-%NULL.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="flags">
+<parameter_description> flags describing how to build the #GUri
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> the URI scheme
+</parameter_description>
+</parameter>
+<parameter name="user">
+<parameter_description> the user component of the userinfo, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="password">
+<parameter_description> the password component of the userinfo, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="auth_params">
+<parameter_description> the auth params of the userinfo, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> the host component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> the port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path component
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> the query component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="fragment">
+<parameter_description> the fragment, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GUri
+
+</return>
+</function>
+
+<function name="g_uri_escape_bytes">
+<description>
+Escapes arbitrary data for use in a URI.
+
+Normally all characters that are not ‘unreserved’ (i.e. ASCII
+alphanumerical characters plus dash, dot, underscore and tilde) are
+escaped. But if you specify characters in @reserved_chars_allowed
+they are not escaped. This is useful for the ‘reserved’ characters
+in the URI specification, since those are allowed unescaped in some
+portions of a URI.
+
+Though technically incorrect, this will also allow escaping nul
+bytes as `%``00`.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="unescaped">
+<parameter_description> the unescaped input data.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @unescaped
+</parameter_description>
+</parameter>
+<parameter name="reserved_chars_allowed">
+<parameter_description> a string of reserved
+characters that are allowed to be used, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an escaped version of @unescaped.
+The returned string should be freed when no longer needed.
+
+</return>
+</function>
+
<function name="g_uri_escape_string">
<description>
Escapes a string for use in a URI.
-Normally all characters that are not &quot;unreserved&quot; (i.e. ASCII alphanumerical
-characters plus dash, dot, underscore and tilde) are escaped.
-But if you specify characters in @reserved_chars_allowed they are not
-escaped. This is useful for the &quot;reserved&quot; characters in the URI
-specification, since those are allowed unescaped in some portions of
-a URI.
+Normally all characters that are not &quot;unreserved&quot; (i.e. ASCII
+alphanumerical characters plus dash, dot, underscore and tilde) are
+escaped. But if you specify characters in @reserved_chars_allowed
+they are not escaped. This is useful for the &quot;reserved&quot; characters
+in the URI specification, since those are allowed unescaped in some
+portions of a URI.
Since: 2.16
@@ -57022,8 +57994,8 @@ Since: 2.16
</parameter_description>
</parameter>
<parameter name="reserved_chars_allowed">
-<parameter_description> a string of reserved characters that
-are allowed to be used, or %NULL.
+<parameter_description> a string of reserved
+characters that are allowed to be used, or %NULL.
</parameter_description>
</parameter>
<parameter name="allow_utf8">
@@ -57031,8 +58003,389 @@ are allowed to be used, or %NULL.
</parameter_description>
</parameter>
</parameters>
-<return> an escaped version of @unescaped. The returned string should be
-freed when no longer needed.
+<return> an escaped version of @unescaped. The
+returned string should be freed when no longer needed.
+
+</return>
+</function>
+
+<function name="g_uri_get_auth_params">
+<description>
+Gets @uri's authentication parameters, which may contain
+`%`-encoding, depending on the flags with which @uri was created.
+(If @uri was not created with %G_URI_FLAGS_HAS_AUTH_PARAMS then this will
+be %NULL.)
+
+Depending on the URI scheme, g_uri_parse_params() may be useful for
+further parsing this information.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's authentication parameters.
+
+</return>
+</function>
+
+<function name="g_uri_get_flags">
+<description>
+Gets @uri's flags set upon construction.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's flags.
+
+</return>
+</function>
+
+<function name="g_uri_get_fragment">
+<description>
+Gets @uri's fragment, which may contain `%`-encoding, depending on
+the flags with which @uri was created.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's fragment.
+
+</return>
+</function>
+
+<function name="g_uri_get_host">
+<description>
+Gets @uri's host. This will never have `%`-encoded characters,
+unless it is non-UTF-8 (which can only be the case if @uri was
+created with %G_URI_FLAGS_NON_DNS).
+
+If @uri contained an IPv6 address literal, this value will be just
+that address, without the brackets around it that are necessary in
+the string form of the URI. Note that in this case there may also
+be a scope ID attached to the address. Eg, `fe80::1234%``em1` (or
+`fe80::1234%``25em1` if the string is still encoded).
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's host.
+
+</return>
+</function>
+
+<function name="g_uri_get_password">
+<description>
+Gets @uri's password, which may contain `%`-encoding, depending on
+the flags with which @uri was created. (If @uri was not created
+with %G_URI_FLAGS_HAS_PASSWORD then this will be %NULL.)
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's password.
+
+</return>
+</function>
+
+<function name="g_uri_get_path">
+<description>
+Gets @uri's path, which may contain `%`-encoding, depending on the
+flags with which @uri was created.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's path.
+
+</return>
+</function>
+
+<function name="g_uri_get_port">
+<description>
+Gets @uri's port.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's port, or `-1` if no port was specified.
+
+</return>
+</function>
+
+<function name="g_uri_get_query">
+<description>
+Gets @uri's query, which may contain `%`-encoding, depending on the
+flags with which @uri was created.
+
+For queries consisting of a series of `name=value` parameters,
+#GUriParamsIter or g_uri_parse_params() may be useful.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's query.
+
+</return>
+</function>
+
+<function name="g_uri_get_scheme">
+<description>
+Gets @uri's scheme. Note that this will always be all-lowercase,
+regardless of the string or strings that @uri was created from.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's scheme.
+
+</return>
+</function>
+
+<function name="g_uri_get_user">
+<description>
+Gets the ‘username’ component of @uri's userinfo, which may contain
+`%`-encoding, depending on the flags with which @uri was created.
+If @uri was not created with %G_URI_FLAGS_HAS_PASSWORD or
+%G_URI_FLAGS_HAS_AUTH_PARAMS, this is the same as g_uri_get_userinfo().
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's user.
+
+</return>
+</function>
+
+<function name="g_uri_get_userinfo">
+<description>
+Gets @uri's userinfo, which may contain `%`-encoding, depending on
+the flags with which @uri was created.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri's userinfo.
+
+</return>
+</function>
+
+<function name="g_uri_is_valid">
+<description>
+Parses @uri_string according to @flags, to determine whether it is a valid
+[absolute URI][relative-absolute-uris], i.e. it does not need to be resolved
+relative to another URI using g_uri_parse_relative().
+
+If it’s not a valid URI, an error is returned explaining how it’s invalid.
+
+See g_uri_split(), and the definition of #GUriFlags, for more
+information on the effect of @flags.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri_string">
+<parameter_description> a string containing an absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags for parsing @uri_string
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @uri_string is a valid absolute URI, %FALSE on error.
+
+</return>
+</function>
+
+<function name="g_uri_join">
+<description>
+Joins the given components together according to @flags to create
+an absolute URI string. @path may not be %NULL (though it may be the empty
+string).
+
+When @host is present, @path must either be empty or begin with a slash (`/`)
+character. When @host is not present, @path cannot begin with two slash
+ characters (`//`). See
+[RFC 3986, section 3](https://tools.ietf.org/html/rfc3986#section-3).
+
+See also g_uri_join_with_user(), which allows specifying the
+components of the ‘userinfo’ separately.
+
+%G_URI_FLAGS_HAS_PASSWORD and %G_URI_FLAGS_HAS_AUTH_PARAMS are ignored if set
+in @flags.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="flags">
+<parameter_description> flags describing how to build the URI string
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> the URI scheme, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="userinfo">
+<parameter_description> the userinfo component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> the host component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> the port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path component
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> the query component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="fragment">
+<parameter_description> the fragment, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> an absolute URI string
+
+</return>
+</function>
+
+<function name="g_uri_join_with_user">
+<description>
+Joins the given components together according to @flags to create
+an absolute URI string. @path may not be %NULL (though it may be the empty
+string).
+
+In contrast to g_uri_join(), this allows specifying the components
+of the ‘userinfo’ separately. It otherwise behaves the same.
+
+%G_URI_FLAGS_HAS_PASSWORD and %G_URI_FLAGS_HAS_AUTH_PARAMS are ignored if set
+in @flags.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="flags">
+<parameter_description> flags describing how to build the URI string
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> the URI scheme, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user">
+<parameter_description> the user component of the userinfo, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="password">
+<parameter_description> the password component of the userinfo, or
+%NULL
+</parameter_description>
+</parameter>
+<parameter name="auth_params">
+<parameter_description> the auth params of the userinfo, or
+%NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> the host component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> the port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> the path component
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> the query component, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="fragment">
+<parameter_description> the fragment, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> an absolute URI string
</return>
</function>
@@ -57059,13 +58412,250 @@ with g_strfreev().
</return>
</function>
+<function name="g_uri_params_iter_init">
+<description>
+Initializes an attribute/value pair iterator.
+
+The iterator keeps pointers to the @params and @separators arguments, those
+variables must thus outlive the iterator and not be modified during the
+iteration.
+
+If %G_URI_PARAMS_WWW_FORM is passed in @flags, `+` characters in the param
+string will be replaced with spaces in the output. For example, `foo=bar+baz`
+will give attribute `foo` with value `bar baz`. This is commonly used on the
+web (the `https` and `http` schemes only), but is deprecated in favour of
+the equivalent of encoding spaces as `%20`.
+
+Unlike with g_uri_parse_params(), %G_URI_PARAMS_CASE_INSENSITIVE has no
+effect if passed to @flags for g_uri_params_iter_init(). The caller is
+responsible for doing their own case-insensitive comparisons.
+
+|[&lt;!-- language=&quot;C&quot; --&gt;
+GUriParamsIter iter;
+GError *error = NULL;
+gchar *unowned_attr, *unowned_value;
+
+g_uri_params_iter_init (&amp;iter, &quot;foo=bar&amp;baz=bar&amp;Foo=frob&amp;baz=bar2&quot;, -1, &quot;&amp;&quot;, G_URI_PARAMS_NONE);
+while (g_uri_params_iter_next (&amp;iter, &amp;unowned_attr, &amp;unowned_value, &amp;error))
+{
+g_autofree gchar *attr = g_steal_pointer (&amp;unowned_attr);
+g_autofree gchar *value = g_steal_pointer (&amp;unowned_value);
+// do something with attr and value; this code will be called 4 times
+// for the params string in this example: once with attr=foo and value=bar,
+// then with baz/bar, then Foo/frob, then baz/bar2.
+}
+if (error)
+// handle parsing error
+]|
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an uninitialized #GUriParamsIter
+</parameter_description>
+</parameter>
+<parameter name="params">
+<parameter_description> a `%`-encoded string containing `attribute=value`
+parameters
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @params, or `-1` if it is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="separators">
+<parameter_description> the separator byte character set between parameters. (usually
+`&amp;`, but sometimes `;` or both `&amp;;`). Note that this function works on
+bytes not characters, so it can't be used to delimit UTF-8 strings for
+anything but ASCII characters. You may pass an empty set, in which case
+no splitting will occur.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags to modify the way the parameters are handled.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_uri_params_iter_next">
+<description>
+Advances @iter and retrieves the next attribute/value. %FALSE is returned if
+an error has occurred (in which case @error is set), or if the end of the
+iteration is reached (in which case @attribute and @value are set to %NULL
+and the iterator becomes invalid). If %TRUE is returned,
+g_uri_params_iter_next() may be called again to receive another
+attribute/value pair.
+
+Note that the same @attribute may be returned multiple times, since URIs
+allow repeated attributes.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="iter">
+<parameter_description> an initialized #GUriParamsIter
+</parameter_description>
+</parameter>
+<parameter name="attribute">
+<parameter_description> on return, contains
+the attribute, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> on return, contains
+the value, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if the end of the parameters has been reached or an error was
+encountered. %TRUE otherwise.
+
+</return>
+</function>
+
+<function name="g_uri_parse">
+<description>
+Parses @uri_string according to @flags. If the result is not a
+valid [absolute URI][relative-absolute-uris], it will be discarded, and an
+error returned.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri_string">
+<parameter_description> a string representing an absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags describing how to parse @uri_string
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GUri, or NULL on error.
+
+</return>
+</function>
+
+<function name="g_uri_parse_params">
+<description>
+Many URI schemes include one or more attribute/value pairs as part of the URI
+value. This method can be used to parse them into a hash table. When an
+attribute has multiple occurrences, the last value is the final returned
+value. If you need to handle repeated attributes differently, use
+#GUriParamsIter.
+
+The @params string is assumed to still be `%`-encoded, but the returned
+values will be fully decoded. (Thus it is possible that the returned values
+may contain `=` or @separators, if the value was encoded in the input.)
+Invalid `%`-encoding is treated as with the %G_URI_FLAGS_PARSE_RELAXED
+rules for g_uri_parse(). (However, if @params is the path or query string
+from a #GUri that was parsed without %G_URI_FLAGS_PARSE_RELAXED and
+%G_URI_FLAGS_ENCODED, then you already know that it does not contain any
+invalid encoding.)
+
+%G_URI_PARAMS_WWW_FORM is handled as documented for g_uri_params_iter_init().
+
+If %G_URI_PARAMS_CASE_INSENSITIVE is passed to @flags, attributes will be
+compared case-insensitively, so a params string `attr=123&amp;Attr=456` will only
+return a single attribute–value pair, `Attr=456`. Case will be preserved in
+the returned attributes.
+
+If @params cannot be parsed (for example, it contains two @separators
+characters in a row), then @error is set and %NULL is returned.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="params">
+<parameter_description> a `%`-encoded string containing `attribute=value`
+parameters
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length of @params, or `-1` if it is nul-terminated
+</parameter_description>
+</parameter>
+<parameter name="separators">
+<parameter_description> the separator byte character set between parameters. (usually
+`&amp;`, but sometimes `;` or both `&amp;;`). Note that this function works on
+bytes not characters, so it can't be used to delimit UTF-8 strings for
+anything but ASCII characters. You may pass an empty set, in which case
+no splitting will occur.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags to modify the way the parameters are handled.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+A hash table of attribute/value pairs, with both names and values
+fully-decoded; or %NULL on error.
+
+</return>
+</function>
+
+<function name="g_uri_parse_relative">
+<description>
+Parses @uri_ref according to @flags and, if it is a
+[relative URI][relative-absolute-uris], resolves it relative to @base_uri.
+If the result is not a valid absolute URI, it will be discarded, and an error
+returned.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="base_uri">
+<parameter_description> a base absolute URI
+</parameter_description>
+</parameter>
+<parameter name="uri_ref">
+<parameter_description> a string representing a relative or absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags describing how to parse @uri_ref
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GUri, or NULL on error.
+
+</return>
+</function>
+
<function name="g_uri_parse_scheme">
<description>
-Gets the scheme portion of a URI string. RFC 3986 decodes the scheme as:
+Gets the scheme portion of a URI string.
+[RFC 3986](https://tools.ietf.org/html/rfc3986#section-3) decodes the scheme
+as:
|[
-URI = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]
+URI = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]
]|
-Common schemes include &quot;file&quot;, &quot;http&quot;, &quot;svn+ssh&quot;, etc.
+Common schemes include `file`, `https`, `svn+ssh`, etc.
Since: 2.16
@@ -57076,8 +58666,395 @@ Since: 2.16
</parameter_description>
</parameter>
</parameters>
-<return> The &quot;Scheme&quot; component of the URI, or %NULL on error.
-The returned string should be freed when no longer needed.
+<return> The ‘scheme’ component of the URI, or
+%NULL on error. The returned string should be freed when no longer needed.
+
+</return>
+</function>
+
+<function name="g_uri_peek_scheme">
+<description>
+Gets the scheme portion of a URI string.
+[RFC 3986](https://tools.ietf.org/html/rfc3986#section-3) decodes the scheme
+as:
+|[
+URI = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]
+]|
+Common schemes include `file`, `https`, `svn+ssh`, etc.
+
+Unlike g_uri_parse_scheme(), the returned scheme is normalized to
+all-lowercase and does not need to be freed.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a valid URI.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The ‘scheme’ component of the URI, or
+%NULL on error. The returned string is normalized to all-lowercase, and
+interned via g_intern_string(), so it does not need to be freed.
+
+</return>
+</function>
+
+<function name="g_uri_ref">
+<description>
+Increments the reference count of @uri by one.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> @uri
+
+</return>
+</function>
+
+<function name="g_uri_resolve_relative">
+<description>
+Parses @uri_ref according to @flags and, if it is a
+[relative URI][relative-absolute-uris], resolves it relative to
+@base_uri_string. If the result is not a valid absolute URI, it will be
+discarded, and an error returned.
+
+(If @base_uri_string is %NULL, this just returns @uri_ref, or
+%NULL if @uri_ref is invalid or not absolute.)
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="base_uri_string">
+<parameter_description> a string representing a base URI
+</parameter_description>
+</parameter>
+<parameter name="uri_ref">
+<parameter_description> a string representing a relative or absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags describing how to parse @uri_ref
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resolved URI string,
+or NULL on error.
+
+</return>
+</function>
+
+<function name="g_uri_split">
+<description>
+Parses @uri_ref (which can be an
+[absolute or relative URI][relative-absolute-uris]) according to @flags, and
+returns the pieces. Any component that doesn't appear in @uri_ref will be
+returned as %NULL (but note that all URIs always have a path component,
+though it may be the empty string).
+
+If @flags contains %G_URI_FLAGS_ENCODED, then `%`-encoded characters in
+@uri_ref will remain encoded in the output strings. (If not,
+then all such characters will be decoded.) Note that decoding will
+only work if the URI components are ASCII or UTF-8, so you will
+need to use %G_URI_FLAGS_ENCODED if they are not.
+
+Note that the %G_URI_FLAGS_HAS_PASSWORD and
+%G_URI_FLAGS_HAS_AUTH_PARAMS @flags are ignored by g_uri_split(),
+since it always returns only the full userinfo; use
+g_uri_split_with_user() if you want it split up.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri_ref">
+<parameter_description> a string containing a relative or absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags for parsing @uri_ref
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> on return, contains
+the scheme (converted to lowercase), or %NULL
+</parameter_description>
+</parameter>
+<parameter name="userinfo">
+<parameter_description> on return, contains
+the userinfo, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> on return, contains the
+host, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> on return, contains the
+port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> on return, contains the
+path
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> on return, contains the
+query, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="fragment">
+<parameter_description> on return, contains
+the fragment, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @uri_ref parsed successfully, %FALSE
+on error.
+
+</return>
+</function>
+
+<function name="g_uri_split_network">
+<description>
+Parses @uri_string (which must be an [absolute URI][relative-absolute-uris])
+according to @flags, and returns the pieces relevant to connecting to a host.
+See the documentation for g_uri_split() for more details; this is
+mostly a wrapper around that function with simpler arguments.
+However, it will return an error if @uri_string is a relative URI,
+or does not contain a hostname component.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri_string">
+<parameter_description> a string containing an absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags for parsing @uri_string
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> on return, contains
+the scheme (converted to lowercase), or %NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> on return, contains the
+host, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> on return, contains the
+port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @uri_string parsed successfully,
+%FALSE on error.
+
+</return>
+</function>
+
+<function name="g_uri_split_with_user">
+<description>
+Parses @uri_ref (which can be an
+[absolute or relative URI][relative-absolute-uris]) according to @flags, and
+returns the pieces. Any component that doesn't appear in @uri_ref will be
+returned as %NULL (but note that all URIs always have a path component,
+though it may be the empty string).
+
+See g_uri_split(), and the definition of #GUriFlags, for more
+information on the effect of @flags. Note that @password will only
+be parsed out if @flags contains %G_URI_FLAGS_HAS_PASSWORD, and
+@auth_params will only be parsed out if @flags contains
+%G_URI_FLAGS_HAS_AUTH_PARAMS.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri_ref">
+<parameter_description> a string containing a relative or absolute URI
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags for parsing @uri_ref
+</parameter_description>
+</parameter>
+<parameter name="scheme">
+<parameter_description> on return, contains
+the scheme (converted to lowercase), or %NULL
+</parameter_description>
+</parameter>
+<parameter name="user">
+<parameter_description> on return, contains
+the user, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="password">
+<parameter_description> on return, contains
+the password, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="auth_params">
+<parameter_description> on return, contains
+the auth_params, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="host">
+<parameter_description> on return, contains the
+host, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="port">
+<parameter_description> on return, contains the
+port, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> on return, contains the
+path
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> on return, contains the
+query, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="fragment">
+<parameter_description> on return, contains
+the fragment, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @uri_ref parsed successfully, %FALSE
+on error.
+
+</return>
+</function>
+
+<function name="g_uri_to_string">
+<description>
+Returns a string representing @uri.
+
+This is not guaranteed to return a string which is identical to the
+string that @uri was parsed from. However, if the source URI was
+syntactically correct (according to RFC 3986), and it was parsed
+with %G_URI_FLAGS_ENCODED, then g_uri_to_string() is guaranteed to return
+a string which is at least semantically equivalent to the source
+URI (according to RFC 3986).
+
+If @uri might contain sensitive details, such as authentication parameters,
+or private data in its query string, and the returned string is going to be
+logged, then consider using g_uri_to_string_partial() to redact parts.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string representing @uri,
+which the caller must free.
+
+</return>
+</function>
+
+<function name="g_uri_to_string_partial">
+<description>
+Returns a string representing @uri, subject to the options in
+@flags. See g_uri_to_string() and #GUriHideFlags for more details.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags describing what parts of @uri to hide
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string representing
+@uri, which the caller must free.
+
+</return>
+</function>
+
+<function name="g_uri_unescape_bytes">
+<description>
+Unescapes a segment of an escaped string as binary data.
+
+Note that in contrast to g_uri_unescape_string(), this does allow
+nul bytes to appear in the output.
+
+If any of the characters in @illegal_characters appears as an escaped
+character in @escaped_string, then that is an error and %NULL will be
+returned. This is useful if you want to avoid for instance having a slash
+being expanded in an escaped path element, which might confuse pathname
+handling.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="escaped_string">
+<parameter_description> A URI-escaped string
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> the length (in bytes) of @escaped_string to escape, or `-1` if it
+is nul-terminated.
+</parameter_description>
+</parameter>
+<parameter name="illegal_characters">
+<parameter_description> a string of illegal characters
+not to be allowed, or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> an unescaped version of @escaped_string
+or %NULL on error (if decoding failed, using %G_URI_ERROR_FAILED error
+code). The returned #GBytes should be unreffed when no longer needed.
</return>
</function>
@@ -57086,11 +59063,14 @@ The returned string should be freed when no longer needed.
<description>
Unescapes a segment of an escaped string.
-If any of the characters in @illegal_characters or the character zero appears
-as an escaped character in @escaped_string then that is an error and %NULL
-will be returned. This is useful it you want to avoid for instance having a
-slash being expanded in an escaped path element, which might confuse pathname
-handling.
+If any of the characters in @illegal_characters or the NUL
+character appears as an escaped character in @escaped_string, then
+that is an error and %NULL will be returned. This is useful if you
+want to avoid for instance having a slash being expanded in an
+escaped path element, which might confuse pathname handling.
+
+Note: `NUL` byte is not accepted in the output, in contrast to
+g_uri_unescape_bytes().
Since: 2.16
@@ -57101,18 +59081,20 @@ Since: 2.16
</parameter_description>
</parameter>
<parameter name="escaped_string_end">
-<parameter_description> Pointer to end of @escaped_string, may be %NULL
+<parameter_description> Pointer to end of @escaped_string,
+may be %NULL
</parameter_description>
</parameter>
<parameter name="illegal_characters">
-<parameter_description> An optional string of illegal characters not to be allowed, may be %NULL
+<parameter_description> An optional string of illegal
+characters not to be allowed, may be %NULL
</parameter_description>
</parameter>
</parameters>
-<return> an unescaped version of @escaped_string or %NULL on error.
-The returned string should be freed when no longer needed. As a
-special case if %NULL is given for @escaped_string, this function
-will return %NULL.
+<return> an unescaped version of @escaped_string,
+or %NULL on error. The returned string should be freed when no longer
+needed. As a special case if %NULL is given for @escaped_string, this
+function will return %NULL.
</return>
</function>
@@ -57121,11 +59103,11 @@ will return %NULL.
<description>
Unescapes a whole escaped string.
-If any of the characters in @illegal_characters or the character zero appears
-as an escaped character in @escaped_string then that is an error and %NULL
-will be returned. This is useful it you want to avoid for instance having a
-slash being expanded in an escaped path element, which might confuse pathname
-handling.
+If any of the characters in @illegal_characters or the NUL
+character appears as an escaped character in @escaped_string, then
+that is an error and %NULL will be returned. This is useful if you
+want to avoid for instance having a slash being expanded in an
+escaped path element, which might confuse pathname handling.
Since: 2.16
@@ -57136,17 +59118,36 @@ Since: 2.16
</parameter_description>
</parameter>
<parameter name="illegal_characters">
-<parameter_description> a string of illegal characters not to be
-allowed, or %NULL.
+<parameter_description> a string of illegal characters
+not to be allowed, or %NULL.
</parameter_description>
</parameter>
</parameters>
-<return> an unescaped version of @escaped_string. The returned string
-should be freed when no longer needed.
+<return> an unescaped version of @escaped_string.
+The returned string should be freed when no longer needed.
</return>
</function>
+<function name="g_uri_unref">
+<description>
+Atomically decrements the reference count of @uri by one.
+
+When the reference count reaches zero, the resources allocated by
+@uri are freed
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="uri">
+<parameter_description> a #GUri
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_usleep">
<description>
Pauses the current thread for the given number of microseconds.
@@ -57217,13 +59218,13 @@ terminated with a 0 byte.
Note that the input is expected to be already in native endianness,
an initial byte-order-mark character is not handled specially.
g_convert() can be used to convert a byte buffer of UTF-16 data of
-ambiguous endianess.
+ambiguous endianness.
Further note that this function does not validate the result
string; it may e.g. include embedded NUL characters. The only
validation done by this function is to ensure that the input can
be correctly interpreted as UTF-16, i.e. it doesn't contain
-things unpaired surrogates.
+unpaired surrogates or partial character sequences.
</description>
@@ -59169,6 +61170,28 @@ Set the contents of a %G_TYPE_INT64 #GValue to @v_int64.
<return></return>
</function>
+<function name="g_value_set_interned_string">
+<description>
+Set the contents of a %G_TYPE_STRING #GValue to @v_string. The string is
+assumed to be static and interned (canonical, for example from
+g_intern_string()), and is thus not duplicated when setting the #GValue.
+
+Since: 2.66
+
+</description>
+<parameters>
+<parameter name="value">
+<parameter_description> a valid #GValue of type %G_TYPE_STRING
+</parameter_description>
+</parameter>
+<parameter name="v_string">
+<parameter_description> static string to be set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="g_value_set_long">
<description>
Set the contents of a %G_TYPE_LONG #GValue to @v_long.
@@ -59337,6 +61360,9 @@ Set the contents of a %G_TYPE_STRING #GValue to @v_string.
The string is assumed to be static, and is thus not duplicated
when setting the #GValue.
+If the the string is a canonical string, using g_value_set_interned_string()
+is more appropriate.
+
</description>
<parameters>
<parameter name="value">
@@ -60909,6 +62935,12 @@ in the container. See g_variant_n_children().
The returned value is never floating. You should free it with
g_variant_unref() when you're done with it.
+Note that values borrowed from the returned child are not guaranteed to
+still be valid after the child is freed even if you still hold a reference
+to @value, if @value has not been serialised at the time this function is
+called. To avoid this, you can serialize @value by calling
+g_variant_get_data() and optionally ignoring the return value.
+
There may be implementation specific restrictions on deeply nested values,
which would result in the unit tuple being returned as the child value,
instead of further nested children. #GVariant is guaranteed to handle
@@ -61282,11 +63314,15 @@ Returns the string value of a #GVariant instance with a string
type. This includes the types %G_VARIANT_TYPE_STRING,
%G_VARIANT_TYPE_OBJECT_PATH and %G_VARIANT_TYPE_SIGNATURE.
-The string will always be UTF-8 encoded, and will never be %NULL.
+The string will always be UTF-8 encoded, will never be %NULL, and will never
+contain nul bytes.
If @length is non-%NULL then the length of the string (in bytes) is
returned there. For trusted values, this information is already
-known. For untrusted values, a strlen() will be performed.
+known. Untrusted values will be validated and, if valid, a strlen() will be
+performed. If invalid, a default value will be returned — for
+%G_VARIANT_TYPE_OBJECT_PATH, this is `&quot;/&quot;`, and for other types it is the
+empty string.
It is an error to call this function with a @value of any type
other than those three.
@@ -61699,7 +63735,7 @@ Use g_variant_iter_free() to free the return value when you no longer
need it.
A reference is taken to the container that @iter is iterating over
-and will be releated only when g_variant_iter_free() is called.
+and will be related only when g_variant_iter_free() is called.
Since: 2.24
@@ -63315,7 +65351,7 @@ reference.
Using this function on the return value of the user's callback allows
the user to do whichever is more convenient for them. The caller
-will alway receives exactly one full reference to the value: either
+will always receives exactly one full reference to the value: either
the one that was returned in the first place, or a floating reference
that has been converted to a full reference.
@@ -64681,7 +66717,7 @@ parallel installations of the library. Enabling multiple
installations of different versions of some GLib-using library, or
GLib itself, is desirable for various reasons.
-For this reason it is recommeded to always pass %NULL as
+For this reason it is recommended to always pass %NULL as
@package to this function, to avoid the temptation to use the
Registry. In version 2.20 of GLib the @package parameter
will be ignored and this function won't look in the Registry at all.
@@ -65193,7 +67229,7 @@ the internals of glib (such as libgio).
</parameter_description>
</parameter>
</parameters>
-<return> the transation of @str to the current locale
+<return> the translation of @str to the current locale
</return>
</function>
diff --git a/glib/src/glib_enums.defs b/glib/src/glib_enums.defs
index dc17af71..454345d0 100644
--- a/glib/src/glib_enums.defs
+++ b/glib/src/glib_enums.defs
@@ -271,6 +271,27 @@
)
)
+;; Original typedef:
+;; typedef enum
+;; {
+;; G_FILE_SET_CONTENTS_NONE = 0,
+;; G_FILE_SET_CONTENTS_CONSISTENT = 1 << 0,
+;; G_FILE_SET_CONTENTS_DURABLE = 1 << 1,
+;; G_FILE_SET_CONTENTS_ONLY_EXISTING = 1 << 2
+;; } GFileSetContentsFlags
+;; GLIB_AVAILABLE_ENUMERATOR_IN_2_66;
+
+(define-flags-extended LIB_AVAILABLE_ENUMERATOR_IN_2_66
+ (in-module "G")
+ (c-name "GLIB_AVAILABLE_ENUMERATOR_IN_2_66")
+ (values
+ '("none" "G_FILE_SET_CONTENTS_NONE" "0x0")
+ '("consistent" "G_FILE_SET_CONTENTS_CONSISTENT" "1 << 0")
+ '("durable" "G_FILE_SET_CONTENTS_DURABLE" "1 << 1")
+ '("only-existing" "G_FILE_SET_CONTENTS_ONLY_EXISTING" "1 << 2")
+ )
+)
+
;; From ghook.h
;; Original typedef:
@@ -1765,7 +1786,13 @@
;; G_UNICODE_SCRIPT_ELYMAIC, /* Elym */
;; G_UNICODE_SCRIPT_NANDINAGARI, /* Nand */
;; G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG, /* Rohg */
-;; G_UNICODE_SCRIPT_WANCHO /* Wcho */
+;; G_UNICODE_SCRIPT_WANCHO, /* Wcho */
+;;
+;; /* Unicode 13.0 additions */
+;; G_UNICODE_SCRIPT_CHORASMIAN, /* Chrs */
+;; G_UNICODE_SCRIPT_DIVES_AKURU, /* Diak */
+;; G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT, /* Kits */
+;; G_UNICODE_SCRIPT_YEZIDI /* Yezi */
;; } GUnicodeScript;
(define-enum-extended UnicodeScript
@@ -1926,6 +1953,10 @@
'("nandinagari" "G_UNICODE_SCRIPT_NANDINAGARI" "150")
'("nyiakeng-puachue-hmong" "G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG" "151")
'("wancho" "G_UNICODE_SCRIPT_WANCHO" "152")
+ '("chorasmian" "G_UNICODE_SCRIPT_CHORASMIAN" "153")
+ '("dives-akuru" "G_UNICODE_SCRIPT_DIVES_AKURU" "154")
+ '("khitan-small-script" "G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT" "155")
+ '("yezidi" "G_UNICODE_SCRIPT_YEZIDI" "156")
)
)
@@ -1956,6 +1987,110 @@
)
)
+;; From guri.h
+
+;; Original typedef:
+;; typedef enum {
+;; G_URI_FLAGS_NONE = 0,
+;; G_URI_FLAGS_PARSE_RELAXED = 1 << 0,
+;; G_URI_FLAGS_HAS_PASSWORD = 1 << 1,
+;; G_URI_FLAGS_HAS_AUTH_PARAMS = 1 << 2,
+;; G_URI_FLAGS_ENCODED = 1 << 3,
+;; G_URI_FLAGS_NON_DNS = 1 << 4,
+;; G_URI_FLAGS_ENCODED_QUERY = 1 << 5,
+;; G_URI_FLAGS_ENCODED_PATH = 1 << 6,
+;; G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7,
+;; } GUriFlags;
+
+(define-flags-extended UriFlags
+ (in-module "G")
+ (c-name "GUriFlags")
+ (values
+ '("none" "G_URI_FLAGS_NONE" "0x0")
+ '("parse-relaxed" "G_URI_FLAGS_PARSE_RELAXED" "1 << 0")
+ '("has-password" "G_URI_FLAGS_HAS_PASSWORD" "1 << 1")
+ '("has-auth-params" "G_URI_FLAGS_HAS_AUTH_PARAMS" "1 << 2")
+ '("encoded" "G_URI_FLAGS_ENCODED" "1 << 3")
+ '("non-dns" "G_URI_FLAGS_NON_DNS" "1 << 4")
+ '("encoded-query" "G_URI_FLAGS_ENCODED_QUERY" "1 << 5")
+ '("encoded-path" "G_URI_FLAGS_ENCODED_PATH" "1 << 6")
+ '("encoded-fragment" "G_URI_FLAGS_ENCODED_FRAGMENT" "1 << 7")
+ )
+)
+
+;; Original typedef:
+;; typedef enum {
+;; G_URI_HIDE_NONE = 0,
+;; G_URI_HIDE_USERINFO = 1 << 0,
+;; G_URI_HIDE_PASSWORD = 1 << 1,
+;; G_URI_HIDE_AUTH_PARAMS = 1 << 2,
+;; G_URI_HIDE_QUERY = 1 << 3,
+;; G_URI_HIDE_FRAGMENT = 1 << 4,
+;; } GUriHideFlags;
+
+(define-flags-extended UriHideFlags
+ (in-module "G")
+ (c-name "GUriHideFlags")
+ (values
+ '("none" "G_URI_HIDE_NONE" "0x0")
+ '("userinfo" "G_URI_HIDE_USERINFO" "1 << 0")
+ '("password" "G_URI_HIDE_PASSWORD" "1 << 1")
+ '("auth-params" "G_URI_HIDE_AUTH_PARAMS" "1 << 2")
+ '("query" "G_URI_HIDE_QUERY" "1 << 3")
+ '("fragment" "G_URI_HIDE_FRAGMENT" "1 << 4")
+ )
+)
+
+;; Original typedef:
+;; typedef enum {
+;; G_URI_PARAMS_NONE = 0,
+;; G_URI_PARAMS_CASE_INSENSITIVE = 1 << 0,
+;; G_URI_PARAMS_WWW_FORM = 1 << 1,
+;; G_URI_PARAMS_PARSE_RELAXED = 1 << 2,
+;; } GUriParamsFlags;
+
+(define-flags-extended UriParamsFlags
+ (in-module "G")
+ (c-name "GUriParamsFlags")
+ (values
+ '("none" "G_URI_PARAMS_NONE" "0x0")
+ '("case-insensitive" "G_URI_PARAMS_CASE_INSENSITIVE" "1 << 0")
+ '("www-form" "G_URI_PARAMS_WWW_FORM" "1 << 1")
+ '("parse-relaxed" "G_URI_PARAMS_PARSE_RELAXED" "1 << 2")
+ )
+)
+
+;; Original typedef:
+;; typedef enum {
+;; G_URI_ERROR_FAILED,
+;; G_URI_ERROR_BAD_SCHEME,
+;; G_URI_ERROR_BAD_USER,
+;; G_URI_ERROR_BAD_PASSWORD,
+;; G_URI_ERROR_BAD_AUTH_PARAMS,
+;; G_URI_ERROR_BAD_HOST,
+;; G_URI_ERROR_BAD_PORT,
+;; G_URI_ERROR_BAD_PATH,
+;; G_URI_ERROR_BAD_QUERY,
+;; G_URI_ERROR_BAD_FRAGMENT,
+;; } GUriError;
+
+(define-enum-extended UriError
+ (in-module "G")
+ (c-name "GUriError")
+ (values
+ '("failed" "G_URI_ERROR_FAILED" "0")
+ '("bad-scheme" "G_URI_ERROR_BAD_SCHEME" "1")
+ '("bad-user" "G_URI_ERROR_BAD_USER" "2")
+ '("bad-password" "G_URI_ERROR_BAD_PASSWORD" "3")
+ '("bad-auth-params" "G_URI_ERROR_BAD_AUTH_PARAMS" "4")
+ '("bad-host" "G_URI_ERROR_BAD_HOST" "5")
+ '("bad-port" "G_URI_ERROR_BAD_PORT" "6")
+ '("bad-path" "G_URI_ERROR_BAD_PATH" "7")
+ '("bad-query" "G_URI_ERROR_BAD_QUERY" "8")
+ '("bad-fragment" "G_URI_ERROR_BAD_FRAGMENT" "9")
+ )
+)
+
;; From gutils.h
;; Original typedef:
diff --git a/glib/src/glib_functions.defs b/glib/src/glib_functions.defs
index 27f8680e..1aea12c9 100644
--- a/glib/src/glib_functions.defs
+++ b/glib/src/glib_functions.defs
@@ -151,6 +151,18 @@
)
)
+(define-flags SetContentsFlags
+ (in-module "GFile")
+ (c-name "GFileSetContentsFlags")
+ (gtype-id "G_TYPE_FILE_SET_CONTENTS_FLAGS")
+ (values
+ '("none" "G_FILE_SET_CONTENTS_NONE")
+ '("consistent" "G_FILE_SET_CONTENTS_CONSISTENT")
+ '("durable" "G_FILE_SET_CONTENTS_DURABLE")
+ '("only-existing" "G_FILE_SET_CONTENTS_ONLY_EXISTING")
+ )
+)
+
(define-flags FlagMask
(in-module "GHook")
(c-name "GHookFlagMask")
@@ -982,6 +994,10 @@
'("nandinagari" "G_UNICODE_SCRIPT_NANDINAGARI")
'("nyiakeng-puachue-hmong" "G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG")
'("wancho" "G_UNICODE_SCRIPT_WANCHO")
+ '("chorasmian" "G_UNICODE_SCRIPT_CHORASMIAN")
+ '("dives-akuru" "G_UNICODE_SCRIPT_DIVES_AKURU")
+ '("khitan-small-script" "G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT")
+ '("yezidi" "G_UNICODE_SCRIPT_YEZIDI")
)
)
@@ -1001,6 +1017,67 @@
)
)
+(define-flags Flags
+ (in-module "GUri")
+ (c-name "GUriFlags")
+ (gtype-id "G_TYPE_URI_FLAGS")
+ (values
+ '("none" "G_URI_FLAGS_NONE")
+ '("parse-relaxed" "G_URI_FLAGS_PARSE_RELAXED")
+ '("has-password" "G_URI_FLAGS_HAS_PASSWORD")
+ '("has-auth-params" "G_URI_FLAGS_HAS_AUTH_PARAMS")
+ '("encoded" "G_URI_FLAGS_ENCODED")
+ '("non-dns" "G_URI_FLAGS_NON_DNS")
+ '("encoded-query" "G_URI_FLAGS_ENCODED_QUERY")
+ '("encoded-path" "G_URI_FLAGS_ENCODED_PATH")
+ '("encoded-fragment" "G_URI_FLAGS_ENCODED_FRAGMENT")
+ )
+)
+
+(define-flags HideFlags
+ (in-module "GUri")
+ (c-name "GUriHideFlags")
+ (gtype-id "G_TYPE_URI_HIDE_FLAGS")
+ (values
+ '("none" "G_URI_HIDE_NONE")
+ '("userinfo" "G_URI_HIDE_USERINFO")
+ '("password" "G_URI_HIDE_PASSWORD")
+ '("auth-params" "G_URI_HIDE_AUTH_PARAMS")
+ '("query" "G_URI_HIDE_QUERY")
+ '("fragment" "G_URI_HIDE_FRAGMENT")
+ )
+)
+
+(define-flags ParamsFlags
+ (in-module "GUri")
+ (c-name "GUriParamsFlags")
+ (gtype-id "G_TYPE_URI_PARAMS_FLAGS")
+ (values
+ '("none" "G_URI_PARAMS_NONE")
+ '("case-insensitive" "G_URI_PARAMS_CASE_INSENSITIVE")
+ '("www-form" "G_URI_PARAMS_WWW_FORM")
+ '("parse-relaxed" "G_URI_PARAMS_PARSE_RELAXED")
+ )
+)
+
+(define-enum Error
+ (in-module "GUri")
+ (c-name "GUriError")
+ (gtype-id "G_TYPE_URI_ERROR")
+ (values
+ '("failed" "G_URI_ERROR_FAILED")
+ '("bad-scheme" "G_URI_ERROR_BAD_SCHEME")
+ '("bad-user" "G_URI_ERROR_BAD_USER")
+ '("bad-password" "G_URI_ERROR_BAD_PASSWORD")
+ '("bad-auth-params" "G_URI_ERROR_BAD_AUTH_PARAMS")
+ '("bad-host" "G_URI_ERROR_BAD_HOST")
+ '("bad-port" "G_URI_ERROR_BAD_PORT")
+ '("bad-path" "G_URI_ERROR_BAD_PATH")
+ '("bad-query" "G_URI_ERROR_BAD_QUERY")
+ '("bad-fragment" "G_URI_ERROR_BAD_FRAGMENT")
+ )
+)
+
(define-enum Directory
(in-module "GUser")
(c-name "GUserDirectory")
@@ -2405,6 +2482,20 @@
)
)
+(define-method set_application_info
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_application_info")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "uri")
+ '("const-char*" "name")
+ '("const-char*" "exec")
+ '("int" "count")
+ '("GDateTime*" "stamp")
+ '("GError**" "error")
+ )
+)
+
(define-method get_app_info
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_get_app_info")
@@ -2419,6 +2510,20 @@
)
)
+(define-method get_application_info
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_application_info")
+ (return-type "gboolean")
+ (parameters
+ '("const-char*" "uri")
+ '("const-char*" "name")
+ '("char**" "exec")
+ '("unsigned-int*" "count")
+ '("GDateTime**" "stamp")
+ '("GError**" "error")
+ )
+)
+
(define-method set_is_private
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_set_is_private")
@@ -2472,6 +2577,16 @@
)
)
+(define-method set_added_date_time
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_added_date_time")
+ (return-type "none")
+ (parameters
+ '("const-char*" "uri")
+ '("GDateTime*" "added")
+ )
+)
+
(define-method get_added
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_get_added")
@@ -2482,6 +2597,16 @@
)
)
+(define-method get_added_date_time
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_added_date_time")
+ (return-type "GDateTime*")
+ (parameters
+ '("const-char*" "uri")
+ '("GError**" "error")
+ )
+)
+
(define-method set_modified
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_set_modified")
@@ -2492,6 +2617,16 @@
)
)
+(define-method set_modified_date_time
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_modified_date_time")
+ (return-type "none")
+ (parameters
+ '("const-char*" "uri")
+ '("GDateTime*" "modified")
+ )
+)
+
(define-method get_modified
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_get_modified")
@@ -2502,6 +2637,16 @@
)
)
+(define-method get_modified_date_time
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_modified_date_time")
+ (return-type "GDateTime*")
+ (parameters
+ '("const-char*" "uri")
+ '("GError**" "error")
+ )
+)
+
(define-method set_visited
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_set_visited")
@@ -2512,6 +2657,16 @@
)
)
+(define-method set_visited_date_time
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_set_visited_date_time")
+ (return-type "none")
+ (parameters
+ '("const-char*" "uri")
+ '("GDateTime*" "visited")
+ )
+)
+
(define-method get_visited
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_get_visited")
@@ -2522,6 +2677,16 @@
)
)
+(define-method get_visited_date_time
+ (of-object "GBookmarkFile")
+ (c-name "g_bookmark_file_get_visited_date_time")
+ (return-type "GDateTime*")
+ (parameters
+ '("const-char*" "uri")
+ '("GError**" "error")
+ )
+)
+
(define-method has_item
(of-object "GBookmarkFile")
(c-name "g_bookmark_file_has_item")
@@ -4349,6 +4514,19 @@
)
)
+(define-function g_file_set_contents_full
+ (c-name "g_file_set_contents_full")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "filename")
+ '("const-gchar*" "contents")
+ '("gssize" "length")
+ '("GFileSetContentsFlags" "flags")
+ '("int" "mode")
+ '("GError**" "error")
+ )
+)
+
(define-function g_file_read_link
(c-name "g_file_read_link")
(return-type "gchar*")
@@ -6923,18 +7101,6 @@
(return-type "GMainContext*")
)
-(define-method pusher_new
- (of-object "GMainContext")
- (c-name "g_main_context_pusher_new")
- (return-type "GMainContextPusher*")
-)
-
-(define-method free
- (of-object "GMainContextPusher")
- (c-name "g_main_context_pusher_free")
- (return-type "none")
-)
-
(define-function g_main_loop_new
(c-name "g_main_loop_new")
(is-constructor-of "GMainLoop")
@@ -7769,14 +7935,6 @@
)
)
-(define-function g_steal_pointer
- (c-name "g_steal_pointer")
- (return-type "gpointer")
- (parameters
- '("gpointer" "pp")
- )
-)
-
(define-function g_mem_set_vtable
(c-name "g_mem_set_vtable")
(return-type "none")
@@ -12737,54 +12895,6 @@
(return-type "guint")
)
-(define-method locker_new
- (of-object "GMutex")
- (c-name "g_mutex_locker_new")
- (return-type "GMutexLocker*")
-)
-
-(define-method free
- (of-object "GMutexLocker")
- (c-name "g_mutex_locker_free")
- (return-type "none")
-)
-
-(define-method locker_new
- (of-object "GRecMutex")
- (c-name "g_rec_mutex_locker_new")
- (return-type "GRecMutexLocker*")
-)
-
-(define-method free
- (of-object "GRecMutexLocker")
- (c-name "g_rec_mutex_locker_free")
- (return-type "none")
-)
-
-(define-method writer_locker_new
- (of-object "GRWLock")
- (c-name "g_rw_lock_writer_locker_new")
- (return-type "GRWLockWriterLocker*")
-)
-
-(define-method free
- (of-object "GRWLockWriterLocker")
- (c-name "g_rw_lock_writer_locker_free")
- (return-type "none")
-)
-
-(define-method reader_locker_new
- (of-object "GRWLock")
- (c-name "g_rw_lock_reader_locker_new")
- (return-type "GRWLockReaderLocker*")
-)
-
-(define-method free
- (of-object "GRWLockReaderLocker")
- (c-name "g_rw_lock_reader_locker_free")
- (return-type "none")
-)
-
;; From gthreadpool.h
@@ -13844,7 +13954,260 @@
-;; From gurifuncs.h
+;; From guri.h
+
+(define-method ref
+ (of-object "GUri")
+ (c-name "g_uri_ref")
+ (return-type "GUri*")
+)
+
+(define-method unref
+ (of-object "GUri")
+ (c-name "g_uri_unref")
+ (return-type "none")
+)
+
+(define-function g_uri_split_with_user
+ (c-name "g_uri_split_with_user")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri_ref")
+ '("GUriFlags" "flags")
+ '("gchar**" "scheme")
+ '("gchar**" "user")
+ '("gchar**" "password")
+ '("gchar**" "auth_params")
+ '("gchar**" "host")
+ '("gint*" "port")
+ '("gchar**" "path")
+ '("gchar**" "query")
+ '("gchar**" "fragment")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_split_network
+ (c-name "g_uri_split_network")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri_string")
+ '("GUriFlags" "flags")
+ '("gchar**" "scheme")
+ '("gchar**" "host")
+ '("gint*" "port")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_is_valid
+ (c-name "g_uri_is_valid")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri_string")
+ '("GUriFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_join
+ (c-name "g_uri_join")
+ (return-type "gchar*")
+ (parameters
+ '("GUriFlags" "flags")
+ '("const-gchar*" "scheme")
+ '("const-gchar*" "userinfo")
+ '("const-gchar*" "host")
+ '("gint" "port")
+ '("const-gchar*" "path")
+ '("const-gchar*" "query")
+ '("const-gchar*" "fragment")
+ )
+)
+
+(define-function g_uri_join_with_user
+ (c-name "g_uri_join_with_user")
+ (return-type "gchar*")
+ (parameters
+ '("GUriFlags" "flags")
+ '("const-gchar*" "scheme")
+ '("const-gchar*" "user")
+ '("const-gchar*" "password")
+ '("const-gchar*" "auth_params")
+ '("const-gchar*" "host")
+ '("gint" "port")
+ '("const-gchar*" "path")
+ '("const-gchar*" "query")
+ '("const-gchar*" "fragment")
+ )
+)
+
+(define-function g_uri_parse
+ (c-name "g_uri_parse")
+ (return-type "GUri*")
+ (parameters
+ '("const-gchar*" "uri_string")
+ '("GUriFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
+(define-method parse_relative
+ (of-object "GUri")
+ (c-name "g_uri_parse_relative")
+ (return-type "GUri*")
+ (parameters
+ '("const-gchar*" "uri_ref")
+ '("GUriFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_resolve_relative
+ (c-name "g_uri_resolve_relative")
+ (return-type "gchar*")
+ (parameters
+ '("const-gchar*" "base_uri_string")
+ '("const-gchar*" "uri_ref")
+ '("GUriFlags" "flags")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_build
+ (c-name "g_uri_build")
+ (return-type "GUri*")
+ (parameters
+ '("GUriFlags" "flags")
+ '("const-gchar*" "scheme")
+ '("const-gchar*" "userinfo")
+ '("const-gchar*" "host")
+ '("gint" "port")
+ '("const-gchar*" "path")
+ '("const-gchar*" "query")
+ '("const-gchar*" "fragment")
+ )
+)
+
+(define-function g_uri_build_with_user
+ (c-name "g_uri_build_with_user")
+ (return-type "GUri*")
+ (parameters
+ '("GUriFlags" "flags")
+ '("const-gchar*" "scheme")
+ '("const-gchar*" "user")
+ '("const-gchar*" "password")
+ '("const-gchar*" "auth_params")
+ '("const-gchar*" "host")
+ '("gint" "port")
+ '("const-gchar*" "path")
+ '("const-gchar*" "query")
+ '("const-gchar*" "fragment")
+ )
+)
+
+(define-method to_string_partial
+ (of-object "GUri")
+ (c-name "g_uri_to_string_partial")
+ (return-type "char*")
+ (parameters
+ '("GUriHideFlags" "flags")
+ )
+)
+
+(define-method get_scheme
+ (of-object "GUri")
+ (c-name "g_uri_get_scheme")
+ (return-type "const-gchar*")
+)
+
+(define-method get_userinfo
+ (of-object "GUri")
+ (c-name "g_uri_get_userinfo")
+ (return-type "const-gchar*")
+)
+
+(define-method get_user
+ (of-object "GUri")
+ (c-name "g_uri_get_user")
+ (return-type "const-gchar*")
+)
+
+(define-method get_password
+ (of-object "GUri")
+ (c-name "g_uri_get_password")
+ (return-type "const-gchar*")
+)
+
+(define-method get_auth_params
+ (of-object "GUri")
+ (c-name "g_uri_get_auth_params")
+ (return-type "const-gchar*")
+)
+
+(define-method get_host
+ (of-object "GUri")
+ (c-name "g_uri_get_host")
+ (return-type "const-gchar*")
+)
+
+(define-method get_port
+ (of-object "GUri")
+ (c-name "g_uri_get_port")
+ (return-type "gint")
+)
+
+(define-method get_path
+ (of-object "GUri")
+ (c-name "g_uri_get_path")
+ (return-type "const-gchar*")
+)
+
+(define-method get_query
+ (of-object "GUri")
+ (c-name "g_uri_get_query")
+ (return-type "const-gchar*")
+)
+
+(define-method get_fragment
+ (of-object "GUri")
+ (c-name "g_uri_get_fragment")
+ (return-type "const-gchar*")
+)
+
+(define-method get_flags
+ (of-object "GUri")
+ (c-name "g_uri_get_flags")
+ (return-type "GUriFlags")
+)
+
+(define-method init
+ (of-object "GUriParamsIter")
+ (c-name "g_uri_params_iter_init")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "params")
+ '("gssize" "length")
+ '("const-gchar*" "separators")
+ '("GUriParamsFlags" "flags")
+ )
+)
+
+(define-method next
+ (of-object "GUriParamsIter")
+ (c-name "g_uri_params_iter_next")
+ (return-type "gboolean")
+ (parameters
+ '("gchar**" "attribute")
+ '("gchar**" "value")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_error_quark
+ (c-name "g_uri_error_quark")
+ (return-type "GQuark")
+)
(define-function g_uri_unescape_string
(c-name "g_uri_unescape_string")
@@ -13873,6 +14236,14 @@
)
)
+(define-function g_uri_peek_scheme
+ (c-name "g_uri_peek_scheme")
+ (return-type "const-char*")
+ (parameters
+ '("const-char*" "uri")
+ )
+)
+
(define-function g_uri_escape_string
(c-name "g_uri_escape_string")
(return-type "char*")
@@ -13883,6 +14254,27 @@
)
)
+(define-function g_uri_unescape_bytes
+ (c-name "g_uri_unescape_bytes")
+ (return-type "GBytes*")
+ (parameters
+ '("const-char*" "escaped_string")
+ '("gssize" "length")
+ '("const-char*" "illegal_characters")
+ '("GError**" "error")
+ )
+)
+
+(define-function g_uri_escape_bytes
+ (c-name "g_uri_escape_bytes")
+ (return-type "char*")
+ (parameters
+ '("const-guint8*" "unescaped")
+ '("gsize" "length")
+ '("const-char*" "reserved_chars_allowed")
+ )
+)
+
;; From gutils.h
@@ -14156,6 +14548,12 @@
(return-type "GVariantTypeInfo*")
)
+(define-method get_depth
+ (of-object "GVariant")
+ (c-name "g_variant_get_depth")
+ (return-type "gsize")
+)
+
;; From gvariant.h
diff --git a/glib/src/gobject_functions.defs b/glib/src/gobject_functions.defs
index d5d7eabd..66fabf5a 100644
--- a/glib/src/gobject_functions.defs
+++ b/glib/src/gobject_functions.defs
@@ -774,6 +774,11 @@
(return-type "GType")
)
+(define-function g_uri_get_type
+ (c-name "g_uri_get_type")
+ (return-type "GType")
+)
+
(define-function g_variant_get_gtype
(c-name "g_variant_get_gtype")
(return-type "GType")
@@ -4106,6 +4111,15 @@
)
)
+(define-method set_interned_string
+ (of-object "GValue")
+ (c-name "g_value_set_interned_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "v_string")
+ )
+)
+
(define-method get_string
(of-object "GValue")
(c-name "g_value_get_string")