diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-07-04 17:56:31 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-07-04 17:56:31 +0200 |
commit | a2cc19a847cf765b3fbc3fb51de4bfde2e0ba4cf (patch) | |
tree | 44beb4db521b4c866e4bbc67df7d8c978add4c6c /gir | |
parent | 536491829fd5bd6022d264cb7a3b514a7f98e089 (diff) | |
download | gobject-introspection-a2cc19a847cf765b3fbc3fb51de4bfde2e0ba4cf.tar.gz |
gir: Update annotations from glib git master
Diffstat (limited to 'gir')
-rw-r--r-- | gir/gio-2.0.c | 193 | ||||
-rw-r--r-- | gir/glib-2.0.c | 304 | ||||
-rw-r--r-- | gir/gobject-2.0.c | 4 |
3 files changed, 460 insertions, 41 deletions
diff --git a/gir/gio-2.0.c b/gir/gio-2.0.c index b3c23eee..db030057 100644 --- a/gir/gio-2.0.c +++ b/gir/gio-2.0.c @@ -2315,6 +2315,29 @@ /** + * GMountOperation:is-tcrypt-hidden-volume: + * + * Whether the device to be unlocked is a TCRYPT hidden volume. + * See https://www.veracrypt.fr/en/Hidden%20Volume.html. + * + * Since: 2.58 + */ + + +/** + * GMountOperation:is-tcrypt-system-volume: + * + * Whether the device to be unlocked is a TCRYPT system volume. + * In this context, a system volume is a volume with a bootloader + * and operating system installed. This is only supported for Windows + * operating systems. For further documentation, see + * https://www.veracrypt.fr/en/System%20Encryption.html. + * + * Since: 2.58 + */ + + +/** * GMountOperation:password: * * The password that is used for authentication when carrying out @@ -2330,6 +2353,16 @@ /** + * GMountOperation:pim: + * + * The VeraCrypt PIM value, when unlocking a VeraCrypt volume. See + * https://www.veracrypt.fr/en/Personal%20Iterations%20Multiplier%20(PIM).html. + * + * Since: 2.58 + */ + + +/** * GMountOperation:username: * * The user name that is used for authentication when carrying out @@ -7431,6 +7464,12 @@ * #GtkMountOperation. If no user interaction is desired (for example * when automounting filesystems at login time), usually %NULL can be * passed, see each method taking a #GMountOperation for details. + * + * The term ‘TCRYPT’ is used to mean ‘compatible with TrueCrypt and VeraCrypt’. + * [TrueCrypt](https://en.wikipedia.org/wiki/TrueCrypt) is a discontinued system for + * encrypting file containers, partitions or whole disks, typically used with Windows. + * [VeraCrypt](https://www.veracrypt.fr/) is a maintained fork of TrueCrypt with various + * improvements and auditing fixes. */ @@ -10050,7 +10089,7 @@ * different kinds of identifiers, such as Hal UDIs, filesystem labels, * traditional Unix devices (e.g. `/dev/sda2`), UUIDs. GIO uses predefined * strings as names for the different kinds of identifiers: - * #G_VOLUME_IDENTIFIER_KIND_HAL_UDI, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. + * #G_VOLUME_IDENTIFIER_KIND_UUID, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. * Use g_volume_get_identifier() to obtain an identifier for a volume. * * @@ -15395,8 +15434,8 @@ * * Gets the mime type for the content type, if one is registered. * - * Returns: (nullable): the registered mime type for the given @type, - * or %NULL if unknown. + * Returns: (nullable) (transfer full): the registered mime type for the + * given @type, or %NULL if unknown; free with g_free(). */ @@ -21183,11 +21222,12 @@ * launch applications. Ordinary applications should use * g_app_info_launch_uris(). * - * If the application is launched via traditional UNIX fork()/exec() - * then @spawn_flags, @user_setup and @user_setup_data are used for the - * call to g_spawn_async(). Additionally, @pid_callback (with - * @pid_callback_data) will be called to inform about the PID of the - * created process. + * If the application is launched via GSpawn, then @spawn_flags, @user_setup + * and @user_setup_data are used for the call to g_spawn_async(). + * Additionally, @pid_callback (with @pid_callback_data) will be called to + * inform about the PID of the created process. See g_spawn_async_with_pipes() + * for information on certain parameter conditions that can enable an + * optimized posix_spawn() codepath to be used. * * If application launching occurs via some other mechanism (eg: D-Bus * activation) then @spawn_flags, @user_setup, @user_setup_data, @@ -21198,6 +21238,34 @@ /** + * g_desktop_app_info_launch_uris_as_manager_with_fds: + * @appinfo: a #GDesktopAppInfo + * @uris: (element-type utf8): List of URIs + * @launch_context: (nullable): a #GAppLaunchContext + * @spawn_flags: #GSpawnFlags, used for each process + * @user_setup: (scope async) (nullable): a #GSpawnChildSetupFunc, used once + * for each process. + * @user_setup_data: (closure user_setup) (nullable): User data for @user_setup + * @pid_callback: (scope call) (nullable): Callback for child processes + * @pid_callback_data: (closure pid_callback) (nullable): User data for @callback + * @stdin_fd: file descriptor to use for child's stdin, or -1 + * @stdout_fd: file descriptor to use for child's stdout, or -1 + * @stderr_fd: file descriptor to use for child's stderr, or -1 + * @error: return location for a #GError, or %NULL + * + * Equivalent to g_desktop_app_info_launch_uris_as_manager() but allows + * you to pass in file descriptors for the stdin, stdout and stderr streams + * of the launched process. + * + * If application launching occurs via some non-spawn mechanism (e.g. D-Bus + * activation) then @stdin_fd, @stdout_fd and @stderr_fd are ignored. + * + * Returns: %TRUE on successful launch, %FALSE otherwise. + * Since: 2.58 + */ + + +/** * g_desktop_app_info_list_actions: * @info: a #GDesktopAppInfo * @@ -21459,10 +21527,12 @@ * @drive: a #GDrive * @kind: the kind of identifier to return * - * Gets the identifier of the given kind for @drive. + * Gets the identifier of the given kind for @drive. The only + * identifier currently available is + * #G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. * - * Returns: a newly allocated string containing the - * requested identfier, or %NULL if the #GDrive + * Returns: (nullable) (transfer full): a newly allocated string containing the + * requested identifier, or %NULL if the #GDrive * doesn't have this kind of identifier. */ @@ -21484,7 +21554,7 @@ * * Gets the sort key for @drive, if any. * - * Returns: Sorting key for @drive or %NULL if no such key is available. + * Returns: (nullable): Sorting key for @drive or %NULL if no such key is available. * Since: 2.32 */ @@ -22914,6 +22984,11 @@ * the actual file or directory represented by the #GFile; see * g_file_copy() if attempting to copy a file. * + * g_file_dup() is useful when a second handle is needed to the same underlying + * file, for use in a separate thread (#GFile is not thread-safe). For use + * within the same thread, use g_object_ref() to increment the existing object’s + * reference count. + * * This call does no blocking I/O. * * Returns: (transfer full): a new #GFile that is a duplicate @@ -23731,7 +23806,7 @@ * * Gets the attribute type, value and status for an attribute key. * - * Returns: (transfer none): %TRUE if @info has an attribute named @attribute, + * Returns: %TRUE if @info has an attribute named @attribute, * %FALSE otherwise. */ @@ -29960,7 +30035,8 @@ * This is a convenience method for getting the #GVolume and then * using that object to get the #GDrive. * - * Returns: (transfer full): a #GDrive or %NULL if @mount is not associated with a volume or a drive. + * Returns: (transfer full) (nullable): a #GDrive or %NULL if @mount is not + * associated with a volume or a drive. * The returned object should be unreffed with * g_object_unref() when no longer needed. */ @@ -30008,7 +30084,7 @@ * * Gets the sort key for @mount, if any. * - * Returns: Sorting key for @mount or %NULL if no such key is available. + * Returns: (nullable): Sorting key for @mount or %NULL if no such key is available. * Since: 2.32 */ @@ -30035,7 +30111,8 @@ * considered an opaque string. Returns %NULL if there is no UUID * available. * - * Returns: the UUID for @mount or %NULL if no UUID can be computed. + * Returns: (nullable) (transfer full): the UUID for @mount or %NULL if no UUID + * can be computed. * The returned string should be freed with g_free() * when no longer needed. */ @@ -30047,7 +30124,8 @@ * * Gets the volume for the @mount. * - * Returns: (transfer full): a #GVolume or %NULL if @mount is not associated with a volume. + * Returns: (transfer full) (nullable): a #GVolume or %NULL if @mount is not + * associated with a volume. * The returned object should be unreffed with * g_object_unref() when no longer needed. */ @@ -30188,6 +30266,30 @@ /** + * g_mount_operation_get_is_tcrypt_hidden_volume: + * @op: a #GMountOperation. + * + * Check to see whether the mount operation is being used + * for a TCRYPT hidden volume. + * + * Returns: %TRUE if mount operation is for hidden volume. + * Since: 2.58 + */ + + +/** + * g_mount_operation_get_is_tcrypt_system_volume: + * @op: a #GMountOperation. + * + * Check to see whether the mount operation is being used + * for a TCRYPT system volume. + * + * Returns: %TRUE if mount operation is for system volume. + * Since: 2.58 + */ + + +/** * g_mount_operation_get_password: * @op: a #GMountOperation. * @@ -30208,6 +30310,17 @@ /** + * g_mount_operation_get_pim: + * @op: a #GMountOperation. + * + * Gets a PIM from the mount operation. + * + * Returns: The VeraCrypt PIM within @op. + * Since: 2.58 + */ + + +/** * g_mount_operation_get_username: * @op: a #GMountOperation. * @@ -30263,6 +30376,28 @@ /** + * g_mount_operation_set_is_tcrypt_hidden_volume: + * @op: a #GMountOperation. + * @hidden_volume: boolean value. + * + * Sets the mount operation to use a hidden volume if @hidden_volume is %TRUE. + * + * Since: 2.58 + */ + + +/** + * g_mount_operation_set_is_tcrypt_system_volume: + * @op: a #GMountOperation. + * @system_volume: boolean value. + * + * Sets the mount operation to use a system volume if @system_volume is %TRUE. + * + * Since: 2.58 + */ + + +/** * g_mount_operation_set_password: * @op: a #GMountOperation. * @password: password to set. @@ -30281,6 +30416,17 @@ /** + * g_mount_operation_set_pim: + * @op: a #GMountOperation. + * @pim: an unsigned integer. + * + * Sets the mount operation's PIM to @pim. + * + * Since: 2.58 + */ + + +/** * g_mount_operation_set_username: * @op: a #GMountOperation. * @username: input username. @@ -42477,7 +42623,7 @@ * * Gets the drive for the @volume. * - * Returns: (transfer full): a #GDrive or %NULL if @volume is not + * Returns: (transfer full) (nullable): a #GDrive or %NULL if @volume is not * associated with a drive. The returned object should be unreffed * with g_object_unref() when no longer needed. */ @@ -42504,8 +42650,8 @@ * See the [introduction][volume-identifier] for more * information about volume identifiers. * - * Returns: a newly allocated string containing the - * requested identfier, or %NULL if the #GVolume + * Returns: (nullable) (transfer full): a newly allocated string containing the + * requested identifier, or %NULL if the #GVolume * doesn't have this kind of identifier */ @@ -42516,7 +42662,7 @@ * * Gets the mount for the @volume. * - * Returns: (transfer full): a #GMount or %NULL if @volume isn't mounted. + * Returns: (transfer full) (nullable): a #GMount or %NULL if @volume isn't mounted. * The returned object should be unreffed with g_object_unref() * when no longer needed. */ @@ -42539,7 +42685,7 @@ * * Gets the sort key for @volume, if any. * - * Returns: Sorting key for @volume or %NULL if no such key is available + * Returns: (nullable): Sorting key for @volume or %NULL if no such key is available * Since: 2.32 */ @@ -42566,7 +42712,8 @@ * considered an opaque string. Returns %NULL if there is no UUID * available. * - * Returns: the UUID for @volume or %NULL if no UUID can be computed. + * Returns: (nullable) (transfer full): the UUID for @volume or %NULL if no UUID + * can be computed. * The returned string should be freed with g_free() * when no longer needed. */ diff --git a/gir/glib-2.0.c b/gir/glib-2.0.c index 725867c4..ce173474 100644 --- a/gir/glib-2.0.c +++ b/gir/glib-2.0.c @@ -2731,6 +2731,26 @@ /** + * G_APPROX_VALUE: + * @a: a numeric value + * @b: a numeric value + * @epsilon: a numeric value that expresses the tolerance between @a and @b + * + * Evaluates to a truth value if the absolute difference between @a and @b is + * smaller than @epsilon, and to a false value otherwise. + * + * For example, + * - `G_APPROX_VALUE (5, 6, 2)` evaluates to true + * - `G_APPROX_VALUE (3.14, 3.15, 0.001)` evaluates to false + * - `G_APPROX_VALUE (n, 0.f, FLT_EPSILON)` evaluates to true if `n` is within + * the single precision floating point epsilon from zero + * + * Returns: %TRUE if the two values are within the desired range + * Since: 2.58 + */ + + +/** * G_ASCII_DTOSTR_BUF_SIZE: * * A good size for a buffer to be passed into g_ascii_dtostr(). @@ -7817,6 +7837,30 @@ /** + * SECTION:refcount + * @Title: Reference counting + * @Short_description: Reference counting types and functions + * + * Reference counting is a garbage collection mechanism that is based on + * assigning a counter to a data type, or any memory area; the counter is + * increased whenever a new reference to that data type is acquired, and + * decreased whenever the reference is released. Once the last reference + * is released, the resources associated to that data type are freed. + * + * GLib uses reference counting in many of its data types, and provides + * the #grefcount and #gatomicrefcount types to implement safe and atomic + * reference counting semantics in new data types. + * + * It is important to note that #grefcount and #gatomicrefcount should be + * considered completely opaque types; you should always use the provided + * API to increase and decrease the counters, and you should never check + * their content directly, or compare their content with other values. + * + * Since: 2.58 + */ + + +/** * SECTION:scanner * @title: Lexical Scanner * @short_description: a general purpose lexical scanner @@ -8072,10 +8116,11 @@ * * In addition to the traditional g_assert(), the test framework provides * an extended set of assertions for comparisons: g_assert_cmpfloat(), - * g_assert_cmpint(), g_assert_cmpuint(), g_assert_cmphex(), - * g_assert_cmpstr(), and g_assert_cmpmem(). The advantage of these - * variants over plain g_assert() is that the assertion messages can be - * more elaborate, and include the values of the compared entities. + * g_assert_cmpfloat_with_epsilon(), g_assert_cmpint(), g_assert_cmpuint(), + * g_assert_cmphex(), g_assert_cmpstr(), and g_assert_cmpmem(). The + * advantage of these variants over plain g_assert() is that the assertion + * messages can be more elaborate, and include the values of the compared + * entities. * * A full example of creating a test suite with two tests using fixtures: * |[<!-- language="C" --> @@ -8819,11 +8864,19 @@ * g_array_insert_vals: * @array: a #GArray * @index_: the index to place the elements at - * @data: (not nullable): a pointer to the elements to insert + * @data: (nullable): a pointer to the elements to insert * @len: the number of elements to insert * * Inserts @len elements into a #GArray at the given index. * + * If @index_ is greater than the array’s current length, the array is expanded. + * 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. + * + * @data may be %NULL if (and only if) @len is zero. If @len is zero, this + * function is a no-op. + * * Returns: the #GArray */ @@ -8865,11 +8918,14 @@ /** * g_array_prepend_vals: * @array: a #GArray - * @data: (not nullable): a pointer to the elements to prepend to the start of the array - * @len: the number of elements to prepend + * @data: (nullable): a pointer to the elements to prepend to the start of the array + * @len: the number of elements to prepend, which may be zero * * Adds @len elements onto the start of the array. * + * @data may be %NULL if (and only if) @len is zero. If @len is zero, this + * function is a no-op. + * * This operation is slower than g_array_append_vals() since the * existing elements in the array have to be moved to make space for * the new elements. @@ -9587,6 +9643,24 @@ /** + * g_assert_cmpfloat_with_epsilon: + * @n1: an floating point number + * @n2: another floating point number + * @epsilon: a numeric value that expresses the expected tolerance + * between @n1 and @n2 + * + * Debugging macro to compare two floating point numbers within an epsilon. + * + * The effect of `g_assert_cmpfloat_with_epsilon (n1, n2, epsilon)` is + * the same as `g_assert_true (abs (n1 - n2) < epsilon)`. The advantage + * of this macro is that it can produce a message that includes the + * actual values of @n1 and @n2. + * + * Since: 2.58 + */ + + +/** * g_assert_cmphex: * @n1: an unsigned integer * @cmp: The comparison operator to use. @@ -10576,6 +10650,50 @@ /** + * g_atomic_ref_count_compare: + * @arc: the address of an atomic reference count variable + * @val: the value to compare + * + * Atomically compares the current value of @arc with @val. + * + * Returns: %TRUE if the reference count is the same + * as the given value + * Since: 2.58 + */ + + +/** + * g_atomic_ref_count_dec: + * @arc: the address of an atomic reference count variable + * + * Atomically decreases the reference count. + * + * Returns: %TRUE if the reference count reached 0, and %FALSE otherwise + * Since: 2.58 + */ + + +/** + * g_atomic_ref_count_inc: + * @arc: the address of an atomic reference count variable + * + * Atomically increases the reference count. + * + * Since: 2.58 + */ + + +/** + * g_atomic_ref_count_init: + * @arc: the address of an atomic reference count variable + * + * Atomically initializes a reference count variable. + * + * Since: 2.58 + */ + + +/** * g_auto: * @TypeName: a supported variable type * @@ -15649,6 +15767,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 + * 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. + * * - 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 * file being removed and the temporary file being renamed. @@ -21085,6 +21214,7 @@ * * Returns: %TRUE if the operation succeeded, and * this thread is now the owner of @context. + * Deprecated: 2.58: Use g_main_context_is_owner() and separate locking instead. */ @@ -25281,6 +25411,50 @@ /** + * g_ref_count_compare: + * @rc: the address of a reference count variable + * @val: the value to compare + * + * Compares the current value of @rc with @val. + * + * Returns: %TRUE if the reference count is the same + * as the given value + * Since: 2.58 + */ + + +/** + * g_ref_count_dec: + * @rc: the address of a reference count variable + * + * Decreases the reference count. + * + * Returns: %TRUE if the reference count reached 0, and %FALSE otherwise + * Since: 2.58 + */ + + +/** + * g_ref_count_inc: + * @rc: the address of a reference count variable + * + * Increases the reference count. + * + * Since: 2.58 + */ + + +/** + * g_ref_count_init: + * @rc: the address of a reference count variable + * + * Initializes a reference count variable. + * + * Since: 2.58 + */ + + +/** * g_regex_check_replacement: * @replacement: the replacement string * @has_references: (out) (optional): location to store information about @@ -28160,6 +28334,11 @@ * context. The reverse * mapping from ID to source is done by g_main_context_find_source_by_id(). * + * You can only call this function while the source is associated to a + * #GMainContext instance; calling this function before g_source_attach() + * or after g_source_destroy() yields undefined behavior. The ID returned + * is unique within the #GMainContext instance passed to g_source_attach(). + * * Returns: the ID (greater than 0) for the source */ @@ -28478,7 +28657,8 @@ * * The exact type of @func depends on the type of source; ie. you * should not count on @func being called with @data as its first - * parameter. + * parameter. Cast @func with G_SOURCE_FUNC() to avoid warnings about + * incompatible function types. * * See [memory management of sources][mainloop-memory-management] for details * on how to handle memory management of @data. @@ -28689,6 +28869,44 @@ /** + * g_spawn_async_with_fds: + * @working_directory: (type filename) (nullable): child's current working directory, or %NULL to inherit parent's, in the GLib file name encoding + * @argv: (array zero-terminated=1): child's argument vector, in the GLib file name encoding + * @envp: (array zero-terminated=1) (nullable): child's environment, or %NULL to inherit parent's, in the GLib file name encoding + * @flags: flags from #GSpawnFlags + * @child_setup: (scope async) (nullable): function to run in the child just before exec() + * @user_data: (closure): user data for @child_setup + * @child_pid: (out) (optional): return location for child process ID, or %NULL + * @stdin_fd: file descriptor to use for child's stdin, or -1 + * @stdout_fd: file descriptor to use for child's stdout, or -1 + * @stderr_fd: file descriptor to use for child's stderr, or -1 + * @error: return location for error + * + * Identical to g_spawn_async_with_pipes() but instead of + * creating pipes for the stdin/stdout/stderr, you can pass existing + * file descriptors into this function through the @stdin_fd, + * @stdout_fd and @stderr_fd parameters. The following @flags + * also have their behaviour slightly tweaked as a result: + * + * %G_SPAWN_STDOUT_TO_DEV_NULL means that the child's standard output + * will be discarded, instead of going to the same location as the parent's + * standard output. If you use this flag, @standard_output must be -1. + * %G_SPAWN_STDERR_TO_DEV_NULL means that the child's standard error + * will be discarded, instead of going to the same location as the parent's + * standard error. If you use this flag, @standard_error must be -1. + * %G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's + * standard input (by default, the child's standard input is attached to + * /dev/null). If you use this flag, @standard_input must be -1. + * + * It is valid to pass the same fd in multiple parameters (e.g. you can pass + * a single fd for both stdout and stderr). + * + * Returns: %TRUE on success, %FALSE if an error was set + * Since: 2.58 + */ + + +/** * g_spawn_async_with_pipes: * @working_directory: (type filename) (nullable): child's current working * directory, or %NULL to inherit parent's, in the GLib file name encoding @@ -28774,10 +28992,11 @@ * is equivalent to calling CloseHandle() on the process handle returned * in @child_pid). See g_child_watch_add(). * - * %G_SPAWN_LEAVE_DESCRIPTORS_OPEN means that the parent's open file - * descriptors will be inherited by the child; otherwise all descriptors - * except stdin/stdout/stderr will be closed before calling exec() in - * the child. %G_SPAWN_SEARCH_PATH means that @argv[0] need not be an + * Open UNIX file descriptors marked as `FD_CLOEXEC` will be automatically + * closed in the child process. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN means that + * other open file descriptors will be inherited by the child; otherwise all + * descriptors except stdin/stdout/stderr will be closed before calling exec() + * in the child. %G_SPAWN_SEARCH_PATH means that @argv[0] need not be an * absolute path, it will be looked for in the `PATH` environment * variable. %G_SPAWN_SEARCH_PATH_FROM_ENVP means need not be an * absolute path, it will be looked for in the `PATH` variable from @@ -28852,6 +29071,21 @@ * If @child_pid is not %NULL and an error does not occur then the returned * process reference must be closed using g_spawn_close_pid(). * + * On modern UNIX platforms, GLib can use an efficient process launching + * codepath driven internally by posix_spawn(). This has the advantage of + * avoiding the fork-time performance costs of cloning the parent process + * address space, and avoiding associated memory overcommit checks that are + * not relevant in the context of immediately executing a distinct process. + * This optimized codepath will be used provided that the following conditions + * are met: + * + * 1. %G_SPAWN_DO_NOT_REAP_CHILD is set + * 2. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN is set + * 3. %G_SPAWN_SEARCH_PATH_FROM_ENVP is not set + * 4. @working_directory is %NULL + * 5. @child_setup is %NULL + * 6. The program is of a recognised binary format, or has a shebang. Otherwise, GLib will have to execute the program through the shell, which is not done using the optimized codepath. + * * If you are writing a GTK+ application, and the program you are spawning is a * graphical application too, then to ensure that the spawned program opens its * windows on the right screen, you may want to use #GdkAppLaunchContext, @@ -29096,9 +29330,9 @@ * @key_equal_func parameter, when using non-%NULL strings as keys in a * #GHashTable. * - * Note that this function is primarily meant as a hash table comparison - * function. For a general-purpose, %NULL-safe string comparison function, - * see g_strcmp0(). + * This function is typically used for hash table comparisons, but can be used + * for general purpose comparisons of non-%NULL strings. For a %NULL-safe string + * comparison function, see g_strcmp0(). * * Returns: %TRUE if the two keys match */ @@ -35375,7 +35609,7 @@ * It is an error to call this function with a @value of any type * other than %G_VARIANT_TYPE_BYTE. * - * Returns: a #guchar + * Returns: a #guint8 * Since: 2.24 */ @@ -35558,7 +35792,7 @@ * the appropriate type: * - %G_VARIANT_TYPE_INT16 (etc.): #gint16 (etc.) * - %G_VARIANT_TYPE_BOOLEAN: #guchar (not #gboolean!) - * - %G_VARIANT_TYPE_BYTE: #guchar + * - %G_VARIANT_TYPE_BYTE: #guint8 * - %G_VARIANT_TYPE_HANDLE: #guint32 * - %G_VARIANT_TYPE_DOUBLE: #gdouble * @@ -38171,6 +38405,23 @@ /** + * gatomicrefcount: + * + * A type for implementing atomic reference count semantics. + * + * Use g_atomic_ref_count_init() to initialize it; g_atomic_ref_count_inc() + * to increase the counter, and g_atomic_ref_count_dec() to decrease it. + * + * It is safe to use #gatomicrefcount if you're expecting to operate on the + * reference counter from multiple threads. + * + * See also: #grefcount + * + * Since: 2.58 + */ + + +/** * gboolean: * * A standard boolean type. @@ -38443,6 +38694,25 @@ /** + * grefcount: + * + * A type for implementing non-atomic reference count semantics. + * + * Use g_ref_count_init() to initialize it; g_ref_count_inc() to + * increase the counter, and g_ref_count_dec() to decrease it. + * + * It is safe to use #grefcount only if you're expecting to operate + * on the reference counter from a single thread. It is entirely up + * to you to ensure that all reference count changes happen in the + * same thread. + * + * See also: #gatomicrefcount + * + * Since: 2.58 + */ + + +/** * gshort: * * Corresponds to the standard C short type. diff --git a/gir/gobject-2.0.c b/gir/gobject-2.0.c index e9450fc8..1c7f8cfc 100644 --- a/gir/gobject-2.0.c +++ b/gir/gobject-2.0.c @@ -444,7 +444,7 @@ * * Type instance and class structs are limited to a total of 64 KiB, * including all parent types. Similarly, type instances' private data - * (as created by g_type_class_add_private()) are limited to a total of + * (as created by G_ADD_PRIVATE()) are limited to a total of * 64 KiB. If a type instance needs a large static buffer, allocate it * separately (typically by using #GArray or #GPtrArray) and put a pointer * to the buffer in the structure. @@ -5267,6 +5267,8 @@ * ]| * * Since: 2.4 + * Deprecated: 2.58: Use the G_ADD_PRIVATE() macro with the `G_DEFINE_*` + * family of macros to add instance private data to a type */ |