Basics
Guides
API Reference
Basics
Guides
API Reference
[38:7] extends: object
Many URI schemes include one or more attribute/value pairs as part of the URI
value. For example scheme://server/path?query=string&is=there has two
attributes – query=string and is=there – in its query part. A
#GUriParamsIter structure represents an iterator that can be used to iterate
over the attribute/value pairs of a URI query string. #GUriParamsIter
structures are typically allocated on the stack and then initialized with
g_uri_params_iter_init(). See the documentation for g_uri_params_iter_init()
for a usage example.
GUriParamsIter (Handle = null)
Creates a new
UriParamsIterby wrapping a native handle or another wrapper.
Handle is the native handle or another wrapper whose handle to adopt.toNativeHandle (Source)
Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from
fn.call(...), another generated wrapper exposinghandle(), or null. Returns null when the argument carries no pointer.
Source is the raw handle, raw buffer, wrapper, or null.A raw pointer carrier or null when no pointer is present.getLib ()
Returns the opened native library for this generated wrapper.
The opened native library.handle ()
Returns the wrapped NativeHandle.
The wrapped NativeHandle.isNull ()
Returns true when the wrapped handle is null.
A bool.describe ()
Returns a small string for debugging generated wrappers.
A string.init (string params, int length, string separators, string flags)
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+bazwill give attributefoowith valuebar baz. This is commonly used on the web (thehttpsandhttpschemes 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. |[ GUriParamsIter iter; GError *error = NULL; gchar *unowned_attr, *unowned_value; g_uri_params_iter_init (&iter, "foo=bar&baz=bar&Foo=frob&baz=bar2", -1, "&", G_URI_PARAMS_NONE); while (g_uri_params_iter_next (&iter, &unowned_attr, &unowned_value, &error)) { g_autofree gchar *attr = g_steal_pointer (&unowned_attr); g_autofree gchar *value = g_steal_pointer (&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 ]|
params is a %-encoded string containing attribute=value parameters.length is the length of @params, or -1 if it is nul-terminated.separators is the separator byte character set between parameters. (usually &, but sometimes ; or both &;). 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..flags is flags to modify the way the parameters are handled..None.next ()
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.
attribute is on return, contains the attribute, or %NULL..value is on return, contains the value, or %NULL..%FALSE if the end of the parameters has been reached or an error was encountered. %TRUE otherwise..[13:14] static extends: object
Generated struct layout helper for GIR record UriParamsIter.
layout ()
Returns the Panama struct layout for
UriParamsIter.

Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.