1 /************************************************************/
2 /* THIS FILE IS GENERATED DO NOT EDIT */
3 /************************************************************/
6 * g_mount_guess_content_type:
8 * @force_rescan: Whether to force a rescan of the content. Otherwise a cached result will be used if available
9 * @cancellable: optional #GCancellable object, %NULL to ignore
10 * @callback: a #GAsyncReadyCallback
11 * @user_data: user data passed to @callback
13 * Tries to guess the type of content stored on @mount. Returns one or
14 * more textual identifiers of well-known content types (typically
15 * prefixed with "x-content/"), e.g. x-content/image-dcf for camera
16 * memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink>
17 * specification for more on x-content types.
18 * This is an asynchronous operation (see
19 * g_mount_guess_content_type_sync() for the synchronous version), and
20 * is finished by calling g_mount_guess_content_type_finish() with the
27 * GFileQueryInfoFlags:
28 * @G_FILE_QUERY_INFO_NONE: No flags set.
29 * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks.
31 * Flags used when querying a #GFileInfo.
36 * g_output_stream_flush_async:
37 * @stream: a #GOutputStream.
38 * @io_priority: the io priority of the request.
39 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
40 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
41 * @user_data: (closure): the data to pass to callback function
43 * Flushes a stream asynchronously.
44 * For behaviour details see g_output_stream_flush().
45 * When the operation is finished @callback will be
46 * called. You can then call g_output_stream_flush_finish() to get the
47 * result of the operation.
52 * GZlibDecompressor:file-info:
54 * A #GFileInfo containing the information found in the GZIP header
55 * of the data stream processed, or %NULL if the header was not yet
56 * fully processed, is not present at all, or the compressor's
57 * #GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP.
64 * G_VARIANT_TYPE_STRING_ARRAY:
66 * The type of an array of strings.
71 * g_file_attribute_info_list_ref:
72 * @list: a #GFileAttributeInfoList to reference.
74 * References a file attribute info list.
76 * Returns: #GFileAttributeInfoList or %NULL on error.
81 * g_drive_is_media_check_automatic:
84 * Checks if @drive is capabable of automatically detecting media changes.
85 * media changes, %FALSE otherwise.
87 * Returns: %TRUE if the @drive is capabable of automatically detecting
92 * GUnixCredentialsMessage:
94 * The #GUnixCredentialsMessage structure contains only private data
95 * and should only be accessed using the provided API.
102 * g_dbus_message_set_header:
103 * @message: A #GDBusMessage.
104 * @header_field: A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration)
105 * @value: A #GVariant to set the header field or %NULL to clear the header field.
107 * Sets a header field on @message.
108 * If @value is floating, @message assumes ownership of @value.
115 * G_FILE_ATTRIBUTE_FILESYSTEM_TYPE:
117 * A key in the "filesystem" namespace for getting the file system's type.
118 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
123 * g_app_info_add_supports_type:
124 * @appinfo: a #GAppInfo.
125 * @content_type: a string.
128 * Adds a content type to the application information to indicate the
129 * application is capable of opening files with the given content type.
131 * Returns: %TRUE on success, %FALSE on error.
136 * g_file_info_get_size:
137 * @info: a #GFileInfo.
139 * Gets the file's size.
141 * Returns: a #goffset containing the file's size.
146 * g_dbus_interface_info_lookup_signal:
147 * @info: A #GDBusInterfaceInfo.
148 * @name: A D-Bus signal name (typically in CamelCase)
150 * Looks up information about a signal.
151 * This cost of this function is O(n) in number of signals.
153 * Returns: A #GDBusSignalInfo or %NULL if not found. Do not free, it is owned by @info.
159 * g_dbus_connection_flush_sync:
160 * @connection: A #GDBusConnection.
161 * @cancellable: A #GCancellable or %NULL.
162 * @error: Return location for error or %NULL.
164 * Synchronously flushes @connection. The calling thread is blocked
165 * until this is done. See g_dbus_connection_flush() for the
166 * asynchronous version of this method and more details about what it
169 * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
175 * g_dbus_message_set_signature:
176 * @message: A #GDBusMessage.
177 * @value: The value to set.
179 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
186 * GTlsBackendInterface:
187 * @g_iface: The parent interface.
188 * @get_certificate_type: returns the #GTlsCertificate implementation type
189 * @get_client_connection_type: returns the #GTlsClientConnection implementation type
190 * @get_server_connection_type: returns the #GTlsServerConnection implementation type
192 * Provides an interface for describing TLS-related types.
199 * g_file_make_symbolic_link:
200 * @file: a #GFile with the name of the symlink to create
201 * @symlink_value: a string with the path for the target of the new symlink
202 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
205 * Creates a symbolic link named @file which contains the string
206 * If @cancellable is not %NULL, then the operation can be cancelled by
207 * triggering the cancellable object from another thread. If the operation
208 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
210 * Returns: %TRUE on the creation of a new symlink, %FALSE otherwise.
215 * g_io_stream_has_pending:
216 * @stream: a #GIOStream
218 * Checks if a stream has pending actions.
220 * Returns: %TRUE if @stream has pending actions.
227 * @g_class: Location of a valid #GTypeClass structure.
229 * Get the type identifier from a given @class structure.
230 * This macro should only be used in type implementations.
232 * Returns: the #GType
238 * @g_iface: The parent interface.
239 * @get_user_data: Gets the user data passed to the callback.
240 * @get_source_object: Gets the source object that issued the asynchronous operation.
242 * Interface definition for #GAsyncResult.
249 * The fundamental type corresponding to #guchar.
254 * g_dbus_message_get_message_type:
255 * @message: A #GDBusMessage.
257 * Gets the type of @message.
259 * Returns: A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration).
265 * SECTION:gdbusnamewatchin:
266 * @title: Watching Bus Names
267 * @short_description: Simple API for watching bus names
268 * @include: gio/gio.h
270 * Convenience API for watching bus names.
271 * <example id="gdbus-watching-names"><title>Simple application watching a name</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-watch-name.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
276 * GDBusProxy:g-flags:
278 * Flags from the #GDBusProxyFlags enumeration.
285 * g_socket_listener_new:
287 * Creates a new #GSocketListener with no sockets to listen for.
288 * New listeners can be added with e.g. g_socket_listener_add_address()
289 * or g_socket_listener_add_inet_port().
291 * Returns: a new #GSocketListener.
297 * g_tls_client_connection_set_use_ssl3:
298 * @conn: the #GTlsClientConnection
299 * @use_ssl3: whether to use SSL 3.0
301 * If @use_ssl3 is %TRUE, this forces @conn to use SSL 3.0 rather than
302 * trying to properly negotiate the right version of TLS or SSL to use.
303 * This can be used when talking to servers that do not implement the
304 * fallbacks correctly and which will therefore fail to handshake with
305 * a "modern" TLS handshake attempt.
312 * g_bus_watch_name_with_closures:
313 * @bus_type: The type of bus to watch a name on.
314 * @name: The name (well-known or unique) to watch.
315 * @flags: Flags from the #GBusNameWatcherFlags enumeration.
316 * @name_appeared_closure: (allow-none): #GClosure to invoke when @name is known to exist or %NULL.
317 * @name_vanished_closure: (allow-none): #GClosure to invoke when @name is known to not exist or %NULL.
319 * Version of g_bus_watch_name() using closures instead of callbacks for
320 * easier binding in other languages.
321 * g_bus_unwatch_name() to stop watching the name.
323 * Returns: An identifier (never 0) that an be used with
324 * Rename to: g_bus_watch_name
330 * g_tls_connection_set_certificate:
331 * @conn: a #GTlsConnection
332 * @certificate: the certificate to use for @conn
334 * This sets the certificate that @conn will present to its peer
335 * during the TLS handshake. For a #GTlsServerConnection, it is
336 * mandatory to set this, and that will normally be done at construct
338 * For a #GTlsClientConnection, this is optional. If a handshake fails
339 * with %G_TLS_ERROR_CERTIFICATE_REQUIRED, that means that the server
340 * requires a certificate, and if you try connecting again, you should
341 * call this method first. You can call
342 * g_tls_client_connection_get_accepted_cas() on the failed connection
343 * to get a list of Certificate Authorities that the server will
344 * accept certificates from.
345 * (It is also possible that a server will allow the connection with
346 * or without a certificate; in that case, if you don't provide a
347 * certificate, you can tell that the server requested one by the fact
348 * that g_tls_client_connection_get_accepted_cas() will return
356 * GObjectSetPropertyFunc:
357 * @object: a #GObject
358 * @property_id: the numeric id under which the property was registered with g_object_class_install_property().
359 * @value: the new value for the property
360 * @pspec: the #GParamSpec describing the property
362 * The type of the @set_property function of #GObjectClass.
367 * GSocketControlMessageClass:
368 * @get_size: gets the size of the message.
369 * @get_level: gets the protocol of the message.
370 * @get_type: gets the protocol specific type of the message.
371 * @serialize: Writes out the message data.
372 * @deserialize: Tries to deserialize a message.
379 * g_converter_output_stream_new:
380 * @base_stream: a #GOutputStream
381 * @converter: a #GConverter
383 * Creates a new converter output stream for the @base_stream.
385 * Returns: a new #GOutputStream.
390 * GPollableOutputStreamInterface:
391 * @g_iface: The parent interface.
392 * @can_poll: Checks if the #GPollableOutputStream instance is actually pollable
393 * @is_writable: Checks if the stream is writable
394 * @create_source: Creates a #GSource to poll the stream
395 * @write_nonblocking: Does a non-blocking write or returns %G_IO_ERROR_WOULD_BLOCK
397 * The interface for pollable output streams.
398 * The default implementation of @can_poll always returns %TRUE.
399 * The default implementation of @write_nonblocking calls
400 * g_pollable_output_stream_is_writable(), and then calls
401 * g_output_stream_write() if it returns %TRUE. This means you only
402 * need to override it if it is possible that your @is_writable
403 * implementation may return %TRUE when the stream is not actually
412 * @g_class: The #GTypeClass structure to initialize.
414 * A callback function used by the type system to do base initialization
415 * of the class structures of derived types. It is called as part of the
416 * initialization process of all derived classes and should reallocate
417 * or reset all dynamic class members copied over from the parent class.
418 * For example, class members (such as strings) that are not sufficiently
419 * handled by a plain memory copy of the parent class into the derived class
420 * have to be altered. See GClassInitFunc() for a discussion of the class
421 * intialization process.
428 * Defines a Unix mount point (e.g. <filename>/dev</filename>).
429 * This corresponds roughly to a fstab entry.
434 * g_async_result_get_user_data:
435 * @res: a #GAsyncResult.
437 * Gets the user data from a #GAsyncResult.
439 * Returns: (transfer full): the user data for @res.
444 * g_file_poll_mountable:
445 * @file: input #GFile.
446 * @cancellable: optional #GCancellable object, %NULL to ignore.
447 * @callback: a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
448 * @user_data: the data to pass to callback function
450 * Polls a file of type G_FILE_TYPE_MOUNTABLE.
451 * If @cancellable is not %NULL, then the operation can be cancelled by
452 * triggering the cancellable object from another thread. If the operation
453 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
454 * When the operation is finished, @callback will be called. You can then call
455 * g_file_mount_mountable_finish() to get the result of the operation.
462 * g_socket_check_connect_result:
463 * @socket: a #GSocket
464 * @error: #GError for error reporting, or %NULL to ignore.
466 * Checks and resets the pending connect error for the socket.
467 * This is used to check for errors when g_socket_connect() is
468 * used in non-blocking mode.
470 * Returns: %TRUE if no error, %FALSE otherwise, setting @error to the error
477 * @filename: filename of the shared library module.
479 * Creates a new GIOModule that will load the specific
480 * shared library when in use.
483 * Returns: a #GIOModule from given @filename,
488 * GTlsConnection::accept-certificate:
489 * @conn: a #GTlsConnection
490 * @peer_cert: the peer's #GTlsCertificate
491 * @errors: the problems with @peer_cert.
493 * Emitted during the TLS handshake after the peer certificate has
494 * been received. You can examine @peer_cert's certification path by
495 * calling g_tls_certificate_get_issuer() on it.
496 * For a client-side connection, @peer_cert is the server's
497 * certificate, and the signal will only be emitted if the
498 * certificate was not acceptable according to @conn's
499 * #GTlsClientConnection:validation_flags. If you would like the
500 * certificate to be accepted despite @errors, return %TRUE from the
501 * signal handler. Otherwise, if no handler accepts the certificate,
502 * the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE.
503 * For a server-side connection, @peer_cert is the certificate
504 * presented by the client, if this was requested via the server's
505 * #GTlsServerConnection:authentication_mode. On the server side,
506 * the signal is always emitted when the client presents a
507 * certificate, and the certificate will only be accepted if a
508 * handler returns %TRUE.
509 * Note that if this signal is emitted as part of asynchronous I/O
510 * in the main thread, then you should not attempt to interact with
511 * the user before returning from the signal handler. If you want to
512 * let the user decide whether or not to accept the certificate, you
513 * would have to return %FALSE from the signal handler on the first
514 * attempt, and then after the connection attempt returns a
515 * %G_TLS_ERROR_HANDSHAKE, you can interact with the user, and if
516 * the user decides to accept the certificate, remember that fact,
517 * create a new connection, and return %TRUE from the signal handler
519 * If you are doing I/O in another thread, you do not
520 * need to worry about this, and can simply block in the signal
521 * handler until the UI thread returns an answer.
522 * immediately end the signal emission). %FALSE to allow the signal
523 * emission to continue, which will cause the handshake to fail if
524 * no one else overrides it.
526 * Returns: %TRUE to accept @peer_cert (which will also
533 * @option_name: The name of the option being parsed. This will be either a single dash followed by a single letter (for a short name) or two dashes followed by a long option name.
534 * @value: The value to be parsed.
535 * @data: User data added to the #GOptionGroup containing the option when it was created with g_option_group_new()
536 * @error: A return location for errors. The error code %G_OPTION_ERROR_FAILED is intended to be used for errors in #GOptionArgFunc callbacks.
538 * The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK
540 * occurred, in which case @error should be set with g_set_error()
542 * Returns: %TRUE if the option was successfully parsed, %FALSE if an error
548 * @application_id: the application id
549 * @flags: the application flags
550 * @returns: a new #GApplication instance
552 * Creates a new #GApplication instance.
553 * This function calls g_type_init() for you.
554 * The application id must be valid. See g_application_id_is_valid().
559 * g_dbus_connection_get_capabilities:
560 * @connection: A #GDBusConnection.
562 * Gets the capabilities negotiated with the remote peer
564 * Returns: Zero or more flags from the #GDBusCapabilityFlags enumeration.
572 * A single target host/port that a network service is running on.
577 * g_dbus_connection_close:
578 * @connection: A #GDBusConnection.
579 * @cancellable: A #GCancellable or %NULL.
580 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result.
581 * @user_data: The data to pass to @callback.
583 * Closes @connection. Note that this never causes the process to
584 * exit (this might only happen if the other end of a shared message
585 * bus connection disconnects, see #GDBusConnection:exit-on-close).
586 * Once the connection is closed, operations such as sending a message
587 * will return with the error %G_IO_ERROR_CLOSED. Closing a connection
588 * will not automatically flush the connection so queued messages may
589 * be lost. Use g_dbus_connection_flush() if you need such guarantees.
590 * If @connection is already closed, this method fails with
591 * %G_IO_ERROR_CLOSED.
592 * When @connection has been closed, the #GDBusConnection::closed
593 * signal is emitted in the <link
594 * linkend="g-main-context-push-thread-default">thread-default main
595 * loop</link> of the thread that @connection was constructed in.
596 * This is an asynchronous method. When the operation is finished,
597 * linkend="g-main-context-push-thread-default">thread-default main
598 * loop</link> of the thread you are calling this method from. You can
599 * then call g_dbus_connection_close_finish() to get the result of the
600 * operation. See g_dbus_connection_close_sync() for the synchronous
608 * g_resolver_lookup_by_address:
609 * @resolver: a #GResolver
610 * @address: the address to reverse-resolve
611 * @cancellable: a #GCancellable, or %NULL
612 * @error: return location for a #GError, or %NULL
614 * Synchronously reverse-resolves @address to determine its
615 * associated hostname.
616 * If the DNS resolution fails, @error (if non-%NULL) will be set to
617 * a value from #GResolverError.
618 * If @cancellable is non-%NULL, it can be used to cancel the
619 * operation, in which case @error (if non-%NULL) will be set to
620 * %G_IO_ERROR_CANCELLED.
621 * form), or %NULL on error.
623 * Returns: a hostname (either ASCII-only, or in ASCII-encoded
629 * GDataStream:newline-type:
631 * The :newline-type property determines what is considered
632 * as a line ending when reading complete lines from the stream.
637 * GFileProgressCallback:
638 * @current_num_bytes: the current number of bytes in the operation.
639 * @total_num_bytes: the total number of bytes in the operation.
640 * @user_data: user data passed to the callback.
642 * When doing file operations that may take a while, such as moving
643 * a file or copying a file, a progress callback is used to pass how
644 * far along that operation is to the application.
651 * All the fields in the <structname>GInitiallyUnowned</structname> structure
652 * are private to the #GInitiallyUnowned implementation and should never be
660 * The <structname>GApplication</structname> structure contains private
661 * data and should only be accessed using the provided API
668 * SECTION:gdbusnameownin:
669 * @title: Owning Bus Names
670 * @short_description: Simple API for owning bus names
671 * @include: gio/gio.h
673 * Convenience API for owning bus names.
674 * <example id="gdbus-owning-names"><title>Simple application owning a name</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-own-name.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
679 * GInetAddress:is-loopback:
681 * Whether this is the loopback address for its family.
682 * See g_inet_address_get_is_loopback().
689 * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER:
691 * A key in the "standard" namespace for setting the sort order of a file.
692 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32.
693 * An example use would be in file managers, which would use this key
694 * to set the order files are displayed. Files with smaller sort order
695 * should be sorted first, and files without sort order as if sort order
703 * An opaque structure used as the base of all interface types.
710 * The type ID of the "GValue" type which is a boxed type,
711 * used to pass around pointers to GValues.
718 * The path within the backend where the settings are stored.
723 * GDBusMethodInvocationClass:
725 * Class structure for #GDBusMethodInvocation.
732 * G_PARAM_SPEC_TYPE_NAME:
733 * @pspec: a valid #GParamSpec
735 * Retrieves the #GType name of this @pspec.
740 * g_dbus_method_invocation_get_user_data: (skip)
741 * @invocation: A #GDBusMethodInvocation.
743 * Gets the @user_data #gpointer passed to g_dbus_connection_register_object().
745 * Returns: A #gpointer.
751 * g_unix_mount_point_guess_icon:
752 * @mount_point: a #GUnixMountPoint
754 * Guesses the icon of a Unix mount point.
756 * Returns: (transfer full): a #GIcon
762 * @settings: a #GSettings object
763 * @key: the key to get the value for
764 * @format: a #GVariant format string
765 * @...: arguments as per @format
767 * Gets the value that is stored at @key in @settings.
768 * A convenience function that combines g_settings_get_value() with
770 * It is a programmer error to give a @key that isn't contained in the
771 * schema for @settings or for the #GVariantType of @format to mismatch
772 * the type given in the schema.
779 * g_socket_control_message_get_size:
780 * @message: a #GSocketControlMessage
782 * Returns the space required for the control message, not including
783 * headers or alignment.
785 * Returns: The number of bytes required.
791 * g_settings_new_with_path:
792 * @schema: the name of the schema
793 * @path: the path to use
794 * @returns: a new #GSettings object
796 * Creates a new #GSettings object with a given schema and path.
797 * You only need to do this if you want to directly create a settings
798 * object with a schema that doesn't have a specified path of its own.
800 * It is a programmer error to call this function for a schema that
801 * has an explicitly specified path.
808 * g_file_info_set_edit_name:
809 * @info: a #GFileInfo.
810 * @edit_name: a string containing an edit name.
812 * Sets the edit name for the current file.
813 * See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME.
821 * Checks if a drive can be started.
823 * Returns: %TRUE if the @drive can be started, %FALSE otherwise.
829 * g_socket_service_is_active:
830 * @service: a #GSocketService
832 * Check whether the service is active or not. An active
833 * service will accept new clients that connect, while
834 * a non-active service will let connecting clients queue
835 * up until the service is started.
837 * Returns: %TRUE if the service is active, %FALSE otherwise
846 * Returns %TRUE if a #GNode is a leaf node.
847 * (i.e. it has no children)
849 * Returns: %TRUE if the #GNode is a leaf node
854 * GTlsConnection:rehandshake-mode:
856 * The rehandshaking mode. See
857 * g_tls_connection_set_rehandshake_mode().
864 * g_proxy_address_get_usernam:
865 * @proxy: a #GProxyAddress
867 * Gets @proxy's username.
869 * Returns: the @proxy's username
876 * @initable: a #GInitable.
877 * @cancellable: optional #GCancellable object, %NULL to ignore.
878 * @error: a #GError location to store the error occuring, or %NULL to ignore.
880 * Initializes the object implementing the interface. This must be
881 * done before any real use of the object after initial construction.
882 * Implementations may also support cancellation. If @cancellable is not %NULL,
883 * then initialization can be cancelled by triggering the cancellable object
884 * from another thread. If the operation was cancelled, the error
885 * %G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL and
886 * the object doesn't support cancellable initialization the error
887 * %G_IO_ERROR_NOT_SUPPORTED will be returned.
888 * If this function is not called, or returns with an error then all
889 * operations on the object should fail, generally returning the
890 * error %G_IO_ERROR_NOT_INITIALIZED.
891 * Implementations of this method must be idempotent, i.e. multiple calls
892 * to this function with the same argument should return the same results.
893 * Only the first call initializes the object, further calls return the result
894 * of the first call. This is so that its safe to implement the singleton
895 * pattern in the GObject constructor function.
896 * return %FALSE and set @error appropriately if present.
898 * Returns: %TRUE if successful. If an error has occurred, this function will
904 * g_drive_enumerate_identifiers:
907 * Gets the kinds of identifiers that @drive has.
908 * Use g_drive_get_identifer() to obtain the identifiers
910 * kinds of identifiers. Use g_strfreev() to free.
912 * Returns: (transfer full): a %NULL-terminated array of strings containing
917 * g_volume_monitor_get_volumes:
918 * @volume_monitor: a #GVolumeMonitor.
920 * Gets a list of the volumes on the system.
921 * The returned list should be freed with g_list_free(), after
922 * its elements have been unreffed with g_object_unref().
924 * Returns: (element-type GVolume) (transfer full): a #GList of #GVolume objects.
929 * g_dbus_message_new_signal:
930 * @path: A valid object path.
931 * @interface_: A valid D-Bus interface name.
932 * @signal: A valid signal name.
934 * Creates a new #GDBusMessage for a signal emission.
936 * Returns: A #GDBusMessage. Free with g_object_unref().
942 * g_settings_bind_writable:
943 * @settings: a #GSettings object
944 * @key: the key to bind
945 * @object: (type GObject.Object): a #GObject
946 * @property: the name of a boolean property to bind
947 * @inverted: whether to 'invert' the value
949 * Create a binding between the writability of @key in the
950 * The property must be boolean; "sensitive" or "visible"
951 * properties of widgets are the most likely candidates.
952 * Writable bindings are always uni-directional; changes of the
953 * writability of the setting will be propagated to the object
954 * property, not the other way.
955 * When the @inverted argument is %TRUE, the binding inverts the
956 * value as it passes from the setting to the object, i.e. @property
957 * will be set to %TRUE if the key is <emphasis>not</emphasis>
959 * Note that the lifecycle of the binding is tied to the object,
960 * and that you can have only one binding per object property.
961 * If you bind the same property twice on the same object, the second
962 * binding overrides the first one.
969 * g_memory_input_stream_new_from_data:
971 * @len: length of the data, may be -1 if @data is a nul-terminated string
972 * @destroy: function that is called to free @data, or %NULL
974 * Creates a new #GMemoryInputStream with data in memory of a given size.
976 * Returns: new #GInputStream read from @data of @len bytes.
981 * G_ENUM_CLASS_TYPE_NAME:
982 * @class: a #GEnumClass
984 * Get the static type name from a given #GEnumClass structure.
986 * Returns: the type name.
992 * @buffer: Pointer to a buffer where data will be written.
993 * @size: the available size in @buffer.
995 * Structure used for scatter/gather data input.
996 * You generally pass in an array of #GInputVector<!-- -->s
997 * and the operation will store the read data starting in the
998 * first buffer, switching to the next as needed.
1005 * g_socket_connection_get_socket:
1006 * @connection: a #GSocketConnection
1008 * Gets the underlying #GSocket object of the connection.
1009 * This can be useful if you want to do something unusual on it
1010 * not supported by the #GSocketConnection APIs.
1012 * Returns: (transfer none): a #GSocketAddress or %NULL on error.
1018 * g_input_stream_is_closed:
1019 * @stream: input stream.
1021 * Checks if an input stream is closed.
1023 * Returns: %TRUE if the stream is closed.
1028 * g_credentials_get_native: (skip)
1029 * @credentials: A #GCredentials.
1030 * @native_type: The type of native credentials to get.
1032 * Gets a pointer to native credentials of type @native_type from
1033 * It is a programming error (which will cause an warning to be
1034 * logged) to use this method if there is no #GCredentials support for
1035 * the OS or if @native_type isn't supported by the OS.
1036 * operation there is no #GCredentials support for the OS or if
1037 * data, it is owned by @credentials.
1039 * Returns: The pointer to native credentials or %NULL if the
1045 * G_TYPE_PARAM_UCHAR:
1047 * The #GType of #GParamSpecUChar.
1052 * G_TYPE_PARAM_POINTER:
1054 * The #GType of #GParamSpecPointer.
1059 * g_file_replace_contents:
1060 * @file: input #GFile.
1061 * @contents: a string containing the new contents for @file.
1062 * @length: the length of @contents in bytes.
1063 * @etag: (allow-none): the old <link linkend="gfile-etag">entity tag</link> for the document, or %NULL
1064 * @make_backup: %TRUE if a backup should be created.
1065 * @flags: a set of #GFileCreateFlags.
1066 * @new_etag: (allow-none) (out): a location to a new <link linkend="gfile-etag">entity tag</link> for the document. This should be freed with g_free() when no longer needed, or %NULL
1067 * @cancellable: optional #GCancellable object, %NULL to ignore.
1068 * @error: a #GError, or %NULL
1070 * Replaces the contents of @file with @contents of @length bytes.
1071 * If @etag is specified (not %NULL) any existing file must have that etag, or
1072 * the error %G_IO_ERROR_WRONG_ETAG will be returned.
1073 * If @make_backup is %TRUE, this function will attempt to make a backup of @file.
1074 * If @cancellable is not %NULL, then the operation can be cancelled by
1075 * triggering the cancellable object from another thread. If the operation
1076 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
1077 * The returned @new_etag can be used to verify that the file hasn't changed the
1078 * next time it is saved over.
1079 * has occurred, this function will return %FALSE and set @error
1080 * appropriately if present.
1082 * Returns: %TRUE if successful. If an error
1087 * g_inet_address_to_bytes:
1088 * @address: a #GInetAddress
1090 * Gets the raw binary address data from @address.
1091 * which should not be modified, stored, or freed. The size of this
1092 * array can be gotten with g_inet_address_get_native_size().
1094 * Returns: a pointer to an internal array of the bytes in @address,
1100 * G_TYPE_HASH_TABLE:
1102 * The #GType for a boxed type holding a #GHashTable reference.
1110 * @file: input #GFile.
1112 * Gets the local pathname for #GFile, if one exists.
1113 * This call does no blocking i/o.
1114 * no such path exists. The returned string should be
1115 * freed with g_free() when no longer needed.
1117 * Returns: string containing the #GFile's path, or %NULL if
1123 * @G_IO_ERROR_FAILED: Generic error condition for when any operation fails.
1124 * @G_IO_ERROR_NOT_FOUND: File not found error.
1125 * @G_IO_ERROR_EXISTS: File already exists error.
1126 * @G_IO_ERROR_IS_DIRECTORY: File is a directory error.
1127 * @G_IO_ERROR_NOT_DIRECTORY: File is not a directory.
1128 * @G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty.
1129 * @G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file.
1130 * @G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link.
1131 * @G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted.
1132 * @G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters.
1133 * @G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters.
1134 * @G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links.
1135 * @G_IO_ERROR_NO_SPACE: No space left on drive.
1136 * @G_IO_ERROR_INVALID_ARGUMENT: Invalid argument.
1137 * @G_IO_ERROR_PERMISSION_DENIED: Permission denied.
1138 * @G_IO_ERROR_NOT_SUPPORTED: Operation not supported for the current backend.
1139 * @G_IO_ERROR_NOT_MOUNTED: File isn't mounted.
1140 * @G_IO_ERROR_ALREADY_MOUNTED: File is already mounted.
1141 * @G_IO_ERROR_CLOSED: File was closed.
1142 * @G_IO_ERROR_CANCELLED: Operation was cancelled. See #GCancellable.
1143 * @G_IO_ERROR_PENDING: Operations are still pending.
1144 * @G_IO_ERROR_READ_ONLY: File is read only.
1145 * @G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created.
1146 * @G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect.
1147 * @G_IO_ERROR_TIMED_OUT: Operation timed out.
1148 * @G_IO_ERROR_WOULD_RECURSE: Operation would be recursive.
1149 * @G_IO_ERROR_BUSY: File is busy.
1150 * @G_IO_ERROR_WOULD_BLOCK: Operation would block.
1151 * @G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations).
1152 * @G_IO_ERROR_WOULD_MERGE: Operation would merge files.
1153 * @G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has already interacted with the user. Do not display any error dialog.
1154 * @G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit. Since 2.20
1155 * @G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22
1156 * @G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22
1157 * @G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24
1158 * @G_IO_ERROR_INVALID_DATA: There input data was invalid. Since 2.24
1159 * @G_IO_ERROR_DBUS_ERROR: A remote object generated an error that doesn't correspond to a locally registered #GError error domain. Use g_dbus_error_get_remote_error() to extract the D-Bus error name and g_dbus_error_strip_remote_error() to fix up the message so it matches what was received on the wire. Since 2.26.
1160 * @G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26
1161 * @G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26
1162 * @G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26
1163 * @G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26
1164 * @G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26
1165 * @G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26
1166 * @G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset. Since 2.26
1168 * Error codes returned by GIO functions.
1173 * g_file_input_stream_query_info:
1174 * @stream: a #GFileInputStream.
1175 * @attributes: a file attribute query string.
1176 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
1177 * @error: a #GError location to store the error occuring, or %NULL to ignore.
1179 * Queries a file input stream the given @attributes. This function blocks
1180 * while querying the stream. For the asynchronous (non-blocking) version
1181 * of this function, see g_file_input_stream_query_info_async(). While the
1182 * stream is blocked, the stream will set the pending flag internally, and
1183 * any other operations on the stream will fail with %G_IO_ERROR_PENDING.
1185 * Returns: (transfer full): a #GFileInfo, or %NULL on error.
1190 * G_IS_PARAM_SPEC_ENUM:
1191 * @pspec: a valid #GParamSpec instance
1193 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM.
1195 * Returns: %TRUE on success.
1200 * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME:
1202 * A key in the "standard" namespace for getting the display name of the file.
1203 * A display name is guaranteed to be in UTF8 and can thus be displayed in
1205 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
1210 * g_permission_acquire_finish:
1211 * @permission: a #GPermission instance
1212 * @result: the #GAsyncResult given to the #GAsyncReadyCallback
1213 * @error: a pointer to a %NULL #GError, or %NULL
1214 * @returns: %TRUE if the permission was successfully acquired
1216 * Collects the result of attempting to acquire the permission
1217 * represented by @permission.
1218 * This is the second half of the asynchronous version of
1219 * g_permission_acquire().
1228 * The fundamental type from which all interfaces are derived.
1233 * g_file_mount_enclosing_volume_finish:
1234 * @location: input #GFile.
1235 * @result: a #GAsyncResult.
1236 * @error: a #GError, or %NULL
1238 * Finishes a mount operation started by g_file_mount_enclosing_volume().
1239 * has occurred, this function will return %FALSE and set @error
1240 * appropriately if present.
1242 * Returns: %TRUE if successful. If an error
1247 * g_application_id_is_valid:
1248 * @application_id: a potential application identifier
1249 * @returns: %TRUE if @application_id is valid
1251 * Checks if @application_id is a valid application identifier.
1252 * A valid ID is required for calls to g_application_new() and
1253 * g_application_set_application_id().
1254 * For convenience, the restrictions on application identifiers are
1257 * <listitem>Application identifiers must contain only the ASCII characters "[A-Z][a-z][0-9]_-" and must not begin with a digit.</listitem>
1258 * <listitem>Application identifiers must contain at least one '.' (period) character (and thus at least two elements).</listitem>
1259 * <listitem>Application identifiers must not begin with a '.' (period) character.</listitem>
1260 * <listitem>Application identifiers must not contain consecutive '.' (period) characters.</listitem>
1261 * <listitem>Application identifiers must not exceed 255 characters.</listitem>
1267 * g_resolver_lookup_service_async:
1268 * @resolver: a #GResolver
1269 * @service: the service type to look up (eg, "ldap")
1270 * @protocol: the networking protocol to use for @service (eg, "tcp")
1271 * @domain: the DNS domain to look up the service in
1272 * @cancellable: a #GCancellable, or %NULL
1273 * @callback: callback to call after resolution completes
1274 * @user_data: data for @callback
1276 * Begins asynchronously performing a DNS SRV lookup for the given
1277 * get the final result. See g_resolver_lookup_service() for more
1285 * g_proxy_resolver_lookup:
1286 * @resolver: a #GProxyResolver
1287 * @uri: a URI representing the destination to connect to
1288 * @cancellable: a #GCancellable, or %NULL
1289 * @error: return location for a #GError, or %NULL
1291 * Looks into the system proxy configuration to determine what proxy,
1292 * if any, to use to connect to @uri. The returned proxy URIs are of the
1293 * form <literal><protocol>://[user[:password]@]host:port</literal>
1294 * or <literal>direct://</literal>, where <protocol> could be
1295 * http, rtsp, socks or other proxying protocol.
1296 * If you don't know what network protocol is being used on the
1297 * socket, you should use <literal>none</literal> as the URI protocol.
1298 * In this case, the resolver might still return a generic proxy type
1299 * (such as SOCKS), but would not return protocol-specific proxy types
1301 * <literal>direct://</literal> is used when no proxy is needed.
1302 * Direct connection should not be attempted unless it is part of the
1303 * returned array of proxies.
1306 * Returns: (transfer full) (element-type utf8): A NULL-terminated array of proxy URIs. Must be freed with
1312 * g_data_output_stream_new:
1313 * @base_stream: a #GOutputStream.
1315 * Creates a new data output stream for @base_stream.
1317 * Returns: #GDataOutputStream.
1322 * SECTION:gpollableinputstrea:
1323 * @short_description: Interface for pollable input streams
1324 * @include: gio/gio.h
1325 * @see_also: #GInputStream, #GPollableOutputStream, #GFileDescriptorBased
1327 * #GPollableInputStream is implemented by #GInputStream<!-- -->s that
1328 * can be polled for readiness to read. This can be used when
1329 * interfacing with a non-GIO API that expects
1330 * UNIX-file-descriptor-style asynchronous I/O rather than GIO-style.
1338 * @parent_instance: private #GParamSpec portion
1339 * @default_value: default value for the property specified
1340 * @cset_first: a string containing the allowed values for the first byte
1341 * @cset_nth: a string containing the allowed values for the subsequent bytes
1342 * @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.
1343 * @null_fold_if_empty: replace empty string by %NULL
1344 * @ensure_non_null: replace %NULL strings by an empty string
1346 * A #GParamSpec derived structure that contains the meta data for string
1352 * g_file_make_director:
1353 * @file: input #GFile.
1354 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
1355 * @error: a #GError, or %NULL
1357 * Creates a directory. Note that this will only create a child directory of
1358 * the immediate parent directory of the path or URI given by the #GFile. To
1359 * recursively create directories, see g_file_make_directory_with_parents().
1360 * This function will fail if the parent directory does not exist, setting
1361 * directories, this function will fail, setting @error to
1362 * %G_IO_ERROR_NOT_SUPPORTED.
1363 * For a local #GFile the newly created directory will have the default
1364 * (current) ownership and permissions of the current process.
1365 * If @cancellable is not %NULL, then the operation can be cancelled by
1366 * triggering the cancellable object from another thread. If the operation
1367 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
1369 * Returns: %TRUE on successful creation, %FALSE otherwise.
1374 * g_zlib_compressor_set_file_info:
1375 * @compressor: a #GZlibCompressor
1376 * @file_info: (allow-none): a #GFileInfo
1378 * Sets @file_info in @compressor. If non-%NULL, and @compressor's
1379 * #GZlibCompressor:format property is %G_ZLIB_COMPRESSOR_FORMAT_GZIP,
1380 * it will be used to set the file name and modification time in
1381 * the GZIP header of the compressed data.
1382 * progress; it may only be called immediately after creation of @compressor,
1383 * or after resetting it with g_converter_reset().
1385 * Note: it is an error to call this function while a compression is in
1391 * g_cancellable_make_pollfd:
1392 * @cancellable: a #GCancellable or %NULL
1393 * @pollfd: a pointer to a #GPollFD
1395 * Creates a #GPollFD corresponding to @cancellable; this can be passed
1396 * to g_poll() and used to poll for cancellation. This is useful both
1397 * for unix systems without a native poll and for portability to
1399 * When this function returns %TRUE, you should use
1400 * g_cancellable_release_fd() to free up resources allocated for the
1401 * If this function returns %FALSE, either no @cancellable was given or
1402 * resource limits prevent this function from allocating the necessary
1403 * structures for polling. (On Linux, you will likely have reached
1404 * the maximum number of file descriptors.) The suggested way to handle
1405 * these cases is to ignore the @cancellable.
1406 * You are not supposed to read from the fd yourself, just check for
1407 * readable status. Reading to unset the readable status is done
1408 * with g_cancellable_reset().
1409 * failure to prepare the cancellable.
1411 * Returns: %TRUE if @pollfd was successfully initialized, %FALSE on
1417 * g_file_icon_get_file:
1420 * Gets the #GFile associated with the given @icon.
1422 * Returns: (transfer none): a #GFile, or %NULL.
1429 * A helper class for handling accepting incomming connections in the
1437 * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME:
1439 * A key in the "access" namespace for checking renaming privileges.
1440 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1441 * This attribute will be %TRUE if the user is able to rename the file.
1447 * @seekable: a #GSeekable.
1448 * @offset: a #goffset.
1449 * @type: a #GSeekType.
1450 * @cancellable: optional #GCancellable object, %NULL to ignore.
1451 * @error: a #GError location to store the error occuring, or %NULL to ignore.
1453 * Seeks in the stream by the given @offset, modified by @type.
1454 * If @cancellable is not %NULL, then the operation can be cancelled by
1455 * triggering the cancellable object from another thread. If the operation
1456 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
1457 * has occurred, this function will return %FALSE and set @error
1458 * appropriately if present.
1460 * Returns: %TRUE if successful. If an error
1465 * G_TYPE_IS_INTERFACE:
1466 * @type: A #GType value.
1468 * Checks if @type is an interface type.
1469 * An interface type provides a pure API, the implementation
1470 * of which is provided by another type (which is then said to conform
1471 * to the interface). GLib interfaces are somewhat analogous to Java
1472 * interfaces and C++ classes containing only pure virtual functions,
1473 * with the difference that GType interfaces are not derivable (but see
1474 * g_type_interface_add_prerequisite() for an alternative).
1476 * Returns: %TRUE on success.
1481 * GDBusSubtreeVTable:
1482 * @enumerate: Function for enumerating child nodes.
1483 * @introspect: Function for introspecting a child node.
1484 * @dispatch: Function for dispatching a remote call on a child node.
1486 * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().
1493 * SECTION:gcontenttyp:
1494 * @short_description: Platform-specific content typing
1495 * @include: gio/gio.h
1497 * A content type is a platform specific string that defines the type
1498 * of a file. On unix it is a mime type, on win32 it is an extension string
1499 * like ".doc", ".txt" or a percieved string like "audio". Such strings
1500 * can be looked up in the registry at HKEY_CLASSES_ROOT.
1505 * GDBusConnection:locked:
1507 * A boolean specifying whether the message is locked.
1514 * g_dbus_proxy_call_finish:
1515 * @proxy: A #GDBusProxy.
1516 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_proxy_call().
1517 * @error: Return location for error or %NULL.
1519 * Finishes an operation started with g_dbus_proxy_call().
1520 * return values. Free with g_variant_unref().
1522 * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
1528 * g_socket_client_get_timeout:
1529 * @client: a #GSocketClient
1531 * Gets the I/O timeout time for sockets created by @client.
1532 * See g_socket_client_set_timeout() for details.
1534 * Returns: the timeout in seconds
1540 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT:
1542 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be ejected.
1543 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1548 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT:
1550 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is mountable.
1551 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
1556 * g_socket_address_to_native:
1557 * @address: a #GSocketAddress
1558 * @dest: a pointer to a memory location that will contain the native <type>struct sockaddr</type>.
1559 * @destlen: the size of @dest. Must be at least as large as g_socket_address_get_native_size().
1560 * @error: #GError for error reporting, or %NULL to ignore.
1562 * Converts a #GSocketAddress to a native <type>struct
1563 * sockaddr</type>, which can be passed to low-level functions like
1564 * connect() or bind().
1565 * If not enough space is availible, a %G_IO_ERROR_NO_SPACE error is
1566 * returned. If the address type is not known on the system
1567 * then a %G_IO_ERROR_NOT_SUPPORTED error is returned.
1569 * Returns: %TRUE if @dest was filled in, %FALSE on error
1575 * g_bus_own_name_on_connection_with_closures:
1576 * @connection: A #GDBusConnection.
1577 * @name: The well-known name to own.
1578 * @flags: A set of flags from the #GBusNameOwnerFlags enumeration.
1579 * @name_acquired_closure: (allow-none): #GClosure to invoke when @name is acquired or %NULL.
1580 * @name_lost_closure: (allow-none): #GClosure to invoke when @name is lost or %NULL.
1582 * Version of g_bus_own_name_on_connection() using closures instead of callbacks for
1583 * easier binding in other languages.
1584 * g_bus_unown_name() to stop owning the name.
1586 * Returns: An identifier (never 0) that an be used with
1587 * Rename to: g_bus_own_name_on_connection
1593 * g_socket_client_connect:
1594 * @client: a #GSocketClient.
1595 * @connectable: a #GSocketConnectable specifying the remote address.
1596 * @cancellable: optional #GCancellable object, %NULL to ignore.
1597 * @error: #GError for error reporting, or %NULL to ignore.
1599 * Tries to resolve the @connectable and make a network connection to it..
1600 * Upon a successful connection, a new #GSocketConnection is constructed
1601 * and returned. The caller owns this new object and must drop their
1602 * reference to it when finished with it.
1603 * The type of the #GSocketConnection object returned depends on the type of
1604 * the underlying socket that is used. For instance, for a TCP/IP connection
1605 * it will be a #GTcpConnection.
1606 * The socket created will be the same family as the the address that the
1607 * or indirectly via g_socket_client_set_local_address(). The socket type
1608 * defaults to %G_SOCKET_TYPE_STREAM but can be set with
1609 * g_socket_client_set_socket_type().
1610 * If a local address is specified with g_socket_client_set_local_address() the
1611 * socket will be bound to this address before connecting.
1613 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
1619 * g_settings_unbind:
1620 * @object: the object
1621 * @property: the property whose binding is removed
1623 * Removes an existing binding for @property on @object.
1624 * Note that bindings are automatically removed when the
1625 * object is finalized, so it is rarely necessary to call this
1634 * @g_iface: The parent interface.
1635 * @tell: Tells the current location within a stream.
1636 * @can_seek: Checks if seeking is supported by the stream.
1637 * @seek: Seeks to a location within a stream.
1638 * @can_truncate: Chekcs if truncation is suppored by the stream.
1639 * @truncate_fn: Truncates a stream.
1641 * Provides an interface for implementing seekable functionality on I/O Streams.
1646 * G_TYPE_PARAM_FLAGS:
1648 * The #GType of #GParamSpecFlags.
1653 * g_file_input_stream_query_info_finish:
1654 * @stream: a #GFileInputStream.
1655 * @result: a #GAsyncResult.
1656 * @error: a #GError location to store the error occuring, or %NULL to ignore.
1658 * Finishes an asynchronous info query operation.
1660 * Returns: (transfer full): #GFileInfo.
1665 * GInetAddress:is-mc-link-local:
1667 * Whether this is a link-local multicast address.
1668 * See g_inet_address_get_is_mc_link_local().
1675 * GUnixCredentialsMessage:credentials:
1677 * The credentials stored in the message.
1684 * g_mount_is_shadowed:
1685 * @mount: A #GMount.
1687 * Determines if @mount is shadowed. Applications or libraries should
1688 * avoid displaying @mount in the user interface if it is shadowed.
1689 * A mount is said to be shadowed if there exists one or more user
1690 * visible objects (currently #GMount objects) with a root that is
1691 * inside the root of @mount.
1692 * One application of shadow mounts is when exposing a single file
1693 * system that is used to address several logical volumes. In this
1694 * situation, a #GVolumeMonitor implementation would create two
1695 * #GVolume objects (for example, one for the camera functionality of
1696 * the device and one for a SD card reader on the device) with
1697 * activation URIs <literal>gphoto2://[usb:001,002]/store1/</literal>
1698 * and <literal>gphoto2://[usb:001,002]/store2/</literal>. When the
1699 * underlying mount (with root
1700 * <literal>gphoto2://[usb:001,002]/</literal>) is mounted, said
1701 * #GVolumeMonitor implementation would create two #GMount objects
1702 * (each with their root matching the corresponding volume activation
1703 * root) that would shadow the original mount.
1704 * The proxy monitor in GVfs 2.26 and later, automatically creates and
1705 * manage shadow mounts (and shadows the underlying mount) if the
1706 * activation root on a #GVolume is set.
1708 * Returns: %TRUE if @mount is shadowed.
1715 * @ref_count: The reference count or -1 if statically allocated.
1716 * @name: The name of the D-Bus method, e.g. @RequestName.
1717 * @in_args: A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no in arguments.
1718 * @out_args: A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no out arguments.
1719 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
1721 * Information about a method on an D-Bus interface.
1728 * G_TYPE_INITIALLY_UNOWNED:
1730 * The type for #GInitiallyUnowned.
1735 * g_io_scheduler_push_job:
1736 * @job_func: a #GIOSchedulerJobFunc.
1737 * @user_data: data to pass to @job_func
1738 * @notify: a #GDestroyNotify for @user_data, or %NULL
1739 * @io_priority: the <link linkend="gioscheduler">I/O priority</link> of the request.
1740 * @cancellable: optional #GCancellable object, %NULL to ignore.
1742 * Schedules the I/O job to run.
1743 * regardless whether the job was cancelled or has run to completion.
1744 * If @cancellable is not %NULL, it can be used to cancel the I/O job
1745 * by calling g_cancellable_cancel() or by calling
1746 * g_io_scheduler_cancel_all_jobs().
1751 * GIOSchedulerJobFunc:
1752 * @job: a #GIOSchedulerJob.
1753 * @cancellable: optional #GCancellable object, %NULL to ignore.
1754 * @user_data: the data to pass to callback function
1757 * Note that depending on whether threads are available, the
1758 * #GIOScheduler may run jobs in separate threads or in an idle
1760 * Long-running jobs should periodically check the @cancellable
1761 * to see if they have been cancelled.
1762 * complete the job, %FALSE if the job is complete (or cancelled)
1764 * Returns: %TRUE if this function should be called again to
1769 * g_dbus_message_set_serial:
1770 * @message: A #GDBusMessage.
1771 * @serial: A #guint32.
1773 * Sets the serial for @message.
1780 * g_dbus_auth_observer_authorize_authenticated_peer:
1781 * @observer: A #GDBusAuthObserver.
1782 * @stream: A #GIOStream for the #GDBusConnection.
1783 * @credentials: Credentials received from the peer or %NULL.
1785 * Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer.
1787 * Returns: %TRUE if the peer is authorized, %FALSE if not.
1794 * @interface_init: location of the interface initialization function
1795 * @interface_finalize: location of the interface finalization function
1796 * @interface_data: user-supplied data passed to the interface init/finalize functions
1798 * A structure that provides information to the type system which is
1799 * used specifically for managing interface types.
1804 * g_io_stream_get_output_stream:
1805 * @stream: a #GIOStream
1807 * Gets the output stream for this object. This is used for
1811 * Returns: (transfer none): a #GOutputStream, owned by the #GIOStream.
1817 * G_PARAM_READWRITE:
1819 * #GParamFlags value alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE.
1826 * Opaque mountable volume object.
1831 * g_file_query_settable_attributes:
1832 * @file: input #GFile.
1833 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
1834 * @error: a #GError, or %NULL
1836 * Obtain the list of settable attributes for the file.
1837 * Returns the type and full attribute name of all the attributes
1838 * that can be set on this file. This doesn't mean setting it will always
1839 * succeed though, you might get an access failure, or some specific
1840 * file may not support a specific attribute.
1841 * If @cancellable is not %NULL, then the operation can be cancelled by
1842 * triggering the cancellable object from another thread. If the operation
1843 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
1844 * When you are done with it, release it with g_file_attribute_info_list_unref()
1846 * Returns: a #GFileAttributeInfoList describing the settable attributes.
1851 * G_VALUE_HOLDS_POINTER:
1852 * @value: a valid #GValue structure
1854 * Checks whether the given #GValue can hold values of type %G_TYPE_POINTER.
1856 * Returns: %TRUE on success.
1861 * GActionGroup::action-added:
1862 * @action_group: the #GActionGroup that changed
1863 * @action_name: the name of the action in @action_group
1865 * Signals that a new action was just added to the group. This signal
1866 * is emitted after the action has been added and is now visible.
1873 * GWin32InputStream:close-handle:
1875 * Whether to close the file handle when the stream is closed.
1883 * @malloc: function to use for allocating memory.
1884 * @realloc: function to use for reallocating memory.
1885 * @free: function to use to free memory.
1886 * @calloc: function to use for allocating zero-filled memory.
1887 * @try_malloc: function to use for allocating memory without a default error handler.
1888 * @try_realloc: function to use for reallocating memory without a default error handler.
1890 * A set of functions used to perform memory allocation. The same #GMemVTable must
1891 * be used for all allocations in the same program; a call to g_mem_set_vtable(),
1892 * if it exists, should be prior to any use of GLib.
1897 * g_socket_listener_set_backlog:
1898 * @listener: a #GSocketListener
1899 * @listen_backlog: an integer
1901 * Sets the listen backlog on the sockets in the listener.
1902 * See g_socket_set_listen_backlog() for details
1909 * GFilenameCompleter::got-completion-data:
1911 * Emitted when the file name completion information comes available.
1916 * g_dbus_connection_flush_finish:
1917 * @connection: A #GDBusConnection.
1918 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_flush().
1919 * @error: Return location for error or %NULL.
1921 * Finishes an operation started with g_dbus_connection_flush().
1923 * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
1929 * g_dbus_method_invocation_get_message:
1930 * @invocation: A #GDBusMethodInvocation.
1932 * Gets the #GDBusMessage for the method invocation. This is useful if
1933 * you need to use low-level protocol features, such as UNIX file
1934 * descriptor passing, that cannot be properly expressed in the
1936 * See <xref linkend="gdbus-server"/> and <xref
1937 * linkend="gdbus-unix-fd-client"/> for an example of how to use this
1938 * low-level API to send and receive UNIX file descriptors.
1940 * Returns: (transfer none): #GDBusMessage. Do not free, it is owned by @invocation.
1946 * GParamSpecBoolean:
1947 * @parent_instance: private #GParamSpec portion
1948 * @default_value: default value for the property specified
1950 * A #GParamSpec derived structure that contains the meta data for boolean properties.
1955 * g_socket_create_source:
1956 * @socket: a #GSocket
1957 * @condition: a #GIOCondition mask to monitor
1958 * @cancellable: a %GCancellable or %NULL
1960 * Creates a %GSource that can be attached to a %GMainContext to monitor
1961 * for the availibility of the specified @condition on the socket.
1962 * The callback on the source is of the #GSocketSourceFunc type.
1963 * It is meaningless to specify %G_IO_ERR or %G_IO_HUP in @condition;
1964 * these conditions will always be reported output if they are true.
1965 * cause the source to trigger, reporting the current condition (which
1966 * is likely 0 unless cancellation happened at the same time as a
1967 * condition change). You can check for this in the callback using
1968 * g_cancellable_is_cancelled().
1969 * If @socket has a timeout set, and it is reached before @condition
1970 * occurs, the source will then trigger anyway, reporting %G_IO_IN or
1971 * %G_IO_OUT depending on @condition. However, @socket will have been
1972 * marked as having had a timeout, and so the next #GSocket I/O method
1973 * you call will then fail with a %G_IO_ERROR_TIMED_OUT.
1975 * Returns: (transfer full): a newly allocated %GSource, free with g_source_unref().
1981 * GTlsCertificate:private-key-pem:
1983 * The PEM (ASCII) encoded representation of the certificate's
1984 * private key. This property (or the #GTlsCertificate:private-key
1985 * property) can be set when constructing a key (eg, from a file),
1986 * but cannot be read.
1994 * @g_iface: The parent interface.
1995 * @init: Initializes the object.
1997 * Provides an interface for initializing object such that initialization
2007 * Virtual File System object.
2012 * G_IS_PARAM_SPEC_INT:
2013 * @pspec: a valid #GParamSpec instance
2015 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT.
2017 * Returns: %TRUE on success.
2022 * GSignalEmissionHook:
2023 * @ihint: Signal invocation hint, see #GSignalInvocationHint.
2024 * @n_param_values: the number of parameters to the function, including the instance on which the signal was emitted.
2025 * @param_values: the instance on which the signal was emitted, followed by the parameters of the emission.
2026 * @data: user data associated with the hook.
2028 * A simple function pointer to get invoked when the signal is emitted. This
2029 * allows you to tie a hook to the signal type, so that it will trap all
2030 * emissions of that signal, from any object.
2031 * You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.
2032 * hook is disconnected (and destroyed).
2034 * Returns: whether it wants to stay connected. If it returns %FALSE, the signal
2041 * <structname>GBinding</structname> is an opaque structure whose members
2042 * cannot be accessed directly.
2049 * GSettingsBindSetMapping:
2050 * @value: a #GValue containing the property value to map
2051 * @expected_type: the #GVariantType to create
2052 * @user_data: user data that was specified when the binding was created
2053 * @returns: a new #GVariant holding the data from @value, or %NULL in case of an error
2055 * The type for the function that is used to convert an object property
2056 * value to a #GVariant for storing it in #GSettings.
2063 * Error domain for #GResolver. Errors in this domain will be from the
2064 * #GResolverError enumeration. See #GError for more information on
2070 * g_file_attribute_matcher_enumerate_namespace:
2071 * @matcher: a #GFileAttributeMatcher.
2072 * @ns: a string containing a file attribute namespace.
2074 * Checks if the matcher will match all of the keys in a given namespace.
2075 * This will always return %TRUE if a wildcard character is in use (e.g. if
2076 * matcher was created with "standard::*" and @ns is "standard", or if matcher was created
2077 * using "*" and namespace is anything.)
2078 * in the given @ns, %FALSE otherwise.
2080 * Todo: this is awkwardly worded.
2081 * Returns: %TRUE if the matcher matches all of the entries
2086 * g_simple_async_result_get_op_res_gboolean:
2087 * @simple: a #GSimpleAsyncResult.
2089 * Gets the operation result boolean from within the asynchronous result.
2090 * if the operation's result was %FALSE.
2092 * Returns: %TRUE if the operation's result was %TRUE, %FALSE
2098 * @G_DBUS_SERVER_FLAGS_NONE: No flags set.
2099 * @G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All #GDBusServer::new-connection signals will run in separated dedicated threads (see signal for details).
2100 * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: Allow the anonymous authentication method.
2102 * Flags used when creating a #GDBusServer.
2109 * SECTION:gnetworkaddres:
2110 * @short_description: A GSocketConnectable for resolving hostnames
2111 * @include: gio/gio.h
2113 * #GNetworkAddress provides an easy way to resolve a hostname and
2114 * then attempt to connect to that host, handling the possibility of
2115 * multiple IP addresses and multiple address families.
2116 * See #GSocketConnectable for and example of using the connectable
2122 * g_application_get_is_remote:
2123 * @application: a #GApplication
2124 * @returns: %TRUE if @application is remote
2126 * Checks if @application is remote.
2127 * If @application is remote then it means that another instance of
2128 * application already exists (the 'primary' instance). Calls to
2129 * perform actions on @application will result in the actions being
2130 * performed by the primary instance.
2131 * The value of this property can not be accessed before
2132 * g_application_register() has been called. See
2133 * g_application_get_is_registered().
2140 * g_tls_client_connection_set_server_identity:
2141 * @conn: the #GTlsClientConnection
2142 * @identity: a #GSocketConnectable describing the expected server identity
2144 * Sets @conn's expected server identity, which is used both to tell
2145 * servers on virtual hosts which certificate to present, and also
2146 * to let @conn know what name to look for in the certificate when
2147 * performing %G_TLS_CERTIFICATE_BAD_IDENTITY validation, if enabled.
2156 * Error domain for option parsing. Errors in this domain will
2157 * be from the #GOptionError enumeration. See #GError for information on
2163 * GVolumeMonitor::drive-changed:
2164 * @volume_monitor: The volume monitor emitting the signal.
2165 * @drive: the drive that changed
2167 * Emitted when a drive changes.
2172 * G_VALUE_HOLDS_BOOLEAN:
2173 * @value: a valid #GValue structure
2175 * Checks whether the given #GValue can hold values of type %G_TYPE_BOOLEAN.
2177 * Returns: %TRUE on success.
2184 * A handle to an object implementing the #GMountIface interface.
2190 * @G_DBUS_CALL_FLAGS_NONE: No flags set.
2191 * @G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch an owner for the destination name in response to this method invocation.
2193 * Flags used in g_dbus_connection_call() and similar APIs.
2200 * G_VARIANT_TYPE_SIGNATURE:
2202 * The type of a DBus type signature. These are strings of a specific
2203 * format used as type signatures for DBus methods and messages.
2204 * If you are not interacting with DBus, then there is no reason to make
2205 * use of this type. If you are, then the DBus specification contains a
2206 * precise description of valid signature strings.
2211 * g_credentials_get_unix_user:
2212 * @credentials: A #GCredentials
2213 * @error: Return location for error or %NULL.
2215 * Tries to get the UNIX user identifier from @credentials. This
2216 * method is only available on UNIX platforms.
2217 * This operation can fail if #GCredentials is not supported on the
2218 * OS or if the native credentials type does not contain information
2219 * about the UNIX user.
2221 * Returns: The UNIX user identifier or -1 if @error is set.
2227 * SECTION:gemblemedico:
2228 * @short_description: Icon with emblems
2229 * @include: gio/gio.h
2230 * @see_also: #GIcon, #GLoadableIcon, #GThemedIcon, #GEmblem
2232 * #GEmblemedIcon is an implementation of #GIcon that supports
2233 * adding an emblem to an icon. Adding multiple emblems to an
2234 * icon is ensured via g_emblemed_icon_add_emblem().
2235 * Note that #GEmblemedIcon allows no control over the position
2236 * of the emblems. See also #GEmblem for more information.
2241 * g_file_enumerator_set_pending:
2242 * @enumerator: a #GFileEnumerator.
2243 * @pending: a boolean value.
2245 * Sets the file enumerator as having pending operations.
2250 * g_dbus_proxy_get_default_timeout:
2251 * @proxy: A #GDBusProxy.
2253 * Gets the timeout to use if -1 (specifying default timeout) is
2254 * passed as @timeout_msec in the g_dbus_proxy_call() and
2255 * g_dbus_proxy_call_sync() functions.
2256 * See the #GDBusProxy:g-default-timeout property for more details.
2258 * Returns: Timeout to use for @proxy.
2264 * g_application_release:
2265 * @application: a #GApplication
2267 * Decrease the use count of @application.
2268 * When the use count reaches zero, the application will stop running.
2269 * Never call this function except to cancel the effect of a previous
2270 * call to g_application_hold().
2275 * GSocketService::incoming:
2276 * @service: the #GSocketService.
2277 * @connection: a new #GSocketConnection object.
2278 * @source_object: the source_object passed to g_socket_listener_add_address().
2280 * The ::incoming signal is emitted when a new incoming connection
2281 * to @service needs to be handled. The handler must initiate the
2282 * handling of @connection, but may not block; in essence,
2283 * asynchronous operations must be used.
2285 * Returns: %TRUE to stop other handlers from being called
2291 * g_io_error_from_errno:
2292 * @err_no: Error number as defined in errno.h.
2294 * Converts errno.h error codes into GIO error codes.
2296 * Returns: #GIOErrorEnum value for the given errno.h error number.
2301 * g_file_enumerator_get_container:
2302 * @enumerator: a #GFileEnumerator
2304 * Get the #GFile container which is being enumerated.
2306 * Returns: (transfer full): the #GFile which is being enumerated.
2312 * g_volume_monitor_adopt_orphan_mount:
2313 * @mount: a #GMount object to find a parent for
2315 * This function should be called by any #GVolumeMonitor
2316 * implementation when a new #GMount object is created that is not
2317 * associated with a #GVolume object. It must be called just before
2318 * emitting the @mount_added signal.
2319 * If the return value is not %NULL, the caller must associate the
2320 * returned #GVolume object with the #GMount. This involves returning
2321 * it in its g_mount_get_volume() implementation. The caller must
2322 * also listen for the "removed" signal on the returned object
2323 * and give up its reference when handling that signal
2324 * Similary, if implementing g_volume_monitor_adopt_orphan_mount(),
2325 * the implementor must take a reference to @mount and return it in
2326 * its g_volume_get_mount() implemented. Also, the implementor must
2327 * listen for the "unmounted" signal on @mount and give up its
2328 * reference upon handling that signal.
2329 * There are two main use cases for this function.
2330 * One is when implementing a user space file system driver that reads
2331 * blocks of a block device that is already represented by the native
2332 * volume monitor (for example a CD Audio file system driver). Such
2333 * a driver will generate its own #GMount object that needs to be
2334 * assoicated with the #GVolume object that represents the volume.
2335 * The other is for implementing a #GVolumeMonitor whose sole purpose
2336 * is to return #GVolume objects representing entries in the users
2337 * "favorite servers" list or similar.
2338 * if no wants to adopt the #GMount.
2339 * implementations should instead create shadow mounts with the URI of
2340 * the mount they intend to adopt. See the proxy volume monitor in
2341 * gvfs for an example of this. Also see g_mount_is_shadowed(),
2342 * g_mount_shadow() and g_mount_unshadow() functions.
2344 * Returns: (transfer full): the #GVolume object that is the parent for @mount or %NULL
2345 * Deprecated: 2.20: Instead of using this function, #GVolumeMonitor
2350 * g_action_get_state:
2351 * @action: a #GAction
2353 * Queries the current state of @action.
2354 * If the action is not stateful then %NULL will be returned. If the
2355 * action is stateful then the type of the return value is the type
2356 * given by g_action_get_state_type().
2357 * The return value (if non-%NULL) should be freed with
2358 * g_variant_unref() when it is no longer required.
2360 * Returns: (transfer full): the current state of the action
2366 * g_dbus_connection_emit_signal:
2367 * @connection: A #GDBusConnection.
2368 * @destination_bus_name: The unique bus name for the destination for the signal or %NULL to emit to all listeners.
2369 * @object_path: Path of remote object.
2370 * @interface_name: D-Bus interface to emit a signal on.
2371 * @signal_name: The name of the signal to emit.
2372 * @parameters: A #GVariant tuple with parameters for the signal or %NULL if not passing parameters.
2373 * @error: Return location for error or %NULL.
2376 * If the parameters GVariant is floating, it is consumed.
2377 * This can only fail if @parameters is not compatible with the D-Bus protocol.
2379 * Returns: %TRUE unless @error is set.
2385 * G_PARAM_SPEC_BOOLEAN:
2386 * @pspec: a valid #GParamSpec instance
2388 * Cast a #GParamSpec instance into a #GParamSpecBoolean.
2393 * GParamSpecUnichar:
2394 * @parent_instance: private #GParamSpec portion
2395 * @default_value: default value for the property specified
2397 * A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.
2402 * g_emblemed_icon_add_emblem:
2403 * @emblemed: a #GEmblemedIcon
2404 * @emblem: a #GEmblem
2406 * Adds @emblem to the #GList of #GEmblem <!-- -->s.
2413 * g_tls_client_connection_get_use_ssl3:
2414 * @conn: the #GTlsClientConnection
2416 * Gets whether @conn will use SSL 3.0 rather than the
2417 * highest-supported version of TLS; see
2418 * g_tls_client_connection_set_use_ssl3().
2420 * Returns: whether @conn will use SSL 3.0
2426 * g_emblem_get_icon:
2427 * @emblem: a #GEmblem from which the icon should be extracted.
2429 * Gives back the icon from @emblem.
2430 * and should not be modified or freed.
2432 * Returns: (transfer full): a #GIcon. The returned object belongs to the emblem
2438 * SECTION:gfilemonito:
2439 * @short_description: File Monitor
2440 * @include: gio/gio.h
2442 * Monitors a file or directory for changes.
2443 * To obtain a #GFileMonitor for a file or directory, use
2444 * g_file_monitor(), g_file_monitor_file(), or
2445 * g_file_monitor_directory().
2446 * To get informed about changes to the file or directory you are
2447 * monitoring, connect to the #GFileMonitor::changed signal. The
2448 * signal will be emitted in the <link
2449 * linkend="g-main-context-push-thread-default">thread-default main
2450 * context</link> of the thread that the monitor was created in
2451 * (though if the global default main context is blocked, this may
2452 * cause notifications to be blocked even if the thread-default
2453 * context is still running).
2458 * GParamSpecPointer:
2459 * @parent_instance: private #GParamSpec portion
2461 * A #GParamSpec derived structure that contains the meta data for pointer properties.
2466 * g_dbus_node_info_ref:
2467 * @info: A #GDBusNodeInfo
2469 * If @info is statically allocated does nothing. Otherwise increases
2470 * the reference count.
2472 * Returns: The same @info.
2478 * g_action_get_enabled:
2479 * @action: a #GAction
2481 * Checks if @action is currently enabled.
2482 * An action must be enabled in order to be activated or in order to
2483 * have its state changed from outside callers.
2485 * Returns: whether the action is enabled
2491 * g_dbus_connection_new_for_address:
2492 * @address: A D-Bus address.
2493 * @flags: Flags describing how to make the connection.
2494 * @observer: A #GDBusAuthObserver or %NULL.
2495 * @cancellable: A #GCancellable or %NULL.
2496 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
2497 * @user_data: The data to pass to @callback.
2499 * Asynchronously connects and sets up a D-Bus client connection for
2500 * exchanging D-Bus messages with an endpoint specified by @address
2501 * which must be in the D-Bus address format.
2502 * This constructor can only be used to initiate client-side
2503 * connections - use g_dbus_connection_new() if you need to act as the
2504 * server. In particular, @flags cannot contain the
2505 * %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
2506 * %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
2507 * When the operation is finished, @callback will be invoked. You can
2508 * then call g_dbus_connection_new_finish() to get the result of the
2510 * If @observer is not %NULL it may be used to control the
2511 * authentication process.
2512 * This is a asynchronous failable constructor. See
2513 * g_dbus_connection_new_for_address_sync() for the synchronous
2521 * g_drive_get_identifier:
2523 * @kind: the kind of identifier to return
2525 * Gets the identifier of the given kind for @drive.
2526 * requested identfier, or %NULL if the #GDrive
2527 * doesn't have this kind of identifier.
2529 * Returns: a newly allocated string containing the
2534 * GThreadedSocketService:
2536 * A helper class for handling accepting incomming connections in the
2537 * glib mainloop and handling them in a thread.
2544 * GMountOperation:password:
2546 * The password that is used for authentication when carrying out
2547 * the mount operation.
2552 * g_network_service_set_scheme:
2553 * @srv: a #GNetworkService
2554 * @scheme: a URI scheme
2556 * Set's the URI scheme used to resolve proxies. By default, the service name
2557 * is used as scheme.
2564 * g_win32_output_stream_new:
2565 * @handle: a Win32 file handle
2566 * @close_handle: %TRUE to close the handle when done
2568 * Creates a new #GWin32OutputStream for the given @handle.
2569 * If @close_handle, is %TRUE, the handle will be closed when the
2570 * output stream is destroyed.
2572 * Returns: a new #GOutputStream
2579 * @G_SIGNAL_MATCH_ID: The signal id must be equal.
2580 * @G_SIGNAL_MATCH_DETAIL: The signal detail be equal.
2581 * @G_SIGNAL_MATCH_CLOSURE: The closure must be the same.
2582 * @G_SIGNAL_MATCH_FUNC: The C closure callback must be the same.
2583 * @G_SIGNAL_MATCH_DATA: The closure data must be the same.
2584 * @G_SIGNAL_MATCH_UNBLOCKED: Only unblocked signals may matched.
2586 * The match types specify what g_signal_handlers_block_matched(),
2587 * g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()
2593 * GTypeFundamentalFlags:
2594 * @G_TYPE_FLAG_CLASSED: Indicates a classed type.
2595 * @G_TYPE_FLAG_INSTANTIATABLE: Indicates an instantiable type (implies classed).
2596 * @G_TYPE_FLAG_DERIVABLE: Indicates a flat derivable type.
2597 * @G_TYPE_FLAG_DEEP_DERIVABLE: Indicates a deep derivable type (implies derivable).
2599 * Bit masks used to check or determine specific characteristics of a
2605 * g_volume_get_mount:
2606 * @volume: a #GVolume.
2608 * Gets the mount for the @volume.
2609 * The returned object should be unreffed with g_object_unref()
2610 * when no longer needed.
2612 * Returns: (transfer full): a #GMount or %NULL if @volume isn't mounted.
2619 * Opaque module base class for extending GIO.
2624 * g_unix_socket_address_new:
2625 * @path: the socket path
2627 * Creates a new #GUnixSocketAddress for @path.
2628 * To create abstract socket addresses, on systems that support that,
2629 * use g_unix_socket_address_new_abstract().
2631 * Returns: a new #GUnixSocketAddress
2637 * GMountOperation:password-save:
2639 * Determines if and how the password information should be saved.
2644 * g_pollable_output_stream_can_poll:
2645 * @stream: a #GPollableOutputStream.
2647 * Checks if @stream is actually pollable. Some classes may implement
2648 * #GPollableOutputStream but have only certain instances of that
2649 * class be pollable. If this method returns %FALSE, then the behavior
2650 * of other #GPollableOutputStream methods is undefined.
2651 * For any given stream, the value returned by this method is constant;
2652 * a stream cannot switch from pollable to non-pollable or vice versa.
2654 * Returns: %TRUE if @stream is pollable, %FALSE if not.
2660 * g_inet_address_get_is_mc_global:
2661 * @address: a #GInetAddress
2663 * Tests whether @address is a global multicast address.
2665 * Returns: %TRUE if @address is a global multicast address.
2671 * GPermission:can-acquire:
2673 * %TRUE if it is generally possible to acquire the permission by calling
2674 * g_permission_acquire().
2679 * GMemoryOutputStream:realloc-function:
2681 * Function with realloc semantics called to enlarge the buffer.
2688 * g_unix_input_stream_get_close_fd:
2689 * @stream: a #GUnixInputStream
2691 * Returns whether the file descriptor of @stream will be
2692 * closed when the stream is closed.
2694 * Returns: %TRUE if the file descriptor is closed when done
2700 * g_dbus_proxy_new_sync:
2701 * @connection: A #GDBusConnection.
2702 * @flags: Flags used when constructing the proxy.
2703 * @info: (allow-none): A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
2704 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
2705 * @object_path: An object path.
2706 * @interface_name: A D-Bus interface name.
2707 * @cancellable: (allow-none): A #GCancellable or %NULL.
2708 * @error: (allow-none): Return location for error or %NULL.
2710 * Creates a proxy for accessing @interface_name on the remote object
2711 * at @object_path owned by @name at @connection and synchronously
2712 * loads D-Bus properties unless the
2713 * %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used.
2714 * If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up
2715 * match rules for signals. Connect to the #GDBusProxy::g-signal signal
2716 * to handle signals from the remote object.
2717 * If @name is a well-known name and the
2718 * %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag isn't set and no name
2719 * owner currently exists, the message bus will be requested to launch
2720 * a name owner for the name.
2721 * This is a synchronous failable constructor. See g_dbus_proxy_new()
2722 * and g_dbus_proxy_new_finish() for the asynchronous version.
2723 * See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used.
2725 * Returns: A #GDBusProxy or %NULL if error is set. Free with g_object_unref().
2732 * @struct_type: the type of the elements to allocate
2733 * @n_structs: the number of elements to allocate
2735 * Attempts to allocate @n_structs elements of type @struct_type, initialized
2736 * to 0's, and returns %NULL on failure. Contrast with g_new0(), which aborts
2737 * the program on failure.
2738 * The returned pointer is cast to a pointer to the given type.
2739 * The function returns %NULL when @n_structs is 0 of if an overflow occurs.
2742 * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
2747 * SECTION:gdbusconnectio:
2748 * @short_description: D-Bus Connections
2749 * @include: gio/gio.h
2751 * The #GDBusConnection type is used for D-Bus connections to remote
2752 * peers such as a message buses. It is a low-level API that offers a
2753 * lot of flexibility. For instance, it lets you establish a connection
2754 * over any transport that can by represented as an #GIOStream.
2755 * This class is rarely used directly in D-Bus clients. If you are writing
2756 * an D-Bus client, it is often easier to use the g_bus_own_name(),
2757 * g_bus_watch_name() or g_dbus_proxy_new_for_bus() APIs.
2758 * <example id="gdbus-server"><title>D-Bus server example</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-server.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
2759 * <example id="gdbus-subtree-server"><title>D-Bus subtree example</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-subtree.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
2760 * <example id="gdbus-unix-fd-client"><title>D-Bus UNIX File Descriptor example</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-unix-fd-client.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
2761 * <example id="gdbus-export"><title>Exporting a GObject</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-export.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
2766 * SECTION:gfileinputstrea:
2767 * @short_description: File input streaming operations
2768 * @include: gio/gio.h
2769 * @see_also: #GInputStream, #GDataInputStream, #GSeekable
2771 * GFileInputStream provides input streams that take their
2772 * content from a file.
2773 * GFileInputStream implements #GSeekable, which allows the input
2774 * stream to jump to arbitrary positions in the file, provided the
2775 * filesystem of the file allows it. To find the position of a file
2776 * input stream, use g_seekable_tell(). To find out if a file input
2777 * stream supports seeking, use g_seekable_stream_can_seek().
2778 * To position a file input stream, use g_seekable_seek().
2783 * g_socket_client_new:
2785 * Creates a new #GSocketClient with the default options.
2786 * Free the returned object with g_object_unref().
2788 * Returns: a #GSocketClient.
2794 * GDBusProxy:g-connection:
2796 * The #GDBusConnection the proxy is for.
2803 * g_file_enumerator_has_pending:
2804 * @enumerator: a #GFileEnumerator.
2806 * Checks if the file enumerator has pending operations.
2808 * Returns: %TRUE if the @enumerator has pending operations.
2814 * @socket: a #GSocket
2815 * @address: a #GSocketAddress, or %NULL
2816 * @buffer: the buffer containing the data to send.
2817 * @size: the number of bytes to send
2818 * @cancellable: a %GCancellable or %NULL
2819 * @error: #GError for error reporting, or %NULL to ignore.
2821 * Tries to send @size bytes from @buffer to @address. If @address is
2822 * %NULL then the message is sent to the default receiver (set by
2823 * g_socket_connect()).
2824 * See g_socket_send() for additional information.
2827 * Returns: Number of bytes written (which may be less than @size), or -1
2833 * g_file_new_for_uri:
2834 * @uri: a UTF8 string containing a URI.
2836 * Constructs a #GFile for a given URI. This operation never
2837 * fails, but the returned object might not support any I/O
2838 * operation if @uri is malformed or if the uri type is
2841 * Returns: (transfer full): a #GFile for the given @uri.
2846 * g_mount_operation_set_anonymous:
2847 * @op: a #GMountOperation.
2848 * @anonymous: boolean value.
2850 * Sets the mount operation to use an anonymous user if @anonymous is %TRUE.
2855 * G_TYPE_PARAM_OBJECT:
2857 * The #GType of #GParamSpecObject.
2863 * @title: GUnixFDMessage
2864 * @short_description: A GSocketControlMessage containing a GUnixFDList
2865 * @include: gio/gunixfdmessage.h
2866 * @see_also: #GUnixConnection, #GUnixFDList, #GSocketControlMessage
2868 * This #GSocketControlMessage contains a #GUnixFDList.
2869 * It may be sent using g_socket_send_message() and received using
2870 * %G_SOCKET_ADDRESS_UNIX family). The file descriptors are copied
2871 * between processes by the kernel.
2872 * For an easier way to send and receive file descriptors over
2873 * stream-oriented UNIX sockets, see g_unix_connection_send_fd() and
2874 * g_unix_connection_receive_fd().
2875 * Note that <filename><gio/gunixfdmessage.h></filename> belongs to
2876 * the UNIX-specific GIO interfaces, thus you have to use the
2877 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
2879 * G_socket_receive_message() over unix sockets (ie: sockets in the
2885 * @short_description: Drive management
2886 * @include: gio/gio.h
2888 * #GDrive - this represent a piece of hardware connected to the machine.
2889 * It's generally only created for removable hardware or hardware with
2891 * #GDrive is a container class for #GVolume objects that stem from
2892 * the same piece of media. As such, #GDrive abstracts a drive with
2893 * (or without) removable media and provides operations for querying
2894 * whether media is available, determing whether media change is
2895 * automatically detected and ejecting the media.
2896 * If the #GDrive reports that media isn't automatically detected, one
2897 * can poll for media; typically one should not do this periodically
2898 * as a poll for media operation is potententially expensive and may
2899 * spin up the drive creating noise.
2900 * #GDrive supports starting and stopping drives with authentication
2901 * support for the former. This can be used to support a diverse set
2902 * of use cases including connecting/disconnecting iSCSI devices,
2903 * powering down external disk enclosures and starting/stopping
2904 * multi-disk devices such as RAID devices. Note that the actual
2905 * semantics and side-effects of starting/stopping a #GDrive may vary
2906 * according to implementation. To choose the correct verbs in e.g. a
2907 * file manager, use g_drive_get_start_stop_type().
2908 * For porting from GnomeVFS note that there is no equivalent of
2909 * #GDrive in that API.
2914 * GTypePluginCompleteTypeInfo:
2915 * @plugin: the #GTypePlugin
2916 * @g_type: the #GType whose info is completed
2917 * @info: the #GTypeInfo struct to fill in
2918 * @value_table: the #GTypeValueTable to fill in
2920 * The type of the @complete_type_info function of #GTypePluginClass.
2925 * g_dbus_message_get_header_fields:
2926 * @message: A #GDBusMessage.
2928 * Gets an array of all header fields on @message that are set.
2929 * %G_DBUS_MESSAGE_HEADER_FIELD_INVALID. Each element is a
2930 * #guchar. Free with g_free().
2932 * Returns: An array of header fields terminated by
2938 * g_application_get_application_id:
2939 * @application: a #GApplication
2940 * @returns: the identifier for @application, owned by @application
2942 * Gets the unique identifier for @application.
2949 * g_socket_connection_factory_create_connection:
2950 * @socket: a #GSocket
2952 * Creates a #GSocketConnection subclass of the right type for
2954 * Returns: (transfer full): a #GSocketConnection
2960 * g_drive_poll_for_media:
2961 * @drive: a #GDrive.
2962 * @cancellable: optional #GCancellable object, %NULL to ignore.
2963 * @callback: a #GAsyncReadyCallback, or %NULL.
2964 * @user_data: user data to pass to @callback
2966 * Asynchronously polls @drive to see if media has been inserted or removed.
2967 * When the operation is finished, @callback will be called.
2968 * You can then call g_drive_poll_for_media_finish() to obtain the
2969 * result of the operation.
2975 * @file: #GFile to send to trash.
2976 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
2977 * @error: a #GError, or %NULL
2979 * Sends @file to the "Trashcan", if possible. This is similar to
2980 * deleting it, but the user can recover it before emptying the trashcan.
2981 * Not all file systems support trashing, so this call can return the
2982 * %G_IO_ERROR_NOT_SUPPORTED error.
2983 * If @cancellable is not %NULL, then the operation can be cancelled by
2984 * triggering the cancellable object from another thread. If the operation
2985 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
2987 * Returns: %TRUE on successful trash, %FALSE otherwise.
2992 * g_unix_mounts_get:
2993 * @time_read: (allow-none): guint64 to contain a timestamp, or %NULL
2995 * Gets a #GList of #GUnixMountEntry containing the unix mounts.
2996 * If @time_read is set, it will be filled with the mount
2997 * timestamp, allowing for checking if the mounts have changed
2998 * with g_unix_mounts_changed_since().
3000 * Returns: (element-type utf8) (transfer full): a #GList of the UNIX mounts.
3006 * @short_description: Application information and launch contexts
3007 * @include: gio/gio.h
3009 * #GAppInfo and #GAppLaunchContext are used for describing and launching
3010 * applications installed on the system.
3011 * As of GLib 2.20, URIs will always be converted to POSIX paths
3012 * (using g_file_get_path()) when using g_app_info_launch() even if
3013 * the application requested an URI and not a POSIX path. For example
3014 * for an desktop-file based application with Exec key <literal>totem
3015 * %%U</literal> and a single URI,
3016 * <literal>sftp://foo/file.avi</literal>, then
3017 * <literal>/home/user/.gvfs/sftp on foo/file.avi</literal> will be
3018 * passed. This will only work if a set of suitable GIO extensions
3019 * (such as gvfs 2.26 compiled with FUSE support), is available and
3020 * operational; if this is not the case, the URI will be passed
3021 * unmodified to the application. Some URIs, such as
3022 * <literal>mailto:</literal>, of course cannot be mapped to a POSIX
3023 * path (in gvfs there's no FUSE mount for it); such URIs will be
3024 * passed unmodified to the application.
3025 * Specifically for gvfs 2.26 and later, the POSIX URI will be mapped
3026 * back to the GIO URI in the #GFile constructors (since gvfs
3027 * implements the #GVfs extension point). As such, if the application
3028 * needs to examine the URI, it needs to use g_file_get_uri() or
3029 * similar on #GFile. In other words, an application cannot assume
3030 * that the URI passed to e.g. g_file_new_for_commandline_arg() is
3031 * equal to the result of g_file_get_uri(). The following snippet
3036 * file = g_file_new_for_commandline_arg (uri_from_commandline);
3037 * uri = g_file_get_uri (file);
3038 * strcmp (uri, uri_from_commandline) == 0; // FALSE
3040 * if (g_file_has_uri_scheme (file, "cdda"))
3042 * // do something special with uri
3044 * g_object_unref (file);
3046 * This code will work when both <literal>cdda://sr0/Track
3047 * 1.wav</literal> and <literal>/home/user/.gvfs/cdda on sr0/Track
3048 * 1.wav</literal> is passed to the application. It should be noted
3049 * that it's generally not safe for applications to rely on the format
3050 * of a particular URIs. Different launcher applications (e.g. file
3051 * managers) may have different ideas of what a given URI means.
3058 * Use this for very low priority background tasks.
3059 * It is not used within GLib or GTK+.
3064 * g_proxy_address_get_destination_por:
3065 * @proxy: a #GProxyAddress
3067 * Gets @proxy's destination port.
3069 * Returns: the @proxy's destination port
3075 * g_action_group_get_action_state_type:
3076 * @action_group: a #GActionGroup
3077 * @action_name: the name of the action to query
3079 * Queries the type of the state of the named action within
3080 * If the action is stateful then this function returns the
3081 * #GVariantType of the state. All calls to g_action_group_set_state()
3082 * must give a #GVariant of this type and g_action_group_get_state()
3083 * will return a #GVariant of the same type.
3084 * If the action is not stateful then this function will return %NULL.
3085 * In that case, g_action_group_get_state() will return %NULL and you
3086 * must not call g_action_group_set_state().
3087 * The state type of a particular action will never change but it is
3088 * possible for an action to be removed and for a new action to be added
3089 * with the same name but a different state type.
3091 * Returns: (transfer full): the state type, if the action is stateful
3098 * @G_DRIVE_START_NONE: No flags set.
3100 * Flags used when starting a drive.
3107 * g_application_activate:
3108 * @application: a #GApplication
3110 * Activates the application.
3111 * In essence, this results in the #GApplication::activate() signal being
3112 * emitted in the primary instance.
3113 * The application must be registered before calling this function.
3120 * G_TYPE_PARAM_STRING:
3122 * The #GType of #GParamSpecString.
3127 * g_mount_unmount_with_operation:
3128 * @mount: a #GMount.
3129 * @flags: flags affecting the operation
3130 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
3131 * @cancellable: optional #GCancellable object, %NULL to ignore.
3132 * @callback: a #GAsyncReadyCallback, or %NULL.
3133 * @user_data: user data passed to @callback.
3135 * Unmounts a mount. This is an asynchronous operation, and is
3136 * finished by calling g_mount_unmount_with_operation_finish() with the @mount
3137 * and #GAsyncResult data returned in the @callback.
3144 * g_io_error_from_win32_error:
3145 * @error_code: Windows error number.
3147 * Converts some common error codes into GIO error codes. The
3148 * fallback value G_IO_ERROR_FAILED is returned for error codes not
3151 * Returns: #GIOErrorEnum value for the given error number.
3157 * g_file_stop_mountable_finish:
3158 * @file: input #GFile.
3159 * @result: a #GAsyncResult.
3160 * @error: a #GError, or %NULL
3162 * Finishes an stop operation, see g_file_stop_mountable() for details.
3163 * Finish an asynchronous stop operation that was started
3164 * with g_file_stop_mountable().
3167 * Returns: %TRUE if the operation finished successfully. %FALSE
3173 * g_cancellable_get_current:
3175 * Gets the top cancellable from the stack.
3176 * if the stack is empty.
3178 * Returns: (transfer none): a #GCancellable from the top of the stack, or %NULL
3183 * GSimpleAsyncResult:
3185 * A simple implementation of #GAsyncResult.
3190 * GTypeFundamentalInfo:
3191 * @type_flags: #GTypeFundamentalFlags describing the characteristics of the fundamental type
3193 * A structure that provides information to the type system which is
3194 * used specifically for managing fundamental types.
3199 * g_file_replace_readwrite_async:
3200 * @file: input #GFile.
3201 * @etag: (allow-none): an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore.
3202 * @make_backup: %TRUE if a backup should be created.
3203 * @flags: a set of #GFileCreateFlags.
3204 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
3205 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
3206 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
3207 * @user_data: (closure): the data to pass to callback function
3209 * Asynchronously overwrites the file in read-write mode, replacing the
3210 * contents, possibly creating a backup copy of the file first.
3211 * For more details, see g_file_replace_readwrite() which is
3212 * the synchronous version of this call.
3213 * When the operation is finished, @callback will be called. You can then
3214 * call g_file_replace_readwrite_finish() to get the result of the operation.
3221 * g_dbus_server_new_sync:
3222 * @address: A D-Bus address.
3223 * @flags: Flags from the #GDBusServerFlags enumeration.
3224 * @guid: A D-Bus GUID.
3225 * @observer: A #GDBusAuthObserver or %NULL.
3226 * @cancellable: A #GCancellable or %NULL.
3227 * @error: Return location for server or %NULL.
3229 * Creates a new D-Bus server that listens on the first address in
3230 * Once constructed, you can use g_dbus_server_get_client_address() to
3231 * get a D-Bus address string that clients can use to connect.
3232 * Connect to the #GDBusServer::new-connection signal to handle
3233 * incoming connections.
3234 * The returned #GDBusServer isn't active - you have to start it with
3235 * g_dbus_server_start().
3236 * See <xref linkend="gdbus-peer-to-peer"/> for how #GDBusServer can
3238 * This is a synchronous failable constructor. See
3239 * g_dbus_server_new() for the asynchronous version.
3242 * Returns: A #GDBusServer or %NULL if @error is set. Free with
3248 * g_settings_backend_flatten_tree:
3249 * @tree: a #GTree containing the changes
3250 * @path: the location to save the path
3251 * @keys: the location to save the relative keys
3252 * @values: the location to save the values, or %NULL
3254 * Calculate the longest common prefix of all keys in a tree and write
3255 * out an array of the key names relative to that prefix and,
3256 * optionally, the value to store at each of those keys.
3257 * You must free the value returned in @path, @keys and @values using
3258 * g_free(). You should not attempt to free or unref the contents of
3265 * g_poll_file_monitor_new:
3268 * Polls @file for changes.
3270 * Returns: a new #GFileMonitor for the given #GFile.
3275 * GInterfaceInitFunc:
3276 * @g_iface: The interface structure to initialize.
3277 * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure.
3279 * A callback function used by the type system to initialize a new
3280 * interface. This function should initialize all internal data and
3281 * allocate any resources required by the interface.
3286 * g_filter_output_stream_get_base_stream:
3287 * @stream: a #GFilterOutputStream.
3289 * Gets the base stream for the filter stream.
3291 * Returns: (transfer none): a #GOutputStream.
3296 * g_unix_mount_compare:
3297 * @mount1: first #GUnixMountEntry to compare.
3298 * @mount2: second #GUnixMountEntry to compare.
3300 * Compares two unix mounts.
3301 * or less than @mount2, respectively.
3303 * Returns: 1, 0 or -1 if @mount1 is greater than, equal to,
3308 * g_socket_client_get_tls:
3309 * @client: a #GSocketClient.
3311 * Gets whether @client creates TLS connections. See
3312 * g_socket_client_set_tls() for details.
3314 * Returns: whether @client uses TLS
3320 * g_action_group_get_action_parameter_type:
3321 * @action_group: a #GActionGroup
3322 * @action_name: the name of the action to query
3324 * Queries the type of the parameter that must be given when activating
3325 * the named action within @action_group.
3326 * When activating the action using g_action_group_activate(), the
3327 * #GVariant given to that function must be of the type returned by this
3329 * In the case that this function returns %NULL, you must not give any
3330 * #GVariant, but %NULL instead.
3331 * The parameter type of a particular action will never change but it is
3332 * possible for an action to be removed and for a new action to be added
3333 * with the same name but a different parameter type.
3335 * Returns: the parameter type
3341 * g_dbus_property_info_unref:
3342 * @info: A #GDBusPropertyInfo.
3344 * If @info is statically allocated, does nothing. Otherwise decreases
3345 * the reference count of @info. When its reference count drops to 0,
3346 * the memory used is freed.
3353 * G_VARIANT_TYPE_DICTIONARY:
3355 * An indefinite type that is a supertype of every dictionary type --
3356 * that is, any array type that has an element type equal to any
3357 * dictionary entry type.
3363 * @parent_instance: private #GParamSpec portion
3365 * A #GParamSpec derived structure that contains the meta data for object properties.
3370 * g_file_unmount_mountable_with_operation:
3371 * @file: input #GFile.
3372 * @flags: flags affecting the operation
3373 * @mount_operation: a #GMountOperation, or %NULL to avoid user interaction.
3374 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
3375 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
3376 * @user_data: (closure): the data to pass to callback function
3378 * Unmounts a file of type G_FILE_TYPE_MOUNTABLE.
3379 * If @cancellable is not %NULL, then the operation can be cancelled by
3380 * triggering the cancellable object from another thread. If the operation
3381 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
3382 * When the operation is finished, @callback will be called. You can then call
3383 * g_file_unmount_mountable_finish() to get the result of the operation.
3392 * The fundamental type from which all boxed types are derived.
3397 * GTlsCertificate:private-key:
3399 * The DER (binary) encoded representation of the certificate's
3400 * private key. This property (or the
3401 * #GTlsCertificate:private-key-pem property) can be set when
3402 * constructing a key (eg, from a file), but cannot be read.
3409 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED:
3411 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started
3413 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
3420 * g_permission_acquire_async:
3421 * @permission: a #GPermission instance
3422 * @cancellable: a #GCancellable, or %NULL
3423 * @callback: the #GAsyncReadyCallback to call when done
3424 * @user_data: the user data to pass to @callback
3426 * Attempts to acquire the permission represented by @permission.
3427 * This is the first half of the asynchronous version of
3428 * g_permission_acquire().
3435 * GSettingsBindGetMapping:
3436 * @value: return location for the property value
3437 * @variant: the #GVariant
3438 * @user_data: user data that was specified when the binding was created
3439 * @returns: %TRUE if the conversion succeeded, %FALSE in case of an error
3441 * The type for the function that is used to convert from #GSettings to
3442 * an object property. The @value is already initialized to hold values
3443 * of the appropriate type.
3448 * SECTION:gdataoutputstrea:
3449 * @short_description: Data Output Stream
3450 * @include: gio/gio.h
3451 * @see_also: #GOutputStream
3453 * Data output stream implements #GOutputStream and includes functions for
3454 * writing data directly to an output stream.
3459 * g_output_stream_splice_async:
3460 * @stream: a #GOutputStream.
3461 * @source: a #GInputStream.
3462 * @flags: a set of #GOutputStreamSpliceFlags.
3463 * @io_priority: the io priority of the request.
3464 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
3465 * @callback: (scope async): a #GAsyncReadyCallback.
3466 * @user_data: (closure): user data passed to @callback.
3468 * Splices a stream asynchronously.
3469 * When the operation is finished @callback will be called.
3470 * You can then call g_output_stream_splice_finish() to get the
3471 * result of the operation.
3472 * For the synchronous, blocking version of this function, see
3473 * g_output_stream_splice().
3479 * @other: a #GFileInfo.
3481 * Duplicates a file info structure.
3483 * Returns: (transfer full): a duplicate #GFileInfo of @other.
3488 * g_simple_action_group_lookup:
3489 * @simple: a #GSimpleActionGroup
3490 * @action_name: the name of an action
3492 * Looks up the action with the name @action_name in the group.
3493 * If no such action exists, returns %NULL.
3495 * Returns: (transfer none): a #GAction, or %NULL
3501 * g_output_stream_flush:
3502 * @stream: a #GOutputStream.
3503 * @cancellable: (allow-none): optional cancellable object
3504 * @error: location to store the error occuring, or %NULL to ignore
3506 * Flushed any outstanding buffers in the stream. Will block during
3507 * the operation. Closing the stream will implicitly cause a flush.
3508 * This function is optional for inherited classes.
3509 * If @cancellable is not %NULL, then the operation can be cancelled by
3510 * triggering the cancellable object from another thread. If the operation
3511 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
3513 * Returns: %TRUE on success, %FALSE on error
3519 * @string: The string to check.
3521 * Checks if @string is a D-Bus GUID.
3522 * See the D-Bus specification regarding what strings are valid D-Bus
3523 * GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).
3525 * Returns: %TRUE if @string is a guid, %FALSE otherwise.
3531 * g_file_io_stream_get_etag:
3532 * @stream: a #GFileIOStream.
3534 * Gets the entity tag for the file when it has been written.
3535 * This must be called after the stream has been written
3536 * and closed, as the etag can change while writing.
3538 * Returns: the entity tag for the stream.
3544 * g_buffered_input_stream_read_byte:
3545 * @stream: a #GBufferedInputStream
3546 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
3547 * @error: location to store the error occuring, or %NULL to ignore
3549 * Tries to read a single byte from the stream or the buffer. Will block
3551 * On success, the byte read from the stream is returned. On end of stream
3552 * -1 is returned but it's not an exceptional error and @error is not set.
3553 * If @cancellable is not %NULL, then the operation can be cancelled by
3554 * triggering the cancellable object from another thread. If the operation
3555 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
3556 * operation was partially finished when the operation was cancelled the
3557 * partial result will be returned, without an error.
3558 * On error -1 is returned and @error is set accordingly.
3560 * Returns: the byte read from the @stream, or -1 on end of stream or error.
3565 * GSimpleActionGroup:
3567 * The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API.
3574 * g_socket_set_blocking:
3575 * @socket: a #GSocket.
3576 * @blocking: Whether to use blocking I/O or not.
3578 * Sets the blocking mode of the socket. In blocking mode
3579 * all operations block until they succeed or there is an error. In
3580 * non-blocking mode all functions return results immediately or
3581 * with a %G_IO_ERROR_WOULD_BLOCK error.
3582 * All sockets are created in blocking mode. However, note that the
3583 * platform level socket is always non-blocking, and blocking mode
3584 * is a GSocket level feature.
3591 * g_buffered_input_stream_get_buffer_size:
3592 * @stream: a #GBufferedInputStream
3594 * Gets the size of the input buffer.
3596 * Returns: the current buffer size.
3601 * g_unix_fd_list_peek_fds:
3602 * @list: a #GUnixFDList
3603 * @length: pointer to the length of the returned array, or %NULL
3605 * Returns the array of file descriptors that is contained in this
3607 * After this call, the descriptors remain the property of @list. The
3608 * caller must not close them and must not free the array. The array is
3609 * valid only until @list is changed in any way.
3610 * If @length is non-%NULL then it is set to the number of file
3611 * descriptors in the returned array. The returned array is also
3612 * terminated with -1.
3613 * This function never returns %NULL. In case there are no file
3614 * descriptors contained in @list, an empty array is returned.
3616 * Returns: an array of file descriptors
3622 * g_network_address_new:
3623 * @hostname: the hostname
3626 * Creates a new #GSocketConnectable for connecting to the given
3628 * Returns: (transfer full): the new #GNetworkAddress
3634 * g_file_info_has_namespace:
3635 * @info: a #GFileInfo.
3636 * @name_space: a file attribute namespace.
3638 * Checks if a file info structure has an attribute in the
3639 * specified @name_space.
3642 * Returns: %TRUE if @Ginfo has an attribute in @name_space,
3648 * g_data_output_stream_put_uint32:
3649 * @stream: a #GDataOutputStream.
3650 * @data: a #guint32.
3651 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
3652 * @error: a #GError, %NULL to ignore.
3654 * Puts an unsigned 32-bit integer into the stream.
3656 * Returns: %TRUE if @data was successfully added to the @stream.
3661 * g_file_set_attribute:
3662 * @file: input #GFile.
3663 * @attribute: a string containing the attribute's name.
3664 * @type: The type of the attribute
3665 * @value_p: a pointer to the value (or the pointer itself if the type is a pointer type)
3666 * @flags: a set of #GFileQueryInfoFlags.
3667 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
3668 * @error: a #GError, or %NULL
3670 * Sets an attribute in the file with attribute name @attribute to @value.
3671 * If @cancellable is not %NULL, then the operation can be cancelled by
3672 * triggering the cancellable object from another thread. If the operation
3673 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
3675 * Returns: %TRUE if the attribute was set, %FALSE otherwise.
3680 * g_filename_completer_get_completion_suffix:
3681 * @completer: the filename completer.
3682 * @initial_text: text to be completed.
3684 * Obtains a completion for @initial_text from @completer.
3685 * This string is not owned by GIO, so remember to g_free() it
3688 * Returns: a completed string, or %NULL if no completion exists.
3693 * GFileMonitorFlags:
3694 * @G_FILE_MONITOR_NONE: No flags set.
3695 * @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events.
3696 * @G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED event instead (NB: not supported on all backends; the default behaviour -without specifying this flag- is to send single DELETED and CREATED events).
3698 * Flags used to set what a #GFileMonitor will watch for.
3706 * Creates a new icon for a file.
3708 * Returns: (transfer full): a #GIcon for the given @file, or %NULL on error.
3713 * g_app_info_get_recommended_for_type:
3714 * @content_type: the content type to find a #GAppInfo for
3716 * Gets a list of recommended #GAppInfos for a given content type, i.e.
3717 * those applications which claim to support the given content type exactly,
3718 * and not by MIME type subclassing.
3719 * for given @content_type or %NULL on error.
3721 * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
3727 * SECTION:gnetworkservic:
3728 * @short_description: A GSocketConnectable for resolving SRV records
3729 * @include: gio/gio.h
3731 * Like #GNetworkAddress does with hostnames, #GNetworkService
3732 * provides an easy way to resolve a SRV record, and then attempt to
3733 * connect to one of the hosts that implements that service, handling
3734 * service priority/weighting, multiple IP addresses, and multiple
3736 * See #GSrvTarget for more information about SRV records, and see
3737 * #GSocketConnectable for and example of using the connectable
3743 * g_file_start_mountable:
3744 * @file: input #GFile.
3745 * @flags: flags affecting the operation
3746 * @start_operation: a #GMountOperation, or %NULL to avoid user interaction.
3747 * @cancellable: optional #GCancellable object, %NULL to ignore.
3748 * @callback: a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
3749 * @user_data: the data to pass to callback function
3751 * Starts a file of type G_FILE_TYPE_MOUNTABLE.
3752 * Using @start_operation, you can request callbacks when, for instance,
3753 * passwords are needed during authentication.
3754 * If @cancellable is not %NULL, then the operation can be cancelled by
3755 * triggering the cancellable object from another thread. If the operation
3756 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
3757 * When the operation is finished, @callback will be called. You can then call
3758 * g_file_mount_mountable_finish() to get the result of the operation.
3765 * G_OBJECT_WARN_INVALID_PROPERTY_ID:
3766 * @object: the #GObject on which set_property() or get_property() was called
3767 * @property_id: the numeric id of the property
3768 * @pspec: the #GParamSpec of the property
3770 * This macro should be used to emit a standard warning about unexpected
3771 * properties in set_property() and get_property() implementations.
3776 * g_app_info_get_default_for_uri_scheme:
3777 * @uri_scheme: a string containing a URI scheme.
3779 * Gets the default application for launching applications
3780 * using this URI scheme. A URI scheme is the initial part
3781 * of the URI, up to but not including the ':', e.g. "http",
3784 * Returns: #GAppInfo for given @uri_scheme or %NULL on error.
3789 * g_file_set_attributes_finish:
3790 * @file: input #GFile.
3791 * @result: a #GAsyncResult.
3792 * @info: (out) (transfer full): a #GFileInfo.
3793 * @error: a #GError, or %NULL
3795 * Finishes setting an attribute started in g_file_set_attributes_async().
3797 * Returns: %TRUE if the attributes were set correctly, %FALSE otherwise.
3802 * G_VARIANT_TYPE_ARRAY:
3804 * An indefinite type that is a supertype of every array type.
3809 * g_socket_listener_accept:
3810 * @listener: a #GSocketListener
3811 * @source_object: (out) (transfer none) (allow-none): location where #GObject pointer will be stored, or %NULL
3812 * @cancellable: optional #GCancellable object, %NULL to ignore.
3813 * @error: #GError for error reporting, or %NULL to ignore.
3815 * Blocks waiting for a client to connect to any of the sockets added
3816 * to the listener. Returns a #GSocketConnection for the socket that was
3818 * If @source_object is not %NULL it will be filled out with the source
3819 * object specified when the corresponding socket or address was added
3821 * If @cancellable is not %NULL, then the operation can be cancelled by
3822 * triggering the cancellable object from another thread. If the operation
3823 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
3825 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
3831 * g_dbus_node_info_unref:
3832 * @info: A #GDBusNodeInfo.
3834 * If @info is statically allocated, does nothing. Otherwise decreases
3835 * the reference count of @info. When its reference count drops to 0,
3836 * the memory used is freed.
3843 * g_unix_mount_point_guess_can_eject:
3844 * @mount_point: a #GUnixMountPoint
3846 * Guesses whether a Unix mount point can be ejected.
3848 * Returns: %TRUE if @mount_point is deemed to be ejectable.
3854 * @n_values: number of values contained in the array
3855 * @values: array of values
3857 * A #GValueArray contains an array of #GValue elements.
3862 * g_file_enumerate_children_finish:
3863 * @file: input #GFile.
3864 * @res: a #GAsyncResult.
3865 * @error: a #GError.
3867 * Finishes an async enumerate children operation.
3868 * See g_file_enumerate_children_async().
3869 * Free the returned object with g_object_unref().
3871 * Returns: (transfer full): a #GFileEnumerator or %NULL if an error occurred.
3876 * g_dbus_connection_flush:
3877 * @connection: A #GDBusConnection.
3878 * @cancellable: A #GCancellable or %NULL.
3879 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result.
3880 * @user_data: The data to pass to @callback.
3882 * Asynchronously flushes @connection, that is, writes all queued
3883 * outgoing message to the transport and then flushes the transport
3884 * (using g_output_stream_flush_async()). This is useful in programs
3885 * that wants to emit a D-Bus signal and then exit
3886 * immediately. Without flushing the connection, there is no guarantee
3887 * that the message has been sent to the networking buffers in the OS
3889 * This is an asynchronous method. When the operation is finished,
3890 * linkend="g-main-context-push-thread-default">thread-default main
3891 * loop</link> of the thread you are calling this method from. You can
3892 * then call g_dbus_connection_flush_finish() to get the result of the
3893 * operation. See g_dbus_connection_flush_sync() for the synchronous
3901 * g_inet_address_new_any:
3902 * @family: the address family
3904 * Creates a #GInetAddress for the "any" address (unassigned/"don't
3905 * care") for @family.
3908 * Returns: a new #GInetAddress corresponding to the "any" address
3916 * A #GInetSocketAddress representing a connection via a proxy server
3923 * g_emblemed_icon_get_emblems:
3924 * @emblemed: a #GEmblemedIcon
3926 * Gets the list of emblems for the @icon.
3927 * is owned by @emblemed
3929 * Returns: (element-type utf8) (transfer none): a #GList of #GEmblem <!-- -->s that
3937 * The <structname>GMainLoop</structname> struct is an opaque data type
3938 * representing the main event loop of a GLib or GTK+ application.
3943 * g_file_io_stream_query_info_finish:
3944 * @stream: a #GFileIOStream.
3945 * @result: a #GAsyncResult.
3946 * @error: a #GError, %NULL to ignore.
3948 * Finalizes the asynchronous query started
3949 * by g_file_io_stream_query_info_async().
3951 * Returns: (transfer full): A #GFileInfo for the finished query.
3958 * @file: #gconstpointer to a #GFile.
3960 * Creates a hash value for a #GFile.
3961 * This call does no blocking i/o.
3962 * integer that can be used as hash value for the #GFile.
3963 * This function is intended for easily hashing a #GFile to
3964 * add to a #GHashTable or similar data structure.
3967 * Returns: 0 if @file is not a valid #GFile, otherwise an
3972 * g_inet_address_new_loopback:
3973 * @family: the address family
3975 * Creates a #GInetAddress for the loopback address for @family.
3978 * Returns: a new #GInetAddress corresponding to the loopback address
3984 * g_unix_mount_monitor_set_rate_limit:
3985 * @mount_monitor: a #GUnixMountMonitor
3986 * @limit_msec: a integer with the limit in milliseconds to poll for changes.
3988 * Sets the rate limit to which the @mount_monitor will report
3989 * consecutive change events to the mount and mount point entry files.
3997 * @source: input #GFile.
3998 * @destination: destination #GFile
3999 * @flags: set of #GFileCopyFlags
4000 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
4001 * @progress_callback: (scope call): function to callback with progress information
4002 * @progress_callback_data: (closure): user data to pass to @progress_callback
4003 * @error: #GError to set on error, or %NULL
4005 * Copies the file @source to the location specified by @destination.
4006 * Can not handle recursive copies of directories.
4007 * If the flag #G_FILE_COPY_OVERWRITE is specified an already
4008 * existing @destination file is overwritten.
4009 * If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks
4010 * will be copied as symlinks, otherwise the target of the
4011 * If @cancellable is not %NULL, then the operation can be cancelled by
4012 * triggering the cancellable object from another thread. If the operation
4013 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
4014 * If @progress_callback is not %NULL, then the operation can be monitored by
4015 * setting this to a #GFileProgressCallback function. @progress_callback_data
4016 * will be passed to this function. It is guaranteed that this callback will
4017 * be called after all data has been transferred with the total number of bytes
4018 * copied during the operation.
4019 * If the @source file does not exist then the G_IO_ERROR_NOT_FOUND
4020 * error is returned, independent on the status of the @destination.
4021 * If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the
4022 * error G_IO_ERROR_EXISTS is returned.
4023 * If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY
4024 * error is returned. If trying to overwrite a directory with a directory the
4025 * G_IO_ERROR_WOULD_MERGE error is returned.
4026 * If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is
4027 * specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error
4029 * If you are interested in copying the #GFile object itself (not the on-disk
4030 * file), see g_file_dup().
4032 * Returns: %TRUE on success, %FALSE otherwise.
4037 * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE:
4039 * A key in the "dos" namespace for checking if the file's archive flag
4040 * is set. This attribute is %TRUE if the archive flag is set. This attribute
4041 * is only available for DOS file systems. Corresponding #GFileAttributeType
4042 * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
4047 * g_file_set_attribute_int64:
4048 * @file: input #GFile.
4049 * @attribute: a string containing the attribute's name.
4050 * @value: a #guint64 containing the attribute's new value.
4051 * @flags: a #GFileQueryInfoFlags.
4052 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
4053 * @error: a #GError, or %NULL
4055 * Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT64 to @value.
4056 * If @attribute is of a different type, this operation will fail.
4057 * If @cancellable is not %NULL, then the operation can be cancelled by
4058 * triggering the cancellable object from another thread. If the operation
4059 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
4061 * Returns: %TRUE if the @attribute was successfully set, %FALSE otherwise.
4066 * G_FILE_ATTRIBUTE_STANDARD_TYPE:
4068 * A key in the "standard" namespace for storing file types.
4069 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
4070 * The value for this key should contain a #GFileType.
4075 * g_file_enumerator_next_files_finish:
4076 * @enumerator: a #GFileEnumerator.
4077 * @result: a #GAsyncResult.
4078 * @error: a #GError location to store the error occuring, or %NULL to ignore.
4080 * Finishes the asynchronous operation started with g_file_enumerator_next_files_async().
4081 * g_list_free() and unref the infos with g_object_unref() when you're
4084 * Returns: (transfer full) (element-type Gio.FileInfo): a #GList of #GFileInfo<!---->s. You must free the list with
4090 * @string: The string to check.
4092 * Checks if @string is a valid D-Bus bus name (either unique or well-known).
4094 * Returns: %TRUE if valid, %FALSE otherwise.
4100 * G_DEFINE_ABSTRACT_TYPE_WITH_CODE:
4101 * @TN: The name of the new type, in Camel case.
4102 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
4103 * @T_P: The #GType of the parent type.
4104 * @_C_: Custom code that gets inserted in the @type_name_get_type() function.
4106 * A convenience macro for type implementations.
4107 * Similar to G_DEFINE_TYPE_WITH_CODE(), but defines an abstract type and allows you to
4108 * insert custom code into the *_get_type() function, e.g. interface implementations
4109 * via G_IMPLEMENT_INTERFACE(). See G_DEFINE_TYPE_EXTENDED() for an example.
4116 * g_tls_backend_supports_tls:
4117 * @backend: the #GTlsBackend
4119 * Checks if TLS is supported; if this returns %FALSE for the default
4120 * #GTlsBackend, it means no "real" TLS backend is available.
4122 * Returns: whether or not TLS is supported
4128 * g_unix_fd_message_new_with_fd_list:
4129 * @fd_list: a #GUnixFDList
4131 * Creates a new #GUnixFDMessage containing @list.
4133 * Returns: a new #GUnixFDMessage
4139 * GDBusConnection:flags:
4141 * Flags from the #GDBusConnectionFlags enumeration.
4148 * g_application_run:
4149 * @application: a #GApplication
4150 * @argc: the argc from main()
4151 * @argv: (array length=argc): the argv from main()
4152 * @returns: the exit status
4154 * Runs the application.
4155 * This function is intended to be run from main() and its return value
4156 * is intended to be returned by main().
4157 * First, the local_command_line() virtual function is invoked. This
4158 * function always runs on the local instance. If that function returns
4159 * %FALSE then the application is registered and the #GApplication::command-line
4160 * signal is emitted in the primary instance (which may or may not be
4162 * If the application has the %G_APPLICATION_HANDLES_COMMAND_LINE
4163 * flag set then the default implementation of local_command_line()
4164 * always returns %FALSE immediately, resulting in the commandline
4165 * always being handled in the primary instance.
4166 * Otherwise, the default implementation of local_command_line() tries
4167 * to do a couple of things that are probably reasonable for most
4168 * applications. First, g_application_register() is called to attempt
4169 * to register the application. If that works, then the command line
4170 * arguments are inspected. If no commandline arguments are given, then
4171 * g_application_activate() is called. If commandline arguments are
4172 * given and the %G_APPLICATION_HANDLES_OPEN flag is set then they
4173 * are assumed to be filenames and g_application_open() is called.
4174 * If you are interested in doing more complicated local handling of the
4175 * commandline then you should implement your own #GApplication subclass
4176 * and override local_command_line(). See
4177 * <xref linkend="gapplication-example-cmdline2"/> for an example.
4178 * If, after the above is done, the use count of the application is zero
4179 * then the exit status is returned immediately. If the use count is
4180 * non-zero then the mainloop is run until the use count falls to zero,
4181 * at which point 0 is returned.
4182 * If the %G_APPLICATION_IS_SERVICE flag is set, then the exiting at
4183 * around to provide its <emphasis>service</emphasis> to others).
4185 * Use count of zero is delayed for a while (ie: the instance stays
4191 * g_socket_service_new:
4193 * Creates a new #GSocketService with no sockets to listen for.
4194 * New listeners can be added with e.g. g_socket_listener_add_address()
4195 * or g_socket_listener_add_inet_port().
4197 * Returns: a new #GSocketService.
4203 * G_VALUE_HOLDS_GTYPE:
4204 * @value: a valid #GValue structure
4206 * Checks whether the given #GValue can hold values of type %G_TYPE_GTYPE.
4209 * Returns: %TRUE on success.
4214 * g_unix_connection_receive_fd:
4215 * @connection: a #GUnixConnection
4216 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
4217 * @error: (allow-none): #GError for error reporting, or %NULL to ignore
4219 * Receives a file descriptor from the sending end of the connection.
4220 * The sending end has to call g_unix_connection_send_fd() for this
4222 * As well as reading the fd this also reads a single byte from the
4223 * stream, as this is required for fd passing to work on some
4226 * Returns: a file descriptor on success, -1 on error.
4232 * GMountOperation::show-processes:
4233 * @op: a #GMountOperation.
4234 * @message: string containing a message to display to the user.
4235 * @processes: an array of #GPid for processes blocking the operation.
4236 * @choices: an array of strings for each possible choice.
4238 * Emitted when one or more processes are blocking an operation
4239 * e.g. unmounting/ejecting a #GMount or stopping a #GDrive.
4240 * Note that this signal may be emitted several times to update the
4241 * list of blocking processes as processes close files. The
4242 * application should only respond with g_mount_operation_reply() to
4243 * the latest signal (setting #GMountOperation:choice to the choice
4245 * If the message contains a line break, the first line should be
4246 * presented as a heading. For example, it may be used as the
4247 * primary text in a #GtkMessageDialog.
4255 * @class: a valid #GObjectClass
4257 * Casts a derived #GObjectClass structure into a #GObjectClass structure.
4262 * g_simple_async_result_set_error: (skip)
4263 * @simple: a #GSimpleAsyncResult.
4264 * @domain: a #GQuark (usually #G_IO_ERROR).
4265 * @code: an error code.
4266 * @format: a formatted error reporting string.
4267 * @...: a list of variables to fill in @format.
4269 * Sets an error within the asynchronous result without a #GError.
4275 * @G_BINDING_DEFAULT: The default binding; if the source property changes, the target property is updated with its value.
4276 * @G_BINDING_BIDIRECTIONAL: Bidirectional binding; if either the property of the source or the property of the target changes, the other is updated.
4277 * @G_BINDING_SYNC_CREATE: Synchronize the values of the source and target properties when creating the binding; the direction of the synchronization is always from the source to the target.
4278 * @G_BINDING_INVERT_BOOLEAN: If the two properties being bound are booleans, setting one to %TRUE will result in the other being set to %FALSE and vice versa. This flag will only work for boolean properties, and cannot be used when passing custom transformation functions to g_object_bind_property_full().
4280 * Flags to be passed to g_object_bind_property() or
4281 * g_object_bind_property_full().
4282 * This enumeration can be extended at later date.
4289 * G_CLOSURE_N_NOTIFIERS:
4292 * Get the total number of notifiers connected with the closure @cl.
4293 * The count includes the meta marshaller, the finalize and invalidate notifiers
4294 * and the marshal guards. Note that each guard counts as two notifiers.
4295 * See g_closure_set_meta_marshal(), g_closure_add_finalize_notifier(),
4296 * g_closure_add_invalidate_notifier() and g_closure_add_marshal_guards().
4298 * Returns: number of notifiers
4303 * g_file_info_remove_attribute:
4304 * @info: a #GFileInfo.
4305 * @attribute: a file attribute key.
4307 * Removes all cases of @attribute from @info if it exists.
4312 * g_tcp_wrapper_connection_get_base_io_stream:
4313 * @conn: a #GTcpWrapperConnection
4315 * Get's @conn's base #GIOStream
4317 * Returns: (transfer none): @conn's base #GIOStream
4322 * G_IS_PARAM_SPEC_GTYPE:
4323 * @pspec: a #GParamSpec
4325 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_GTYPE.
4328 * Returns: %TRUE on success.
4333 * g_unix_input_stream_get_fd:
4334 * @stream: a #GUnixInputStream
4336 * Return the UNIX file descriptor that the stream reads from.
4338 * Returns: The file descriptor of @stream
4344 * g_dbus_connection_add_filter:
4345 * @connection: A #GDBusConnection.
4346 * @filter_function: A filter function.
4347 * @user_data: User data to pass to @filter_function.
4348 * @user_data_free_func: Function to free @user_data with when filter is removed or %NULL.
4350 * Adds a message filter. Filters are handlers that are run on all
4351 * incoming and outgoing messages, prior to standard dispatch. Filters
4352 * are run in the order that they were added. The same handler can be
4353 * added as a filter more than once, in which case it will be run more
4354 * than once. Filters added during a filter callback won't be run on
4355 * the message being processed. Filter functions are allowed to modify
4356 * and even drop messages - see the #GDBusMessageFilterResult
4357 * enumeration for details.
4358 * Note that filters are run in a dedicated message handling thread so
4359 * they can't block and, generally, can't do anything but signal a
4360 * worker thread. Also note that filters are rarely needed - use API
4361 * such as g_dbus_connection_send_message_with_reply(),
4362 * g_dbus_connection_signal_subscribe() or
4363 * g_dbus_connection_call() instead.
4364 * If a filter consumes an incoming message the message is not
4365 * dispatched anywhere else - not even the standard dispatch machinery
4366 * (that API such as g_dbus_connection_signal_subscribe() and
4367 * g_dbus_connection_send_message_with_reply() relies on) will see the
4368 * message. Similary, if a filter consumes an outgoing message, the
4369 * message will not be sent to the other peer.
4370 * g_dbus_connection_remove_filter().
4372 * Returns: A filter identifier that can be used with
4380 * Information about an installed application and methods to launch
4381 * it (with file arguments).
4386 * g_dbus_method_invocation_return_dbus_error:
4387 * @invocation: A #GDBusMethodInvocation.
4388 * @error_name: A valid D-Bus error name.
4389 * @error_message: A valid D-Bus error message.
4391 * Finishes handling a D-Bus method call by returning an error.
4392 * This method will free @invocation, you cannot use it afterwards.
4399 * g_file_info_get_attribute_string:
4400 * @info: a #GFileInfo.
4401 * @attribute: a file attribute key.
4403 * Gets the value of a string attribute. If the attribute does
4404 * not contain a string, %NULL will be returned.
4407 * Returns: the contents of the @attribute value as a string, or
4412 * g_content_type_equals:
4413 * @type1: a content type string
4414 * @type2: a content type string
4416 * Compares two content types for equality.
4419 * Returns: %TRUE if the two strings are identical or equivalent,
4424 * g_file_info_set_size:
4425 * @info: a #GFileInfo.
4426 * @size: a #goffset containing the file's size.
4428 * Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info
4429 * to the given size.
4434 * GApplication::startup:
4435 * @application: the application
4437 * The ::startup signal is emitted on the primary instance immediately
4438 * after registration. See g_activation_register().
4443 * GDBusConnectionFlags:
4444 * @G_DBUS_CONNECTION_FLAGS_NONE: No flags set.
4445 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server.
4446 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client.
4447 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When authenticating as a server, allow the anonymous authentication method.
4448 * @G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a message bus. This means that the Hello() method will be invoked as part of the connection setup.
4449 * @G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is delayed until g_dbus_connection_start_message_processing() is called.
4451 * Flags used when creating a new #GDBusConnection.
4459 * @short_description: File Information and Attributes
4460 * @include: gio/gio.h
4461 * @see_also: #GFile, <link linkend="gio-GFileAttribute">GFileAttribute</link>
4463 * Functionality for manipulating basic metadata for files. #GFileInfo
4464 * implements methods for getting information that all files should
4465 * contain, and allows for manipulation of extended attributes.
4466 * See <link linkend="gio-GFileAttribute">GFileAttribute</link> for more
4467 * information on how GIO handles file attributes.
4468 * To obtain a #GFileInfo for a #GFile, use g_file_query_info() (or its
4469 * async variant). To obtain a #GFileInfo for a file input or output
4470 * stream, use g_file_input_stream_query_info() or
4471 * g_file_output_stream_query_info() (or their async variants).
4472 * To change the actual attributes of a file, you should then set the
4473 * attribute in the #GFileInfo and call g_file_set_attributes_from_info()
4474 * or g_file_set_attributes_async() on a GFile.
4475 * However, not all attributes can be changed in the file. For instance,
4476 * the actual size of a file cannot be changed via g_file_info_set_size().
4477 * You may call g_file_query_settable_attributes() and
4478 * g_file_query_writable_namespaces() to discover the settable attributes
4479 * of a particular file at runtime.
4480 * #GFileAttributeMatcher allows for searching through a #GFileInfo for
4487 * @socket: a #GSocket.
4488 * @address: a #GSocketAddress specifying the local address.
4489 * @allow_reuse: whether to allow reusing this address
4490 * @error: #GError for error reporting, or %NULL to ignore.
4492 * When a socket is created it is attached to an address family, but it
4493 * doesn't have an address in this family. g_socket_bind() assigns the
4494 * address (sometimes called name) of the socket.
4495 * It is generally required to bind to a local address before you can
4496 * receive connections. (See g_socket_listen() and g_socket_accept() ).
4497 * In certain situations, you may also want to bind a socket that will be
4498 * used to initiate connections, though this is not normally required.
4499 * eventually call g_socket_accept() on), and %FALSE for client sockets.
4500 * (Specifically, if it is %TRUE, then g_socket_bind() will set the
4501 * %SO_REUSEADDR flag on the socket, allowing it to bind @address even if
4502 * that address was previously used by another socket that has not yet been
4503 * fully cleaned-up by the kernel. Failing to set this flag on a server
4504 * socket may cause the bind call to return %G_IO_ERROR_ADDRESS_IN_USE if
4505 * the server program is stopped and then immediately restarted.)
4507 * Returns: %TRUE on success, %FALSE on error.
4513 * g_input_stream_read_all:
4514 * @stream: a #GInputStream.
4515 * @buffer: a buffer to read data into (which should be at least count bytes long).
4516 * @count: the number of bytes that will be read from the stream
4517 * @bytes_read: (out): location to store the number of bytes that was read from the stream
4518 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
4519 * @error: location to store the error occuring, or %NULL to ignore
4521 * Tries to read @count bytes from the stream into the buffer starting at
4522 * This function is similar to g_input_stream_read(), except it tries to
4523 * read as many bytes as requested, only stopping on an error or end of stream.
4524 * On a successful read of @count bytes, or if we reached the end of the
4525 * stream, %TRUE is returned, and @bytes_read is set to the number of bytes
4526 * read into @buffer.
4527 * If there is an error during the operation %FALSE is returned and @error
4528 * is set to indicate the error status, @bytes_read is updated to contain
4529 * the number of bytes read into @buffer before the error occurred.
4531 * Returns: %TRUE on success, %FALSE if there was an error
4536 * G_VFS_EXTENSION_POINT_NAME:
4538 * Extension point for #GVfs functionality.
4539 * See <link linkend="extending-gio">Extending GIO</link>.
4544 * GParamSpecTypeInfo:
4545 * @instance_size: Size of the instance (object) structure.
4546 * @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the <link linkend="glib-Memory-Slices">slice allocator</link> now.
4547 * @instance_init: Location of the instance initialization function (optional).
4548 * @value_type: The #GType of values conforming to this #GParamSpec
4549 * @finalize: The instance finalization function (optional).
4550 * @value_set_default: Resets a @value to the default value for @pspec (recommended, the default is g_value_reset()), see g_param_value_set_default().
4551 * @value_validate: Ensures that the contents of @value comply with the specifications set out by @pspec (optional), see g_param_value_set_validate().
4552 * @values_cmp: Compares @value1 with @value2 according to @pspec (recommended, the default is memcmp()), see g_param_values_cmp().
4554 * This structure is used to provide the type system with the information
4555 * required to initialize and destruct (finalize) a parameter's class and
4556 * instances thereof.
4557 * The initialized structure is passed to the g_param_type_register_static()
4558 * The type system will perform a deep copy of this structure, so its memory
4559 * does not need to be persistent across invocation of
4560 * g_param_type_register_static().
4565 * G_TYPE_IS_VALUE_ABSTRACT:
4566 * @type: A #GType value.
4568 * Checks if @type is an abstract value type. An abstract value type introduces
4569 * a value table, but can't be used for g_value_init() and is normally used as
4570 * an abstract base type for derived value types.
4572 * Returns: %TRUE on success.
4577 * g_cancellable_pop_current:
4578 * @cancellable: a #GCancellable object
4580 * Pops @cancellable off the cancellable stack (verifying that @cancellable
4581 * is on the top of the stack).
4586 * SECTION:gthemedico:
4587 * @short_description: Icon theming support
4588 * @include: gio/gio.h
4589 * @see_also: #GIcon, #GLoadableIcon
4591 * #GThemedIcon is an implementation of #GIcon that supports icon themes.
4592 * #GThemedIcon contains a list of all of the icons present in an icon
4593 * theme, so that icons can be looked up quickly. #GThemedIcon does
4594 * not provide actual pixmaps for icons, just the icon names.
4595 * Ideally something like gtk_icon_theme_choose_icon() should be used to
4596 * resolve the list of names so that fallback icons work nicely with
4597 * themes that inherit other themes.
4602 * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN:
4604 * A key in the "standard" namespace for checking if a file is hidden.
4605 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
4610 * GMountUnmountFlags:
4611 * @G_MOUNT_UNMOUNT_NONE: No flags set.
4612 * @G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding file operations on the mount.
4614 * Flags used when an unmounting a mount.
4619 * GAsyncInitableIface:
4620 * @g_iface: The parent interface.
4621 * @init_async: Starts initialization of the object.
4622 * @init_finish: Finishes initialization of the object.
4624 * Provides an interface for asynchronous initializing object such that
4625 * initialization may fail.
4632 * G_VALUE_HOLDS_UINT64:
4633 * @value: a valid #GValue structure
4635 * Checks whether the given #GValue can hold values of type %G_TYPE_UINT64.
4637 * Returns: %TRUE on success.
4642 * g_file_info_list_attributes:
4643 * @info: a #GFileInfo.
4644 * @name_space: a file attribute key's namespace.
4646 * Lists the file info structure's attributes.
4647 * possible attribute types for the given @name_space, or
4650 * Returns: (array zero-terminated=1) (transfer full): a null-terminated array of strings of all of the
4655 * GActionGroup::action-enabled-changed:
4656 * @action_group: the #GActionGroup that changed
4657 * @action_name: the name of the action in @action_group
4658 * @enabled: whether the action is enabled or not
4660 * Signals that the enabled status of the named action has changed.
4667 * g_dbus_connection_new_sync:
4668 * @stream: A #GIOStream.
4669 * @guid: The GUID to use if a authenticating as a server or %NULL.
4670 * @flags: Flags describing how to make the connection.
4671 * @observer: A #GDBusAuthObserver or %NULL.
4672 * @cancellable: A #GCancellable or %NULL.
4673 * @error: Return location for error or %NULL.
4675 * Synchronously sets up a D-Bus connection for exchanging D-Bus messages
4676 * with the end represented by @stream.
4677 * If @observer is not %NULL it may be used to control the
4678 * authentication process.
4679 * This is a synchronous failable constructor. See
4680 * g_dbus_connection_new() for the asynchronous version.
4682 * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
4688 * GSocketListenerClass:
4689 * @changed: virtual method called when the set of socket listened to changes
4696 * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE:
4698 * A key in the "mountable" namespace for getting the unix device.
4699 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
4705 * @parent_class: the parent class
4706 * @load: loads the module and registers one or more types using g_type_module_register_type().
4707 * @unload: unloads the module
4709 * In order to implement dynamic loading of types based on #GTypeModule,
4710 * the @load and @unload functions in #GTypeModuleClass must be implemented.
4715 * SECTION:gbufferedinputstrea:
4716 * @short_description: Buffered Input Stream
4717 * @include: gio/gio.h
4718 * @see_also: #GFilterInputStream, #GInputStream
4720 * Buffered input stream implements #GFilterInputStream and provides
4721 * for buffered reads.
4722 * By default, #GBufferedInputStream's buffer size is set at 4 kilobytes.
4723 * To create a buffered input stream, use g_buffered_input_stream_new(),
4724 * or g_buffered_input_stream_new_sized() to specify the buffer's size at
4726 * To get the size of a buffer within a buffered input stream, use
4727 * g_buffered_input_stream_get_buffer_size(). To change the size of a
4728 * buffered input stream's buffer, use
4729 * g_buffered_input_stream_set_buffer_size(). Note that the buffer's size
4730 * cannot be reduced below the size of the data within the buffer.
4735 * g_proxy_connect_async:
4737 * @connection: a #GIOStream
4738 * @proxy_address: a #GProxyAddress
4739 * @cancellable: a #GCancellable
4740 * @callback: a #GAsyncReadyCallback
4741 * @user_data: callback data
4743 * Asynchronous version of g_proxy_connect().
4750 * g_resolver_lookup_service:
4751 * @resolver: a #GResolver
4752 * @service: the service type to look up (eg, "ldap")
4753 * @protocol: the networking protocol to use for @service (eg, "tcp")
4754 * @domain: the DNS domain to look up the service in
4755 * @cancellable: a #GCancellable, or %NULL
4756 * @error: return location for a #GError, or %NULL
4758 * Synchronously performs a DNS SRV lookup for the given @service and
4759 * include the leading underscore that appears in the actual DNS
4761 * On success, g_resolver_lookup_service() will return a #GList of
4762 * #GSrvTarget, sorted in order of preference. (That is, you should
4763 * attempt to connect to the first target first, then the second if
4764 * the first fails, etc.)
4765 * If the DNS resolution fails, @error (if non-%NULL) will be set to
4766 * a value from #GResolverError.
4767 * If @cancellable is non-%NULL, it can be used to cancel the
4768 * operation, in which case @error (if non-%NULL) will be set to
4769 * %G_IO_ERROR_CANCELLED.
4770 * If you are planning to connect to the service, it is usually easier
4771 * to create a #GNetworkService and use its #GSocketConnectable
4773 * or %NULL on error. You must free each of the targets and the list when you are
4774 * done with it. (You can use g_resolver_free_targets() to do this.)
4776 * Returns: (element-type GSrvTarget) (transfer full): a #GList of #GSrvTarget,
4783 * @file: input #GFile.
4784 * @flags: a set of #GFileCreateFlags.
4785 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
4786 * @error: a #GError, or %NULL
4788 * Creates a new file and returns an output stream for writing to it.
4789 * The file must not already exist.
4790 * By default files created are generally readable by everyone,
4791 * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
4792 * will be made readable only to the current user, to the level that
4793 * is supported on the target filesystem.
4794 * If @cancellable is not %NULL, then the operation can be cancelled by
4795 * triggering the cancellable object from another thread. If the operation
4796 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
4797 * If a file or directory with this name already exists the G_IO_ERROR_EXISTS
4798 * error will be returned.
4799 * Some file systems don't allow all file names, and may
4800 * return an G_IO_ERROR_INVALID_FILENAME error, and if the name
4801 * is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned.
4802 * Other errors are possible too, and depend on what kind of
4803 * filesystem the file is on.
4805 * Free the returned object with g_object_unref().
4807 * Returns: (transfer full): a #GFileOutputStream for the newly created file, or
4812 * g_buffered_input_stream_fill:
4813 * @stream: a #GBufferedInputStream
4814 * @count: the number of bytes that will be read from the stream
4815 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
4816 * @error: location to store the error occuring, or %NULL to ignore
4818 * Tries to read @count bytes from the stream into the buffer.
4819 * Will block during this read.
4820 * If @count is zero, returns zero and does nothing. A value of @count
4821 * larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
4822 * On success, the number of bytes read into the buffer is returned.
4823 * It is not an error if this is not the same as the requested size, as it
4824 * can happen e.g. near the end of a file. Zero is returned on end of file
4825 * (or if @count is zero), but never otherwise.
4826 * If @count is -1 then the attempted read size is equal to the number of
4827 * bytes that are required to fill the buffer.
4828 * If @cancellable is not %NULL, then the operation can be cancelled by
4829 * triggering the cancellable object from another thread. If the operation
4830 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
4831 * operation was partially finished when the operation was cancelled the
4832 * partial result will be returned, without an error.
4833 * On error -1 is returned and @error is set accordingly.
4834 * For the asynchronous, non-blocking, version of this function, see
4835 * g_buffered_input_stream_fill_async().
4838 * Returns: the number of bytes read into @stream's buffer, up to @count,
4843 * GDBusInterfaceVTable:
4844 * @method_call: Function for handling incoming method calls.
4845 * @get_property: Function for getting a property.
4846 * @set_property: Function for setting a property.
4848 * Virtual table for handling properties and method calls for a D-Bus
4850 * If you want to handle getting/setting D-Bus properties asynchronously, simply
4851 * register an object with the <literal>org.freedesktop.DBus.Properties</literal>
4852 * D-Bus interface using g_dbus_connection_register_object().
4859 * g_settings_backend_writable_changed:
4860 * @backend: a #GSettingsBackend implementation
4861 * @key: the name of the key
4863 * Signals that the writability of a single key has possibly changed.
4864 * Since GSettings performs no locking operations for itself, this call
4865 * will always be made in response to external events.
4873 * @connection: A #GDBusConnection.
4874 * @flags: Flags used when constructing the proxy.
4875 * @info: A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
4876 * @name: A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
4877 * @object_path: An object path.
4878 * @interface_name: A D-Bus interface name.
4879 * @cancellable: A #GCancellable or %NULL.
4880 * @callback: Callback function to invoke when the proxy is ready.
4881 * @user_data: User data to pass to @callback.
4883 * Creates a proxy for accessing @interface_name on the remote object
4884 * at @object_path owned by @name at @connection and asynchronously
4885 * loads D-Bus properties unless the
4886 * %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used. Connect to
4887 * the #GDBusProxy::g-properties-changed signal to get notified about
4889 * If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up
4890 * match rules for signals. Connect to the #GDBusProxy::g-signal signal
4891 * to handle signals from the remote object.
4892 * If @name is a well-known name and the
4893 * %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag isn't set and no name
4894 * owner currently exists, the message bus will be requested to launch
4895 * a name owner for the name.
4896 * This is a failable asynchronous constructor - when the proxy is
4897 * ready, @callback will be invoked and you can use
4898 * g_dbus_proxy_new_finish() to get the result.
4899 * See g_dbus_proxy_new_sync() and for a synchronous version of this constructor.
4900 * See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used.
4907 * g_unix_mount_point_free:
4908 * @mount_point: unix mount point to free.
4910 * Frees a unix mount point.
4915 * GInetSocketAddress:
4917 * An IPv4 or IPv6 socket address, corresponding to a <type>struct
4918 * sockaddr_in</type> or <type>struct sockaddr_in6</type>.
4923 * g_dbus_error_set_dbus_error_valist:
4924 * @error: A pointer to a #GError or %NULL.
4925 * @dbus_error_name: D-Bus error name.
4926 * @dbus_error_message: D-Bus error message.
4927 * @format: printf()-style format to prepend to @dbus_error_message or %NULL.
4928 * @var_args: Arguments for @format.
4930 * Like g_dbus_error_set_dbus_error() but intended for language bindings.
4937 * g_pollable_input_stream_can_poll:
4938 * @stream: a #GPollableInputStream.
4940 * Checks if @stream is actually pollable. Some classes may implement
4941 * #GPollableInputStream but have only certain instances of that class
4942 * be pollable. If this method returns %FALSE, then the behavior of
4943 * other #GPollableInputStream methods is undefined.
4944 * For any given stream, the value returned by this method is constant;
4945 * a stream cannot switch from pollable to non-pollable or vice versa.
4947 * Returns: %TRUE if @stream is pollable, %FALSE if not.
4954 * @G_DBUS_SIGNAL_FLAGS_NONE: No flags set.
4955 * @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch DBus call for this signal subscription. This gives you more control over which match rules you add (but you must add them manually).
4957 * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
4965 * @drive: a #GDrive.
4966 * @flags: flags affecting the start operation.
4967 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
4968 * @cancellable: optional #GCancellable object, %NULL to ignore.
4969 * @callback: a #GAsyncReadyCallback, or %NULL.
4970 * @user_data: user data to pass to @callback
4972 * Asynchronously starts a drive.
4973 * When the operation is finished, @callback will be called.
4974 * You can then call g_drive_start_finish() to obtain the
4975 * result of the operation.
4982 * g_unix_credentials_message_new_with_credentials:
4983 * @credentials: A #GCredentials object.
4985 * Creates a new #GUnixCredentialsMessage holding @credentials.
4987 * Returns: a new #GUnixCredentialsMessage
4993 * g_file_create_readwrite:
4995 * @flags: a set of #GFileCreateFlags
4996 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
4997 * @error: return location for a #GError, or %NULL
4999 * Creates a new file and returns a stream for reading and writing to it.
5000 * The file must not already exist.
5001 * By default files created are generally readable by everyone,
5002 * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
5003 * will be made readable only to the current user, to the level that
5004 * is supported on the target filesystem.
5005 * If @cancellable is not %NULL, then the operation can be cancelled by
5006 * triggering the cancellable object from another thread. If the operation
5007 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
5008 * If a file or directory with this name already exists the %G_IO_ERROR_EXISTS
5009 * error will be returned. Some file systems don't allow all file names,
5010 * and may return an %G_IO_ERROR_INVALID_FILENAME error, and if the name
5011 * is too long, %G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors
5012 * are possible too, and depend on what kind of filesystem the file is on.
5013 * Note that in many non-local file cases read and write streams are not
5014 * supported, so make sure you really need to do read and write streaming,
5015 * rather than just opening for reading or writing.
5016 * Free the returned object with g_object_unref().
5018 * Returns: (transfer full): a #GFileIOStream for the newly created file, or %NULL on error.
5024 * G_PARAM_SPEC_VALUE_ARRAY:
5025 * @pspec: a valid #GParamSpec instance
5027 * Cast a #GParamSpec instance into a #GParamSpecValueArray.
5032 * g_dbus_message_set_member:
5033 * @message: A #GDBusMessage.
5034 * @value: The value to set.
5036 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
5043 * g_socket_receive_from:
5044 * @socket: a #GSocket
5045 * @address: a pointer to a #GSocketAddress pointer, or %NULL
5046 * @buffer: a buffer to read data into (which should be at least @size bytes long).
5047 * @size: the number of bytes you want to read from the socket
5048 * @cancellable: a %GCancellable or %NULL
5049 * @error: #GError for error reporting, or %NULL to ignore.
5051 * Receive data (up to @size bytes) from a socket.
5052 * If @address is non-%NULL then @address will be set equal to the
5053 * source address of the received packet.
5054 * See g_socket_receive() for additional information.
5056 * Returns: Number of bytes read, or -1 on error
5062 * g_seekable_can_seek:
5063 * @seekable: a #GSeekable.
5065 * Tests if the stream supports the #GSeekableIface.
5067 * Returns: %TRUE if @seekable can be seeked. %FALSE otherwise.
5072 * GCredentialsClass:
5074 * Class structure for #GCredentials.
5081 * GDBusMessageFilterFunction:
5082 * @connection: (transfer none): A #GDBusConnection.
5083 * @message: (transfer full): A locked #GDBusMessage that the filter function takes ownership of.
5084 * @incoming: %TRUE if it is a message received from the other peer, %FALSE if it is a message to be sent to the other peer.
5085 * @user_data: User data passed when adding the filter.
5087 * Signature for function used in g_dbus_connection_add_filter().
5088 * A filter function is passed a #GDBusMessage and expected to return
5089 * a #GDBusMessage too. Passive filter functions that don't modify the
5090 * message can simply return the @message object:
5092 * static GDBusMessage *
5093 * passive_filter (GDBusConnection *connection
5094 * GDBusMessage *message,
5095 * gboolean incoming,
5096 * gpointer user_data)
5098 * /<!-- -->* inspect @message *<!-- -->/
5102 * Filter functions that wants to drop a message can simply return %NULL:
5104 * static GDBusMessage *
5105 * drop_filter (GDBusConnection *connection
5106 * GDBusMessage *message,
5107 * gboolean incoming,
5108 * gpointer user_data)
5110 * if (should_drop_message)
5112 * g_object_unref (message);
5118 * Finally, a filter function may modify a message by copying it:
5120 * static GDBusMessage *
5121 * modifying_filter (GDBusConnection *connection
5122 * GDBusMessage *message,
5123 * gboolean incoming,
5124 * gpointer user_data)
5126 * GDBusMessage *copy;
5129 * copy = g_dbus_message_copy (message, &error);
5130 * /<!-- -->* handle @error being is set *<!-- -->/
5131 * g_object_unref (message);
5132 * /<!-- -->* modify @copy *<!-- -->/
5136 * If the returned #GDBusMessage is different from @message and cannot
5137 * be sent on @connection (it could use features, such as file
5138 * descriptors, not compatible with @connection), then a warning is
5139 * logged to <emphasis>standard error</emphasis>. Applications can
5140 * check this ahead of time using g_dbus_message_to_blob() passing a
5141 * #GDBusCapabilityFlags value obtained from @connection.
5142 * g_object_unref() or %NULL to drop the message. Passive filter
5143 * functions can simply return the passed @message object.
5145 * Returns: (transfer full) (allow-none): A #GDBusMessage that will be freed with
5151 * g_unix_mount_get_fs_type:
5152 * @mount_entry: a #GUnixMount.
5154 * Gets the filesystem type for the unix mount.
5156 * Returns: a string containing the file system type.
5161 * g_file_attribute_matcher_new:
5162 * @attributes: an attribute string to match.
5164 * Creates a new file attribute matcher, which matches attributes
5165 * against a given string. #GFileAttributeMatcher<!-- -->s are reference
5166 * counted structures, and are created with a reference count of 1. If
5167 * the number of references falls to 0, the #GFileAttributeMatcher is
5168 * automatically destroyed.
5169 * The @attribute string should be formatted with specific keys separated
5170 * from namespaces with a double colon. Several "namespace::key" strings may be
5171 * concatenated with a single comma (e.g. "standard::type,standard::is-hidden").
5172 * The wildcard "*" may be used to match all keys and namespaces, or
5173 * "namespace::*" will match all keys in a given namespace.
5174 * Examples of strings to use:
5176 * <title>File Attribute Matcher strings and results</title>
5177 * <tgroup cols='2' align='left'><thead>
5178 * <row><entry> Matcher String </entry><entry> Matches </entry></row></thead>
5180 * <row><entry>"*"</entry><entry>matches all attributes.</entry></row>
5181 * <row><entry>"standard::is-hidden"</entry><entry>matches only the key is-hidden in the standard namespace.</entry></row>
5182 * <row><entry>"standard::type,unix::*"</entry><entry>matches the type key in the standard namespace and
5183 * all keys in the unix namespace.</entry></row>
5187 * Returns: a #GFileAttributeMatcher.
5192 * GDBusMethodInvocation:
5194 * The #GDBusMethodInvocation structure contains only private data and
5195 * should only be accessed using the provided API.
5202 * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE:
5204 * A key in the "mountable" namespace for getting the #GDriveStartStopType.
5205 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
5214 * An IPv4 or IPv6 internet address.
5219 * g_tls_connection_set_require_close_notify:
5220 * @conn: a #GTlsConnection
5221 * @require_close_notify: whether or not to require close notification
5223 * Sets whether or not @conn expects a proper TLS close notification
5224 * before the connection is closed. If this is %TRUE (the default),
5225 * then @conn will expect to receive a TLS close notification from its
5226 * peer before the connection is closed, and will return a
5227 * %G_TLS_ERROR_EOF error if the connection is closed without proper
5228 * notification (since this may indicate a network error, or
5229 * man-in-the-middle attack).
5230 * In some protocols, the application will know whether or not the
5231 * connection was closed cleanly based on application-level data
5232 * (because the application-level data includes a length field, or is
5233 * somehow self-delimiting); in this case, the close notify is
5234 * redundant and sometimes omitted. (TLS 1.1 explicitly allows this;
5235 * in TLS 1.0 it is technically an error, but often done anyway.) You
5236 * can use g_tls_connection_set_require_close_notify() to tell @conn
5237 * to allow an "unannounced" connection close, in which case the close
5238 * will show up as a 0-length read, as in a non-TLS
5239 * #GSocketConnection, and it is up to the application to check that
5240 * the data has been fully received.
5241 * Note that this only affects the behavior when the peer closes the
5242 * connection; when the application calls g_io_stream_close() itself
5243 * on @conn, this will send a close notification regardless of the
5244 * setting of this property. If you explicitly want to do an unclean
5245 * close, you can close @conn's #GTlsConnection:base-io-stream rather
5246 * than closing @conn itself.
5253 * g_pollable_input_stream_is_readable:
5254 * @stream: a #GPollableInputStream.
5256 * Checks if @stream can be read.
5257 * Note that some stream types may not be able to implement this 100%
5258 * reliably, and it is possible that a call to g_input_stream_read()
5259 * after this returns %TRUE would still block. To guarantee
5260 * non-blocking behavior, you should always use
5261 * g_pollable_input_stream_read_nonblocking(), which will return a
5262 * %G_IO_ERROR_WOULD_BLOCK error rather than blocking.
5263 * has occurred on @stream, this will result in
5264 * g_pollable_input_stream_is_readable() returning %TRUE, and the
5265 * next attempt to read will return the error.
5267 * Returns: %TRUE if @stream is readable, %FALSE if not. If an error
5273 * GDBusPropertyInfoFlags:
5274 * @G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set.
5275 * @G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable.
5276 * @G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable.
5278 * Flags describing the access control of a D-Bus property.
5285 * g_node_next_sibling:
5288 * Gets the next sibling of a #GNode.
5291 * Returns: the next sibling of @node, or %NULL if @node is the last node
5296 * GTlsServerConnection:
5298 * TLS server-side connection. This is the server-side implementation
5299 * of a #GTlsConnection.
5306 * G_PARAM_SPEC_ENUM:
5307 * @pspec: a valid #GParamSpec instance
5309 * Cast a #GParamSpec instance into a #GParamSpecEnum.
5314 * g_file_info_get_attribute_type:
5315 * @info: a #GFileInfo.
5316 * @attribute: a file attribute key.
5318 * Gets the attribute type for an attribute key.
5319 * %G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set.
5321 * Returns: a #GFileAttributeType for the given @attribute, or
5326 * g_inet_socket_address_get_port:
5327 * @address: a #GInetSocketAddress
5329 * Gets @address's port.
5331 * Returns: the port for @address
5337 * g_dbus_message_get_destination:
5338 * @message: A #GDBusMessage.
5340 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
5342 * Returns: The value.
5350 * A value representing an interval of time, in microseconds.
5358 * @ref_count: The reference count or -1 if statically allocated.
5359 * @path: The path of the node or %NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details.
5360 * @interfaces: A pointer to a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures or %NULL if there are no interfaces.
5361 * @nodes: A pointer to a %NULL-terminated array of pointers to #GDBusNodeInfo structures or %NULL if there are no nodes.
5362 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
5364 * Information about nodes in a remote object hierarchy.
5372 * @type: Type id to check
5374 * Check if the passed in type id is a %G_TYPE_OBJECT or derived from it.
5376 * Returns: %FALSE or %TRUE, indicating whether @type is a %G_TYPE_OBJECT.
5381 * g_file_load_contents:
5382 * @file: input #GFile.
5383 * @cancellable: optional #GCancellable object, %NULL to ignore.
5384 * @contents: (out) (transfer full): a location to place the contents of the file.
5385 * @length: (out) (allow-none): a location to place the length of the contents of the file, or %NULL if the length is not needed
5386 * @etag_out: (out) (allow-none): a location to place the current entity tag for the file, or %NULL if the entity tag is not needed
5387 * @error: a #GError, or %NULL
5389 * Loads the content of the file into memory. The data is always
5390 * zero-terminated, but this is not included in the resultant @length.
5391 * The returned @content should be freed with g_free() when no longer
5393 * If @cancellable is not %NULL, then the operation can be cancelled by
5394 * triggering the cancellable object from another thread. If the operation
5395 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
5396 * %FALSE if there were errors.
5398 * Returns: %TRUE if the @file's contents were successfully loaded.
5403 * g_inet_address_get_is_multicast:
5404 * @address: a #GInetAddress
5406 * Tests whether @address is a multicast address.
5408 * Returns: %TRUE if @address is a multicast address.
5414 * GDBusServer:flags:
5416 * Flags from the #GDBusServerFlags enumeration.
5423 * GConverterOutputStream:
5425 * An implementation of #GFilterOutputStream that allows data
5433 * The name of the schema that describes the types of keys
5434 * for this #GSettings object.
5439 * G_TYPE_IS_VALUE_TYPE:
5440 * @type: A #GType value.
5442 * Checks if @type is a value type and can be used with g_value_init().
5444 * Returns: %TRUE on success.
5449 * g_volume_monitor_get_volume_for_uuid:
5450 * @volume_monitor: a #GVolumeMonitor.
5451 * @uuid: the UUID to look for
5453 * Finds a #GVolume object by its UUID (see g_volume_get_uuid())
5454 * Free the returned object with g_object_unref().
5456 * Returns: (transfer full): a #GVolume or %NULL if no such volume is available.
5461 * G_SIGNAL_FLAGS_MASK:
5463 * A mask for all #GSignalFlags bits.
5468 * G_TYPE_DBUS_INTERFACE_INFO:
5470 * The #GType for a boxed type holding a #GDBusInterfaceInfo.
5477 * g_settings_set_enum:
5478 * @settings: a #GSettings object
5479 * @key: a key, within @settings
5480 * @value: an enumerated value
5481 * @returns: %TRUE, if the set succeeds
5483 * Looks up the enumerated type nick for @value and writes it to @key,
5485 * It is a programmer error to give a @key that isn't contained in the
5486 * schema for @settings or is not marked as an enumerated type, or for
5487 * After performing the write, accessing @key directly with
5488 * g_settings_get_string() will return the 'nick' associated with
5493 * g_network_address_parse:
5494 * @host_and_port: the hostname and optionally a port
5495 * @default_port: the default port if not in @host_and_port
5496 * @error: a pointer to a #GError, or %NULL
5498 * Creates a new #GSocketConnectable for connecting to the given
5499 * parsing @host_and_port fails.
5500 * address, an IPv4 address, or a domain name (in which case a DNS
5501 * lookup is performed). Quoting with [] is supported for all address
5502 * types. A port override may be specified in the usual way with a
5503 * colon. Ports may be given as decimal numbers or symbolic names (in
5504 * which case an /etc/services lookup is performed).
5505 * If no port is specified in @host_and_port then @default_port will be
5506 * used as the port number to connect to.
5507 * In general, @host_and_port is expected to be provided by the user
5508 * (allowing them to give the hostname, and a port overide if necessary)
5509 * and @default_port is expected to be provided by the application.
5511 * Returns: (transfer full): the new #GNetworkAddress, or %NULL on error
5518 * @struct_type: Type of memory chunks to be allocated
5519 * @n_structs: Number of chunks to be allocated
5521 * Wraps g_alloca() in a more typesafe manner.
5523 * Returns: Pointer to stack space for @n_structs chunks of type @struct_type
5528 * G_IMPLEMENT_INTERFACE_DYNAMIC:
5529 * @TYPE_IFACE: The #GType of the interface to add
5530 * @iface_init: The interface init function
5532 * A convenience macro to ease interface addition in the @_C_ section
5533 * of G_DEFINE_DYNAMIC_TYPE_EXTENDED(). See G_DEFINE_DYNAMIC_TYPE_EXTENDED()
5535 * Note that this macro can only be used together with the
5536 * G_DEFINE_DYNAMIC_TYPE_EXTENDED macros, since it depends on variable
5537 * names from that macro.
5544 * g_settings_backend_path_changed:
5545 * @backend: a #GSettingsBackend implementation
5546 * @path: the path containing the changes
5547 * @origin_tag: the origin tag
5549 * Signals that all keys below a given path may have possibly changed.
5550 * Backend implementations should call this if an entire path of keys
5551 * have possibly changed their values.
5552 * not containing '//').
5553 * The meaning of this signal is that any of the key which has a name
5554 * starting with @path may have changed.
5555 * The same rules for when notifications must occur apply as per
5556 * g_settings_backend_changed(). This call might be an appropriate
5557 * reasponse to a 'reset' call but implementations are also free to
5558 * explicitly list the keys that were affected by that call if they can
5560 * For efficiency reasons, the implementation should strive for @path to
5561 * keys that were changed) but this is not strictly required. As an
5562 * example, if this function is called with the path of "/" then every
5563 * single key in the application will be notified of a possible change.
5565 * Be as long as possible (ie: the longest common prefix of all of the
5571 * g_socket_listener_accept_socket:
5572 * @listener: a #GSocketListener
5573 * @source_object: (out) (transfer none) (allow-none): location where #GObject pointer will be stored, or %NULL.
5574 * @cancellable: optional #GCancellable object, %NULL to ignore.
5575 * @error: #GError for error reporting, or %NULL to ignore.
5577 * Blocks waiting for a client to connect to any of the sockets added
5578 * to the listener. Returns the #GSocket that was accepted.
5579 * If you want to accept the high-level #GSocketConnection, not a #GSocket,
5580 * which is often the case, then you should use g_socket_listener_accept()
5582 * If @source_object is not %NULL it will be filled out with the source
5583 * object specified when the corresponding socket or address was added
5585 * If @cancellable is not %NULL, then the operation can be cancelled by
5586 * triggering the cancellable object from another thread. If the operation
5587 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
5589 * Returns: (transfer full): a #GSocket on success, %NULL on error.
5595 * GVolumeMonitor::mount-removed:
5596 * @volume_monitor: The volume monitor emitting the signal.
5597 * @mount: a #GMount that was removed.
5599 * Emitted when a mount is removed.
5604 * g_socket_address_get_family:
5605 * @address: a #GSocketAddress
5607 * Gets the socket family type of @address.
5609 * Returns: the socket family type of @address.
5615 * G_DEFINE_BOXED_TYPE_WITH_CODE:
5616 * @TypeName: The name of the new type, in Camel case.
5617 * @type_name: The name of the new type, in lowercase, with words separated by '_'.
5618 * @copy_func: the #GBoxedCopyFunc for the new type
5619 * @free_func: the #GBoxedFreeFunc for the new type
5620 * @_C_: Custom code that gets inserted in the *_get_type() function.
5622 * A convenience macro for boxed type implementations.
5623 * Similar to G_DEFINE_BOXED_TYPE(), but allows to insert custom code into the
5624 * type_name_get_type() function, e.g. to register value transformations with
5625 * g_value_register_transform_func().
5633 * @mount_path: path for a possible unix mount.
5634 * @time_read: guint64 to contain a timestamp.
5636 * Gets a #GUnixMountEntry for a given mount path. If @time_read
5637 * is set, it will be filled with a unix timestamp for checking
5638 * if the mounts have changed since with g_unix_mounts_changed_since().
5640 * Returns: (transfer full): a #GUnixMount.
5645 * g_simple_async_result_get_op_res_gssize:
5646 * @simple: a #GSimpleAsyncResult.
5648 * Gets a gssize from the asynchronous result.
5650 * Returns: a gssize returned from the asynchronous function.
5655 * G_TYPE_DBUS_NODE_INFO:
5657 * The #GType for a boxed type holding a #GDBusNodeInfo.
5664 * g_vfs_get_default:
5666 * Gets the default #GVfs for the system.
5668 * Returns: (transfer none): a #GVfs.
5673 * g_simple_action_new_stateful:
5674 * @name: the name of the action
5675 * @parameter_type: (allow-none): the type of the parameter to the activate function
5676 * @state: the initial state of the action
5678 * Creates a new stateful action.
5679 * must have the same #GVariantType as the initial state.
5680 * If the @state GVariant is floating, it is consumed.
5682 * Returns: a new #GSimpleAction
5688 * g_file_mount_mountable_finish:
5689 * @file: input #GFile.
5690 * @result: a #GAsyncResult.
5691 * @error: a #GError, or %NULL
5693 * Finishes a mount operation. See g_file_mount_mountable() for details.
5694 * Finish an asynchronous mount operation that was started
5695 * with g_file_mount_mountable().
5696 * Free the returned object with g_object_unref().
5698 * Returns: (transfer full): a #GFile or %NULL on error.
5704 * @pspec: a valid #GParamSpec
5706 * Casts a derived #GParamSpec object (e.g. of type #GParamSpecInt) into
5707 * a #GParamSpec object.
5712 * g_drive_poll_for_media_finish:
5713 * @drive: a #GDrive.
5714 * @result: a #GAsyncResult.
5715 * @error: a #GError, or %NULL
5717 * Finishes an operation started with g_drive_poll_for_media() on a drive.
5720 * Returns: %TRUE if the drive has been poll_for_mediaed successfully,
5725 * G_TYPE_PARAM_UNICHAR:
5727 * The #GType of #GParamSpecUnichar.
5732 * g_dbus_message_set_reply_serial:
5733 * @message: A #GDBusMessage.
5734 * @value: The value to set.
5736 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
5744 * @name: the parameter name
5745 * @value: the parameter value
5747 * The <structname>GParameter</structname> struct is an auxiliary structure used
5748 * to hand parameter name/value pairs to g_object_newv().
5753 * SECTION:gdbusmethodinvocatio:
5754 * @short_description: Object for handling remote calls
5755 * @include: gio/gio.h
5757 * Instances of the #GDBusMethodInvocation class are used when
5758 * handling D-Bus method calls. It provides a way to asynchronously
5759 * return results and errors.
5760 * The normal way to obtain a #GDBusMethodInvocation object is to receive
5761 * it as an argument to the handle_method_call() function in a
5762 * #GDBusInterfaceVTable that was passed to g_dbus_connection_register_object().
5767 * g_async_initable_new_async:
5768 * @object_type: a #GType supporting #GAsyncInitable.
5769 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the operation.
5770 * @cancellable: optional #GCancellable object, %NULL to ignore.
5771 * @callback: a #GAsyncReadyCallback to call when the initialization is finished
5772 * @user_data: the data to pass to callback function
5773 * @first_property_name: the name of the first property, or %NULL if no properties
5774 * @...: the value of the first property, followed by other property value pairs, and ended by %NULL.
5776 * Helper function for constructing #GAsyncInitiable object. This is
5777 * similar to g_object_new() but also initializes the object asynchronously.
5778 * When the initialization is finished, @callback will be called. You can
5779 * then call g_async_initable_new_finish() to get the new object and check
5787 * GFilterOutputStream:
5789 * A base class for all output streams that work on an underlying stream.
5794 * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC:
5796 * A key in the "time" namespace for getting the microseconds of the time
5797 * the file was last changed. This should be used in conjunction with
5798 * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is
5799 * %G_FILE_ATTRIBUTE_TYPE_UINT32.
5804 * GWin32OutputStream:handle:
5806 * The file handle that the stream writes to.
5813 * SECTION:gasyncresul:
5814 * @short_description: Asynchronous Function Results
5815 * @include: gio/gio.h
5816 * @see_also: #GSimpleAsyncResult
5818 * Provides a base class for implementing asynchronous function results.
5819 * Asynchronous operations are broken up into two separate operations
5820 * which are chained together by a #GAsyncReadyCallback. To begin
5821 * an asynchronous operation, provide a #GAsyncReadyCallback to the
5822 * asynchronous function. This callback will be triggered when the
5823 * operation has completed, and will be passed a #GAsyncResult instance
5824 * filled with the details of the operation's success or failure, the
5825 * object the asynchronous function was started for and any error codes
5826 * returned. The asynchronous callback function is then expected to call
5827 * the corresponding "_finish()" function, passing the object the
5828 * function was called for, the #GAsyncResult instance, and (optionally)
5829 * an @error to grab any error conditions that may have occurred.
5830 * The "_finish()" function for an operation takes the generic result
5831 * (of type #GAsyncResult) and returns the specific result that the
5832 * operation in question yields (e.g. a #GFileEnumerator for a
5833 * "enumerate children" operation). If the result or error status of the
5834 * operation is not needed, there is no need to call the "_finish()"
5835 * function; GIO will take care of cleaning up the result and error
5836 * information after the #GAsyncReadyCallback returns. Applications may
5837 * also take a reference to the #GAsyncResult and call "_finish()"
5838 * later; however, the "_finish()" function may be called at most once.
5839 * Example of a typical asynchronous operation flow:
5841 * void _theoretical_frobnitz_async (Theoretical *t,
5843 * GAsyncReadyCallback *cb,
5845 * gboolean _theoretical_frobnitz_finish (Theoretical *t,
5846 * GAsyncResult *res,
5849 * frobnitz_result_func (GObject *source_object,
5850 * GAsyncResult *res,
5851 * gpointer user_data)
5853 * gboolean success = FALSE;
5854 * success = _theoretical_frobnitz_finish (source_object, res, NULL);
5856 * g_printf ("Hurray!\n");
5858 * g_printf ("Uh oh!\n");
5859 * /<!-- -->* ... *<!-- -->/
5861 * int main (int argc, void *argv[])
5863 * /<!-- -->* ... *<!-- -->/
5864 * _theoretical_frobnitz_async (theoretical_data,
5866 * frobnitz_result_func,
5868 * /<!-- -->* ... *<!-- -->/
5871 * The callback for an asynchronous operation is called only once, and is
5872 * always called, even in the case of a cancelled operation. On cancellation
5873 * the result is a %G_IO_ERROR_CANCELLED error.
5874 * Some asynchronous operations are implemented using synchronous calls.
5875 * These are run in a separate thread, if #GThread has been initialized, but
5876 * otherwise they are sent to the Main Event Loop and processed in an idle
5877 * function. So, if you truly need asynchronous operations, make sure to
5878 * initialize #GThread.
5883 * g_icon_new_for_string:
5884 * @str: A string obtained via g_icon_to_string().
5885 * @error: Return location for error.
5887 * Generate a #GIcon instance from @str. This function can fail if
5888 * If your application or library provides one or more #GIcon
5889 * implementations you need to ensure that each #GType is registered
5890 * with the type system prior to calling g_icon_new_for_string().
5892 * Returns: An object implementing the #GIcon interface or %NULL if
5898 * g_app_info_supports_files:
5899 * @appinfo: a #GAppInfo.
5901 * Checks if the application accepts files as arguments.
5903 * Returns: %TRUE if the @appinfo supports files.
5908 * g_action_group_get_action_state:
5909 * @action_group: a #GActionGroup
5910 * @action_name: the name of the action to query
5912 * Queries the current state of the named action within @action_group.
5913 * If the action is not stateful then %NULL will be returned. If the
5914 * action is stateful then the type of the return value is the type
5915 * given by g_action_group_get_state_type().
5916 * The return value (if non-%NULL) should be freed with
5917 * g_variant_unref() when it is no longer required.
5919 * Returns: (allow-none): the current state of the action
5926 * @drive: a #GDrive.
5928 * Checks if a drive can be stopped.
5930 * Returns: %TRUE if the @drive can be stopped, %FALSE otherwise.
5936 * g_file_input_stream_query_info_async:
5937 * @stream: a #GFileInputStream.
5938 * @attributes: a file attribute query string.
5939 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
5940 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
5941 * @callback: (scope async): callback to call when the request is satisfied
5942 * @user_data: (closure): the data to pass to callback function
5944 * Queries the stream information asynchronously.
5945 * When the operation is finished @callback will be called.
5946 * You can then call g_file_input_stream_query_info_finish()
5947 * to get the result of the operation.
5948 * For the synchronous version of this function,
5949 * see g_file_input_stream_query_info().
5950 * If @cancellable is not %NULL, then the operation can be cancelled by
5951 * triggering the cancellable object from another thread. If the operation
5952 * was cancelled, the error %G_IO_ERROR_CANCELLED will be set
5957 * GSimplePermission:
5959 * #GSimplePermission is an opaque data structure. There are no methods
5960 * except for those defined by #GPermission.
5965 * G_TYPE_RESERVED_GLIB_LAST:
5967 * Last fundamental type number reserved for GLib.
5972 * g_data_input_stream_read_until:
5973 * @stream: a given #GDataInputStream.
5974 * @stop_chars: characters to terminate the read.
5975 * @length: (out): a #gsize to get the length of the data read in.
5976 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
5977 * @error: #GError for error reporting.
5979 * Reads a string from the data input stream, up to the first
5980 * occurrence of any of the stop characters.
5981 * Note that, in contrast to g_data_input_stream_read_until_async(),
5982 * this function consumes the stop character that it finds.
5983 * Don't use this function in new code. Its functionality is
5984 * inconsistent with g_data_input_stream_read_until_async(). Both
5985 * functions will be marked as deprecated in a future release. Use
5986 * g_data_input_stream_read_upto() instead, but note that that function
5987 * does not consume the stop character.
5988 * before encountering any of the stop characters. Set @length to
5989 * a #gsize to get the length of the string. This function will
5990 * return %NULL on an error.
5992 * Returns: (transfer full): a string with the data that was read
5999 * Interface for initializable objects.
6006 * g_cancellable_connect:
6007 * @cancellable: A #GCancellable.
6008 * @callback: The #GCallback to connect.
6009 * @data: Data to pass to @callback.
6010 * @data_destroy_func: Free function for @data or %NULL.
6012 * Convenience function to connect to the #GCancellable::cancelled
6013 * signal. Also handles the race condition that may happen
6014 * if the cancellable is cancelled right before connecting.
6015 * time of the connect if @cancellable is already cancelled,
6016 * or when @cancellable is cancelled in some thread.
6017 * disconnected, or immediately if the cancellable is already
6019 * See #GCancellable::cancelled for details on how to use this.
6022 * Returns: The id of the signal handler or 0 if @cancellable has already
6028 * GSettingsBindFlags:
6029 * @G_SETTINGS_BIND_DEFAULT: Equivalent to <literal>G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET</literal>
6030 * @G_SETTINGS_BIND_GET: Update the #GObject property when the setting changes. It is an error to use this flag if the property is not writable.
6031 * @G_SETTINGS_BIND_SET: Update the setting when the #GObject property changes. It is an error to use this flag if the property is not readable.
6032 * @G_SETTINGS_BIND_NO_SENSITIVITY: Do not try to bind a "sensitivity" property to the writability of the setting
6033 * @G_SETTINGS_BIND_GET_NO_CHANGES: When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property value initially from the setting, but do not listen for changes of the setting
6034 * @G_SETTINGS_BIND_INVERT_BOOLEAN: When passed to g_settings_bind(), uses a pair of mapping functions that invert the boolean value when mapping between the setting and the property. The setting and property must both be booleans. You can not pass this flag to g_settings_bind_with_mapping().
6036 * Flags used when creating a binding. These flags determine in which
6037 * direction the binding works. The default is to synchronize in both
6043 * g_tls_connection_get_require_close_notify:
6044 * @conn: a #GTlsConnection
6046 * Tests whether or not @conn expects a proper TLS close notification
6047 * when the connection is closed. See
6048 * g_tls_connection_set_require_close_notify() for details.
6051 * Returns: %TRUE if @conn requires a proper TLS close
6058 * @class_size: Size of the class structure (required for interface, classed and instantiatable types).
6059 * @base_init: Location of the base initialization function (optional).
6060 * @base_finalize: Location of the base finalization function (optional).
6061 * @class_init: Location of the class initialization function for classed and instantiatable types. Location of the default vtable inititalization function for interface types. (optional) This function is used both to fill in virtual functions in the class or default vtable, and to do type-specific setup such as registering signals and object properties.
6062 * @class_finalize: Location of the class finalization function for classed and instantiatable types. Location fo the default vtable finalization function for interface types. (optional)
6063 * @class_data: User-supplied data passed to the class init/finalize functions.
6064 * @instance_size: Size of the instance (object) structure (required for instantiatable types only).
6065 * @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the <link linkend="glib-Memory-Slices">slice allocator</link> now.
6066 * @instance_init: Location of the instance initialization function (optional, for instantiatable types only).
6067 * @value_table: A #GTypeValueTable function table for generic handling of GValues of this type (usually only useful for fundamental types).
6069 * This structure is used to provide the type system with the information
6070 * required to initialize and destruct (finalize) a type's class and
6072 * The initialized structure is passed to the g_type_register_static() function
6073 * (or is copied into the provided #GTypeInfo structure in the
6074 * g_type_plugin_complete_type_info()). The type system will perform a deep
6075 * copy of this structure, so its memory does not need to be persistent
6076 * across invocation of g_type_register_static().
6081 * GSimpleAction:enabled:
6083 * If @action is currently enabled.
6084 * If the action is disabled then calls to g_simple_action_activate() and
6085 * g_simple_action_set_state() have no effect.
6092 * g_app_launch_context_new:
6094 * Creates a new application launch context. This is not normally used,
6095 * instead you instantiate a subclass of this, such as #GdkAppLaunchContext.
6097 * Returns: a #GAppLaunchContext.
6102 * g_simple_async_result_set_op_res_gpointer: (skip)
6103 * @simple: a #GSimpleAsyncResult.
6104 * @op_res: a pointer result from an asynchronous function.
6105 * @destroy_op_res: a #GDestroyNotify function.
6107 * Sets the operation result within the asynchronous result to a pointer.
6112 * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE:
6114 * A key in the "access" namespace for getting execution privileges.
6115 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
6116 * This attribute will be %TRUE if the user is able to execute the file.
6121 * g_unix_mount_get_device_path:
6122 * @mount_entry: a #GUnixMount.
6124 * Gets the device path for a unix mount.
6126 * Returns: a string containing the device path.
6131 * g_dbus_error_strip_remote_error:
6132 * @error: A #GError.
6134 * Looks for extra information in the error message used to recover
6135 * the D-Bus error name and strips it if found. If stripped, the
6136 * message field in @error will correspond exactly to what was
6137 * received on the wire.
6138 * This is typically used when presenting errors to the end user.
6140 * Returns: %TRUE if information was stripped, %FALSE otherwise.
6147 * @parent_instance: private #GParamSpec portion
6148 * @minimum: minimum value for the property specified
6149 * @maximum: maximum value for the property specified
6150 * @default_value: default value for the property specified
6152 * A #GParamSpec derived structure that contains the meta data for integer properties.
6157 * G_PARAM_SPEC_ULONG:
6158 * @pspec: a valid #GParamSpec instance
6160 * Cast a #GParamSpec instance into a #GParamSpecULong.
6165 * g_socket_control_message_deserialize:
6166 * @level: a socket level
6167 * @type: a socket control message type for the given @level
6168 * @size: the size of the data in bytes
6169 * @data: pointer to the message data
6171 * Tries to deserialize a socket control message of a given
6172 * of #GSocketControlMessage if they can understand this kind
6173 * of message and if so deserialize it into a #GSocketControlMessage.
6174 * If there is no implementation for this kind of control message, %NULL
6177 * Returns: (transfer full): the deserialized message or %NULL
6183 * g_file_enumerate_children:
6184 * @file: input #GFile.
6185 * @attributes: an attribute query string.
6186 * @flags: a set of #GFileQueryInfoFlags.
6187 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
6188 * @error: #GError for error reporting.
6190 * Gets the requested information about the files in a directory. The result
6191 * is a #GFileEnumerator object that will give out #GFileInfo objects for
6192 * all the files in the directory.
6193 * The @attributes value is a string that specifies the file attributes that
6194 * should be gathered. It is not an error if it's not possible to read a particular
6195 * requested attribute from a file - it just won't be set. @attributes should
6196 * be a comma-separated list of attributes or attribute wildcards. The wildcard "*"
6197 * means all attributes, and a wildcard like "standard::*" means all attributes in the standard
6198 * namespace. An example attribute query be "standard::*,owner::user".
6199 * The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME.
6200 * If @cancellable is not %NULL, then the operation can be cancelled by
6201 * triggering the cancellable object from another thread. If the operation
6202 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
6203 * If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned.
6204 * If the file is not a directory, the G_FILE_ERROR_NOTDIR error will be returned.
6205 * Other errors are possible too.
6206 * Free the returned object with g_object_unref().
6208 * Returns: (transfer full): A #GFileEnumerator if successful, %NULL on error.
6213 * GTlsCertificate:issuer:
6215 * A #GTlsCertificate representing the entity that issued this
6216 * certificate. If %NULL, this means that the certificate is either
6217 * self-signed, or else the certificate of the issuer is not
6225 * g_output_stream_clear_pending:
6226 * @stream: output stream
6228 * Clears the pending flag on @stream.
6235 * The #GType for #GString.
6240 * g_permission_get_can_release:
6241 * @permission: a #GPermission instance
6242 * @returns: the value of the 'can-release' property
6244 * Gets the value of the 'can-release' property. This property is %TRUE
6245 * if it is generally possible to release the permission by calling
6246 * g_permission_release().
6253 * g_mount_get_default_location:
6254 * @mount: a #GMount.
6256 * Gets the default location of @mount. The default location of the given
6257 * the home directory, or the root of the volume).
6258 * The returned object should be unreffed with
6259 * g_object_unref() when no longer needed.
6261 * Returns: (transfer full): a #GFile.
6266 * G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME:
6268 * Extension point for default handler to URI association. See
6269 * <link linkend="extending-gio">Extending GIO</link>.
6274 * g_io_scheduler_job_send_to_mainloop:
6275 * @job: a #GIOSchedulerJob
6276 * @func: a #GSourceFunc callback that will be called in the original thread
6277 * @user_data: data to pass to @func
6278 * @notify: a #GDestroyNotify for @user_data, or %NULL
6280 * Used from an I/O job to send a callback to be run in the thread
6281 * that the job was started from, waiting for the result (and thus
6282 * blocking the I/O job).
6284 * Returns: The return value of @func
6290 * @class: a #GFlagsClass
6292 * Checks whether @class "is a" valid #GFlagsClass structure of type %G_TYPE_FLAGS
6298 * SECTION:gdatainputstrea:
6299 * @short_description: Data Input Stream
6300 * @include: gio/gio.h
6301 * @see_also: #GInputStream
6303 * Data input stream implements #GInputStream and includes functions for
6304 * reading structured data directly from a binary input stream.
6309 * g_socket_client_get_family:
6310 * @client: a #GSocketClient.
6312 * Gets the socket family of the socket client.
6313 * See g_socket_client_set_family() for details.
6315 * Returns: a #GSocketFamily
6321 * g_simple_async_result_new:
6322 * @source_object: (allow-none): a #GObject, or %NULL.
6323 * @callback: (scope async): a #GAsyncReadyCallback.
6324 * @user_data: (closure): user data passed to @callback.
6325 * @source_tag: the asynchronous function.
6327 * Creates a #GSimpleAsyncResult.
6329 * Returns: a #GSimpleAsyncResult.
6334 * g_content_type_get_mime_type:
6335 * @type: a content type string
6337 * Gets the mime type for the content type, if one is registered.
6338 * or %NULL if unknown.
6340 * Returns: (allow-none): the registered mime type for the given @type,
6345 * G_FILE_ATTRIBUTE_OWNER_GROUP:
6347 * A key in the "owner" namespace for getting the file owner's group.
6348 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
6353 * g_file_find_enclosing_mount_async:
6355 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
6356 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
6357 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
6358 * @user_data: (closure): the data to pass to callback function
6360 * Asynchronously gets the mount for the file.
6361 * For more details, see g_file_find_enclosing_mount() which is
6362 * the synchronous version of this call.
6363 * When the operation is finished, @callback will be called. You can then call
6364 * g_file_find_enclosing_mount_finish() to get the result of the operation.
6369 * GLoadableIconIface:
6370 * @g_iface: The parent interface.
6371 * @load: Loads an icon.
6372 * @load_async: Loads an icon asynchronously.
6373 * @load_finish: Finishes an asynchronous icon load.
6375 * Interface for icons that can be loaded as a stream.
6380 * g_file_open_readwrite_async:
6381 * @file: input #GFile.
6382 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
6383 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
6384 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
6385 * @user_data: (closure): the data to pass to callback function
6387 * Asynchronously opens @file for reading and writing.
6388 * For more details, see g_file_open_readwrite() which is
6389 * the synchronous version of this call.
6390 * When the operation is finished, @callback will be called. You can then call
6391 * g_file_open_readwrite_finish() to get the result of the operation.
6398 * SECTION:gproxyresolve:
6399 * @short_description: Asynchronous and cancellable network proxy resolver
6400 * @include: gio/gio.h
6402 * #GProxyResolver provides synchronous and asynchronous network proxy
6403 * resolution. #GProxyResolver is used within #GClientSocket through
6404 * the method g_socket_connectable_proxy_enumerate().
6409 * g_socket_client_set_enable_proxy:
6410 * @client: a #GSocketClient.
6411 * @enable: whether to enable proxies
6413 * Sets whether or not @client attempts to make connections via a
6414 * proxy server. When enabled (the default), #GSocketClient will use a
6415 * #GProxyResolver to determine if a proxy protocol such as SOCKS is
6416 * needed, and automatically do the necessary proxy negotiation.
6425 * An opaque structure representing a checksumming operation.
6426 * To create a new GChecksum, use g_checksum_new(). To free
6427 * a GChecksum, use g_checksum_free().
6434 * G_CCLOSURE_SWAP_DATA:
6435 * @cclosure: a #GCClosure
6437 * Checks whether the user data of the #GCClosure should be passed as the
6438 * first parameter to the callback. See g_cclosure_new_swap().
6440 * Returns: %TRUE if data has to be swapped.
6445 * G_TYPE_IS_DEEP_DERIVABLE:
6446 * @type: A #GType value.
6448 * Checks if @type is a deep derivable type. A deep derivable type
6449 * can be used as the base class of a deep (multi-level) class hierarchy.
6451 * Returns: %TRUE on success.
6456 * g_file_attribute_matcher_matches:
6457 * @matcher: a #GFileAttributeMatcher.
6458 * @attribute: a file attribute key.
6460 * Checks if an attribute will be matched by an attribute matcher. If
6461 * the matcher was created with the "*" matching string, this function
6462 * will always return %TRUE.
6464 * Returns: %TRUE if @attribute matches @matcher. %FALSE otherwise.
6469 * g_resolver_lookup_service_finish:
6470 * @resolver: a #GResolver
6471 * @result: the result passed to your #GAsyncReadyCallback
6472 * @error: return location for a #GError, or %NULL
6474 * Retrieves the result of a previous call to
6475 * g_resolver_lookup_service_async().
6476 * If the DNS resolution failed, @error (if non-%NULL) will be set to
6477 * a value from #GResolverError. If the operation was cancelled,
6478 * or %NULL on error. See g_resolver_lookup_service() for more details.
6480 * Returns: (element-type GSrvTarget) (transfer full): a #GList of #GSrvTarget,
6486 * g_file_info_set_attribute_int32:
6487 * @info: a #GFileInfo.
6488 * @attribute: a file attribute key.
6489 * @attr_value: a signed 32-bit integer
6491 * Sets the @attribute to contain the given @attr_value,
6497 * g_socket_client_connect_to_service_finish:
6498 * @client: a #GSocketClient.
6499 * @result: a #GAsyncResult.
6500 * @error: a #GError location to store the error occuring, or %NULL to ignore.
6502 * Finishes an async connect operation. See g_socket_client_connect_to_service_async()
6504 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
6511 * @str: the untranslated string
6512 * @data: user data specified when installing the function, e.g. in g_option_group_set_translate_func()
6514 * The type of functions which are used to translate user-visible
6515 * strings, for <option>--help</option> output.
6516 * The returned string is owned by GLib and must not be freed.
6518 * Returns: a translation of the string for the current locale.
6523 * G_VOLUME_IDENTIFIER_KIND_HAL_UDI:
6525 * The string used to obtain a Hal UDI with g_volume_get_identifier().
6530 * g_cancellable_cancel:
6531 * @cancellable: a #GCancellable object.
6533 * Will set @cancellable to cancelled, and will emit the
6534 * #GCancellable::cancelled signal. (However, see the warning about
6535 * race conditions in the documentation for that signal if you are
6536 * planning to connect to it.)
6537 * This function is thread-safe. In other words, you can safely call
6538 * it from a thread other than the one running the operation that was
6539 * passed the @cancellable.
6540 * The convention within gio is that cancelling an asynchronous
6541 * operation causes it to complete asynchronously. That is, if you
6542 * cancel the operation from the same thread in which it is running,
6543 * then the operation's #GAsyncReadyCallback will not be invoked until
6544 * the application returns to the main loop.
6549 * g_dbus_arg_info_ref:
6550 * @info: A #GDBusArgInfo
6552 * If @info is statically allocated does nothing. Otherwise increases
6553 * the reference count.
6555 * Returns: The same @info.
6562 * @g_iface: The parent interface.
6563 * @changed: Changed signal that is emitted when the volume's state has changed.
6564 * @removed: The removed signal that is emitted when the #GVolume have been removed. If the recipient is holding references to the object they should release them so the object can be finalized.
6565 * @get_name: Gets a string containing the name of the #GVolume.
6566 * @get_icon: Gets a #GIcon for the #GVolume.
6567 * @get_uuid: Gets the UUID for the #GVolume. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available.
6568 * @get_drive: Gets a #GDrive the volume is located on. Returns %NULL if the #GVolume is not associated with a #GDrive.
6569 * @get_mount: Gets a #GMount representing the mounted volume. Returns %NULL if the #GVolume is not mounted.
6570 * @can_mount: Returns %TRUE if the #GVolume can be mounted.
6571 * @can_eject: Checks if a #GVolume can be ejected.
6572 * @mount_fn: Mounts a given #GVolume. #GVolume implementations must emit the #GMountOperation::aborted signal before completing a mount operation that is aborted while awaiting input from the user through a #GMountOperation instance.
6573 * @mount_finish: Finishes a mount operation.
6574 * @eject: Ejects a given #GVolume.
6575 * @eject_finish: Finishes an eject operation.
6576 * @get_identifier: Returns the <link linkend="volume-identifier">identifier</link> of the given kind, or %NULL if the #GVolume doesn't have one.
6577 * @enumerate_identifiers: Returns an array strings listing the kinds of <link linkend="volume-identifier">identifiers</link> which the #GVolume has.
6578 * @should_automount: Returns %TRUE if the #GVolume should be automatically mounted.
6579 * @get_activation_root: Returns the activation root for the #GVolume if it is known in advance or %NULL if it is not known.
6580 * @eject_with_operation: Starts ejecting a #GVolume using a #GMountOperation. Since 2.22.
6581 * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
6583 * Interface for implementing operations for mountable volumes.
6588 * g_file_attribute_matcher_enumerate_next:
6589 * @matcher: a #GFileAttributeMatcher.
6591 * Gets the next matched attribute from a #GFileAttributeMatcher.
6592 * no more attribute exist.
6594 * Returns: a string containing the next attribute or %NULL if
6599 * G_TYPE_INSTANCE_GET_PRIVATE:
6600 * @instance: the instance of a type deriving from @private_type.
6601 * @g_type: the type identifying which private data to retrieve.
6602 * @c_type: The C type for the private structure.
6604 * Gets the private structure for a particular type.
6605 * The private structure must have been registered in the
6606 * class_init function with g_type_class_add_private().
6607 * This macro should only be used in type implementations.
6610 * Returns: a pointer to the private data structure.
6615 * g_file_enumerator_close:
6616 * @enumerator: a #GFileEnumerator.
6617 * @cancellable: optional #GCancellable object, %NULL to ignore.
6618 * @error: location to store the error occuring, or %NULL to ignore
6620 * Releases all resources used by this enumerator, making the
6621 * enumerator return %G_IO_ERROR_CLOSED on all calls.
6622 * This will be automatically called when the last reference
6623 * is dropped, but you might want to call this function to make
6624 * sure resources are released as early as possible.
6626 * Returns: #TRUE on success or #FALSE on error.
6631 * g_socket_control_message_get_msg_type:
6632 * @message: a #GSocketControlMessage
6634 * Returns the protocol specific type of the control message.
6635 * For instance, for UNIX fd passing this would be SCM_RIGHTS.
6637 * Returns: an integer describing the type of control message
6643 * g_file_io_stream_query_info_async:
6644 * @stream: a #GFileIOStream.
6645 * @attributes: a file attribute query string.
6646 * @io_priority: the <link linkend="gio-GIOScheduler">I/O priority</link> of the request.
6647 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
6648 * @callback: (scope async): callback to call when the request is satisfied
6649 * @user_data: (closure): the data to pass to callback function
6651 * Asynchronously queries the @stream for a #GFileInfo. When completed,
6652 * finish the operation with g_file_io_stream_query_info_finish().
6653 * For the synchronous version of this function, see
6654 * g_file_io_stream_query_info().
6663 * Seek object for streaming operations.
6668 * g_memory_output_stream_get_data: (skip)
6669 * @ostream: a #GMemoryOutputStream
6671 * Gets any loaded data from the @ostream.
6672 * Note that the returned pointer may become invalid on the next
6673 * write or truncate operation on the stream.
6675 * Returns: pointer to the stream's data
6680 * GFileMonitorEvent:
6681 * @G_FILE_MONITOR_EVENT_CHANGED: a file changed.
6682 * @G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes.
6683 * @G_FILE_MONITOR_EVENT_DELETED: a file was deleted.
6684 * @G_FILE_MONITOR_EVENT_CREATED: a file was created.
6685 * @G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed.
6686 * @G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted.
6687 * @G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted.
6688 * @G_FILE_MONITOR_EVENT_MOVED: the file was moved.
6690 * Specifies what type of event a monitor event is.
6695 * GTlsClientConnection:validation-flags:
6697 * What steps to perform when validating a certificate received from
6698 * a server. Server certificates that fail to validate in all of the
6699 * ways indicated here will be rejected unless the application
6700 * overrides the default via #GTlsConnection::accept-certificate.
6707 * g_data_input_stream_read_upto_finish:
6708 * @stream: a #GDataInputStream
6709 * @result: the #GAsyncResult that was provided to the callback
6710 * @length: (out): a #gsize to get the length of the data read in
6711 * @error: #GError for error reporting
6713 * Finish an asynchronous call started by
6714 * g_data_input_stream_read_upto_async().
6715 * Note that this function does <emphasis>not</emphasis> consume the
6716 * stop character. You have to use g_data_input_stream_read_byte() to
6717 * get it before calling g_data_input_stream_read_upto_async() again.
6718 * before encountering any of the stop characters. Set @length to
6719 * a #gsize to get the length of the string. This function will
6720 * return %NULL on an error.
6722 * Returns: (transfer full): a string with the data that was read
6728 * g_simple_action_group_remove:
6729 * @simple: a #GSimpleActionGroup
6730 * @action_name: the name of the action
6732 * Removes the named action from the action group.
6733 * If no action of this name is in the group then nothing happens.
6740 * g_output_stream_splice:
6741 * @stream: a #GOutputStream.
6742 * @source: a #GInputStream.
6743 * @flags: a set of #GOutputStreamSpliceFlags.
6744 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
6745 * @error: a #GError location to store the error occuring, or %NULL to ignore.
6747 * Splices an input stream into an output stream.
6748 * -1 if an error occurred.
6750 * Returns: a #gssize containing the size of the data spliced, or
6755 * G_TYPE_FLAG_RESERVED_ID_BIT:
6757 * A bit in the type number that's supposed to be left untouched.
6762 * GIOStreamSpliceFlags:
6763 * @G_IO_STREAM_SPLICE_NONE: Do not close either stream.
6764 * @G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after the splice.
6765 * @G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after the splice.
6766 * @G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish before calling the callback.
6768 * GIOStreamSpliceFlags determine how streams should be spliced.
6775 * G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITER:
6777 * Subcomponent delimiter characters as defined in RFC 3986. Includes "!$&'()*+,;=".
6782 * g_socket_client_connect_to_uri:
6783 * @client: a #GSocketClient
6784 * @uri: A network URI
6785 * @default_port: the default port to connect to
6786 * @cancellable: a #GCancellable, or %NULL
6787 * @error: a pointer to a #GError, or %NULL
6789 * This is a helper function for g_socket_client_connect().
6790 * Attempts to create a TCP connection with a network URI.
6791 * component. If a port is not specified in the URI, @default_port
6792 * will be used. TLS will be negotiated if #GSocketClient:tls is %TRUE.
6793 * (#GSocketClient does not know to automatically assume TLS for
6794 * certain URI schemes.)
6795 * Using this rather than g_socket_client_connect() or
6796 * g_socket_client_connect_to_host() allows #GSocketClient to
6797 * determine when to use application-specific proxy protocols.
6798 * Upon a successful connection, a new #GSocketConnection is constructed
6799 * and returned. The caller owns this new object and must drop their
6800 * reference to it when finished with it.
6801 * In the event of any failure (DNS error, service not found, no hosts
6802 * connectable) %NULL is returned and @error (if non-%NULL) is set
6805 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
6811 * g_unix_mount_points_get:
6812 * @time_read: (allow-none): guint64 to contain a timestamp.
6814 * Gets a #GList of #GUnixMountPoint containing the unix mount points.
6815 * If @time_read is set, it will be filled with the mount timestamp,
6816 * allowing for checking if the mounts have changed with
6817 * g_unix_mounts_points_changed_since().
6819 * Returns: (element-type utf8) (transfer full): a #GList of the UNIX mountpoints.
6824 * GDataStreamByteOrder:
6825 * @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order.
6826 * @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order.
6827 * @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture.
6829 * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
6830 * across various machine architectures.
6835 * g_mount_guess_content_type_sync:
6837 * @force_rescan: Whether to force a rescan of the content. Otherwise a cached result will be used if available
6838 * @cancellable: optional #GCancellable object, %NULL to ignore
6839 * @error: a #GError location to store the error occuring, or %NULL to ignore
6841 * Tries to guess the type of content stored on @mount. Returns one or
6842 * more textual identifiers of well-known content types (typically
6843 * prefixed with "x-content/"), e.g. x-content/image-dcf for camera
6844 * memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink>
6845 * specification for more on x-content types.
6846 * This is an synchronous operation and as such may block doing IO;
6847 * see g_mount_guess_content_type() for the asynchronous version.
6848 * Caller should free this array with g_strfreev() when done with it.
6850 * Returns: (transfer full) (element-type utf8): a %NULL-terminated array of content types or %NULL on error.
6856 * g_async_initable_init_async:
6857 * @initable: a #GAsyncInitable.
6858 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the operation.
6859 * @cancellable: optional #GCancellable object, %NULL to ignore.
6860 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
6861 * @user_data: the data to pass to callback function
6863 * Starts asynchronous initialization of the object implementing the
6864 * interface. This must be done before any real use of the object after
6865 * initial construction. If the object also implements #GInitable you can
6866 * optionally call g_initable_init() instead.
6867 * When the initialization is finished, @callback will be called. You can
6868 * then call g_async_initable_init_finish() to get the result of the
6870 * Implementations may also support cancellation. If @cancellable is not
6871 * %NULL, then initialization can be cancelled by triggering the cancellable
6872 * object from another thread. If the operation was cancelled, the error
6873 * %G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL, and
6874 * the object doesn't support cancellable initialization, the error
6875 * %G_IO_ERROR_NOT_SUPPORTED will be returned.
6876 * If this function is not called, or returns with an error, then all
6877 * operations on the object should fail, generally returning the
6878 * error %G_IO_ERROR_NOT_INITIALIZED.
6879 * to this function with the same argument should return the same results.
6880 * Only the first call initializes the object; further calls return the result
6881 * of the first call. This is so that it's safe to implement the singleton
6882 * pattern in the GObject constructor function.
6883 * For classes that also support the #GInitable interface, the default
6884 * implementation of this method will run the g_initable_init() function
6885 * in a thread, so if you want to support asynchronous initialization via
6886 * threads, just implement the #GAsyncInitable interface without overriding
6887 * any interface methods.
6889 * Implementations of this method must be idempotent: i.e. multiple calls
6895 * g_file_new_for_path:
6896 * @path: a string containing a relative or absolute path. The string must be encoded in the glib filename encoding.
6898 * Constructs a #GFile for a given path. This operation never
6899 * fails, but the returned object might not support any I/O
6900 * operation if @path is malformed.
6902 * Returns: (transfer full): a new #GFile for the given @path.
6908 * @struct_type: the type of the elements to allocate
6909 * @n_structs: the number of elements to allocate
6911 * Allocates @n_structs elements of type @struct_type.
6912 * The returned pointer is cast to a pointer to the given type.
6913 * If @n_structs is 0 it returns %NULL.
6914 * Care is taken to avoid overflow when calculating the size of the allocated block.
6915 * Since the returned pointer is already casted to the right type,
6916 * it is normally unnecessary to cast it explicitly, and doing
6917 * so might hide memory allocation errors.
6919 * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
6924 * g_file_copy_attributes:
6925 * @source: a #GFile with attributes.
6926 * @destination: a #GFile to copy attributes to.
6927 * @flags: a set of #GFileCopyFlags.
6928 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
6929 * @error: a #GError, %NULL to ignore.
6931 * Copies the file attributes from @source to @destination.
6932 * Normally only a subset of the file attributes are copied,
6933 * those that are copies in a normal file copy operation
6934 * (which for instance does not include e.g. owner). However
6935 * if #G_FILE_COPY_ALL_METADATA is specified in @flags, then
6936 * all the metadata that is possible to copy is copied. This
6937 * is useful when implementing move by copy + delete source.
6939 * Returns: %TRUE if the attributes were copied successfully, %FALSE otherwise.
6944 * G_IS_PARAM_SPEC_CHAR:
6945 * @pspec: a valid #GParamSpec instance
6947 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR.
6949 * Returns: %TRUE on success.
6954 * g_dbus_message_get_byte_order:
6955 * @message: A #GDBusMessage.
6957 * Gets the byte order of @message.
6959 * Returns: The byte order.
6965 * @src_value: Source value.
6966 * @dest_value: Target value.
6968 * The type of value transformation functions which can be registered with
6969 * g_value_register_transform_func().
6974 * g_app_info_get_default_for_type:
6975 * @content_type: the content type to find a #GAppInfo for
6976 * @must_support_uris: if %TRUE, the #GAppInfo is expected to support URIs
6978 * Gets the #GAppInfo that corresponds to a given content type.
6980 * Returns: #GAppInfo for given @content_type or %NULL on error.
6985 * G_IS_PARAM_SPEC_UNICHAR:
6986 * @pspec: a valid #GParamSpec instance
6988 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR.
6990 * Returns: %TRUE on success.
6996 * @settings: a #GSettings instance
6998 * Applies any changes that have been made to the settings. This
6999 * function does nothing unless @settings is in 'delay-apply' mode;
7000 * see g_settings_delay(). In the normal case settings are always
7001 * applied immediately.
7006 * g_file_info_get_symlink_target:
7007 * @info: a #GFileInfo.
7009 * Gets the symlink target for a given #GFileInfo.
7011 * Returns: a string containing the symlink target.
7016 * G_SIGNAL_TYPE_STATIC_SCOPE:
7018 * This macro flags signal argument types for which the signal system may
7019 * assume that instances thereof remain persistent across all signal emissions
7020 * they are used in. This is only useful for non ref-counted, value-copy types.
7021 * To flag a signal argument in this way, add
7022 * <literal>| G_SIGNAL_TYPE_STATIC_SCOPE</literal> to the corresponding argument
7023 * of g_signal_new().
7025 * g_signal_new ("size_request",
7026 * G_TYPE_FROM_CLASS (gobject_class),
7027 * G_SIGNAL_RUN_FIRST,
7028 * G_STRUCT_OFFSET (GtkWidgetClass, size_request),
7030 * _gtk_marshal_VOID__BOXED,
7032 * GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE);
7038 * g_output_stream_is_closed:
7039 * @stream: a #GOutputStream.
7041 * Checks if an output stream has already been closed.
7043 * Returns: %TRUE if @stream is closed. %FALSE otherwise.
7048 * g_file_load_partial_contents_finish:
7049 * @file: input #GFile.
7050 * @res: a #GAsyncResult.
7051 * @contents: (out) (transfer full): a location to place the contents of the file.
7052 * @length: (out) (allow-none): a location to place the length of the contents of the file, or %NULL if the length is not needed
7053 * @etag_out: (out) (allow-none): a location to place the current entity tag for the file, or %NULL if the entity tag is not needed
7054 * @error: a #GError, or %NULL
7056 * Finishes an asynchronous partial load operation that was started
7057 * with g_file_load_partial_contents_async(). The data is always
7058 * zero-terminated, but this is not included in the resultant @length.
7059 * The returned @content should be freed with g_free() when no longer
7061 * present, it will be set appropriately.
7063 * Returns: %TRUE if the load was successful. If %FALSE and @error is
7068 * g_socket_listener_add_address:
7069 * @listener: a #GSocketListener
7070 * @address: a #GSocketAddress
7071 * @type: a #GSocketType
7072 * @protocol: a #GSocketProtocol
7073 * @source_object: Optional #GObject identifying this source
7074 * @effective_address: (out) (allow-none): location to store the address that was bound to, or %NULL.
7075 * @error: #GError for error reporting, or %NULL to ignore.
7077 * Creates a socket of type @type and protocol @protocol, binds
7078 * it to @address and adds it to the set of sockets we're accepting
7080 * Note that adding an IPv6 address, depending on the platform,
7081 * may or may not result in a listener that also accepts IPv4
7082 * connections. For more determinstic behaviour, see
7083 * g_socket_listener_add_inet_port().
7084 * to accept to identify this particular source, which is
7085 * useful if you're listening on multiple addresses and do
7086 * different things depending on what address is connected to.
7087 * If successful and @effective_address is non-%NULL then it will
7088 * be set to the address that the binding actually occured at. This
7089 * is helpful for determining the port number that was used for when
7090 * requested, belongs to the caller and must be freed.
7092 * Requesting a binding to port 0 (ie: "any port"). This address, if
7093 * Returns: %TRUE on success, %FALSE on error.
7099 * g_socket_get_socket_type:
7100 * @socket: a #GSocket.
7102 * Gets the socket type of the socket.
7104 * Returns: a #GSocketType
7110 * G_VALUE_HOLDS_BOXED:
7111 * @value: a valid #GValue structure
7113 * Checks whether the given #GValue can hold values derived from type %G_TYPE_BOXED.
7115 * Returns: %TRUE on success.
7122 * A subclass of GIOStream for opened files. This adds
7123 * a few file-specific operations and seeking and truncating.
7124 * #GFileIOStream implements GSeekable.
7129 * g_vfs_get_supported_uri_schemes:
7132 * Gets a list of URI schemes supported by @vfs.
7133 * The returned array belongs to GIO and must
7134 * not be freed or modified.
7136 * Returns: (transfer none): a %NULL-terminated array of strings.
7143 * A GRegex is the "compiled" form of a regular expression pattern. This
7144 * structure is opaque and its fields cannot be accessed directly.
7151 * GFileAttributeInfoList:
7152 * @infos: an array of #GFileAttributeInfo<!-- -->s.
7153 * @n_infos: the number of values in the array.
7155 * Acts as a lightweight registry for possible valid file attributes.
7156 * The registry stores Key-Value pair formats as #GFileAttributeInfo<!-- -->s.
7162 * @mount: the object on which the signal is emitted
7164 * Emitted when the mount has been changed.
7169 * g_action_get_state_hint:
7170 * @action: a #GAction
7172 * Requests a hint about the valid range of values for the state of
7173 * If %NULL is returned it either means that the action is not stateful
7174 * or that there is no hint about the valid range of values for the
7175 * state of the action.
7176 * If a #GVariant array is returned then each item in the array is a
7177 * returned then the tuple specifies the inclusive lower and upper bound
7178 * of valid values for the state.
7179 * In any case, the information is merely a hint. It may be possible to
7180 * have a state value outside of the hinted range and setting a value
7181 * within the range may fail.
7182 * The return value (if non-%NULL) should be freed with
7183 * g_variant_unref() when it is no longer required.
7185 * Possible value for the state. if a #gvariant pair (ie: two-tuple) is
7186 * Returns: (transfer full): the state range hint
7192 * g_action_group_activate_action:
7193 * @action_group: a #GActionGroup
7194 * @action_name: the name of the action to activate
7195 * @parameter: (allow-none): parameters to the activation
7197 * Activate the named action within @action_group.
7198 * If the action is expecting a parameter, then the correct type of
7199 * parameter must be given as @parameter. If the action is expecting no
7200 * parameters then @parameter must be %NULL. See
7201 * g_action_group_get_parameter_type().
7209 * @loop: a #GMainLoop
7211 * Stops the #GMainLoop.
7212 * If g_main_run() was called to run the #GMainLoop, it will now return.
7214 * Deprecated: 2.2: Use g_main_loop_quit() instead
7219 * g_file_info_get_edit_name:
7220 * @info: a #GFileInfo.
7222 * Gets the edit name for a file.
7224 * Returns: a string containing the edit name.
7229 * g_dbus_address_get_stream:
7230 * @address: A valid D-Bus address.
7231 * @cancellable: A #GCancellable or %NULL.
7232 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
7233 * @user_data: Data to pass to @callback.
7235 * Asynchronously connects to an endpoint specified by @address and
7236 * sets up the connection so it is in a state to run the client-side
7237 * of the D-Bus authentication conversation.
7238 * When the operation is finished, @callback will be invoked. You can
7239 * then call g_dbus_address_get_stream_finish() to get the result of
7241 * This is an asynchronous failable function. See
7242 * g_dbus_address_get_stream_sync() for the synchronous version.
7249 * G_PARAM_SPEC_PARAM:
7250 * @pspec: a valid #GParamSpec instance
7252 * Casts a #GParamSpec instance into a #GParamSpecParam.
7257 * G_VALUE_HOLDS_VARIANT:
7258 * @value: a valid #GValue structure
7260 * Checks whether the given #GValue can hold values of type %G_TYPE_VARIANT.
7262 * Returns: %TRUE on success.
7268 * SECTION:gunixsocketaddres:
7269 * @short_description: UNIX GSocketAddress
7270 * @include: gio/gunixsocketaddress.h
7272 * Support for UNIX-domain (also known as local) sockets.
7273 * UNIX domain sockets are generally visible in the filesystem.
7274 * However, some systems support abstract socket names which are not
7275 * visible in the filesystem and not affected by the filesystem
7276 * permissions, visibility, etc. Currently this is only supported
7277 * under Linux. If you attempt to use abstract sockets on other
7278 * systems, function calls may return %G_IO_ERROR_NOT_SUPPORTED
7279 * errors. You can use g_unix_socket_address_abstract_names_supported()
7280 * to see if abstract names are supported.
7281 * Note that <filename><gio/gunixsocketaddress.h></filename> belongs to
7282 * the UNIX-specific GIO interfaces, thus you have to use the
7283 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
7289 * @file: #GFile to read.
7290 * @cancellable: (allow-none): a #GCancellable
7291 * @error: a #GError, or %NULL
7293 * Opens a file for reading. The result is a #GFileInputStream that
7294 * can be used to read the contents of the file.
7295 * If @cancellable is not %NULL, then the operation can be cancelled by
7296 * triggering the cancellable object from another thread. If the operation
7297 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
7298 * If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned.
7299 * If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned.
7300 * Other errors are possible too, and depend on what kind of filesystem the file is on.
7301 * Free the returned object with g_object_unref().
7304 * Returns: (transfer full): #GFileInputStream or %NULL on error.
7309 * GVolumeMonitor::volume-added:
7310 * @volume_monitor: The volume monitor emitting the signal.
7311 * @volume: a #GVolume that was added.
7313 * Emitted when a mountable volume is added to the system.
7320 * The <structname>GSource</structname> struct is an opaque data type
7321 * representing an event source.
7326 * g_volume_monitor_get_connected_drives:
7327 * @volume_monitor: a #GVolumeMonitor.
7329 * Gets a list of drives connected to the system.
7330 * The returned list should be freed with g_list_free(), after
7331 * its elements have been unreffed with g_object_unref().
7333 * Returns: (element-type GDrive) (transfer full): a #GList of connected #GDrive objects.
7338 * GDBusProxy::g-properties-changed:
7339 * @proxy: The #GDBusProxy emitting the signal.
7340 * @changed_properties: A #GVariant containing the properties that changed
7341 * @invalidated_properties: A %NULL terminated array of properties that was invalidated
7343 * Emitted when one or more D-Bus properties on @proxy changes. The
7344 * local cache has already been updated when this signal fires. Note
7345 * that both @changed_properties and @invalidated_properties are
7346 * guaranteed to never be %NULL (either may be empty though).
7347 * This signal corresponds to the
7348 * <literal>PropertiesChanged</literal> D-Bus signal on the
7349 * <literal>org.freedesktop.DBus.Properties</literal> interface.
7356 * g_simple_async_result_propagate_error:
7357 * @simple: a #GSimpleAsyncResult.
7358 * @dest: (out): a location to propagate the error to.
7360 * Propagates an error from within the simple asynchronous result to
7361 * a given destination.
7363 * Returns: %TRUE if the error was propagated to @dest. %FALSE otherwise.
7368 * g_file_replace_readwrite_finish:
7369 * @file: input #GFile.
7370 * @res: a #GAsyncResult.
7371 * @error: a #GError, or %NULL
7373 * Finishes an asynchronous file replace operation started with
7374 * g_file_replace_readwrite_async().
7375 * Free the returned object with g_object_unref().
7377 * Returns: (transfer full): a #GFileIOStream, or %NULL on error.
7383 * G_FILE_ATTRIBUTE_FILESYSTEM_READONLY:
7385 * A key in the "filesystem" namespace for checking if the file system
7386 * is read only. Is set to %TRUE if the file system is read only.
7387 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
7393 * @schema: the name of the schema
7394 * @returns: a new #GSettings object
7396 * Creates a new #GSettings object with a given schema.
7397 * Signals on the newly created #GSettings object will be dispatched
7398 * via the thread-default #GMainContext in effect at the time of the
7399 * call to g_settings_new(). The new #GSettings will hold a reference
7400 * on the context. See g_main_context_push_thread_default().
7407 * GPollableInputStreamInterface:
7408 * @g_iface: The parent interface.
7409 * @can_poll: Checks if the #GPollableInputStream instance is actually pollable
7410 * @is_readable: Checks if the stream is readable
7411 * @create_source: Creates a #GSource to poll the stream
7412 * @read_nonblocking: Does a non-blocking read or returns %G_IO_ERROR_WOULD_BLOCK
7414 * The interface for pollable input streams.
7415 * The default implementation of @can_poll always returns %TRUE.
7416 * The default implementation of @read_nonblocking calls
7417 * g_pollable_input_stream_is_readable(), and then calls
7418 * g_input_stream_read() if it returns %TRUE. This means you only need
7419 * to override it if it is possible that your @is_readable
7420 * implementation may return %TRUE when the stream is not actually
7428 * GUnixInputStream:fd:
7430 * The file descriptor that the stream reads from.
7437 * g_io_module_query:
7439 * Optional API for GIO modules to implement.
7440 * Should return a list of all the extension points that may be
7441 * implemented in this module.
7442 * This method will not be called in normal use, however it may be
7443 * called when probing existing modules and recording which extension
7444 * points that this modle is used for. This means we won't have to
7445 * load and initialze this module unless its needed.
7446 * If this function is not implemented by the module the module will
7447 * always be loaded, initialized and then unloaded on application startup
7448 * so that it can register its extension points during init.
7449 * Note that a module need not actually implement all the extension points
7450 * that g_io_module_query returns, since the exact list of extension may
7451 * depend on runtime issues. However all extension points actually implemented
7452 * must be returned by g_io_module_query() (if defined).
7453 * When installing a module that implements g_io_module_query you must
7454 * run gio-querymodules in order to build the cache files required for
7456 * extension points of the module. The array must be suitable for
7457 * freeing with g_strfreev().
7459 * Returns: (transfer full): A %NULL-terminated array of strings, listing the supported
7465 * GThemedIcon:names:
7467 * A %NULL-terminated array of icon names.
7472 * g_io_extension_point_register:
7473 * @name: The name of the extension point
7475 * Registers an extension point.
7476 * and should not be freed
7478 * Returns: the new #GIOExtensionPoint. This object is owned by GIO
7483 * g_vfs_get_file_for_uri:
7485 * @uri: a string containing a URI
7487 * Gets a #GFile for @uri.
7488 * This operation never fails, but the returned object
7489 * might not support any I/O operation if the URI
7490 * is malformed or if the URI scheme is not supported.
7491 * Free the returned object with g_object_unref().
7493 * Returns: (transfer full): a #GFile.
7498 * g_simple_async_result_new_from_error:
7499 * @source_object: (allow-none): a #GObject, or %NULL.
7500 * @callback: (scope async): a #GAsyncReadyCallback.
7501 * @user_data: (closure): user data passed to @callback.
7504 * Creates a #GSimpleAsyncResult from an error condition.
7506 * Returns: a #GSimpleAsyncResult.
7512 * @may_block: set to %TRUE if it should block (i.e. wait) until an event source becomes ready. It will return after an event source has been processed. If set to %FALSE it will return immediately if no event source is ready to be processed.
7514 * Runs a single iteration for the default #GMainContext.
7516 * Returns: %TRUE if more events are pending.
7517 * Deprecated: 2.2: Use g_main_context_iteration() instead.
7522 * G_TYPE_PARAM_GTYPE:
7524 * The #GType of #GParamSpecGType.
7531 * g_file_info_get_sort_order:
7532 * @info: a #GFileInfo.
7534 * Gets the value of the sort_order attribute from the #GFileInfo.
7535 * See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.
7537 * Returns: a #gint32 containing the value of the "standard::sort_order" attribute.
7542 * g_themed_icon_new:
7543 * @iconname: a string containing an icon name.
7545 * Creates a new themed icon for @iconname.
7547 * Returns: (transfer full): a new #GThemedIcon.
7554 * A type in the GVariant type system.
7555 * Two types may not be compared by value; use g_variant_type_equal() or
7556 * g_variant_type_is_subtype(). May be copied using
7557 * g_variant_type_copy() and freed using g_variant_type_free().
7562 * g_dbus_message_get_unix_fd_list:
7563 * @message: A #GDBusMessage.
7565 * Gets the UNIX file descriptors associated with @message, if any.
7566 * This method is only available on UNIX.
7567 * associated. Do not free, this object is owned by @message.
7569 * Returns: (transfer none): A #GUnixFDList or %NULL if no file descriptors are
7575 * g_action_get_state_type:
7576 * @action: a #GAction
7578 * Queries the type of the state of @action.
7579 * g_action_new_stateful()) then this function returns the #GVariantType
7580 * of the state. This is the type of the initial value given as the
7581 * state. All calls to g_action_set_state() must give a #GVariant of
7582 * this type and g_action_get_state() will return a #GVariant of the
7584 * this function will return %NULL. In that case, g_action_get_state()
7585 * will return %NULL and you must not call g_action_set_state().
7587 * If the action is stateful (ie: was created with
7588 * If the action is not stateful (ie: created with g_action_new()) then
7589 * Returns: (allow-none): the state type, if the action is stateful
7595 * g_dbus_proxy_new_for_bus_finish:
7596 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new_for_bus().
7597 * @error: Return location for error or %NULL.
7599 * Finishes creating a #GDBusProxy.
7601 * Returns: A #GDBusProxy or %NULL if @error is set. Free with g_object_unref().
7607 * g_unix_mount_guess_can_eject:
7608 * @mount_entry: a #GUnixMountEntry
7610 * Guesses whether a Unix mount can be ejected.
7612 * Returns: %TRUE if @mount_entry is deemed to be ejectable.
7617 * g_drive_stop_finish:
7618 * @drive: a #GDrive.
7619 * @result: a #GAsyncResult.
7620 * @error: a #GError, or %NULL
7622 * Finishes stopping a drive.
7625 * Returns: %TRUE if the drive has been stopped successfully,
7631 * g_memory_output_stream_new:
7632 * @data: pointer to a chunk of memory to use, or %NULL
7633 * @size: the size of @data
7634 * @realloc_function: a function with realloc() semantics (like g_realloc()) to be called when @data needs to be grown, or %NULL
7635 * @destroy_function: a function to be called on @data when the stream is finalized, or %NULL
7637 * Creates a new #GMemoryOutputStream.
7638 * If @data is non-%NULL, the stream will use that for its internal storage.
7639 * If @realloc_fn is non-%NULL, it will be used for resizing the internal
7640 * storage when necessary. To construct a fixed-size output stream,
7641 * pass %NULL as @realloc_fn.
7643 * /* a stream that can grow */
7644 * stream = g_memory_output_stream_new (NULL, 0, realloc, free);
7645 * /* another stream that can grow */
7646 * stream2 = g_memory_output_stream_new (NULL, 0, g_realloc, g_free);
7647 * /* a fixed-size stream */
7648 * data = malloc (200);
7649 * stream3 = g_memory_output_stream_new (data, 200, NULL, free);
7652 * Returns: A newly created #GMemoryOutputStream object.
7657 * g_buffered_output_stream_set_buffer_size:
7658 * @stream: a #GBufferedOutputStream.
7661 * Sets the size of the internal buffer to @size.
7668 * The #GDBusConnection structure contains only private data and
7669 * should only be accessed using the provided API.
7676 * g_proxy_address_get_passwor:
7677 * @proxy: a #GProxyAddress
7679 * Gets @proxy's password.
7681 * Returns: the @proxy's password
7687 * g_file_replace_contents_async:
7688 * @file: input #GFile.
7689 * @contents: string of contents to replace the file with.
7690 * @length: the length of @contents in bytes.
7691 * @etag: (allow-none): a new <link linkend="gfile-etag">entity tag</link> for the @file, or %NULL
7692 * @make_backup: %TRUE if a backup should be created.
7693 * @flags: a set of #GFileCreateFlags.
7694 * @cancellable: optional #GCancellable object, %NULL to ignore.
7695 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
7696 * @user_data: the data to pass to callback function
7698 * Starts an asynchronous replacement of @file with the given
7699 * current entity tag.
7700 * When this operation has completed, @callback will be called with
7701 * g_file_replace_contents_finish().
7702 * If @cancellable is not %NULL, then the operation can be cancelled by
7703 * triggering the cancellable object from another thread. If the operation
7704 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
7705 * If @make_backup is %TRUE, this function will attempt to
7706 * make a backup of @file.
7712 * @G_DBUS_PROXY_FLAGS_NONE: No flags set.
7713 * @G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties.
7714 * @G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object.
7715 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If not set and the proxy if for a well-known name, then request the bus to launch an owner for the name if no-one owns the name. This flag can only be used in proxies for well-known names.
7717 * Flags used when constructing an instance of a #GDBusProxy derived class.
7724 * g_file_info_get_attribute_object:
7725 * @info: a #GFileInfo.
7726 * @attribute: a file attribute key.
7728 * Gets the value of a #GObject attribute. If the attribute does
7729 * not contain a #GObject, %NULL will be returned.
7732 * Returns: (transfer none): a #GObject associated with the given @attribute, or
7737 * GBookmarkFileError:
7738 * @G_BOOKMARK_FILE_ERROR_INVALID_URI: URI was ill-formed
7739 * @G_BOOKMARK_FILE_ERROR_INVALID_VALUE: a requested field was not found
7740 * @G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: a requested application did not register a bookmark
7741 * @G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: a requested URI was not found
7742 * @G_BOOKMARK_FILE_ERROR_READ: document was ill formed
7743 * @G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was in an unknown encoding
7744 * @G_BOOKMARK_FILE_ERROR_WRITE: an error occurred while writing
7745 * @G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: requested file was not found
7747 * Error codes returned by bookmark file parsing.
7753 * @G_SOCKET_PROTOCOL_UNKNOWN: The protocol type is unknown
7754 * @G_SOCKET_PROTOCOL_DEFAULT: The default protocol for the family/type
7755 * @G_SOCKET_PROTOCOL_TCP: TCP over IP
7756 * @G_SOCKET_PROTOCOL_UDP: UDP over IP
7757 * @G_SOCKET_PROTOCOL_SCTP: SCTP over IP
7759 * A protocol identifier is specified when creating a #GSocket, which is a
7760 * family/type specific identifier, where 0 means the default protocol for
7761 * the particular family/type.
7762 * This enum contains a set of commonly available and used protocols. You
7763 * can also pass any other identifiers handled by the platform in order to
7764 * use protocols not listed here.
7771 * g_action_set_state:
7772 * @action: a #GAction
7773 * @value: the new state
7775 * Request for the state of @action to be changed to @value.
7776 * The action must be stateful and @value must be of the correct type.
7777 * See g_action_get_state_type().
7778 * This call merely requests a change. The action may refuse to change
7779 * its state or may change its state to something other than @value.
7780 * See g_action_get_state_hint().
7781 * If the @value GVariant is floating, it is consumed.
7788 * g_file_replace_finish:
7789 * @file: input #GFile.
7790 * @res: a #GAsyncResult.
7791 * @error: a #GError, or %NULL
7793 * Finishes an asynchronous file replace operation started with
7794 * g_file_replace_async().
7795 * Free the returned object with g_object_unref().
7797 * Returns: (transfer full): a #GFileOutputStream, or %NULL on error.
7802 * g_file_has_parent:
7803 * @file: input #GFile
7804 * @parent: the parent to check for, or %NULL
7806 * Checks if @file has a parent, and optionally, if it is @parent.
7807 * If @parent is %NULL then this function returns %TRUE if @file has any
7808 * parent at all. If @parent is non-%NULL then %TRUE is only returned
7809 * if @file is a child of @parent.
7810 * case that @parent is %NULL).
7812 * Returns: %TRUE if @file is a child of @parent (or any parent in the
7818 * g_dbus_is_supported_address:
7819 * @string: A string.
7820 * @error: Return location for error or %NULL.
7822 * Like g_dbus_is_address() but also checks if the library suppors the
7823 * transports in @string and that key/value pairs for each transport
7825 * supported by this library, %FALSE if @error is set.
7827 * Returns: %TRUE if @string is a valid D-Bus address that is
7833 * g_socket_connection_get_remote_address:
7834 * @connection: a #GSocketConnection
7835 * @error: #GError for error reporting, or %NULL to ignore.
7837 * Try to get the remote address of a socket connection.
7838 * Free the returned object with g_object_unref().
7840 * Returns: (transfer full): a #GSocketAddress or %NULL on error.
7847 * @parent_instance: private #GParamSpec portion
7848 * @minimum: minimum value for the property specified
7849 * @maximum: maximum value for the property specified
7850 * @default_value: default value for the property specified
7852 * A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.
7857 * g_dbus_message_new_method_call:
7858 * @name: A valid D-Bus name or %NULL.
7859 * @path: A valid object path.
7860 * @interface_: A valid D-Bus interface name or %NULL.
7861 * @method: A valid method name.
7863 * Creates a new #GDBusMessage for a method call.
7865 * Returns: A #GDBusMessage. Free with g_object_unref().
7871 * g_simple_async_result_new_error:
7872 * @source_object: (allow-none): a #GObject, or %NULL.
7873 * @callback: (scope async): a #GAsyncReadyCallback.
7874 * @user_data: (closure): user data passed to @callback.
7875 * @domain: a #GQuark.
7876 * @code: an error code.
7877 * @format: a string with format characters.
7878 * @...: a list of values to insert into @format.
7880 * Creates a new #GSimpleAsyncResult with a set error.
7882 * Returns: a #GSimpleAsyncResult.
7887 * g_simple_async_report_take_gerror_in_idle: (skip)
7888 * @object: (allow-none): a #GObject, or %NULL
7889 * @callback: a #GAsyncReadyCallback.
7890 * @user_data: user data passed to @callback.
7891 * @error: the #GError to report
7893 * Reports an error in an idle function. Similar to
7894 * g_simple_async_report_gerror_in_idle(), but takes over the caller's
7895 * ownership of @error, so the caller does not have to free it any more.
7902 * g_file_unmount_mountable_finish:
7903 * @file: input #GFile.
7904 * @result: a #GAsyncResult.
7905 * @error: a #GError, or %NULL
7907 * Finishes an unmount operation, see g_file_unmount_mountable() for details.
7908 * Finish an asynchronous unmount operation that was started
7909 * with g_file_unmount_mountable().
7912 * Returns: %TRUE if the operation finished successfully. %FALSE
7913 * Deprecated: 2.22: Use g_file_unmount_mountable_with_operation_finish() instead.
7918 * G_TYPE_IS_DERIVED:
7919 * @type: A #GType value.
7921 * Checks if @type is derived (or in object-oriented terminology:
7922 * inherited) from another type (this holds true for all non-fundamental
7925 * Returns: %TRUE on success.
7931 * @plugin: the #GTypePlugin whose use count should be increased
7933 * The type of the @use_plugin function of #GTypePluginClass, which gets called
7934 * to increase the use count of @plugin.
7939 * G_OBJECT_GET_CLASS:
7940 * @object: a #GObject instance.
7942 * Get the class structure associated to a #GObject instance.
7944 * Returns: pointer to object class structure.
7949 * G_TYPE_IS_DERIVABLE:
7950 * @type: A #GType value.
7952 * Checks if @type is a derivable type. A derivable type can
7953 * be used as the base class of a flat (single-level) class hierarchy.
7955 * Returns: %TRUE on success.
7960 * g_app_info_can_remove_supports_type:
7961 * @appinfo: a #GAppInfo.
7963 * Checks if a supported content type can be removed from an application.
7964 * content types from a given @appinfo, %FALSE if not.
7966 * Returns: %TRUE if it is possible to remove supported
7972 * @pspec: a valid #GParamSpec instance
7974 * Cast a #GParamSpec instance into a #GParamSpecInt.
7979 * g_input_stream_read_finish:
7980 * @stream: a #GInputStream.
7981 * @result: a #GAsyncResult.
7982 * @error: a #GError location to store the error occuring, or %NULL to ignore.
7984 * Finishes an asynchronous stream read operation.
7986 * Returns: number of bytes read in, or -1 on error.
7991 * g_tls_connection_get_rehandshake_mode:
7992 * @conn: a #GTlsConnection
7994 * Gets @conn rehandshaking mode. See
7995 * g_tls_connection_set_rehandshake() for details.
7997 * Returns: @conn's rehandshaking mode
8003 * G_TYPE_RESERVED_BSE_FIRST:
8005 * First fundamental type number to create a new fundamental type id with
8006 * G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE.
8011 * g_node_first_child:
8014 * Gets the first child of a #GNode.
8015 * or has no children
8017 * Returns: the first child of @node, or %NULL if @node is %NULL
8022 * g_dbus_signal_info_ref:
8023 * @info: A #GDBusSignalInfo
8025 * If @info is statically allocated does nothing. Otherwise increases
8026 * the reference count.
8028 * Returns: The same @info.
8034 * g_main_set_poll_func:
8035 * @func: the function to call to poll all file descriptors
8037 * Sets the function to use for the handle polling of file descriptors
8038 * for the default main context.
8040 * Deprecated: 2.2: Use g_main_context_set_poll_func() again
8045 * g_loadable_icon_load:
8046 * @icon: a #GLoadableIcon.
8047 * @size: an integer.
8048 * @type: a location to store the type of the loaded icon, %NULL to ignore.
8049 * @cancellable: optional #GCancellable object, %NULL to ignore.
8050 * @error: a #GError location to store the error occuring, or %NULL to ignore.
8052 * Loads a loadable icon. For the asynchronous version of this function,
8053 * see g_loadable_icon_load_async().
8055 * Returns: (transfer full): a #GInputStream to read the icon from.
8060 * G_PRIORITY_DEFAULT_IDLE:
8062 * Use this for default priority idle functions.
8063 * In GLib this priority is used when adding idle functions with
8069 * GMountOperation:domain:
8071 * The domain to use for the mount operation.
8076 * g_socket_client_connect_to_uri_async:
8077 * @client: a #GSocketClient
8078 * @uri: a network uri
8079 * @default_port: the default port to connect to
8080 * @cancellable: a #GCancellable, or %NULL
8081 * @callback: a #GAsyncReadyCallback
8082 * @user_data: user data for the callback
8084 * This is the asynchronous version of g_socket_client_connect_to_uri().
8085 * When the operation is finished @callback will be
8086 * called. You can then call g_socket_client_connect_to_uri_finish() to get
8087 * the result of the operation.
8094 * g_app_info_delete:
8095 * @appinfo: a #GAppInfo
8097 * Tries to delete a #GAppInfo.
8098 * On some platforms, there may be a difference between user-defined
8099 * #GAppInfo<!-- -->s which can be deleted, and system-wide ones which
8100 * cannot. See g_app_info_can_delete().
8102 * Virtual: do_delete
8103 * Returns: %TRUE if @appinfo has been deleted
8109 * g_socket_client_get_tls_validation_flags:
8110 * @client: a #GSocketClient.
8112 * Gets the TLS validation flags used creating TLS connections via
8114 * Returns: the TLS validation flags
8120 * GTlsConnection:require-close-notify:
8122 * Whether or not proper TLS close notification is required.
8123 * See g_tls_connection_set_require_close_notify().
8130 * g_socket_control_message_get_level:
8131 * @message: a #GSocketControlMessage
8133 * Returns the "level" (i.e. the originating protocol) of the control message.
8134 * This is often SOL_SOCKET.
8136 * Returns: an integer describing the level
8142 * G_TYPE_VARIANT_TYPE:
8144 * The #GType for a boxed type holding a #GVariantType.
8152 * @g_type_class: the parent class
8153 * @constructor: the @constructor function is called by g_object_new () to complete the object initialization after all the construction properties are set. The first thing a @constructor implementation must do is chain up to the needed, e.g. to handle construct properties, or to implement singletons.
8154 * @set_property: the generic setter for all properties of this type. Should be overridden for every type with properties. Implementations of @set_property don't need to emit property change notification explicitly, this is handled by the type system.
8155 * @get_property: the generic getter for all properties of this type. Should be overridden for every type with properties.
8156 * @dispose: the @dispose function is supposed to drop all references to other objects, but keep the instance otherwise intact, so that client method invocations still work. It may be run multiple times (due to reference loops). Before returning, @dispose should chain up to the @dispose method of the parent class.
8157 * @finalize: instance finalization function, should finish the finalization of the instance begun in @dispose and chain up to the @finalize method of the parent class.
8158 * @dispatch_properties_changed: emits property change notification for a bunch of properties. Overriding @dispatch_properties_changed should be rarely needed.
8159 * @notify: the class closure for the notify signal
8160 * @constructed: the @constructed function is called by g_object_new() as the final step of the object creation process. At the point of the call, all construction properties have been set on the object. The purpose of this call is to allow for object initialisation steps that can only be performed after construction properties have been set. @constructed implementors should chain up to the @constructed call of their parent class to allow it to complete its initialisation.
8162 * The class structure for the <structname>GObject</structname> type.
8164 * <title>Implementing singletons using a constructor</title>
8166 * static MySingleton *the_singleton = NULL;
8168 * my_singleton_constructor (GType type,
8169 * guint n_construct_params,
8170 * GObjectConstructParam *construct_params)
8173 * if (!the_singleton)
8175 * object = G_OBJECT_CLASS (parent_class)->constructor (type,
8176 * n_construct_params,
8177 * construct_params);
8178 * the_singleton = MY_SINGLETON (object);
8181 * object = g_object_ref (G_OBJECT (the_singleton));
8184 * </programlisting></example>
8189 * GRegexEvalCallback:
8190 * @match_info: the #GMatchInfo generated by the match. Use g_match_info_get_regex() and g_match_info_get_string() if you need the #GRegex or the matched string.
8191 * @result: a #GString containing the new string
8192 * @user_data: user data passed to g_regex_replace_eval()
8194 * Specifies the type of the function passed to g_regex_replace_eval().
8195 * It is called for each occurance of the pattern in the string passed
8196 * to g_regex_replace_eval(), and it should append the replacement to
8198 * Returns: %FALSE to continue the replacement process, %TRUE to stop it
8204 * SECTION:gdbusutil:
8205 * @title: D-Bus Utilities
8206 * @short_description: Various utilities related to D-Bus.
8207 * @include: gio/gio.h
8209 * Various utility routines related to D-Bus.
8214 * g_node_insert_data_before:
8215 * @parent: the #GNode to place the new #GNode under
8216 * @sibling: the sibling #GNode to place the new #GNode before
8217 * @data: the data for the new #GNode
8219 * Inserts a new #GNode before the given sibling.
8221 * Returns: the new #GNode
8226 * g_file_info_get_attribute_boolean:
8227 * @info: a #GFileInfo.
8228 * @attribute: a file attribute key.
8230 * Gets the value of a boolean attribute. If the attribute does not
8231 * contain a boolean value, %FALSE will be returned.
8233 * Returns: the boolean value contained within the attribute.
8238 * g_mount_operation_set_domain:
8239 * @op: a #GMountOperation.
8240 * @domain: the domain to set.
8242 * Sets the mount operation's domain.
8248 * @value_init: Default initialize @values contents by poking values directly into the value->data array. The data array of the #GValue passed into this function was zero-filled with <function>memset()</function>, so no care has to be taken to free any old contents. E.g. for the implementation of a string value that may never be %NULL, the implementation might look like: |[ value->data[0].v_pointer = g_strdup (""); ]|
8249 * @value_free: Free any old contents that might be left in the data array of the passed in @value. No resources may remain allocated through the #GValue contents after this function returns. E.g. for our above string type: |[ // only free strings without a specific flag for static storage if (!(value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS)) g_free (value->data[0].v_pointer); ]|
8250 * @value_copy: @dest_value is a #GValue with zero-filled data section and @src_value is a properly setup #GValue of same or derived type. The purpose of this function is to copy the contents of remain valid. String type example: |[ dest_value->data[0].v_pointer = g_strdup (src_value->data[0].v_pointer); ]|
8251 * @value_peek_pointer: If the value contents fit into a pointer, such as objects or strings, return this pointer, so the caller can peek at the current contents. To extend on our above string example: |[ return value->data[0].v_pointer; ]|
8252 * @collect_format: A string format describing how to collect the contents of this value bit-by-bit. Each character in the format represents an argument to be collected, and the characters themselves indicate the type of the argument. Currently supported arguments are: <variablelist> <varlistentry><term /><listitem><para> 'i' - Integers. passed as collect_values[].v_int. </para></listitem></varlistentry> <varlistentry><term /><listitem><para> 'l' - Longs. passed as collect_values[].v_long. </para></listitem></varlistentry> <varlistentry><term /><listitem><para> 'd' - Doubles. passed as collect_values[].v_double. </para></listitem></varlistentry> <varlistentry><term /><listitem><para> 'p' - Pointers. passed as collect_values[].v_pointer. </para></listitem></varlistentry> </variablelist> It should be noted that for variable argument list construction, ANSI C promotes every type smaller than an integer to an int, and floats to doubles. So for collection of short int or char, 'i' needs to be used, and for collection of floats 'd'.
8253 * @collect_value: The collect_value() function is responsible for converting the values collected from a variable argument list into contents suitable for storage in a GValue. This function should setup does not allow %NULL pointers, it needs to either spew an error, or do an implicit conversion by storing an empty string. The @value passed in to this function has a zero-filled data array, so just like for value_init() it is guaranteed to not contain any old contents that might need freeing. and @collect_values is an array of unions #GTypeCValue with length @n_collect_values, containing the collected values according to @collect_format. It may contain the flag %G_VALUE_NOCOPY_CONTENTS indicating, that the collected value contents may be considered "static" for the duration of the @value lifetime. Thus an extra copy of the contents stored in @collect_values is not required for assignment to @value. For our above string example, we continue with: |[ if (!collect_values[0].v_pointer) value->data[0].v_pointer = g_strdup (""); else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { value->data[0].v_pointer = collect_values[0].v_pointer; // keep a flag for the value_free() implementation to not free this string value->data[1].v_uint = G_VALUE_NOCOPY_CONTENTS; } else value->data[0].v_pointer = g_strdup (collect_values[0].v_pointer); return NULL; ]| It should be noted, that it is generally a bad idea to follow the #G_VALUE_NOCOPY_CONTENTS hint for reference counted types. Due to reentrancy requirements and reference count assertions performed by the #GSignal code, reference counts should always be incremented for reference counted contents stored in the value->data array. To deviate from our string example for a moment, and taking a look at an exemplary implementation for collect_value() of #GObject: |[ if (collect_values[0].v_pointer) { GObject *object = G_OBJECT (collect_values[0].v_pointer); // never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types value->data[0].v_pointer = g_object_ref (object); return NULL; } else return g_strdup_printf ("Object passed as invalid NULL pointer"); } ]| The reference count for valid objects is always incremented, regardless of @collect_flags. For invalid objects, the example returns a newly allocated string without altering @value. Upon success, collect_value() needs to return %NULL. If, however, an error condition occurred, collect_value() may spew an error by returning a newly allocated non-%NULL string, giving a suitable description of the error condition. The calling code makes no assumptions about the @value contents being valid upon error returns, @value is simply thrown away without further freeing. As such, it is a good idea to not allocate #GValue contents, prior to returning an error, however, collect_values() is not obliged to return a correctly setup @value for error returns, simply because any non-%NULL return is considered a fatal condition so further program behaviour is undefined.
8254 * @lcopy_format: Format description of the arguments to collect for @lcopy_value, analogous to @collect_format. Usually, @lcopy_format string consists only of 'p's to provide lcopy_value() with pointers to storage locations.
8255 * @lcopy_value: This function is responsible for storing the @value contents into arguments passed through a variable argument list which got collected into @collect_values according to @lcopy_format. and @collect_flags may contain %G_VALUE_NOCOPY_CONTENTS. In contrast to collect_value(), lcopy_value() is obliged to always properly support %G_VALUE_NOCOPY_CONTENTS. Similar to collect_value() the function may prematurely abort by returning a newly allocated string describing an error condition. To complete the string example: |[ gchar **string_p = collect_values[0].v_pointer; if (!string_p) return g_strdup_printf ("string location passed as NULL"); if (collect_flags & G_VALUE_NOCOPY_CONTENTS) *string_p = value->data[0].v_pointer; else *string_p = g_strdup (value->data[0].v_pointer); ]| And an illustrative version of lcopy_value() for reference-counted types: |[ GObject **object_p = collect_values[0].v_pointer; if (!object_p) return g_strdup_printf ("object location passed as NULL"); if (!value->data[0].v_pointer) *object_p = NULL; else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) // always honour *object_p = value->data[0].v_pointer; else *object_p = g_object_ref (value->data[0].v_pointer); return NULL; ]|
8257 * The #GTypeValueTable provides the functions required by the #GValue implementation,
8258 * to serve as a container for values of a type.
8264 * @struct_type: the type of the elements to allocate
8265 * @mem: the currently allocated memory
8266 * @n_structs: the number of elements to allocate
8268 * Attempts to reallocate the memory pointed to by @mem, so that it now has
8269 * space for @n_structs elements of type @struct_type, and returns %NULL on
8270 * failure. Contrast with g_renew(), which aborts the program on failure.
8271 * It returns the new address of the memory, which may have been moved.
8272 * The function returns %NULL if an overflow occurs.
8275 * Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type
8280 * g_unix_mount_point_is_loopback:
8281 * @mount_point: a #GUnixMountPoint.
8283 * Checks if a unix mount point is a loopback device.
8285 * Returns: %TRUE if the mount point is a loopback. %FALSE otherwise.
8290 * g_mount_operation_get_password:
8291 * @op: a #GMountOperation.
8293 * Gets a password from the mount operation.
8295 * Returns: a string containing the password within @op.
8300 * SECTION:gfilenamecomplete:
8301 * @short_description: Filename Completer
8302 * @include: gio/gio.h
8304 * Completes partial file and directory names given a partial string by
8305 * looking in the file system for clues. Can return a list of possible
8306 * completion strings for widget implementations.
8311 * G_TYPE_PARAM_CHAR:
8313 * The #GType of #GParamSpecChar.
8318 * g_dbus_message_get_interface:
8319 * @message: A #GDBusMessage.
8321 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
8323 * Returns: The value.
8329 * g_content_types_get_registered:
8331 * Gets a list of strings containing all the registered content types
8332 * known to the system. The list and its data should be freed using
8334 * g_list_foreach (list, g_free, NULL);
8335 * g_list_free (list);
8338 * Returns: (element-type utf8) (transfer full): #GList of the registered content types
8343 * g_dbus_interface_info_ref:
8344 * @info: A #GDBusInterfaceInfo
8346 * If @info is statically allocated does nothing. Otherwise increases
8347 * the reference count.
8349 * Returns: The same @info.
8355 * GTypeClassCacheFunc:
8356 * @cache_data: data that was given to the g_type_add_class_cache_func() call
8357 * @g_class: The #GTypeClass structure which is unreferenced
8359 * A callback function which is called when the reference count of a class
8360 * drops to zero. It may use g_type_class_ref() to prevent the class from
8361 * being freed. You should not call g_type_class_unref() from a
8362 * #GTypeClassCacheFunc function to prevent infinite recursion, use
8363 * g_type_class_unref_uncached() instead.
8364 * The functions have to check the class id passed in to figure
8365 * whether they actually want to cache the class of this type, since all
8366 * classes are routed through the same #GTypeClassCacheFunc chain.
8367 * called, %FALSE to continue.
8369 * Returns: %TRUE to stop further #GTypeClassCacheFunc<!-- -->s from being
8375 * @G_TIME_TYPE_STANDARD: the time is in local standard time
8376 * @G_TIME_TYPE_DAYLIGHT: the time is in local daylight time
8377 * @G_TIME_TYPE_UNIVERSAL: the time is in UTC
8379 * Disambiguates a given time in two ways.
8380 * First, specifies if the given time is in universal or local time.
8381 * Second, if the time is in local time, specifies if it is local
8382 * standard time or local daylight time. This is important for the case
8383 * where the same local time occurs twice (during daylight savings time
8384 * transitions, for example).
8389 * g_file_info_clear_status:
8390 * @info: a #GFileInfo.
8392 * Clears the status information from @info.
8397 * g_file_eject_mountable:
8398 * @file: input #GFile.
8399 * @flags: flags affecting the operation
8400 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
8401 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
8402 * @user_data: (closure): the data to pass to callback function
8404 * Starts an asynchronous eject on a mountable.
8405 * When this operation has completed, @callback will be called with
8406 * g_file_eject_mountable_finish().
8407 * If @cancellable is not %NULL, then the operation can be cancelled by
8408 * triggering the cancellable object from another thread. If the operation
8409 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
8411 * Deprecated: 2.22: Use g_file_eject_mountable_with_operation() instead.
8416 * g_dbus_message_get_member:
8417 * @message: A #GDBusMessage.
8419 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
8421 * Returns: The value.
8428 * @parent_instance: private #GParamSpec portion
8429 * @minimum: minimum value for the property specified
8430 * @maximum: maximum value for the property specified
8431 * @default_value: default value for the property specified
8433 * A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.
8438 * SECTION:gfilterinputstrea:
8439 * @short_description: Filter Input Stream
8440 * @include: gio/gio.h
8442 * Base class for input stream implementations that perform some
8443 * kind of filtering operation on a base stream. Typical examples
8444 * of filtering operations are character set conversion, compression
8445 * and byte order flipping.
8451 * @object: Object to return the type id for.
8453 * Get the type id of an object.
8455 * Returns: Type id of @object.
8461 * @value: A #GValue structure.
8462 * @type: A #GType value.
8464 * Checks if @value holds (or contains) a value of @type.
8465 * This macro will also check for @value != %NULL and issue a
8466 * warning if the check fails.
8468 * Returns: %TRUE if @value holds the @type.
8473 * g_dbus_server_stop:
8474 * @server: A #GDBusServer.
8485 * Watches for changes to a file.
8490 * g_tls_connection_emit_accept_certificate:
8491 * @conn: a #GTlsConnection
8492 * @peer_cert: the peer's #GTlsCertificate
8493 * @errors: the problems with @peer_cert
8495 * Used by #GTlsConnection implementations to emit the
8496 * #GTlsConnection::accept-certificate signal.
8497 * %TRUE to accept @peer_cert
8499 * Returns: %TRUE if one of the signal handlers has returned
8505 * g_file_replace_readwrite:
8507 * @etag: (allow-none): an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore
8508 * @make_backup: %TRUE if a backup should be created
8509 * @flags: a set of #GFileCreateFlags
8510 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
8511 * @error: return location for a #GError, or %NULL
8513 * Returns an output stream for overwriting the file in readwrite mode,
8514 * possibly creating a backup copy of the file first. If the file doesn't
8515 * exist, it will be created.
8516 * For details about the behaviour, see g_file_replace() which does the same
8517 * thing but returns an output stream only.
8518 * Note that in many non-local file cases read and write streams are not
8519 * supported, so make sure you really need to do read and write streaming,
8520 * rather than just opening for reading or writing.
8521 * Free the returned object with g_object_unref().
8523 * Returns: (transfer full): a #GFileIOStream or %NULL on error.
8529 * g_simple_permission_new:
8530 * @allowed: %TRUE if the action is allowed
8531 * @returns: the #GSimplePermission, as a #GPermission
8533 * Creates a new #GPermission instance that represents an action that is
8534 * either always or never allowed.
8542 * @context: The active #GOptionContext
8543 * @group: The group to which the function belongs
8544 * @data: User data added to the #GOptionGroup containing the option when it was created with g_option_group_new()
8545 * @error: The #GError containing details about the parse error
8547 * The type of function to be used as callback when a parse error occurs.
8552 * g_file_query_filesystem_info_finish:
8553 * @file: input #GFile.
8554 * @res: a #GAsyncResult.
8555 * @error: a #GError.
8557 * Finishes an asynchronous filesystem info query. See
8558 * g_file_query_filesystem_info_async().
8559 * Free the returned object with g_object_unref().
8561 * Returns: (transfer full): #GFileInfo for given @file or %NULL on error.
8566 * G_TYPE_FUNDAMENTAL:
8567 * @type: A #GType value.
8569 * The fundamental type which is the ancestor of @type.
8570 * Fundamental types are types that serve as ultimate bases for the derived types,
8571 * thus they are the roots of distinct inheritance hierarchies.
8576 * GVolumeMonitor::mount-changed:
8577 * @volume_monitor: The volume monitor emitting the signal.
8578 * @mount: a #GMount that changed.
8580 * Emitted when a mount changes.
8585 * g_volume_get_identifier:
8586 * @volume: a #GVolume
8587 * @kind: the kind of identifier to return
8589 * Gets the identifier of the given kind for @volume.
8590 * See the <link linkend="volume-identifier">introduction</link>
8591 * for more information about volume identifiers.
8592 * requested identfier, or %NULL if the #GVolume
8593 * doesn't have this kind of identifier
8595 * Returns: a newly allocated string containing the
8600 * g_tcp_connection_get_graceful_disconnect:
8601 * @connection: a #GTcpConnection
8603 * Checks if graceful disconnects are used. See
8604 * g_tcp_connection_set_graceful_disconnect().
8606 * Returns: %TRUE if graceful disconnect is used on close, %FALSE otherwise
8612 * G_IS_PARAM_SPEC_OBJECT:
8613 * @pspec: a valid #GParamSpec instance
8615 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
8617 * Returns: %TRUE on success.
8622 * SECTION:gzdecompresso:
8623 * @short_description: Zlib decompressor
8624 * @include: gio/gio.h
8626 * #GZlibDecompressor is an implementation of #GConverter that
8627 * decompresses data compressed with zlib.
8632 * G_IS_PARAM_SPEC_VALUE_ARRAY:
8633 * @pspec: a valid #GParamSpec instance
8635 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY.
8637 * Returns: %TRUE on success.
8644 * The fundamental type from which all enumeration types are derived.
8649 * G_IS_PARAM_SPEC_BOXED:
8650 * @pspec: a valid #GParamSpec instance
8652 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED.
8654 * Returns: %TRUE on success.
8659 * g_dbus_message_get_reply_serial:
8660 * @message: A #GDBusMessage.
8662 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
8664 * Returns: The value.
8670 * g_tls_connection_get_use_system_certdb:
8671 * @conn: a #GTlsConnection
8673 * Gets whether @conn uses the system certificate database to verify
8674 * peer certificates. See g_tls_connection_set_use_system_certdb().
8676 * Returns: whether @conn uses the system certificate database
8682 * g_emblem_get_origin:
8683 * @emblem: a #GEmblem
8685 * Gets the origin of the emblem.
8687 * Returns: the origin of the emblem
8693 * GMemoryInputStream:
8695 * Implements #GInputStream for arbitrary memory chunks.
8700 * SECTION:gfiledescriptorbase:
8701 * @short_description: Interface for file descriptor based IO
8702 * @include: gio/gfiledescriptorbased.h
8703 * @see_also: #GInputStream, #GOutputStream
8705 * #GFileDescriptorBased is implemented by streams (implementations of
8706 * #GInputStream or #GOutputStream) that are based on file descriptors.
8707 * Note that <filename><gio/gfiledescriptorbased.h></filename> belongs to
8708 * the UNIX-specific GIO interfaces, thus you have to use the
8709 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
8716 * g_file_find_enclosing_mount_finish:
8718 * @res: a #GAsyncResult
8721 * Finishes an asynchronous find mount request.
8722 * See g_file_find_enclosing_mount_async().
8723 * Free the returned object with g_object_unref().
8725 * Returns: (transfer full): #GMount for given @file or %NULL on error.
8730 * g_inet_address_get_is_site_local:
8731 * @address: a #GInetAddress
8733 * Tests whether @address is a site-local address such as 10.0.0.1
8734 * (that is, the address identifies a host on a local network that can
8735 * not be reached directly from the Internet, but which may have
8736 * outgoing Internet connectivity via a NAT or firewall).
8738 * Returns: %TRUE if @address is a site-local address.
8746 * Allows actions to be cancelled.
8751 * g_dbus_message_set_num_unix_fds:
8752 * @message: A #GDBusMessage.
8753 * @value: The value to set.
8755 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
8764 * Implementation of the #GMount interface for Win32 systems.
8771 * The #GType for a boxed type holding a #GArray reference.
8778 * g_file_copy_async: (skip)
8779 * @source: input #GFile.
8780 * @destination: destination #GFile
8781 * @flags: set of #GFileCopyFlags
8782 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
8783 * @cancellable: optional #GCancellable object, %NULL to ignore.
8784 * @progress_callback: function to callback with progress information
8785 * @progress_callback_data: user data to pass to @progress_callback
8786 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
8787 * @user_data: the data to pass to callback function
8789 * Copies the file @source to the location specified by @destination
8790 * asynchronously. For details of the behaviour, see g_file_copy().
8791 * If @progress_callback is not %NULL, then that function that will be called
8792 * just like in g_file_copy(), however the callback will run in the main loop,
8793 * not in the thread that is doing the I/O operation.
8794 * When the operation is finished, @callback will be called. You can then call
8795 * g_file_copy_finish() to get the result of the operation.
8800 * G_FILE_ATTRIBUTE_UNIX_DEVICE:
8802 * A key in the "unix" namespace for getting the device id of the device the
8803 * file is located on (see stat() documentation). This attribute is only
8804 * available for UNIX file systems. Corresponding #GFileAttributeType is
8805 * %G_FILE_ATTRIBUTE_TYPE_UINT32.
8810 * G_TYPE_CHECK_VALUE:
8813 * Checks if @value has been initialized to hold values
8815 * This macro should only be used in type implementations.
8817 * Returns: %TRUE on success.
8822 * G_DEFINE_POINTER_TYPE:
8823 * @TypeName: The name of the new type, in Camel case.
8824 * @type_name: The name of the new type, in lowercase, with words separated by '_'.
8826 * A convenience macro for pointer type implementations, which defines a
8827 * type_name_get_type() function registering the pointer type.
8834 * g_dbus_method_invocation_get_method_name:
8835 * @invocation: A #GDBusMethodInvocation.
8837 * Gets the name of the method that was invoked.
8839 * Returns: A string. Do not free, it is owned by @invocation.
8845 * g_io_extension_ref_class:
8846 * @extension: a #GIOExtension
8848 * Gets a reference to the class for the type that is
8849 * associated with @extension.
8851 * Returns: (transfer full): the #GTypeClass for the type of @extension
8856 * GVolumeMonitor::mount-pre-unmount:
8857 * @volume_monitor: The volume monitor emitting the signal.
8858 * @mount: a #GMount that is being unmounted.
8860 * Emitted when a mount is about to be removed.
8866 * @boxed: The boxed structure to be freed.
8868 * This function is provided by the user and should free the boxed
8874 * g_desktop_app_info_new_from_keyfile:
8875 * @key_file: an opened #GKeyFile
8877 * Creates a new #GDesktopAppInfo.
8879 * Returns: a new #GDesktopAppInfo or %NULL on error.
8885 * g_file_info_get_attribute_uint32:
8886 * @info: a #GFileInfo.
8887 * @attribute: a file attribute key.
8889 * Gets an unsigned 32-bit integer contained within the attribute. If the
8890 * attribute does not contain an unsigned 32-bit integer, or is invalid,
8891 * 0 will be returned.
8893 * Returns: an unsigned 32-bit integer from the attribute.
8900 * A lowlevel network socket object.
8907 * g_dbus_server_is_active:
8908 * @server: A #GDBusServer.
8910 * Gets whether @server is active.
8912 * Returns: %TRUE if server is active, %FALSE otherwise.
8918 * g_application_set_inactivity_timeout:
8919 * @application: a #GApplication
8920 * @inactivity_timeout: the timeout, in milliseconds
8922 * Sets the current inactivity timeout for the application.
8923 * This is the amount of time (in milliseconds) after the last call to
8924 * g_application_release() before the application stops running.
8925 * This call has no side effects of its own. The value set here is only
8926 * used for next time g_application_release() drops the use count to
8927 * zero. Any timeouts currently in progress are not impacted.
8929 * Returns: the timeout, in milliseconds
8937 * This signal is emitted when the #GVolume have been removed. If
8938 * the recipient is holding references to the object they should
8939 * release them so the object can be finalized.
8944 * g_settings_set_flags:
8945 * @settings: a #GSettings object
8946 * @key: a key, within @settings
8947 * @value: a flags value
8948 * @returns: %TRUE, if the set succeeds
8950 * Looks up the flags type nicks for the bits specified by @value, puts
8951 * them in an array of strings and writes the array to @key, withing
8952 * It is a programmer error to give a @key that isn't contained in the
8953 * schema for @settings or is not marked as a flags type, or for @value
8954 * to contain any bits that are not value for the named type.
8955 * After performing the write, accessing @key directly with
8956 * g_settings_get_strv() will return an array of 'nicks'; one for each
8962 * g_drive_has_volumes:
8963 * @drive: a #GDrive.
8965 * Check if @drive has any mountable volumes.
8967 * Returns: %TRUE if the @drive contains volumes, %FALSE otherwise.
8972 * g_app_info_get_description:
8973 * @appinfo: a #GAppInfo.
8975 * Gets a human-readable description of an installed application.
8976 * application @appinfo, or %NULL if none.
8978 * Returns: a string containing a description of the
8983 * g_input_stream_close_async:
8984 * @stream: A #GInputStream.
8985 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
8986 * @cancellable: (allow-none): optional cancellable object
8987 * @callback: (scope async): callback to call when the request is satisfied
8988 * @user_data: (closure): the data to pass to callback function
8990 * Requests an asynchronous closes of the stream, releasing resources related to it.
8991 * When the operation is finished @callback will be called.
8992 * You can then call g_input_stream_close_finish() to get the result of the
8994 * For behaviour details see g_input_stream_close().
8995 * The asyncronous methods have a default fallback that uses threads to implement
8996 * asynchronicity, so they are optional for inheriting classes. However, if you
8997 * override one you must override all.
9002 * g_file_descriptor_based_get_fd:
9003 * @fd_based: a #GFileDescriptorBased.
9005 * Gets the underlying file descriptor.
9007 * Returns: The file descriptor
9014 * @file: input #GFile.
9015 * @flags: a set of #GFileCreateFlags.
9016 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
9017 * @error: a #GError, or %NULL
9019 * Gets an output stream for appending data to the file. If
9020 * the file doesn't already exist it is created.
9021 * By default files created are generally readable by everyone,
9022 * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
9023 * will be made readable only to the current user, to the level that
9024 * is supported on the target filesystem.
9025 * If @cancellable is not %NULL, then the operation can be cancelled by
9026 * triggering the cancellable object from another thread. If the operation
9027 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
9028 * Some file systems don't allow all file names, and may
9029 * return an %G_IO_ERROR_INVALID_FILENAME error.
9030 * If the file is a directory the %G_IO_ERROR_IS_DIRECTORY error will be
9031 * returned. Other errors are possible too, and depend on what kind of
9032 * filesystem the file is on.
9033 * Free the returned object with g_object_unref().
9035 * Returns: (transfer full): a #GFileOutputStream, or %NULL on error.
9040 * g_data_input_stream_read_until_finish:
9041 * @stream: a given #GDataInputStream.
9042 * @result: the #GAsyncResult that was provided to the callback.
9043 * @length: (out): a #gsize to get the length of the data read in.
9044 * @error: #GError for error reporting.
9046 * Finish an asynchronous call started by
9047 * g_data_input_stream_read_until_async().
9048 * before encountering any of the stop characters. Set @length to
9049 * a #gsize to get the length of the string. This function will
9050 * return %NULL on an error.
9053 * Returns: (transfer full): a string with the data that was read
9060 * A numerical value which represents the unique identifier of a registered
9068 * Opaque drive object.
9073 * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP:
9075 * A key in the "standard" namespace for checking if a file is a backup file.
9076 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9081 * g_proxy_address_get_protocol:
9082 * @proxy: a #GProxyAddress
9084 * Gets @proxy's protocol.
9086 * Returns: the @proxy's protocol
9092 * g_input_stream_set_pending:
9093 * @stream: input stream
9094 * @error: a #GError location to store the error occuring, or %NULL to ignore.
9096 * Sets @stream to have actions pending. If the pending flag is
9097 * already set or @stream is closed, it will return %FALSE and set
9099 * Returns: %TRUE if pending was previously unset and is now set.
9106 * Checks if any events are pending for the default #GMainContext
9107 * (i.e. ready to be processed).
9109 * Returns: %TRUE if any events are pending.
9110 * Deprected: 2.2: Use g_main_context_pending() instead.
9117 * The <structname>GIConv</structname> struct wraps an
9118 * iconv() conversion descriptor. It contains private data
9119 * and should only be accessed using the following functions.
9124 * g_application_command_line_get_is_remote:
9125 * @cmdline: a #GApplicationCommandLine
9127 * Determines if @cmdline represents a remote invocation.
9129 * Returns: %TRUE if the invocation was remote
9135 * g_dbus_error_new_for_dbus_error:
9136 * @dbus_error_name: D-Bus error name.
9137 * @dbus_error_message: D-Bus error message.
9139 * Creates a #GError based on the contents of @dbus_error_name and
9140 * Errors registered with g_dbus_error_register_error() will be looked
9141 * up using @dbus_error_name and if a match is found, the error domain
9142 * and code is used. Applications can use g_dbus_error_get_remote_error()
9143 * to recover @dbus_error_name.
9144 * If a match against a registered error is not found and the D-Bus
9145 * error name is in a form as returned by g_dbus_error_encode_gerror()
9146 * the error domain and code encoded in the name is used to
9147 * create the #GError. Also, @dbus_error_name is added to the error message
9148 * such that it can be recovered with g_dbus_error_get_remote_error().
9149 * Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR
9150 * in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is
9151 * added to the error message such that it can be recovered with
9152 * g_dbus_error_get_remote_error().
9153 * In all three cases, @dbus_error_name can always be recovered from the
9154 * returned #GError using the g_dbus_error_get_remote_error() function
9155 * (unless g_dbus_error_strip_remote_error() hasn't been used on the returned error).
9156 * This function is typically only used in object mappings to prepare
9157 * #GError instances for applications. Regular applications should not use
9160 * Returns: An allocated #GError. Free with g_error_free().
9166 * GTlsCertificate:certificate-pem:
9168 * The PEM (ASCII) encoded representation of the certificate's
9169 * public key. This property and the #GTlsCertificate:certificate
9170 * property represent the same data, just in different forms.
9178 * @struct_type: the type of the elements to allocate
9179 * @n_structs: the number of elements to allocate
9181 * Attempts to allocate @n_structs elements of type @struct_type, and returns
9182 * %NULL on failure. Contrast with g_new(), which aborts the program on failure.
9183 * The returned pointer is cast to a pointer to the given type.
9184 * The function returns %NULL when @n_structs is 0 of if an overflow occurs.
9187 * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
9192 * GSignalCMarshaller:
9194 * This is the signature of marshaller functions, required to marshall
9195 * arrays of parameter values to signal emissions into C language callback
9196 * invocations. It is merely an alias to #GClosureMarshal since the #GClosure
9197 * mechanism takes over responsibility of actual function invocation for the
9203 * G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT:
9205 * A key in the "trash" namespace. When requested against
9206 * "trash:///" returns the number of (toplevel) items in the trash folder.
9207 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9212 * g_dbus_proxy_get_cached_property_names:
9213 * @proxy: A #GDBusProxy.
9215 * Gets the names of all cached properties on @proxy.
9216 * no cached properties. Free the returned array with g_strfreev().
9218 * Returns: A %NULL-terminated array of strings or %NULL if @proxy has
9224 * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE:
9226 * A key in the "access" namespace for getting write privileges.
9227 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9228 * This attribute will be %TRUE if the user is able to write to the file.
9233 * GZlibDecompressor:
9235 * Zlib decompression
9240 * GDrive::eject-button:
9241 * @drive: a #GDrive.
9243 * Emitted when the physical eject button (if any) of a drive has
9249 * g_application_set_flags:
9250 * @application: a #GApplication
9251 * @flags: the flags for @application
9253 * Sets the flags for @application.
9254 * The flags can only be modified if @application has not yet been
9256 * See #GApplicationFlags.
9263 * GSettings::changed:
9264 * @settings: the object on which the signal was emitted
9265 * @key: the name of the key that changed
9267 * The "changed" signal is emitted when a key has potentially changed.
9268 * You should call one of the g_settings_get() calls to check the new
9270 * This signal supports detailed connections. You can connect to the
9271 * detailed signal "changed::x" in order to only receive callbacks
9272 * when key "x" changes.
9278 * @file: input #GFile.
9279 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
9280 * @error: a #GError, or %NULL
9282 * Deletes a file. If the @file is a directory, it will only be deleted if it
9284 * If @cancellable is not %NULL, then the operation can be cancelled by
9285 * triggering the cancellable object from another thread. If the operation
9286 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
9288 * Virtual: delete_file
9289 * Returns: %TRUE if the file was deleted. %FALSE otherwise.
9294 * GSettings:context:
9296 * The name of the context that the settings are stored in.
9303 * Error domain for regular expressions. Errors in this domain will be
9304 * from the #GRegexError enumeration. See #GError for information on
9312 * GDBusAnnotationInfo:
9313 * @ref_count: The reference count or -1 if statically allocated.
9314 * @key: The name of the annotation, e.g. "org.freedesktop.DBus.Deprecated".
9315 * @value: The value of the annotation.
9316 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
9318 * Information about an annotation.
9325 * g_output_stream_is_closing:
9326 * @stream: a #GOutputStream.
9328 * Checks if an output stream is being closed. This can be
9329 * used inside e.g. a flush implementation to see if the
9330 * flush (or other i/o operation) is called from within
9331 * the closing operation.
9333 * Returns: %TRUE if @stream is being closed. %FALSE otherwise.
9339 * g_data_input_stream_read_line_async:
9340 * @stream: a given #GDataInputStream.
9341 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
9342 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
9343 * @callback: (scope async): callback to call when the request is satisfied.
9344 * @user_data: (closure): the data to pass to callback function.
9346 * The asynchronous version of g_data_input_stream_read_line(). It is
9347 * an error to have two outstanding calls to this function.
9348 * When the operation is finished, @callback will be called. You
9349 * can then call g_data_input_stream_read_line_finish() to get
9350 * the result of the operation.
9357 * g_output_stream_write_finish:
9358 * @stream: a #GOutputStream.
9359 * @result: a #GAsyncResult.
9360 * @error: a #GError location to store the error occuring, or %NULL to ignore.
9362 * Finishes a stream write operation.
9364 * Returns: a #gssize containing the number of bytes written to the stream.
9369 * g_file_create_readwrite_async:
9370 * @file: input #GFile
9371 * @flags: a set of #GFileCreateFlags
9372 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request
9373 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
9374 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
9375 * @user_data: (closure): the data to pass to callback function
9377 * Asynchronously creates a new file and returns a stream for reading and
9378 * writing to it. The file must not already exist.
9379 * For more details, see g_file_create_readwrite() which is
9380 * the synchronous version of this call.
9381 * When the operation is finished, @callback will be called. You can then
9382 * call g_file_create_readwrite_finish() to get the result of the operation.
9389 * GDBusAuthObserver::authorize-authenticated-peer:
9390 * @observer: The #GDBusAuthObserver emitting the signal.
9391 * @stream: A #GIOStream for the #GDBusConnection.
9392 * @credentials: Credentials received from the peer or %NULL.
9394 * Emitted to check if a peer that is successfully authenticated
9397 * Returns: %TRUE if the peer is authorized, %FALSE if not.
9404 * @ufds: an array of #GPollFD elements
9405 * @nfsd: the number of elements in @ufds
9406 * @timeout_: the maximum time to wait for an event of the file descriptors. A negative value indicates an infinite timeout.
9408 * Specifies the type of function passed to g_main_context_set_poll_func().
9409 * The semantics of the function should match those of the poll() system call.
9410 * reported, or -1 if an error occurred.
9412 * Returns: the number of #GPollFD elements which have events or errors
9417 * GSimpleAction::activate:
9418 * @simple: the #GSimpleAction
9419 * @parameter: (allow-none): the parameter to the activation
9421 * Indicates that the action was just activated.
9422 * an incorrect type was given, no signal will be emitted.
9429 * g_cancellable_source_new:
9430 * @cancellable: a #GCancellable, or %NULL
9432 * Creates a source that triggers if @cancellable is cancelled and
9433 * calls its callback of type #GCancellableSourceFunc. This is
9434 * primarily useful for attaching to another (non-cancellable) source
9435 * with g_source_add_child_source() to add cancellability to it.
9436 * For convenience, you can call this with a %NULL #GCancellable,
9437 * in which case the source will never trigger.
9439 * Returns: the new #GSource.
9445 * g_data_input_stream_read_byte:
9446 * @stream: a given #GDataInputStream.
9447 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
9448 * @error: #GError for error reporting.
9450 * Reads an unsigned 8-bit/1-byte value from @stream.
9451 * if an error occurred.
9453 * Returns: an unsigned 8-bit/1-byte value read from the @stream or %0
9460 * Seek object for streaming operations.
9467 * g_socket_client_connect_to_host_finish:
9468 * @client: a #GSocketClient.
9469 * @result: a #GAsyncResult.
9470 * @error: a #GError location to store the error occuring, or %NULL to ignore.
9472 * Finishes an async connect operation. See g_socket_client_connect_to_host_async()
9474 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
9480 * G_FILE_ATTRIBUTE_TIME_CREATED:
9482 * A key in the "time" namespace for getting the time the file was created.
9483 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
9484 * and contains the UNIX time since the file was created.
9485 * This corresponds to the NTFS ctime.
9490 * GMountOperation::ask-question:
9491 * @op: a #GMountOperation asking a question.
9492 * @message: string containing a message to display to the user.
9493 * @choices: an array of strings for each possible choice.
9495 * Emitted when asking the user a question and gives a list of
9496 * choices for the user to choose from.
9497 * If the message contains a line break, the first line should be
9498 * presented as a heading. For example, it may be used as the
9499 * primary text in a #GtkMessageDialog.
9504 * G_IS_INITIALLY_UNOWNED_CLASS:
9505 * @class: a #GInitiallyUnownedClass
9507 * Checks whether @class "is a" valid #GInitiallyUnownedClass structure of type
9508 * %G_TYPE_INITIALLY_UNOWNED or derived.
9513 * GUnixOutputStream:
9515 * Implements #GOutputStream for outputting to selectable unix file descriptors
9520 * SECTION:extensionpoint:
9521 * @short_description: Extension Points
9523 * @see_also: <link linkend="extending-gio">Extending GIO</link>
9525 * #GIOExtensionPoint provides a mechanism for modules to extend the
9526 * functionality of the library or application that loaded it in an
9527 * organized fashion.
9528 * An extension point is identified by a name, and it may optionally
9529 * require that any implementation must by of a certain type (or derived
9530 * thereof). Use g_io_extension_point_register() to register an
9531 * extension point, and g_io_extension_point_set_required_type() to
9532 * set a required type.
9533 * A module can implement an extension point by specifying the #GType
9534 * that implements the functionality. Additionally, each implementation
9535 * of an extension point has a name, and a priority. Use
9536 * g_io_extension_point_implement() to implement an extension point.
9538 * GIOExtensionPoint *ep;
9539 * /* Register an extension point */
9540 * ep = g_io_extension_point_register ("my-extension-point");
9541 * g_io_extension_point_set_required_type (ep, MY_TYPE_EXAMPLE);
9544 * /* Implement an extension point */
9545 * G_DEFINE_TYPE (MyExampleImpl, my_example_impl, MY_TYPE_EXAMPLE);
9546 * g_io_extension_point_implement ("my-extension-point",
9547 * my_example_impl_get_type (),
9551 * It is up to the code that registered the extension point how
9552 * it uses the implementations that have been associated with it.
9553 * Depending on the use case, it may use all implementations, or
9554 * only the one with the highest priority, or pick a specific
9556 * To avoid opening all modules just to find out what extension
9557 * points they implement, GIO makes use of a caching mechanism,
9558 * see <link linkend="gio-querymodules">gio-querymodules</link>.
9559 * You are expected to run this command after installing a
9565 * g_pollable_output_stream_write_nonblocking:
9566 * @stream: a #GPollableOutputStream
9567 * @buffer: a buffer to write data from
9568 * @size: the number of bytes you want to write
9569 * @cancellable: a #GCancellable, or %NULL
9570 * @error: #GError for error reporting, or %NULL to ignore.
9572 * Attempts to write up to @size bytes from @buffer to @stream, as
9573 * with g_output_stream_write(). If @stream is not currently writable,
9574 * this will immediately return %G_IO_ERROR_WOULD_BLOCK, and you can
9575 * use g_pollable_output_stream_create_source() to create a #GSource
9576 * that will be triggered when @stream is writable.
9577 * Note that since this method never blocks, you cannot actually
9578 * use @cancellable to cancel it. However, it will return an error
9579 * if @cancellable has already been cancelled when you call, which
9580 * may happen if you call this method after a source triggers due
9581 * to having been cancelled.
9582 * %G_IO_ERROR_WOULD_BLOCK).
9584 * Returns: the number of bytes written, or -1 on error (including
9589 * g_output_stream_write:
9590 * @stream: a #GOutputStream.
9591 * @buffer: (array length=count) (element-type guint8): the buffer containing the data to write.
9592 * @count: the number of bytes to write
9593 * @cancellable: (allow-none): optional cancellable object
9594 * @error: location to store the error occuring, or %NULL to ignore
9596 * Tries to write @count bytes from @buffer into the stream. Will block
9597 * during the operation.
9598 * If count is 0, returns 0 and does nothing. A value of @count
9599 * larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
9600 * On success, the number of bytes written to the stream is returned.
9601 * It is not an error if this is not the same as the requested size, as it
9602 * can happen e.g. on a partial I/O error, or if there is not enough
9603 * storage in the stream. All writes block until at least one byte
9604 * is written or an error occurs; 0 is never returned (unless
9605 * If @cancellable is not NULL, then the operation can be cancelled by
9606 * triggering the cancellable object from another thread. If the operation
9607 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
9608 * operation was partially finished when the operation was cancelled the
9609 * partial result will be returned, without an error.
9610 * On error -1 is returned and @error is set accordingly.
9612 * Returns: Number of bytes written, or -1 on error
9618 * @loop: a #GMainLoop
9620 * Frees the memory allocated for the #GMainLoop.
9622 * Deprecated: 2.2: Use g_main_loop_unref() instead
9627 * g_dbus_connection_new:
9628 * @stream: A #GIOStream.
9629 * @guid: The GUID to use if a authenticating as a server or %NULL.
9630 * @flags: Flags describing how to make the connection.
9631 * @observer: A #GDBusAuthObserver or %NULL.
9632 * @cancellable: A #GCancellable or %NULL.
9633 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
9634 * @user_data: The data to pass to @callback.
9636 * Asynchronously sets up a D-Bus connection for exchanging D-Bus messages
9637 * with the end represented by @stream.
9638 * If @observer is not %NULL it may be used to control the
9639 * authentication process.
9640 * When the operation is finished, @callback will be invoked. You can
9641 * then call g_dbus_connection_new_finish() to get the result of the
9643 * This is a asynchronous failable constructor. See
9644 * g_dbus_connection_new_sync() for the synchronous
9653 * @G_PASSWORD_SAVE_NEVER: never save a password.
9654 * @G_PASSWORD_SAVE_FOR_SESSION: save a password for the session.
9655 * @G_PASSWORD_SAVE_PERMANENTLY: save a password permanently.
9657 * #GPasswordSave is used to indicate the lifespan of a saved password.
9658 * #Gvfs stores passwords in the Gnome keyring when this flag allows it
9659 * to, and later retrieves it again from there.
9664 * G_FILE_ATTRIBUTE_TIME_CREATED_USEC:
9666 * A key in the "time" namespace for getting the microseconds of the time
9667 * the file was created. This should be used in conjunction with
9668 * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is
9669 * %G_FILE_ATTRIBUTE_TYPE_UINT32.
9674 * G_BOOKMARK_FILE_ERROR:
9676 * Error domain for bookmark file parsing.
9677 * Errors in this domain will be from the #GBookmarkFileError
9678 * enumeration. See #GError for information on error domains.
9683 * g_unix_credentials_message_get_credentials:
9684 * @message: A #GUnixCredentialsMessage.
9686 * Gets the credentials stored in @message.
9688 * Returns: (transfer none): A #GCredentials instance. Do not free, it is owned by @message.
9694 * SECTION:gfileenumerato:
9695 * @short_description: Enumerated Files Routines
9696 * @include: gio/gio.h
9698 * #GFileEnumerator allows you to operate on a set of #GFile<!-- -->s,
9699 * returning a #GFileInfo structure for each file enumerated (e.g.
9700 * g_file_enumerate_children() will return a #GFileEnumerator for each
9701 * of the children within a directory).
9702 * To get the next file's information from a #GFileEnumerator, use
9703 * g_file_enumerator_next_file() or its asynchronous version,
9704 * g_file_enumerator_next_files_async(). Note that the asynchronous
9705 * version will return a list of #GFileInfo<!---->s, whereas the
9706 * synchronous will only return the next file in the enumerator.
9707 * To close a #GFileEnumerator, use g_file_enumerator_close(), or
9708 * its asynchronous version, g_file_enumerator_close_async(). Once
9709 * a #GFileEnumerator is closed, no further actions may be performed
9710 * on it, and it should be freed with g_object_unref().
9715 * GThemedIcon:use-default-fallbacks:
9717 * Whether to use the default fallbacks found by shortening the icon name
9718 * at '-' characters. If the "names" array has more than one element,
9719 * ignores any past the first.
9720 * For example, if the icon name was "gnome-dev-cdrom-audio", the array
9724 * "gnome-dev-cdrom-audio",
9725 * "gnome-dev-cdrom",
9735 * g_mount_remount_finish:
9736 * @mount: a #GMount.
9737 * @result: a #GAsyncResult.
9738 * @error: a #GError location to store the error occuring, or %NULL to ignore.
9740 * Finishes remounting a mount. If any errors occurred during the operation,
9742 * Returns: %TRUE if the mount was successfully remounted. %FALSE otherwise.
9749 * Ensures that all pending operations for the given are complete for
9750 * the default backend.
9751 * Writes made to a #GSettings are handled asynchronously. For this
9752 * reason, it is very unlikely that the changes have it to disk by the
9753 * time g_settings_set() returns.
9754 * This call will block until all of the writes have made it to the
9755 * backend. Since the mainloop is not running, no change notifications
9756 * will be dispatched during this call (but some may be queued by the
9757 * time the call is done).
9764 * A #GSocketConnectable for resolving a hostname and connecting to
9770 * G_VARIANT_TYPE_INT64:
9772 * The type of an integer value that can range from
9773 * -9223372036854775808 to 9223372036854775807.
9778 * g_socket_address_enumerator_next_async:
9779 * @enumerator: a #GSocketAddressEnumerator
9780 * @cancellable: optional #GCancellable object, %NULL to ignore.
9781 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
9782 * @user_data: the data to pass to callback function
9784 * Asynchronously retrieves the next #GSocketAddress from @enumerator
9785 * and then calls @callback, which must call
9786 * g_socket_address_enumerator_next_finish() to get the result.
9791 * g_settings_get_strv:
9792 * @settings: a #GSettings object
9793 * @key: the key to get the value for
9794 * @returns: (array zero-terminated=1) (transfer full): the value that is
9796 * A convenience variant of g_settings_get() for string arrays.
9797 * It is a programmer error to give a @key that isn't specified as
9798 * having an array of strings type in the schema for @settings.
9799 * stored at @key in @settings.
9806 * g_unix_output_stream_set_close_fd:
9807 * @stream: a #GUnixOutputStream
9808 * @close_fd: %TRUE to close the file descriptor when done
9810 * Sets whether the file descriptor of @stream shall be closed
9811 * when the stream is closed.
9818 * g_tls_certificate_new_from_pem:
9819 * @data: PEM-encoded certificate data
9820 * @length: the length of @data, or -1 if it's 0-terminated.
9821 * @error: #GError for error reporting, or %NULL to ignore.
9823 * Creates a new #GTlsCertificate from the PEM-encoded data in @data.
9824 * If @data includes both a certificate and a private key, then the
9825 * returned certificate will include the private key data as well.
9826 * If @data includes multiple certificates, only the first one will be
9829 * Returns: the new certificate, or %NULL if @data is invalid
9835 * g_dbus_message_set_interface:
9836 * @message: A #GDBusMessage.
9837 * @value: The value to set.
9839 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
9846 * g_charset_converter_new:
9847 * @to_charset: destination charset
9848 * @from_charset: source charset
9849 * @error: #GError for error reporting, or %NULL to ignore.
9851 * Creates a new #GCharsetConverter.
9853 * Returns: a new #GCharsetConverter or %NULL on error.
9860 * @parent_instance: private #GParamSpec portion
9861 * @minimum: minimum value for the property specified
9862 * @maximum: maximum value for the property specified
9863 * @default_value: default value for the property specified
9865 * A #GParamSpec derived structure that contains the meta data for unsigned integer properties.
9870 * g_simple_async_result_set_op_res_gboolean:
9871 * @simple: a #GSimpleAsyncResult.
9872 * @op_res: a #gboolean.
9874 * Sets the operation result to a boolean within the asynchronous result.
9879 * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL:
9881 * A key in the "standard" namespace for checking if a file is virtual.
9882 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9887 * g_unix_fd_list_get:
9888 * @list: a #GUnixFDList
9889 * @index_: the index into the list
9890 * @error: a #GError pointer
9892 * Gets a file descriptor out of @list.
9893 * programmer error for @index_ to be out of range; see
9894 * g_unix_fd_list_get_length().
9895 * The file descriptor is duplicated using dup() and set as
9896 * close-on-exec before being returned. You must call close() on it
9897 * when you are done.
9898 * A possible cause of failure is exceeding the per-process or
9899 * system-wide file descriptor limit.
9901 * Returns: the file descriptor, or -1 in case of error
9907 * G_TYPE_DBUS_PROPERTY_INFO:
9909 * The #GType for a boxed type holding a #GDBusPropertyInfo.
9918 * The #GType for #GDate.
9924 * @G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin
9925 * @G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information
9926 * @G_EMBLEM_ORIGIN_LIVEMETADATA: Emblem depicts live metadata, such as "readonly"
9927 * @G_EMBLEM_ORIGIN_TAG: Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)
9929 * GEmblemOrigin is used to add information about the origin of the emblem
9937 * GAppLaunchContext:
9939 * Integrating the launch with the launching application. This is used to
9940 * handle for instance startup notification and launching the new application
9941 * on the same screen as the launching window.
9946 * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED:
9948 * A key in the "thumbnail" namespace for checking if thumbnailing failed.
9949 * This attribute is %TRUE if thumbnailing failed. Corresponding
9950 * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9955 * G_FILE_ATTRIBUTE_ETAG_VALUE:
9957 * A key in the "etag" namespace for getting the value of the file's
9958 * entity tag. Corresponding #GFileAttributeType is
9959 * %G_FILE_ATTRIBUTE_TYPE_STRING.
9964 * GFilesystemPreviewType:
9965 * @G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it.
9966 * @G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of "local" files.
9967 * @G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files.
9969 * Indicates a hint from the file system whether files should be
9970 * previewed in a file manager. Returned as the value of the key
9971 * #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
9976 * g_simple_action_new:
9977 * @name: the name of the action
9978 * @parameter_type: (allow-none): the type of parameter to the activate function
9980 * Creates a new action.
9981 * The created action is stateless. See g_simple_action_new_stateful().
9983 * Returns: a new #GSimpleAction
9989 * g_inet_address_get_is_link_local:
9990 * @address: a #GInetAddress
9992 * Tests whether @address is a link-local address (that is, if it
9993 * identifies a host on a local network that is not connected to the
9996 * Returns: %TRUE if @address is a link-local address.
10002 * g_signal_connect_after:
10003 * @instance: the instance to connect to.
10004 * @detailed_signal: a string of the form "signal-name::detail".
10005 * @c_handler: the #GCallback to connect.
10006 * @data: data to pass to @c_handler calls.
10008 * Connects a #GCallback function to a signal for a particular object.
10009 * The handler will be called after the default handler of the signal.
10011 * Returns: the handler id
10016 * g_drive_has_media:
10017 * @drive: a #GDrive.
10019 * Checks if the @drive has media. Note that the OS may not be polling
10020 * the drive for media changes; see g_drive_is_media_check_automatic()
10021 * for more details.
10023 * Returns: %TRUE if @drive has media, %FALSE otherwise.
10028 * g_simple_async_result_set_op_res_gssize:
10029 * @simple: a #GSimpleAsyncResult.
10030 * @op_res: a #gssize.
10032 * Sets the operation result within the asynchronous result to
10033 * the given @op_res.
10038 * g_loadable_icon_load_finish:
10039 * @icon: a #GLoadableIcon.
10040 * @res: a #GAsyncResult.
10041 * @type: a location to store the type of the loaded icon, %NULL to ignore.
10042 * @error: a #GError location to store the error occuring, or %NULL to ignore.
10044 * Finishes an asynchronous icon load started in g_loadable_icon_load_async().
10046 * Returns: (transfer full): a #GInputStream to read the icon from.
10052 * @long_name: The long name of an option can be used to specify it in a commandline as --<replaceable>long_name</replaceable>. Every option must have a long name. To resolve conflicts if multiple option groups contain the same long name, it is also possible to specify the option as --<replaceable>groupname</replaceable>-<replaceable>long_name</replaceable>.
10053 * @short_name: If an option has a short name, it can be specified -<replaceable>short_name</replaceable> in a commandline. @short_name must be a printable ASCII character different from '-', or zero if the option has no short name.
10054 * @flags: Flags from #GOptionFlags.
10055 * @arg: The type of the option, as a #GOptionArg.
10056 * @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data must point to a #GOptionArgFunc callback function, which will be called to handle the extra argument. Otherwise, @arg_data is a pointer to a location to store the value, the required type of the location depends on the @arg type: <variablelist> <varlistentry> <term>%G_OPTION_ARG_NONE</term> <listitem><para>%gboolean</para></listitem> </varlistentry> <varlistentry> <term>%G_OPTION_ARG_STRING</term> <listitem><para>%gchar*</para></listitem> </varlistentry> <varlistentry> <term>%G_OPTION_ARG_INT</term> <listitem><para>%gint</para></listitem> </varlistentry> <varlistentry> <term>%G_OPTION_ARG_FILENAME</term> <listitem><para>%gchar*</para></listitem> </varlistentry> <varlistentry> <term>%G_OPTION_ARG_STRING_ARRAY</term> <listitem><para>%gchar**</para></listitem> </varlistentry> <varlistentry> <term>%G_OPTION_ARG_FILENAME_ARRAY</term> <listitem><para>%gchar**</para></listitem> </varlistentry> <varlistentry> <term>%G_OPTION_ARG_DOUBLE</term> <listitem><para>%gdouble</para></listitem> </varlistentry> </variablelist> If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME the location will contain a newly allocated string if the option was given. That string needs to be freed by the callee using g_free(). Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev().
10057 * @description: the description for the option in <option>--help</option> output. The @description is translated using the @translate_func of the group, see g_option_group_set_translation_domain().
10058 * @arg_description: The placeholder to use for the extra argument parsed by the option in <option>--help</option> output. The @arg_description is translated using the @translate_func of the group, see g_option_group_set_translation_domain().
10060 * A <structname>GOptionEntry</structname> defines a single option.
10061 * To have an effect, they must be added to a #GOptionGroup with
10062 * g_option_context_add_main_entries() or g_option_group_add_entries().
10067 * g_resolver_get_default:
10069 * Gets the default #GResolver. You should unref it when you are done
10070 * with it. #GResolver may use its reference count as a hint about how
10071 * many threads/processes, etc it should allocate for concurrent DNS
10074 * Returns: (transfer full): the default #GResolver.
10080 * g_application_command_line_print:
10081 * @cmdline: a #GApplicationCommandLine
10082 * @format: a printf-style format string
10083 * @...: arguments, as per @format
10085 * Formats a message and prints it using the stdout print handler in the
10086 * invoking process.
10087 * If @cmdline is a local invocation then this is exactly equivalent to
10088 * g_print(). If @cmdline is remote then this is equivalent to calling
10089 * g_print() in the invoking process.
10096 * G_PARAM_SPEC_CHAR:
10097 * @pspec: a valid #GParamSpec instance
10099 * Cast a #GParamSpec instance into a #GParamSpecChar.
10104 * g_file_info_has_attribute:
10105 * @info: a #GFileInfo.
10106 * @attribute: a file attribute key.
10108 * Checks if a file info structure has an attribute named @attribute.
10109 * %FALSE otherwise.
10111 * Returns: %TRUE if @Ginfo has an attribute named @attribute,
10116 * g_drive_get_volumes:
10117 * @drive: a #GDrive.
10119 * Get a list of mountable volumes for @drive.
10120 * The returned list should be freed with g_list_free(), after
10121 * its elements have been unreffed with g_object_unref().
10123 * Returns: (element-type GVolume) (transfer full): #GList containing any #GVolume objects on the given @drive.
10128 * g_dbus_connection_start_message_processing:
10129 * @connection: A #GDBusConnection.
10131 * If @connection was created with
10132 * %G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING, this method
10133 * starts processing messages. Does nothing on if @connection wasn't
10134 * created with this flag or if the method has already been called.
10141 * g_desktop_app_info_set_desktop_env:
10142 * @desktop_env: a string specifying what desktop this is
10144 * Sets the name of the desktop that the application is running in.
10145 * This is used by g_app_info_should_show() to evaluate the
10146 * <literal>OnlyShowIn</literal> and <literal>NotShowIn</literal>
10147 * desktop entry fields.
10148 * The <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Desktop
10149 * Menu specification</ulink> recognizes the following:
10151 * <member>GNOME</member>
10152 * <member>KDE</member>
10153 * <member>ROX</member>
10154 * <member>XFCE</member>
10155 * <member>Old</member>
10157 * Should be called only once; subsequent calls are ignored.
10164 * An opaque structure used to hold different types of values.
10165 * to functions within a #GTypeValueTable structure, or implementations of
10166 * the g_value_*() API. That is, code portions which implement new fundamental
10168 * #GValue users can not make any assumptions about how data is stored
10169 * within the 2 element @data union, and the @g_type member should
10170 * only be accessed through the G_VALUE_TYPE() macro.
10172 * The data within the structure has protected scope: it is accessible only
10177 * GFileCreateFlags:
10178 * @G_FILE_CREATE_NONE: No flags set.
10179 * @G_FILE_CREATE_PRIVATE: Create a file that can only be accessed by the current user.
10180 * @G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination as if it didn't exist before. Don't try to keep any old permissions, replace instead of following links. This is generally useful if you're doing a "copy over" rather than a "save new version of" replace operation. You can think of it as "unlink destination" before writing to it, although the implementation may not be exactly like that. Since 2.20
10182 * Flags used when an operation may create a file.
10187 * g_cancellable_new:
10189 * Creates a new #GCancellable object.
10190 * Applications that want to start one or more operations
10191 * that should be cancellable should create a #GCancellable
10192 * and pass it to the operations.
10193 * One #GCancellable can be used in multiple consecutive
10194 * operations, but not in multiple concurrent operations.
10196 * Returns: a #GCancellable.
10201 * G_TYPE_PARAM_ENUM:
10203 * The #GType of #GParamSpecEnum.
10208 * g_io_extension_get_priority:
10209 * @extension: a #GIOExtension
10211 * Gets the priority with which @extension was registered.
10213 * Returns: the priority of @extension
10218 * g_file_new_for_commandline_arg:
10219 * @arg: a command line string.
10221 * Creates a #GFile with the given argument from the command line. The value of
10222 * relative to the current working directory.
10223 * This operation never fails, but the returned object might not support any
10224 * I/O operation if @arg points to a malformed path.
10226 * Returns: (transfer full): a new #GFile.
10231 * g_app_info_get_display_name:
10232 * @appinfo: a #GAppInfo.
10234 * Gets the display name of the application. The display name is often more
10235 * descriptive to the user than the name itself.
10236 * no display name is available.
10238 * Returns: the display name of the application for @appinfo, or the name if
10244 * GApplication::activate:
10245 * @application: the application
10247 * The ::activate signal is emitted on the primary instance when an
10248 * activation occurs. See g_application_activate().
10253 * g_proxy_connect_finish:
10254 * @proxy: a #GProxy
10255 * @result: a #GAsyncRetult
10256 * @error: return #GError
10258 * See g_proxy_connect().
10260 * Returns: (transfer full): a #GIOStream.
10266 * g_dbus_node_info_new_for_xml:
10267 * @xml_data: Valid D-Bus introspection XML.
10268 * @error: Return location for error.
10270 * Parses @xml_data and returns a #GDBusNodeInfo representing the data.
10271 * with g_dbus_node_info_unref().
10273 * Returns: A #GDBusNodeInfo structure or %NULL if @error is set. Free
10279 * g_mount_get_icon:
10280 * @mount: a #GMount.
10282 * Gets the icon for @mount.
10283 * The returned object should be unreffed with
10284 * g_object_unref() when no longer needed.
10286 * Returns: (transfer full): a #GIcon.
10291 * g_mount_operation_reply:
10292 * @op: a #GMountOperation
10293 * @result: a #GMountOperationResult
10295 * Emits the #GMountOperation::reply signal.
10300 * g_dbus_property_info_ref:
10301 * @info: A #GDBusPropertyInfo
10303 * If @info is statically allocated does nothing. Otherwise increases
10304 * the reference count.
10306 * Returns: The same @info.
10313 * @g_properties_changed: Signal class handler for the #GDBusProxy::g-properties-changed signal.
10314 * @g_signal: Signal class handler for the #GDBusProxy::g-signal signal.
10316 * Class structure for #GDBusProxy.
10323 * g_themed_icon_new_with_default_fallbacks:
10324 * @iconname: a string containing an icon name
10326 * Creates a new themed icon for @iconname, and all the names
10327 * that can be created by shortening @iconname at '-' characters.
10328 * In the following example, @icon1 and @icon2 are equivalent:
10330 * const char *names[] = {
10331 * "gnome-dev-cdrom-audio",
10332 * "gnome-dev-cdrom",
10336 * icon1 = g_themed_icon_new_from_names (names, 4);
10337 * icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio");
10340 * Returns: (transfer full): a new #GThemedIcon.
10345 * GDataOutputStream:
10347 * An implementation of #GBufferedOutputStream that allows for high-level
10348 * data manipulation of arbitrary data (including binary operations).
10353 * g_action_group_has_action:
10354 * @action_group: a #GActionGroup
10355 * @action_name: the name of the action to check for
10357 * Checks if the named action exists within @action_group.
10359 * Returns: whether the named action exists
10365 * g_buffered_input_stream_fill_async:
10366 * @stream: a #GBufferedInputStream
10367 * @count: the number of bytes that will be read from the stream
10368 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request
10369 * @cancellable: (allow-none): optional #GCancellable object
10370 * @callback: (scope async): a #GAsyncReadyCallback
10371 * @user_data: (closure): a #gpointer
10373 * Reads data into @stream's buffer asynchronously, up to @count size.
10374 * version of this function, see g_buffered_input_stream_fill().
10375 * If @count is -1 then the attempted read size is equal to the number
10376 * of bytes that are required to fill the buffer.
10381 * g_inet_address_get_is_mc_node_local:
10382 * @address: a #GInetAddress
10384 * Tests whether @address is a node-local multicast address.
10386 * Returns: %TRUE if @address is a node-local multicast address.
10393 * @short_description: Volume management
10394 * @include: gio/gio.h
10396 * The #GVolume interface represents user-visible objects that can be
10397 * mounted. Note, when porting from GnomeVFS, #GVolume is the moral
10398 * equivalent of #GnomeVFSDrive.
10399 * Mounting a #GVolume instance is an asynchronous operation. For more
10400 * information about asynchronous operations, see #GAsyncReady and
10401 * #GSimpleAsyncReady. To mount a #GVolume, first call
10402 * g_volume_mount() with (at least) the #GVolume instance, optionally
10403 * a #GMountOperation object and a #GAsyncReadyCallback.
10404 * Typically, one will only want to pass %NULL for the
10405 * #GMountOperation if automounting all volumes when a desktop session
10406 * starts since it's not desirable to put up a lot of dialogs asking
10408 * The callback will be fired when the operation has resolved (either
10409 * with success or failure), and a #GAsyncReady structure will be
10410 * passed to the callback. That callback should then call
10411 * g_volume_mount_finish() with the #GVolume instance and the
10412 * #GAsyncReady data to see if the operation was completed
10413 * successfully. If an @error is present when g_volume_mount_finish()
10414 * is called, then it will be filled with any error information.
10415 * <para id="volume-identifier">
10416 * It is sometimes necessary to directly access the underlying
10417 * operating system object behind a volume (e.g. for passing a volume
10418 * to an application via the commandline). For this purpose, GIO
10419 * allows to obtain an 'identifier' for the volume. There can be
10420 * different kinds of identifiers, such as Hal UDIs, filesystem labels,
10421 * traditional Unix devices (e.g. <filename>/dev/sda2</filename>),
10422 * uuids. GIO uses predefind strings as names for the different kinds
10423 * #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. Use g_volume_get_identifier()
10424 * to obtain an identifier for a volume.
10426 * Note that #G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available
10427 * when the gvfs hal volume monitor is in use. Other volume monitors
10428 * will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE
10429 * identifier, which can be used to obtain a hal device by means of
10430 * libhal_manger_find_device_string_match().
10432 * Of identifiers: #G_VOLUME_IDENTIFIER_KIND_HAL_UDI,
10439 * Generic type for all kinds of icons that can be loaded
10445 * GBufferedInputStream:
10447 * Implements #GFilterInputStream with a sized input buffer.
10452 * g_output_stream_write_async:
10453 * @stream: A #GOutputStream.
10454 * @buffer: (array length=count) (element-type guint8): the buffer containing the data to write.
10455 * @count: the number of bytes to write
10456 * @io_priority: the io priority of the request.
10457 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
10458 * @callback: (scope async): callback to call when the request is satisfied
10459 * @user_data: (closure): the data to pass to callback function
10461 * Request an asynchronous write of @count bytes from @buffer into
10462 * the stream. When the operation is finished @callback will be called.
10463 * You can then call g_output_stream_write_finish() to get the result of the
10465 * During an async request no other sync and async calls are allowed,
10466 * and will result in %G_IO_ERROR_PENDING errors.
10467 * A value of @count larger than %G_MAXSSIZE will cause a
10468 * %G_IO_ERROR_INVALID_ARGUMENT error.
10469 * On success, the number of bytes written will be passed to the
10470 * requested size, as it can happen e.g. on a partial I/O error,
10471 * but generally we try to write as many bytes as requested.
10472 * You are guaranteed that this method will never fail with
10473 * %G_IO_ERROR_WOULD_BLOCK - if @stream can't accept more data, the
10474 * method will just wait until this changes.
10475 * Any outstanding I/O request with higher priority (lower numerical
10476 * value) will be executed before an outstanding request with lower
10477 * priority. Default priority is %G_PRIORITY_DEFAULT.
10478 * The asyncronous methods have a default fallback that uses threads
10479 * to implement asynchronicity, so they are optional for inheriting
10480 * classes. However, if you override one you must override all.
10481 * For the synchronous, blocking version of this function, see
10482 * g_output_stream_write().
10487 * g_tls_certificate_new_from_file:
10488 * @file: file containing a PEM-encoded certificate to import
10489 * @error: #GError for error reporting, or %NULL to ignore.
10491 * Creates a #GTlsCertificate from the PEM-encoded data in @file. If
10492 * set @error. Otherwise, this behaves like g_tls_certificate_new().
10494 * Returns: the new certificate, or %NULL on error
10500 * g_socket_condition_wait:
10501 * @socket: a #GSocket
10502 * @condition: a #GIOCondition mask to wait for
10503 * @cancellable: a #GCancellable, or %NULL
10504 * @error: a #GError pointer, or %NULL
10506 * Waits for @condition to become true on @socket. When the condition
10507 * is met, %TRUE is returned.
10508 * If @cancellable is cancelled before the condition is met, or if the
10509 * socket has a timeout set and it is reached before the condition is
10510 * met, then %FALSE is returned and @error, if non-%NULL, is set to
10511 * the appropriate value (%G_IO_ERROR_CANCELLED or
10512 * %G_IO_ERROR_TIMED_OUT).
10514 * Returns: %TRUE if the condition was met, %FALSE otherwise
10520 * g_dbus_message_to_gerror:
10521 * @message: A #GDBusMessage.
10522 * @error: The #GError to set.
10524 * If @message is not of type %G_DBUS_MESSAGE_TYPE_ERROR does
10525 * nothing and returns %FALSE.
10526 * Otherwise this method encodes the error in @message as a #GError
10527 * using g_dbus_error_set_dbus_error() using the information in the
10528 * %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of @message as
10529 * well as the first string item in @message's body.
10531 * Returns: %TRUE if @error was set, %FALSE otherwise.
10537 * g_signal_handlers_block_by_func:
10538 * @instance: The instance to block handlers from.
10539 * @func: The C closure callback of the handlers (useless for non-C closures).
10540 * @data: The closure data of the handlers' closures.
10542 * Blocks all handlers on an instance that match @func and @data.
10544 * Returns: The number of handlers that matched.
10549 * g_socket_client_connect_to_service_async:
10550 * @client: a #GSocketClient
10551 * @domain: a domain name
10552 * @service: the name of the service to connect to
10553 * @cancellable: a #GCancellable, or %NULL
10554 * @callback: a #GAsyncReadyCallback
10555 * @user_data: user data for the callback
10557 * This is the asynchronous version of
10558 * g_socket_client_connect_to_service().
10565 * g_mount_operation_get_domain:
10566 * @op: a #GMountOperation.
10568 * Gets the domain of the mount operation.
10570 * Returns: a string set to the domain.
10575 * g_file_info_get_display_name:
10576 * @info: a #GFileInfo.
10578 * Gets a display name for a file.
10580 * Returns: a string containing the display name.
10585 * g_dbus_server_get_client_address:
10586 * @server: A #GDBusServer.
10588 * Gets a D-Bus address string that can be used by clients to connect
10592 * Returns: A D-Bus address string. Do not free, the string is owned
10598 * g_socket_client_connect_to_service:
10599 * @client: a #GSocketConnection
10600 * @domain: a domain name
10601 * @service: the name of the service to connect to
10602 * @cancellable: a #GCancellable, or %NULL
10603 * @error: a pointer to a #GError, or %NULL
10604 * @returns: (transfer full): a #GSocketConnection if successful, or %NULL on error
10606 * Attempts to create a TCP connection to a service.
10607 * This call looks up the SRV record for @service at @domain for the
10608 * "tcp" protocol. It then attempts to connect, in turn, to each of
10609 * the hosts providing the service until either a connection succeeds
10610 * or there are no hosts remaining.
10611 * Upon a successful connection, a new #GSocketConnection is constructed
10612 * and returned. The caller owns this new object and must drop their
10613 * reference to it when finished with it.
10614 * In the event of any failure (DNS error, service not found, no hosts
10615 * connectable) %NULL is returned and @error (if non-%NULL) is set
10621 * g_dbus_connection_register_subtree:
10622 * @connection: A #GDBusConnection.
10623 * @object_path: The object path to register the subtree at.
10624 * @vtable: A #GDBusSubtreeVTable to enumerate, introspect and dispatch nodes in the subtree.
10625 * @flags: Flags used to fine tune the behavior of the subtree.
10626 * @user_data: Data to pass to functions in @vtable.
10627 * @user_data_free_func: Function to call when the subtree is unregistered.
10628 * @error: Return location for error or %NULL.
10630 * Registers a whole subtree of <quote>dynamic</quote> objects.
10631 * The @enumerate and @introspection functions in @vtable are used to
10632 * convey, to remote callers, what nodes exist in the subtree rooted
10634 * When handling remote calls into any node in the subtree, first the
10635 * or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set
10636 * the @introspection function is used to check if the node supports the
10637 * requested method. If so, the @dispatch function is used to determine
10638 * where to dispatch the call. The collected #GDBusInterfaceVTable and
10639 * #gpointer will be used to call into the interface vtable for processing
10641 * All calls into user-provided code will be invoked in the <link
10642 * linkend="g-main-context-push-thread-default">thread-default main
10643 * loop</link> of the thread you are calling this method from.
10644 * If an existing subtree is already registered at @object_path or
10645 * then @error is set to #G_IO_ERROR_EXISTS.
10646 * Note that it is valid to register regular objects (using
10647 * g_dbus_connection_register_object()) in a subtree registered with
10648 * g_dbus_connection_register_subtree() - if so, the subtree handler
10649 * is tried as the last resort. One way to think about a subtree
10650 * handler is to consider it a <quote>fallback handler</quote>
10651 * for object paths not registered via g_dbus_connection_register_object()
10652 * or other bindings.
10653 * Note that @vtable will be copied so you cannot change it after
10655 * See <xref linkend="gdbus-subtree-server"/> for an example of how to use this method.
10656 * that can be used with g_dbus_connection_unregister_subtree() .
10658 * Returns: 0 if @error is set, otherwise a subtree registration id (never 0)
10664 * G_VARIANT_TYPE_INT32:
10666 * The type of an integer value that can range from -2147483648 to
10672 * SECTION:gseekabl:
10673 * @short_description: Stream seeking interface
10674 * @include: gio/gio.h
10675 * @see_also: #GInputStream, #GOutputStream
10677 * #GSeekable is implemented by streams (implementations of
10678 * #GInputStream or #GOutputStream) that support seeking.
10683 * GObjectGetPropertyFunc:
10684 * @object: a #GObject
10685 * @property_id: the numeric id under which the property was registered with g_object_class_install_property().
10686 * @value: a #GValue to return the property value in
10687 * @pspec: the #GParamSpec describing the property
10689 * The type of the @get_property function of #GObjectClass.
10694 * g_mount_get_drive:
10695 * @mount: a #GMount.
10697 * Gets the drive for the @mount.
10698 * This is a convenience method for getting the #GVolume and then
10699 * using that object to get the #GDrive.
10700 * The returned object should be unreffed with
10701 * g_object_unref() when no longer needed.
10703 * Returns: (transfer full): a #GDrive or %NULL if @mount is not associated with a volume or a drive.
10708 * g_file_get_parse_name:
10709 * @file: input #GFile.
10711 * Gets the parse name of the @file.
10712 * A parse name is a UTF-8 string that describes the
10713 * file such that one can get the #GFile back using
10714 * g_file_parse_name().
10715 * This is generally used to show the #GFile as a nice
10716 * full-pathname kind of string in a user interface,
10717 * like in a location entry.
10718 * For local files with names that can safely be converted
10719 * to UTF8 the pathname is used, otherwise the IRI is used
10720 * (a form of URI that allows UTF8 characters unescaped).
10721 * This call does no blocking i/o.
10722 * string should be freed with g_free() when no longer needed.
10724 * Returns: a string containing the #GFile's parse name. The returned
10729 * g_resolver_lookup_by_name_async:
10730 * @resolver: a #GResolver
10731 * @hostname: the hostname to look up the address of
10732 * @cancellable: a #GCancellable, or %NULL
10733 * @callback: callback to call after resolution completes
10734 * @user_data: data for @callback
10736 * Begins asynchronously resolving @hostname to determine its
10737 * associated IP address(es), and eventually calls @callback, which
10738 * must call g_resolver_lookup_by_name_finish() to get the result.
10739 * See g_resolver_lookup_by_name() for more details.
10746 * GBusNameVanishedCallback:
10747 * @connection: The #GDBusConnection the name is being watched on.
10748 * @name: The name being watched.
10749 * @user_data: User data passed to g_bus_watch_name().
10751 * Invoked when the name being watched is known not to have to have a owner.
10758 * SECTION:gfilteroutputstrea:
10759 * @short_description: Filter Output Stream
10760 * @include: gio/gio.h
10762 * Base class for output stream implementations that perform some
10763 * kind of filtering operation on a base stream. Typical examples
10764 * of filtering operations are character set conversion, compression
10765 * and byte order flipping.
10771 * @value: the enum value
10772 * @value_name: the name of the value
10773 * @value_nick: the nickname of the value
10775 * A structure which contains a single enum value, its name, and its
10782 * @file1: the first #GFile.
10783 * @file2: the second #GFile.
10785 * Checks equality of two given #GFile<!-- -->s. Note that two
10786 * #GFile<!-- -->s that differ can still refer to the same
10787 * file on the filesystem due to various forms of filename
10789 * This call does no blocking i/o.
10790 * %FALSE if either is not a #GFile.
10792 * Returns: %TRUE if @file1 and @file2 are equal.
10798 * @G_OPTION_ARG_NONE: No extra argument. This is useful for simple flags.
10799 * @G_OPTION_ARG_STRING: The option takes a string argument.
10800 * @G_OPTION_ARG_INT: The option takes an integer argument.
10801 * @G_OPTION_ARG_CALLBACK: The option provides a callback to parse the extra argument.
10802 * @G_OPTION_ARG_FILENAME: The option takes a filename as argument.
10803 * @G_OPTION_ARG_STRING_ARRAY: The option takes a string argument, multiple uses of the option are collected into an array of strings.
10804 * @G_OPTION_ARG_FILENAME_ARRAY: The option takes a filename as argument, multiple uses of the option are collected into an array of strings.
10805 * @G_OPTION_ARG_DOUBLE: The option takes a double argument. The argument can be formatted either for the user's locale or for the "C" locale. Since 2.12
10806 * @G_OPTION_ARG_INT64: The option takes a 64-bit integer. Like %G_OPTION_ARG_INT but for larger numbers. The number can be in decimal base, or in hexadecimal (when prefixed with <literal>0x</literal>, for example, <literal>0xffffffff</literal>). Since 2.12
10808 * The #GOptionArg enum values determine which type of extra argument the
10809 * options expect to find. If an option expects an extra argument, it
10810 * can be specified in several ways; with a short option:
10811 * <option>-x arg</option>, with a long option: <option>--name arg</option>
10813 * Or combined in a single argument: <option>--name=arg</option>.
10818 * g_file_set_attributes_async:
10819 * @file: input #GFile.
10820 * @info: a #GFileInfo.
10821 * @flags: a #GFileQueryInfoFlags.
10822 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
10823 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
10824 * @callback: (scope async): a #GAsyncReadyCallback.
10825 * @user_data: (closure): a #gpointer.
10827 * Asynchronously sets the attributes of @file with @info.
10828 * For more details, see g_file_set_attributes_from_info() which is
10829 * the synchronous version of this call.
10830 * When the operation is finished, @callback will be called. You can then call
10831 * g_file_set_attributes_finish() to get the result of the operation.
10836 * SECTION:gcharsetconverte:
10837 * @short_description: Convert between charsets
10838 * @include: gio/gio.h
10840 * #GCharsetConverter is an implementation of #GConverter based on
10846 * G_VALUE_HOLDS_INT:
10847 * @value: a valid #GValue structure
10849 * Checks whether the given #GValue can hold values of type %G_TYPE_INT.
10851 * Returns: %TRUE on success.
10856 * g_dbus_method_invocation_get_parameters:
10857 * @invocation: A #GDBusMethodInvocation.
10859 * Gets the parameters of the method invocation.
10861 * Returns: A #GVariant. Do not free, it is owned by @invocation.
10867 * g_output_stream_close_async:
10868 * @stream: A #GOutputStream.
10869 * @io_priority: the io priority of the request.
10870 * @cancellable: (allow-none): optional cancellable object
10871 * @callback: (scope async): callback to call when the request is satisfied
10872 * @user_data: (closure): the data to pass to callback function
10874 * Requests an asynchronous close of the stream, releasing resources
10875 * related to it. When the operation is finished @callback will be
10876 * called. You can then call g_output_stream_close_finish() to get
10877 * the result of the operation.
10878 * For behaviour details see g_output_stream_close().
10879 * The asyncronous methods have a default fallback that uses threads
10880 * to implement asynchronicity, so they are optional for inheriting
10881 * classes. However, if you override one you must override all.
10886 * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT:
10888 * A key in the "unix" namespace for checking if the file represents a
10889 * UNIX mount point. This attribute is %TRUE if the file is a UNIX mount
10890 * point. This attribute is only available for UNIX file systems.
10891 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
10896 * g_dbus_message_to_blob:
10897 * @message: A #GDBusMessage.
10898 * @out_size: Return location for size of generated blob.
10899 * @capabilities: A #GDBusCapabilityFlags describing what protocol features are supported.
10900 * @error: Return location for error.
10902 * Serializes @message to a blob. The byte order returned by
10903 * g_dbus_message_get_byte_order() will be used.
10904 * generated by @message or %NULL if @error is set. Free with g_free().
10906 * Returns: A pointer to a valid binary D-Bus message of @out_size bytes
10912 * SECTION:giostrea:
10913 * @short_description: Base class for implementing read/write streams
10914 * @include: gio/gio.h
10915 * @see_also: #GInputStream, #GOutputStream
10917 * GIOStream represents an object that has both read and write streams.
10918 * Generally the two streams acts as separate input and output streams,
10919 * but they share some common resources and state. For instance, for
10920 * seekable streams they may use the same position in both streams.
10921 * Examples of #GIOStream objects are #GSocketConnection which represents
10922 * a two-way network connection, and #GFileIOStream which represent a
10923 * file handle opened in read-write mode.
10924 * To do the actual reading and writing you need to get the substreams
10925 * with g_io_stream_get_input_stream() and g_io_stream_get_output_stream().
10926 * The #GIOStream object owns the input and the output streams, not the other
10927 * way around, so keeping the substreams alive will not keep the #GIOStream
10928 * object alive. If the #GIOStream object is freed it will be closed, thus
10929 * closing the substream, so even if the substreams stay alive they will
10930 * always just return a %G_IO_ERROR_CLOSED for all operations.
10931 * To close a stream use g_io_stream_close() which will close the common
10932 * stream object and also the individual substreams. You can also close
10933 * the substreams themselves. In most cases this only marks the
10934 * substream as closed, so further I/O on it fails. However, some streams
10935 * may support "half-closed" states where one direction of the stream
10936 * is actually shut down.
10943 * g_socket_client_get_local_address:
10944 * @client: a #GSocketClient.
10946 * Gets the local address of the socket client.
10947 * See g_socket_client_set_local_address() for details.
10949 * Returns: (transfer none): a #GSocketAddres or %NULL. don't free
10955 * g_data_input_stream_read_uint64:
10956 * @stream: a given #GDataInputStream.
10957 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
10958 * @error: #GError for error reporting.
10960 * Reads an unsigned 64-bit/8-byte value from @stream.
10961 * In order to get the correct byte order for this read operation,
10962 * see g_data_input_stream_get_byte_order().
10963 * If @cancellable is not %NULL, then the operation can be cancelled by
10964 * triggering the cancellable object from another thread. If the operation
10965 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
10966 * an error occurred.
10968 * Returns: an unsigned 64-bit/8-byte read from @stream or %0 if
10974 * @proxy: a #GProxy
10975 * @connection: a #GIOStream
10976 * @proxy_address: a #GProxyAddress
10977 * @cancellable: a #GCancellable
10978 * @error: return #GError
10980 * Given @connection to communicate with a proxy (eg, a
10981 * #GSocketConnection that is connected to the proxy server), this
10982 * does the necessary handshake to connect to @proxy_address, and if
10983 * required, wraps the #GIOStream to handle proxy payload.
10984 * be the same as @connection, in which case a reference
10987 * Returns: (transfer full): a #GIOStream that will replace @connection. This might
10993 * g_content_type_guess:
10994 * @filename: (allow-none): a string, or %NULL
10995 * @data: (allow-none) (array length=data_size): a stream of data, or %NULL
10996 * @data_size: the size of @data
10997 * @result_uncertain: (allow-none) (out): return location for the certainty of the result, or %NULL
10999 * Guesses the content type based on example data. If the function is
11000 * uncertain, @result_uncertain will be set to %TRUE. Either @filename
11001 * or @data may be %NULL, in which case the guess will be based solely
11002 * on the other argument.
11003 * given data. Free with g_free()
11005 * Returns: a string indicating a guessed content type for the
11010 * g_settings_backend_keys_changed:
11011 * @backend: a #GSettingsBackend implementation
11012 * @path: the path containing the changes
11013 * @items: the %NULL-terminated list of changed keys
11014 * @origin_tag: the origin tag
11016 * Signals that a list of keys have possibly changed. Backend
11017 * implementations should call this if keys have possibly changed their
11019 * not containing '//'). Each string in @items must form a valid key
11020 * end with '/' and must not contain '//').
11021 * The meaning of this signal is that any of the key names resulting
11022 * from the contatenation of @path with each item in @items may have
11024 * The same rules for when notifications must occur apply as per
11025 * g_settings_backend_changed(). These two calls can be used
11026 * interchangeably if exactly one item has changed (although in that
11027 * case g_settings_backend_changed() is definitely preferred).
11028 * For efficiency reasons, the implementation should strive for @path to
11029 * keys that were changed) but this is not strictly required.
11031 * Name when @path is prefixed to it (ie: each item must not start or
11032 * Be as long as possible (ie: the longest common prefix of all of the
11038 * GDataStreamNewlineType:
11039 * @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms.
11040 * @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings.
11041 * @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows.
11042 * @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type.
11044 * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
11050 * @buffer: Pointer to a buffer of data to read.
11051 * @size: the size of @buffer.
11053 * Structure used for scatter/gather data output.
11054 * You generally pass in an array of #GOutputVector<!-- -->s
11055 * and the operation will use all the buffers as if they were
11063 * g_file_query_writable_namespaces:
11064 * @file: input #GFile.
11065 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
11066 * @error: a #GError, or %NULL
11068 * Obtain the list of attribute namespaces where new attributes
11069 * can be created by a user. An example of this is extended
11070 * attributes (in the "xattr" namespace).
11071 * If @cancellable is not %NULL, then the operation can be cancelled by
11072 * triggering the cancellable object from another thread. If the operation
11073 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
11074 * When you are done with it, release it with g_file_attribute_info_list_unref()
11076 * Returns: a #GFileAttributeInfoList describing the writable namespaces.
11081 * g_file_eject_mountable_with_operation:
11082 * @file: input #GFile.
11083 * @flags: flags affecting the operation
11084 * @mount_operation: a #GMountOperation, or %NULL to avoid user interaction.
11085 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
11086 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
11087 * @user_data: (closure): the data to pass to callback function
11089 * Starts an asynchronous eject on a mountable.
11090 * When this operation has completed, @callback will be called with
11091 * g_file_eject_mountable_with_operation_finish().
11092 * If @cancellable is not %NULL, then the operation can be cancelled by
11093 * triggering the cancellable object from another thread. If the operation
11094 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
11101 * G_TYPE_PTR_ARRAY:
11103 * The #GType for a boxed type holding a #GPtrArray reference.
11110 * g_dbus_message_new_method_error_valist:
11111 * @method_call_message: A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to create a reply message to.
11112 * @error_name: A valid D-Bus error name.
11113 * @error_message_format: The D-Bus error message in a printf() format.
11114 * @var_args: Arguments for @error_message_format.
11116 * Like g_dbus_message_new_method_error() but intended for language bindings.
11118 * Returns: (transfer full): A #GDBusMessage. Free with g_object_unref().
11124 * g_socket_set_listen_backlog:
11125 * @socket: a #GSocket.
11126 * @backlog: the maximum number of pending connections.
11128 * Sets the maximum number of outstanding connections allowed
11129 * when listening on this socket. If more clients than this are
11130 * connecting to the socket and the application is not handling them
11131 * on time then the new connections will be refused.
11132 * Note that this must be called before g_socket_listen() and has no
11133 * effect if called after that.
11140 * G_IS_PARAM_SPEC_POINTER:
11141 * @pspec: a valid #GParamSpec instance
11143 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER.
11145 * Returns: %TRUE on success.
11150 * GUnixCredentialsMessageClass:
11152 * Class structure for #GUnixCredentialsMessage.
11159 * g_proxy_resolver_get_default:
11161 * Gets the default #GProxyResolver for the system.
11163 * Returns: (transfer none): the default #GProxyResolver.
11169 * g_settings_delay:
11170 * @settings: a #GSettings object
11172 * Changes the #GSettings object into 'delay-apply' mode. In this
11173 * mode, changes to @settings are not immediately propagated to the
11174 * backend, but kept locally until g_settings_apply() is called.
11181 * GMemoryOutputStream:destroy-function:
11183 * Function called with the buffer as argument when the stream is destroyed.
11190 * GFileInputStream:
11192 * A subclass of GInputStream for opened files. This adds
11193 * a few file-specific operations and seeking.
11194 * #GFileInputStream implements #GSeekable.
11199 * SECTION:gwin32outputstrea:
11200 * @short_description: Streaming output operations for Windows file handles
11201 * @include: gio/gwin32outputstream.h
11202 * @see_also: #GOutputStream
11204 * #GWin32OutputStream implements #GOutputStream for writing to a
11205 * Windows file handle.
11206 * Note that <filename><gio/gwin32outputstream.h></filename> belongs
11207 * to the Windows-specific GIO interfaces, thus you have to use the
11208 * <filename>gio-windows-2.0.pc</filename> pkg-config file when using it.
11213 * g_file_monitor_is_cancelled:
11214 * @monitor: a #GFileMonitor
11216 * Returns whether the monitor is canceled.
11218 * Returns: %TRUE if monitor is canceled. %FALSE otherwise.
11223 * G_PARAM_SPEC_CLASS:
11224 * @pclass: a valid #GParamSpecClass
11226 * Casts a derived #GParamSpecClass structure into a #GParamSpecClass structure.
11231 * g_file_set_attributes_from_info:
11232 * @file: input #GFile.
11233 * @info: a #GFileInfo.
11234 * @flags: #GFileQueryInfoFlags
11235 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
11236 * @error: a #GError, or %NULL
11238 * Tries to set all attributes in the #GFileInfo on the target values,
11239 * not stopping on the first error.
11240 * If there is any error during this operation then @error will be set to
11241 * the first error. Error on particular fields are flagged by setting
11242 * the "status" field in the attribute value to
11243 * %G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, which means you can also detect
11245 * If @cancellable is not %NULL, then the operation can be cancelled by
11246 * triggering the cancellable object from another thread. If the operation
11247 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
11249 * Returns: %TRUE if there was any error, %FALSE otherwise.
11254 * G_TYPE_IS_ABSTRACT:
11255 * @type: A #GType value.
11257 * Checks if @type is an abstract type. An abstract type can not be
11258 * instantiated and is normally used as an abstract base class for
11261 * Returns: %TRUE on success.
11266 * g_settings_is_writable:
11267 * @settings: a #GSettings object
11268 * @name: the name of a key
11269 * @returns: %TRUE if the key @name is writable
11271 * Finds out if a key can be written or not
11280 * The type used for callback functions in structure definitions and function
11281 * signatures. This doesn't mean that all callback functions must take no
11282 * parameters and return void. The required signature of a callback function
11283 * is determined by the context in which is used (e.g. the signal to which it
11284 * is connected). Use G_CALLBACK() to cast the callback function to a #GCallback.
11289 * g_file_create_async:
11290 * @file: input #GFile.
11291 * @flags: a set of #GFileCreateFlags.
11292 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
11293 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
11294 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
11295 * @user_data: (closure): the data to pass to callback function
11297 * Asynchronously creates a new file and returns an output stream for writing to it.
11298 * The file must not already exist.
11299 * For more details, see g_file_create() which is
11300 * the synchronous version of this call.
11301 * When the operation is finished, @callback will be called. You can then call
11302 * g_file_create_finish() to get the result of the operation.
11307 * g_output_stream_splice_finish:
11308 * @stream: a #GOutputStream.
11309 * @result: a #GAsyncResult.
11310 * @error: a #GError location to store the error occuring, or %NULL to ignore.
11312 * Finishes an asynchronous stream splice operation.
11314 * Returns: a #gssize of the number of bytes spliced.
11319 * g_socket_shutdown:
11320 * @socket: a #GSocket
11321 * @shutdown_read: whether to shut down the read side
11322 * @shutdown_write: whether to shut down the write side
11323 * @error: #GError for error reporting, or %NULL to ignore.
11325 * Shut down part of a full-duplex connection.
11326 * If @shutdown_read is %TRUE then the recieving side of the connection
11327 * is shut down, and further reading is disallowed.
11328 * If @shutdown_write is %TRUE then the sending side of the connection
11329 * is shut down, and further writing is disallowed.
11330 * It is allowed for both @shutdown_read and @shutdown_write to be %TRUE.
11331 * One example where this is used is graceful disconnect for TCP connections
11332 * where you close the sending side, then wait for the other side to close
11333 * the connection, thus ensuring that the other side saw all sent data.
11335 * Returns: %TRUE on success, %FALSE on error
11341 * G_PARAM_SPEC_DOUBLE:
11342 * @pspec: a valid #GParamSpec instance
11344 * Cast a #GParamSpec instance into a #GParamSpecDouble.
11349 * g_file_get_relative_path:
11350 * @parent: input #GFile.
11351 * @descendant: input #GFile.
11353 * Gets the path for @descendant relative to @parent.
11354 * This call does no blocking i/o.
11355 * to @parent, or %NULL if @descendant doesn't have @parent as prefix.
11356 * The returned string should be freed with g_free() when no longer needed.
11358 * Returns: string with the relative path from @descendant
11363 * g_simple_async_result_take_error: (skip)
11364 * @simple: a #GSimpleAsyncResult
11365 * @error: a #GError
11367 * Sets the result from @error, and takes over the caller's ownership
11368 * of @error, so the caller does not need to free it any more.
11376 * @data: data specified when registering the notification callback
11377 * @closure: the #GClosure on which the notification is emitted
11379 * The type used for the various notification callbacks which can be registered
11385 * g_unix_is_mount_path_system_internal:
11386 * @mount_path: a mount path, e.g. <filename>/media/disk</filename> or <filename>/usr</filename>
11388 * Determines if @mount_path is considered an implementation of the
11389 * OS. This is primarily used for hiding mountable and mounted volumes
11390 * that only are used in the OS and has little to no relevance to the
11394 * Returns: %TRUE if @mount_path is considered an implementation detail
11399 * g_emblemed_icon_new:
11401 * @emblem: (allow-none): a #GEmblem, or %NULL
11403 * Creates a new emblemed icon for @icon with the emblem @emblem.
11405 * Returns: (transfer full): a new #GIcon
11411 * G_TYPE_DBUS_ANNOTATION_INFO:
11413 * The #GType for a boxed type holding a #GDBusAnnotationInfo.
11420 * GSignalInvocationHint:
11421 * @signal_id: The signal id of the signal invoking the callback
11422 * @detail: The detail passed on for this emission
11423 * @run_type: The stage the signal emission is currently in, this field will contain one of %G_SIGNAL_RUN_FIRST, %G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP.
11425 * The #GSignalInvocationHint structure is used to pass on additional information
11426 * to callbacks during a signal emission.
11431 * g_tls_connection_get_peer_certificate:
11432 * @conn: a #GTlsConnection
11434 * Gets @conn's peer's certificate after the handshake has completed.
11435 * (It is not set during the emission of
11436 * #GTlsConnection::accept-certificate.)
11438 * Returns: (transfer none): @conn's peer's certificate, or %NULL
11444 * g_file_eject_mountable_finish:
11445 * @file: input #GFile.
11446 * @result: a #GAsyncResult.
11447 * @error: a #GError, or %NULL
11449 * Finishes an asynchronous eject operation started by
11450 * g_file_eject_mountable().
11453 * Returns: %TRUE if the @file was ejected successfully. %FALSE
11454 * Deprecated: 2.22: Use g_file_eject_mountable_with_operation_finish() instead.
11461 * Returns a new #GVfs handle for a local vfs.
11463 * Returns: a new #GVfs handle.
11468 * GDBusServer::new-connection:
11469 * @server: The #GDBusServer emitting the signal.
11470 * @connection: A #GDBusConnection for the new connection.
11472 * Emitted when a new authenticated connection has been made. Use
11473 * g_dbus_connection_get_peer_credentials() to figure out what
11474 * identity (if any), was authenticated.
11475 * If you want to accept the connection, take a reference to the
11476 * connection call g_dbus_connection_close() and give up your
11477 * reference. Note that the other peer may disconnect at any time -
11478 * a typical thing to do when accepting a connection is to listen to
11479 * the #GDBusConnection::closed signal.
11480 * If #GDBusServer:flags contains %G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
11481 * then the signal is emitted in a new thread dedicated to the
11482 * connection. Otherwise the signal is emitted in the <link
11483 * linkend="g-main-context-push-thread-default">thread-default main
11484 * loop</link> of the thread that @server was constructed in.
11485 * You are guaranteed that signal handlers for this signal runs
11486 * before incoming messages on @connection are processed. This means
11487 * that it's suitable to call g_dbus_connection_register_object() or
11488 * similar from the signal handler.
11491 * Returns: %TRUE to claim @connection, %FALSE to let other handlers
11497 * g_tls_backend_get_certificate_type:
11498 * @backend: the #GTlsBackend
11500 * Gets the #GType of @backend's #GTlsCertificate implementation.
11503 * Returns: the #GType of @backend's #GTlsCertificate
11509 * g_action_group_action_added:
11510 * @action_group: a #GActionGroup
11511 * @action_name: the name of an action in the group
11513 * Emits the #GActionGroup::action-added signal on @action_group.
11514 * This function should only be called by #GActionGroup implementations.
11521 * g_output_stream_has_pending:
11522 * @stream: a #GOutputStream.
11524 * Checks if an ouput stream has pending actions.
11526 * Returns: %TRUE if @stream has pending actions.
11531 * GDBusConnection:capabilities:
11533 * Flags from the #GDBusCapabilityFlags enumeration
11534 * representing connection features negotiated with the other peer.
11542 * @data: memory block to reallocate
11543 * @size: size to reallocate @data to
11545 * Changes the size of the memory block pointed to by @data to
11546 * The function should have the same semantics as realloc().
11548 * Returns: a pointer to the reallocated memory
11553 * g_dbus_error_unregister_error:
11554 * @error_domain: A #GQuark for a error domain.
11555 * @error_code: An error code.
11556 * @dbus_error_name: A D-Bus error name.
11558 * Destroys an association previously set up with g_dbus_error_register_error().
11560 * Returns: %TRUE if the association was destroyed, %FALSE if it wasn't found.
11566 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START:
11568 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started.
11569 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
11576 * SECTION:gcancellabl:
11577 * @short_description: Thread-safe Operation Cancellation Stack
11578 * @include: gio/gio.h
11580 * GCancellable is a thread-safe operation cancellation stack used
11581 * throughout GIO to allow for cancellation of synchronous and
11582 * asynchronous operations.
11587 * g_buffered_input_stream_peek:
11588 * @stream: a #GBufferedInputStream
11589 * @buffer: a pointer to an allocated chunk of memory
11590 * @offset: a #gsize
11593 * Peeks in the buffer, copying data of size @count into @buffer,
11594 * offset @offset bytes.
11596 * Returns: a #gsize of the number of bytes peeked, or -1 on error.
11601 * g_file_is_native:
11602 * @file: input #GFile.
11604 * Checks to see if a file is native to the platform.
11605 * A native file s one expressed in the platform-native filename format,
11606 * e.g. "C:\Windows" or "/usr/bin/". This does not mean the file is local,
11607 * as it might be on a locally mounted remote filesystem.
11608 * On some systems non-native files may be available using
11609 * the native filesystem via a userspace filesystem (FUSE), in
11610 * these cases this call will return %FALSE, but g_file_get_path()
11611 * will still return a native path.
11612 * This call does no blocking i/o.
11614 * Returns: %TRUE if file is native.
11619 * g_file_set_attribute_uint64:
11620 * @file: input #GFile.
11621 * @attribute: a string containing the attribute's name.
11622 * @value: a #guint64 containing the attribute's new value.
11623 * @flags: a #GFileQueryInfoFlags.
11624 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
11625 * @error: a #GError, or %NULL
11627 * Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT64 to @value.
11628 * If @attribute is of a different type, this operation will fail.
11629 * If @cancellable is not %NULL, then the operation can be cancelled by
11630 * triggering the cancellable object from another thread. If the operation
11631 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
11632 * in the @file, %FALSE otherwise.
11634 * Returns: %TRUE if the @attribute was successfully set to @value
11639 * g_output_stream_flush_finish:
11640 * @stream: a #GOutputStream.
11641 * @result: a GAsyncResult.
11642 * @error: a #GError location to store the error occuring, or %NULL to ignore.
11644 * Finishes flushing an output stream.
11646 * Returns: %TRUE if flush operation suceeded, %FALSE otherwise.
11651 * g_volume_get_icon:
11652 * @volume: a #GVolume.
11654 * Gets the icon for @volume.
11655 * The returned object should be unreffed with g_object_unref()
11656 * when no longer needed.
11658 * Returns: (transfer full): a #GIcon.
11663 * GMountOperation::aborted:
11665 * Emitted by the backend when e.g. a device becomes unavailable
11666 * while a mount operation is in progress.
11667 * Implementations of GMountOperation should handle this signal
11668 * by dismissing open password dialogs.
11675 * g_charset_converter_get_use_fallback:
11676 * @converter: a #GCharsetConverter
11678 * Gets the #GCharsetConverter:use-fallback property.
11680 * Returns: %TRUE if fallbacks are used by @converter
11686 * g_win32_output_stream_set_close_handle:
11687 * @stream: a #GWin32OutputStream
11688 * @close_handle: %TRUE to close the handle when done
11690 * Sets whether the handle of @stream shall be closed when the stream
11698 * g_converter_convert:
11699 * @converter: a #GConverter.
11700 * @inbuf: the buffer containing the data to convert.
11701 * @inbuf_size: the number of bytes in @inbuf
11702 * @outbuf: a buffer to write converted data in.
11703 * @outbuf_size: the number of bytes in @outbuf, must be at least one
11704 * @flags: a #GConvertFlags controlling the conversion details
11705 * @bytes_read: will be set to the number of bytes read from @inbuf on success
11706 * @bytes_written: will be set to the number of bytes written to @outbuf on success
11707 * @error: location to store the error occuring, or %NULL to ignore
11709 * This is the main operation used when converting data. It is to be called
11710 * multiple times in a loop, and each time it will do some work, i.e.
11711 * producing some output (in @outbuf) or consuming some input (from @inbuf) or
11712 * both. If its not possible to do any work an error is returned.
11713 * Note that a single call may not consume all input (or any input at all).
11714 * Also a call may produce output even if given no input, due to state stored
11715 * in the converter producing output.
11716 * If any data was either produced or consumed, and then an error happens, then
11717 * only the successful conversion is reported and the error is returned on the
11719 * A full conversion loop involves calling this method repeatedly, each time
11720 * giving it new input and space output space. When there is no more input
11721 * data after the data in @inbuf, the flag %G_CONVERTER_INPUT_AT_END must be set.
11722 * The loop will be (unless some error happens) returning %G_CONVERTER_CONVERTED
11723 * each time until all data is consumed and all output is produced, then
11724 * %G_CONVERTER_FINISHED is returned instead. Note, that %G_CONVERTER_FINISHED
11725 * may be returned even if %G_CONVERTER_INPUT_AT_END is not set, for instance
11726 * in a decompression converter where the end of data is detectable from the
11727 * data (and there might even be other data after the end of the compressed data).
11728 * When some data has successfully been converted @bytes_read and is set to
11729 * the number of bytes read from @inbuf, and @bytes_written is set to indicate
11730 * how many bytes was written to @outbuf. If there are more data to output
11731 * or consume (i.e. unless the G_CONVERTER_INPUT_AT_END is specified) then
11732 * G_CONVERTER_CONVERTED is returned, and if no more data is to be output
11733 * then G_CONVERTER_FINISHED is returned.
11734 * On error %G_CONVERTER_ERROR is returned and @error is set accordingly.
11735 * Some errors need special handling:
11736 * %G_IO_ERROR_NO_SPACE is returned if there is not enough space
11737 * to write the resulting converted data, the application should
11738 * call the function again with a larger @outbuf to continue.
11739 * %G_IO_ERROR_PARTIAL_INPUT is returned if there is not enough
11740 * input to fully determine what the conversion should produce,
11741 * and the %G_CONVERTER_INPUT_AT_END flag is not set. This happens for
11742 * example with an incomplete multibyte sequence when converting text,
11743 * or when a regexp matches up to the end of the input (and may match
11744 * further input). It may also happen when @inbuf_size is zero and
11745 * there is no more data to produce.
11746 * When this happens the application should read more input and then
11747 * call the function again. If further input shows that there is no
11748 * more data call the function again with the same data but with
11749 * the %G_CONVERTER_INPUT_AT_END flag set. This may cause the conversion
11750 * to finish as e.g. in the regexp match case (or, to fail again with
11751 * %G_IO_ERROR_PARTIAL_INPUT in e.g. a charset conversion where the
11752 * input is actually partial).
11753 * After g_converter_convert() has returned %G_CONVERTER_FINISHED the
11754 * converter object is in an invalid state where its not allowed
11755 * to call g_converter_convert() anymore. At this time you can only
11756 * free the object or call g_converter_reset() to reset it to the
11758 * If the flag %G_CONVERTER_FLUSH is set then conversion is modified
11759 * to try to write out all internal state to the output. The application
11760 * has to call the function multiple times with the flag set, and when
11761 * the availible input has been consumed and all internal state has
11762 * been produced then %G_CONVERTER_FLUSHED (or %G_CONVERTER_FINISHED if
11763 * really at the end) is returned instead of %G_CONVERTER_CONVERTED.
11764 * This is somewhat similar to what happens at the end of the input stream,
11765 * but done in the middle of the data.
11766 * This has different meanings for different conversions. For instance
11767 * in a compression converter it would mean that we flush all the
11768 * compression state into output such that if you uncompress the
11769 * compressed data you get back all the input data. Doing this may
11770 * make the final file larger due to padding though. Another example
11771 * is a regexp conversion, where if you at the end of the flushed data
11772 * have a match, but there is also a potential longer match. In the
11773 * non-flushed case we would ask for more input, but when flushing we
11774 * treat this as the end of input and do the match.
11775 * Flushing is not always possible (like if a charset converter flushes
11776 * at a partial multibyte sequence). Converters are supposed to try
11777 * to produce as much output as possible and then return an error
11778 * (typically %G_IO_ERROR_PARTIAL_INPUT).
11780 * Returns: a #GConverterResult, %G_CONVERTER_ERROR on error.
11786 * G_INITIALLY_UNOWNED:
11787 * @object: Object which is subject to casting.
11789 * Casts a #GInitiallyUnowned or derived pointer into a (GInitiallyUnowned*)
11790 * pointer. Depending on the current debugging level, this function may invoke
11791 * certain runtime checks to identify invalid casts.
11796 * g_unix_mounts_changed_since:
11797 * @time: guint64 to contain a timestamp.
11799 * Checks if the unix mounts have changed since a given unix time.
11801 * Returns: %TRUE if the mounts have changed since @time.
11808 * The state of the action, or %NULL if the action is stateless.
11815 * g_file_info_get_attribute_int64:
11816 * @info: a #GFileInfo.
11817 * @attribute: a file attribute key.
11819 * Gets a signed 64-bit integer contained within the attribute. If the
11820 * attribute does not contain an signed 64-bit integer, or is invalid,
11821 * 0 will be returned.
11823 * Returns: a signed 64-bit integer from the attribute.
11828 * g_unix_socket_address_get_is_abstract:
11829 * @address: a #GInetSocketAddress
11831 * Tests if @address is abstract.
11833 * Returns: %TRUE if the address is abstract, %FALSE otherwise
11835 * Deprecated: Use g_unix_socket_address_get_address_type()
11840 * g_io_extension_get_name:
11841 * @extension: a #GIOExtension
11843 * Gets the name under which @extension was registered.
11844 * Note that the same type may be registered as extension
11845 * for multiple extension points, under different names.
11847 * Returns: the name of @extension.
11854 * A #GSocketConnection for UNIX domain socket connections.
11861 * g_settings_backend_changed_tree:
11862 * @backend: a #GSettingsBackend implementation
11863 * @tree: a #GTree containing the changes
11864 * @origin_tag: the origin tag
11866 * This call is a convenience wrapper. It gets the list of changes from
11867 * g_settings_backend_changed().
11874 * g_socket_client_connect_to_host:
11875 * @client: a #GSocketClient
11876 * @host_and_port: the name and optionally port of the host to connect to
11877 * @default_port: the default port to connect to
11878 * @cancellable: a #GCancellable, or %NULL
11879 * @error: a pointer to a #GError, or %NULL
11881 * This is a helper function for g_socket_client_connect().
11882 * Attempts to create a TCP connection to the named host.
11883 * address, an IPv4 address, or a domain name (in which case a DNS
11884 * lookup is performed). Quoting with [] is supported for all address
11885 * types. A port override may be specified in the usual way with a
11886 * colon. Ports may be given as decimal numbers or symbolic names (in
11887 * which case an /etc/services lookup is performed).
11888 * If no port override is given in @host_and_port then @default_port will be
11889 * used as the port number to connect to.
11890 * In general, @host_and_port is expected to be provided by the user (allowing
11891 * them to give the hostname, and a port overide if necessary) and
11892 * In the case that an IP address is given, a single connection
11893 * attempt is made. In the case that a name is given, multiple
11894 * connection attempts may be made, in turn and according to the
11895 * number of address records in DNS, until a connection succeeds.
11896 * Upon a successful connection, a new #GSocketConnection is constructed
11897 * and returned. The caller owns this new object and must drop their
11898 * reference to it when finished with it.
11899 * In the event of any failure (DNS error, service not found, no hosts
11900 * connectable) %NULL is returned and @error (if non-%NULL) is set
11903 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
11910 * @title: TLS Overview
11911 * @short_description: TLS (aka SSL) support for GSocketConnection
11912 * @include: gio/gio.h
11914 * #GTlsConnection and related classes provide TLS (Transport Layer
11915 * Security, previously known as SSL, Secure Sockets Layer) support for
11916 * gio-based network streams.
11917 * In the simplest case, for a client connection, you can just set the
11918 * #GSocketClient:tls flag on a #GSocketClient, and then any
11919 * connections created by that client will have TLS negotiated
11920 * automatically, using appropriate default settings, and rejecting
11921 * any invalid or self-signed certificates (unless you change that
11922 * default by setting the #GSocketClient:tls-validation-flags
11923 * property). The returned object will be a #GTcpWrapperConnection,
11924 * which wraps the underlying #GTlsClientConnection.
11925 * For greater control, you can create your own #GTlsClientConnection,
11926 * wrapping a #GSocketConnection (or an arbitrary #GIOStream with
11927 * pollable input and output streams) and then connect to its signals,
11928 * such as #GTlsConnection::accept-certificate, before starting the
11930 * Server-side TLS is similar, using #GTlsServerConnection. At the
11931 * moment, there is no support for automatically wrapping server-side
11932 * connections in the way #GSocketClient does for client-side
11938 * GDBusSubtreeEnumerateFunc:
11939 * @connection: A #GDBusConnection.
11940 * @sender: The unique bus name of the remote caller.
11941 * @object_path: The object path that was registered with g_dbus_connection_register_subtree().
11942 * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
11944 * The type of the @enumerate function in #GDBusSubtreeVTable.
11945 * This function is called when generating introspection data and also
11946 * when preparing to dispatch incoming messages in the event that the
11947 * %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not
11948 * Hierarchies are not supported; the items that you return should not
11949 * contain the '/' character.
11950 * The return value will be freed with g_strfreev().
11952 * Specified (ie: to verify that the object path is valid).
11953 * Returns: A newly allocated array of strings for node names that are children of @object_path.
11959 * g_srv_target_new:
11960 * @hostname: the host that the service is running on
11961 * @port: the port that the service is running on
11962 * @priority: the target's priority
11963 * @weight: the target's weight
11965 * Creates a new #GSrvTarget with the given parameters.
11966 * You should not need to use this; normally #GSrvTarget<!-- -->s are
11967 * created by #GResolver.
11969 * Returns: a new #GSrvTarget.
11975 * g_simple_async_report_error_in_idle: (skip)
11976 * @object: (allow-none): a #GObject, or %NULL.
11977 * @callback: a #GAsyncReadyCallback.
11978 * @user_data: user data passed to @callback.
11979 * @domain: a #GQuark containing the error domain (usually #G_IO_ERROR).
11980 * @code: a specific error code.
11981 * @format: a formatted error reporting string.
11982 * @...: a list of variables to fill in @format.
11984 * Reports an error in an asynchronous function in an idle function by
11985 * directly setting the contents of the #GAsyncResult with the given error
11991 * G_ENUM_CLASS_TYPE:
11992 * @class: a #GEnumClass
11994 * Get the type identifier from a given #GEnumClass structure.
11996 * Returns: the #GType
12003 * The fundamental type corresponding to #gfloat.
12008 * g_async_initable_newv_async:
12009 * @object_type: a #GType supporting #GAsyncInitable.
12010 * @n_parameters: the number of parameters in @parameters
12011 * @parameters: the parameters to use to construct the object
12012 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the operation.
12013 * @cancellable: optional #GCancellable object, %NULL to ignore.
12014 * @callback: a #GAsyncReadyCallback to call when the initialization is finished
12015 * @user_data: the data to pass to callback function
12017 * Helper function for constructing #GAsyncInitiable object. This is
12018 * similar to g_object_newv() but also initializes the object asynchronously.
12019 * When the initialization is finished, @callback will be called. You can
12020 * then call g_async_initable_new_finish() to get the new object and check
12028 * G_VALUE_HOLDS_UCHAR:
12029 * @value: a valid #GValue structure
12031 * Checks whether the given #GValue can hold values of type %G_TYPE_UCHAR.
12033 * Returns: %TRUE on success.
12038 * SECTION:gbufferedoutputstrea:
12039 * @short_description: Buffered Output Stream
12040 * @include: gio/gio.h
12041 * @see_also: #GFilterOutputStream, #GOutputStream
12043 * Buffered output stream implements #GFilterOutputStream and provides
12044 * for buffered writes.
12045 * By default, #GBufferedOutputStream's buffer size is set at 4 kilobytes.
12046 * To create a buffered output stream, use g_buffered_output_stream_new(),
12047 * or g_buffered_output_stream_new_sized() to specify the buffer's size
12049 * To get the size of a buffer within a buffered input stream, use
12050 * g_buffered_output_stream_get_buffer_size(). To change the size of a
12051 * buffered output stream's buffer, use
12052 * g_buffered_output_stream_set_buffer_size(). Note that the buffer's
12053 * size cannot be reduced below the size of the data within the buffer.
12058 * G_SETTINGS_BACKEND_EXTENSION_POINT_NAME:
12060 * Extension point for #GSettingsBackend functionality.
12065 * g_action_group_change_action_state:
12066 * @action_group: a #GActionGroup
12067 * @action_name: the name of the action to request the change on
12068 * @value: the new state
12070 * Request for the state of the named action within @action_group to be
12071 * changed to @value.
12072 * The action must be stateful and @value must be of the correct type.
12073 * See g_action_group_get_state_type().
12074 * This call merely requests a change. The action may refuse to change
12075 * its state or may change its state to something other than @value.
12076 * See g_action_group_get_state_hint().
12077 * If the @value GVariant is floating, it is consumed.
12084 * GMemoryOutputStream:
12086 * Implements #GOutputStream for arbitrary memory chunks.
12092 * @bus_type: A #GBusType.
12093 * @cancellable: A #GCancellable or %NULL.
12094 * @error: Return location for error or %NULL.
12096 * Synchronously connects to the message bus specified by @bus_type.
12097 * Note that the returned object may shared with other callers,
12098 * e.g. if two separate parts of a process calls this function with
12099 * the same @bus_type, they will share the same object.
12100 * This is a synchronous failable function. See g_bus_get() and
12101 * g_bus_get_finish() for the asynchronous version.
12102 * The returned object is a singleton, that is, shared with other
12103 * callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the
12104 * event that you need a private message bus connection, use
12105 * g_dbus_address_get_for_bus_sync() and
12106 * g_dbus_connection_new_for_address().
12107 * Note that the returned #GDBusConnection object will (usually) have
12108 * the #GDBusConnection:exit-on-close property set to %TRUE.
12110 * Returns: (transfer full): A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
12116 * g_file_unmount_mountable:
12117 * @file: input #GFile.
12118 * @flags: flags affecting the operation
12119 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
12120 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
12121 * @user_data: (closure): the data to pass to callback function
12123 * Unmounts a file of type G_FILE_TYPE_MOUNTABLE.
12124 * If @cancellable is not %NULL, then the operation can be cancelled by
12125 * triggering the cancellable object from another thread. If the operation
12126 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
12127 * When the operation is finished, @callback will be called. You can then call
12128 * g_file_unmount_mountable_finish() to get the result of the operation.
12130 * Deprecated: 2.22: Use g_file_unmount_mountable_with_operation() instead.
12135 * g_network_address_get_port:
12136 * @addr: a #GNetworkAddress
12138 * Gets @addr's port number
12140 * Returns: @addr's port (which may be 0)
12146 * g_dbus_proxy_call:
12147 * @proxy: A #GDBusProxy.
12148 * @method_name: Name of method to invoke.
12149 * @parameters: A #GVariant tuple with parameters for the signal or %NULL if not passing parameters.
12150 * @flags: Flags from the #GDBusCallFlags enumeration.
12151 * @timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout.
12152 * @cancellable: A #GCancellable or %NULL.
12153 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation.
12154 * @user_data: The data to pass to @callback.
12156 * Asynchronously invokes the @method_name method on @proxy.
12157 * If @method_name contains any dots, then @name is split into interface and
12158 * method name parts. This allows using @proxy for invoking methods on
12159 * other interfaces.
12160 * If the #GDBusConnection associated with @proxy is closed then
12161 * the operation will fail with %G_IO_ERROR_CLOSED. If
12162 * %G_IO_ERROR_CANCELLED. If @parameters contains a value not
12163 * compatible with the D-Bus protocol, the operation fails with
12164 * %G_IO_ERROR_INVALID_ARGUMENT.
12165 * If the @parameters #GVariant is floating, it is consumed. This allows
12166 * convenient 'inline' use of g_variant_new(), e.g.:
12168 * g_dbus_proxy_call (proxy,
12170 * g_variant_new ("(ss)",
12173 * G_DBUS_CALL_FLAGS_NONE,
12176 * (GAsyncReadyCallback) two_strings_done,
12179 * This is an asynchronous method. When the operation is finished,
12180 * <link linkend="g-main-context-push-thread-default">thread-default
12181 * main loop</link> of the thread you are calling this method from.
12182 * You can then call g_dbus_proxy_call_finish() to get the result of
12183 * the operation. See g_dbus_proxy_call_sync() for the synchronous
12184 * version of this method.
12193 * The fundamental type for #GObject.
12198 * GApplication::open:
12199 * @application: the application
12200 * @files: (array length=n_files) (element-type GFile): an array of #GFiles
12201 * @n_files: the length of @files
12202 * @hint: a hint provided by the calling instance
12204 * The ::open signal is emitted on the primary instance when there are
12205 * files to open. See g_application_open() for more information.
12210 * g_tcp_wrapper_connection_new:
12211 * @base_io_stream: the #GIOStream to wrap
12212 * @socket: the #GSocket associated with @base_io_stream
12214 * Wraps @base_io_stream and @socket together as a #GSocketConnection.
12216 * Returns: the new #GSocketConnection.
12222 * g_dbus_proxy_new_finish:
12223 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new().
12224 * @error: Return location for error or %NULL.
12226 * Finishes creating a #GDBusProxy.
12228 * Returns: A #GDBusProxy or %NULL if @error is set. Free with g_object_unref().
12234 * g_socket_client_set_local_address:
12235 * @client: a #GSocketClient.
12236 * @address: a #GSocketAddress, or %NULL
12238 * Sets the local address of the socket client.
12239 * The sockets created by this object will bound to the
12240 * specified address (if not %NULL) before connecting.
12241 * This is useful if you want to ensure the the local
12242 * side of the connection is on a specific port, or on
12243 * a specific interface.
12250 * g_input_stream_has_pending:
12251 * @stream: input stream.
12253 * Checks if an input stream has pending actions.
12255 * Returns: %TRUE if @stream has pending actions.
12260 * GDBusMessageHeaderField:
12261 * @G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field.
12262 * @G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path.
12263 * @G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name.
12264 * @G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name.
12265 * @G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred.
12266 * @G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to.
12267 * @G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for.
12268 * @G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus).
12269 * @G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body.
12270 * @G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message.
12272 * Header fields used in #GDBusMessage.
12279 * G_PARAM_SPEC_TYPE:
12280 * @pspec: a valid #GParamSpec
12282 * Retrieves the #GType of this @pspec.
12287 * g_dbus_connection_send_message_with_reply:
12288 * @connection: A #GDBusConnection.
12289 * @message: A #GDBusMessage.
12290 * @flags: Flags affecting how the message is sent.
12291 * @timeout_msec: The timeout in milliseconds, -1 to use the default timeout or %G_MAXINT for no timeout.
12292 * @out_serial: Return location for serial number assigned to @message when sending it or %NULL.
12293 * @cancellable: A #GCancellable or %NULL.
12294 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result.
12295 * @user_data: The data to pass to @callback.
12297 * Asynchronously sends @message to the peer represented by @connection.
12298 * Unless @flags contain the
12299 * %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
12300 * will be assigned by @connection and set on @message via
12301 * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
12302 * serial number used will be written to this location prior to
12303 * submitting the message to the underlying transport.
12304 * If @connection is closed then the operation will fail with
12305 * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
12306 * fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed,
12307 * the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
12308 * This is an asynchronous method. When the operation is finished, @callback will be invoked
12309 * in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
12310 * of the thread you are calling this method from. You can then call
12311 * g_dbus_connection_send_message_with_reply_finish() to get the result of the operation.
12312 * See g_dbus_connection_send_message_with_reply_sync() for the synchronous version.
12313 * Note that @message must be unlocked, unless @flags contain the
12314 * %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
12315 * See <xref linkend="gdbus-server"/> and <xref
12316 * linkend="gdbus-unix-fd-client"/> for an example of how to use this
12317 * low-level API to send and receive UNIX file descriptors.
12324 * g_file_info_get_attribute_byte_string:
12325 * @info: a #GFileInfo.
12326 * @attribute: a file attribute key.
12328 * Gets the value of a byte string attribute. If the attribute does
12329 * not contain a byte string, %NULL will be returned.
12332 * Returns: the contents of the @attribute value as a byte string, or
12337 * g_socket_get_credentials:
12338 * @socket: a #GSocket.
12339 * @error: #GError for error reporting, or %NULL to ignore.
12341 * Returns the credentials of the foreign process connected to this
12342 * socket, if any (e.g. it is only supported for %G_SOCKET_FAMILY_UNIX
12344 * If this operation isn't supported on the OS, the method fails with
12345 * the %G_IO_ERROR_NOT_SUPPORTED error. On Linux this is implemented
12346 * by reading the %SO_PEERCRED option on the underlying socket.
12347 * Other ways to obtain credentials from a foreign peer includes the
12348 * #GUnixCredentialsMessage type and
12349 * g_unix_connection_send_credentials() /
12350 * g_unix_connection_receive_credentials() functions.
12351 * that must be freed with g_object_unref().
12353 * Returns: (transfer full): %NULL if @error is set, otherwise a #GCredentials object
12359 * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE:
12361 * A key in the "standard" namespace for getting the amount of disk space
12362 * that is consumed by the file (in bytes). This will generally be larger
12363 * than the file size (due to block size overhead) but can occasionally be
12364 * smaller (for example, for sparse files).
12365 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
12372 * g_node_prepend_data:
12373 * @parent: the #GNode to place the new #GNode under
12374 * @data: the data for the new #GNode
12376 * Inserts a new #GNode as the first child of the given parent.
12378 * Returns: the new #GNode
12383 * GVolumeMonitor::volume-changed:
12384 * @volume_monitor: The volume monitor emitting the signal.
12385 * @volume: a #GVolume that changed.
12387 * Emitted when mountable volume is changed.
12393 * @signal_id: The signal id of the signal being queried, or 0 if the signal to be queried was unknown.
12394 * @signal_name: The signal name.
12395 * @itype: The interface/instance type that this signal can be emitted for.
12396 * @signal_flags: The signal flags as passed in to g_signal_new().
12397 * @return_type: The return type for user callbacks.
12398 * @n_params: The number of parameters that user callbacks take.
12399 * @param_types: The individual parameter types for user callbacks, note that the effective callback signature is: <programlisting> [#param_types param_names,] #gpointer data2); </programlisting>
12401 * A structure holding in-depth information for a specific signal. It is
12402 * filled in by the g_signal_query() function.
12407 * G_DEFINE_ABSTRACT_TYPE:
12408 * @TN: The name of the new type, in Camel case.
12409 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
12410 * @T_P: The #GType of the parent type.
12412 * A convenience macro for type implementations.
12413 * Similar to G_DEFINE_TYPE(), but defines an abstract type.
12414 * See G_DEFINE_TYPE_EXTENDED() for an example.
12421 * g_dbus_proxy_new_for_bus_sync:
12422 * @bus_type: A #GBusType.
12423 * @flags: Flags used when constructing the proxy.
12424 * @info: A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
12425 * @name: A bus name (well-known or unique).
12426 * @object_path: An object path.
12427 * @interface_name: A D-Bus interface name.
12428 * @cancellable: A #GCancellable or %NULL.
12429 * @error: Return location for error or %NULL.
12431 * Like g_dbus_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
12432 * See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used.
12434 * Returns: A #GDBusProxy or %NULL if error is set. Free with g_object_unref().
12440 * GVolume::changed:
12442 * Emitted when the volume has been changed.
12449 * The fundamental type corresponding to #gchar.
12450 * The type designated by G_TYPE_CHAR is unconditionally an 8-bit signed integer.
12451 * This may or may not be the same type a the C type "gchar".
12456 * g_buffered_output_stream_set_auto_grow:
12457 * @stream: a #GBufferedOutputStream.
12458 * @auto_grow: a #gboolean.
12460 * Sets whether or not the @stream's buffer should automatically grow.
12461 * If @auto_grow is true, then each write will just make the buffer
12462 * larger, and you must manually flush the buffer to actually write out
12463 * the data to the underlying stream.
12468 * g_memory_output_stream_get_size:
12469 * @ostream: a #GMemoryOutputStream
12471 * Gets the size of the currently allocated data area (availible from
12472 * g_memory_output_stream_get_data()). If the stream isn't
12473 * growable (no realloc was passed to g_memory_output_stream_new()) then
12474 * this is the maximum size of the stream and further writes
12475 * will return %G_IO_ERROR_NO_SPACE.
12476 * Note that for growable streams the returned size may become invalid on
12477 * the next write or truncate operation on the stream.
12478 * If you want the number of bytes currently written to the stream, use
12479 * g_memory_output_stream_get_data_size().
12481 * Returns: the number of bytes allocated for the data buffer
12486 * GMount::unmounted:
12487 * @mount: the object on which the signal is emitted
12489 * This signal is emitted when the #GMount have been
12490 * unmounted. If the recipient is holding references to the
12491 * object they should release them so the object can be
12498 * @G_BUS_TYPE_STARTER: An alias for the message bus that activated the process, if any.
12499 * @G_BUS_TYPE_NONE: Not a message bus.
12500 * @G_BUS_TYPE_SYSTEM: The system-wide message bus.
12501 * @G_BUS_TYPE_SESSION: The login session message bus.
12503 * An enumeration for well-known message buses.
12510 * GMount::pre-unmount:
12511 * @mount: the object on which the signal is emitted
12513 * This signal is emitted when the #GMount is about to be
12521 * g_dbus_connection_get_guid:
12522 * @connection: A #GDBusConnection.
12524 * The GUID of the peer performing the role of server when
12525 * authenticating. See #GDBusConnection:guid for more details.
12527 * Returns: The GUID. Do not free this string, it is owned by
12533 * g_socket_connection_factory_register_type:
12534 * @g_type: a #GType, inheriting from %G_TYPE_SOCKET_CONNECTION
12535 * @family: a #GSocketFamily
12536 * @type: a #GSocketType
12537 * @protocol: a protocol id
12539 * Looks up the #GType to be used when creating socket connections on
12540 * sockets with the specified @family,@type and @protocol.
12541 * If no type is registered, the #GSocketConnection base type is returned.
12549 * @volume: a #GVolume.
12550 * @flags: flags affecting the operation
12551 * @mount_operation: (allow-none): a #GMountOperation or %NULL to avoid user interaction.
12552 * @cancellable: optional #GCancellable object, %NULL to ignore.
12553 * @callback: a #GAsyncReadyCallback, or %NULL.
12554 * @user_data: user data that gets passed to @callback
12556 * Mounts a volume. This is an asynchronous operation, and is
12557 * finished by calling g_volume_mount_finish() with the @volume
12558 * and #GAsyncResult returned in the @callback.
12560 * Virtual: mount_fn
12565 * g_unix_mount_point_get_device_path:
12566 * @mount_point: a #GUnixMountPoint.
12568 * Gets the device path for a unix mount point.
12570 * Returns: a string containing the device path.
12575 * g_socket_get_family:
12576 * @socket: a #GSocket.
12578 * Gets the socket family of the socket.
12580 * Returns: a #GSocketFamily
12587 * @g_iface: The parent interface.
12588 * @convert: Converts data.
12589 * @reset: Reverts the internal state of the converter to its initial state.
12591 * Provides an interface for converting data from one type
12592 * to another type. The conversion can be stateful
12593 * and may fail at any place.
12600 * G_FILE_ATTRIBUTE_STANDARD_SIZE:
12602 * A key in the "standard" namespace for getting the file's size (in bytes).
12603 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
12608 * g_app_info_get_executable:
12609 * @appinfo: a #GAppInfo
12611 * Gets the executable's name for the installed application.
12614 * Returns: a string containing the @appinfo's application
12619 * GDBusAuthObserver:
12621 * The #GDBusAuthObserver structure contains only private data and
12622 * should only be accessed using the provided API.
12629 * g_settings_get_value:
12630 * @settings: a #GSettings object
12631 * @key: the key to get the value for
12632 * @returns: a new #GVariant
12634 * Gets the value that is stored in @settings for @key.
12635 * It is a programmer error to give a @key that isn't contained in the
12636 * schema for @settings.
12644 * @parent_instance: private #GParamSpec portion
12645 * @flags_class: the #GFlagsClass for the flags
12646 * @default_value: default value for the property specified
12648 * A #GParamSpec derived structure that contains the meta data for flags
12654 * GTlsAuthenticationMode:
12655 * @G_TLS_AUTHENTICATION_NONE: client authentication not required
12656 * @G_TLS_AUTHENTICATION_REQUESTED: client authentication is requested
12657 * @G_TLS_AUTHENTICATION_REQUIRED: client authentication is required
12659 * The client authentication mode for a #GTlsServerConnection.
12666 * g_dbus_connection_close_finish:
12667 * @connection: A #GDBusConnection.
12668 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_close().
12669 * @error: Return location for error or %NULL.
12671 * Finishes an operation started with g_dbus_connection_close().
12673 * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
12679 * G_URI_RESERVED_CHARS_GENERIC_DELIMITERS:
12681 * Generic delimiters characters as defined in RFC 3986. Includes ":/?#[]@".
12686 * g_settings_set_value:
12687 * @settings: a #GSettings object
12688 * @key: the name of the key to set
12689 * @value: a #GVariant of the correct type
12690 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
12692 * Sets @key in @settings to @value.
12693 * It is a programmer error to give a @key that isn't contained in the
12694 * schema for @settings or for @value to have the incorrect type, per
12696 * If @value is floating then this function consumes the reference.
12703 * GRegexMatchFlags:
12704 * @G_REGEX_MATCH_ANCHORED: The pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched. This effect can also be achieved by appropriate constructs in the pattern itself such as the "^" metacharater.
12705 * @G_REGEX_MATCH_NOTBOL: Specifies that first character of the string is not the beginning of a line, so the circumflex metacharacter should not match before it. Setting this without #G_REGEX_MULTILINE (at compile time) causes circumflex never to match. This option affects only the behaviour of the circumflex metacharacter, it does not affect "\A".
12706 * @G_REGEX_MATCH_NOTEOL: Specifies that the end of the subject string is not the end of a line, so the dollar metacharacter should not match it nor (except in multiline mode) a newline immediately before it. Setting this without #G_REGEX_MULTILINE (at compile time) causes dollar never to match. This option affects only the behaviour of the dollar metacharacter, it does not affect "\Z" or "\z".
12707 * @G_REGEX_MATCH_NOTEMPTY: An empty string is not considered to be a valid match if this option is set. If there are alternatives in the pattern, they are tried. If all the alternatives match the empty string, the entire match fails. For example, if the pattern "a?b?" is applied to a string not beginning with "a" or "b", it matches the empty string at the start of the string. With this flag set, this match is not valid, so GRegex searches further into the string for occurrences of "a" or "b".
12708 * @G_REGEX_MATCH_PARTIAL: Turns on the partial matching feature, for more documentation on partial matching see g_match_info_is_partial_match().
12709 * @G_REGEX_MATCH_NEWLINE_CR: Overrides the newline definition set when creating a new #GRegex, setting the '\r' character as line terminator.
12710 * @G_REGEX_MATCH_NEWLINE_LF: Overrides the newline definition set when creating a new #GRegex, setting the '\n' character as line terminator.
12711 * @G_REGEX_MATCH_NEWLINE_CRLF: Overrides the newline definition set when creating a new #GRegex, setting the '\r\n' characters as line terminator.
12712 * @G_REGEX_MATCH_NEWLINE_ANY: Overrides the newline definition set when creating a new #GRegex, any newline character or character sequence is recognized.
12714 * Flags specifying match-time options.
12722 * @G_SOCKET_FAMILY_INVALID: no address family
12723 * @G_SOCKET_FAMILY_IPV4: the IPv4 family
12724 * @G_SOCKET_FAMILY_IPV6: the IPv6 family
12725 * @G_SOCKET_FAMILY_UNIX: the UNIX domain family
12727 * The protocol family of a #GSocketAddress. (These values are
12728 * identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX,
12736 * g_input_stream_close_finish:
12737 * @stream: a #GInputStream.
12738 * @result: a #GAsyncResult.
12739 * @error: a #GError location to store the error occuring, or %NULL to ignore.
12741 * Finishes closing a stream asynchronously, started from g_input_stream_close_async().
12743 * Returns: %TRUE if the stream was closed successfully.
12748 * G_TYPE_IS_CLASSED:
12749 * @type: A #GType value.
12751 * Checks if @type is a classed type.
12753 * Returns: %TRUE on success.
12758 * g_resolver_lookup_by_address_finish:
12759 * @resolver: a #GResolver
12760 * @result: the result passed to your #GAsyncReadyCallback
12761 * @error: return location for a #GError, or %NULL
12763 * Retrieves the result of a previous call to
12764 * g_resolver_lookup_by_address_async().
12765 * If the DNS resolution failed, @error (if non-%NULL) will be set to
12766 * a value from #GResolverError. If the operation was cancelled,
12767 * form), or %NULL on error.
12769 * Returns: a hostname (either ASCII-only, or in ASCII-encoded
12775 * G_TYPE_PARAM_OVERRIDE:
12777 * The #GType of #GParamSpecOverride.
12784 * mime_info_cache_reload:
12785 * @dir: directory path which needs reloading.
12787 * Reload the mime information for the @dir.
12793 * @socket: a #GSocket.
12795 * Returns the underlying OS socket object. On unix this
12796 * is a socket file descriptor, and on windows this is
12797 * a Winsock2 SOCKET handle. This may be useful for
12798 * doing platform specific or otherwise unusual operations
12801 * Returns: the file descriptor of the socket.
12809 * An opaque structure used as the base of all classes.
12814 * GBindingTransformFunc:
12815 * @binding: a #GBinding
12816 * @source_value: the value of the source property
12817 * @target_value: the value of the target property
12818 * @user_data: data passed to the transform function
12820 * A function to be called to transform the source property of @source
12821 * from @source_value into the target property of @target
12822 * using @target_value.
12825 * Returns: %TRUE if the transformation was successful, and %FALSE
12831 * G_PARAM_SPEC_OVERRIDE:
12832 * @pspec: a #GParamSpec
12834 * Casts a #GParamSpec into a #GParamSpecOverride.
12843 * An implementation of #GIcon for icons with emblems.
12848 * GDBusConnection:address:
12850 * A D-Bus address specifying potential endpoints that can be used
12851 * when establishing the connection.
12858 * g_mount_operation_set_choice:
12859 * @op: a #GMountOperation.
12860 * @choice: an integer.
12862 * Sets a default choice for the mount operation.
12867 * g_dbus_message_set_body:
12868 * @message: A #GDBusMessage.
12869 * @body: Either %NULL or a #GVariant that is a tuple.
12871 * Sets the body @message. As a side-effect the
12872 * %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field is set to the
12873 * type string of @body (or cleared if @body is %NULL).
12874 * If @body is floating, @message assumes ownership of @body.
12881 * G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT:
12883 * The string used to obtain a NFS mount with g_volume_get_identifier().
12889 * @value: the flags value
12890 * @value_name: the name of the value
12891 * @value_nick: the nickname of the value
12893 * A structure which contains a single flags value, its name, and its
12899 * g_data_input_stream_read_upto_async:
12900 * @stream: a #GDataInputStream
12901 * @stop_chars: characters to terminate the read
12902 * @stop_chars_len: length of @stop_chars. May be -1 if @stop_chars is nul-terminated
12903 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
12904 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
12905 * @callback: (scope async): callback to call when the request is satisfied
12906 * @user_data: (closure): the data to pass to callback function
12908 * The asynchronous version of g_data_input_stream_read_upto().
12909 * It is an error to have two outstanding calls to this function.
12910 * In contrast to g_data_input_stream_read_until(), this function
12911 * does <emphasis>not</emphasis> consume the stop character. You have
12912 * to use g_data_input_stream_read_byte() to get it before calling
12913 * g_data_input_stream_read_upto() again.
12914 * Note that @stop_chars may contain '\0' if @stop_chars_len is
12916 * When the operation is finished, @callback will be called. You
12917 * can then call g_data_input_stream_read_upto_finish() to get
12918 * the result of the operation.
12925 * g_tls_certificate_verify:
12926 * @cert: a #GTlsCertificate
12927 * @identity: (allow-none): the expected peer identity
12928 * @trusted_ca: (allow-none): the certificate of a trusted authority
12930 * This verifies @cert and returns a set of #GTlsCertificateFlags
12931 * indicating any problems found with it. This can be used to verify a
12932 * certificate outside the context of making a connection, or to
12933 * check a certificate against a CA that is not part of the system
12935 * If @identity is not %NULL, @cert's name(s) will be compared against
12936 * it, and %G_TLS_CERTIFICATE_BAD_IDENTITY will be set in the return
12937 * value if it does not match. If @identity is %NULL, that bit will
12938 * never be set in the return value.
12939 * If @trusted_ca is not %NULL, then @cert (or one of the certificates
12940 * in its chain) must be signed by it, or else
12941 * %G_TLS_CERTIFICATE_UNKNOWN_CA will be set in the return value. If
12943 * (All other #GTlsCertificateFlags values will always be set or unset
12946 * Returns: the appropriate #GTlsCertificateFlags
12952 * g_application_set_application_id:
12953 * @application: a #GApplication
12954 * @application_id: the identifier for @application
12956 * Sets the unique identifier for @application.
12957 * The application id can only be modified if @application has not yet
12959 * The application id must be valid. See g_application_id_is_valid().
12966 * GCredentialsType:
12967 * @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type.
12968 * @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a <type>struct ucred</type>.
12969 * @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a <type>struct cmsgcred</type>.
12971 * Enumeration describing different kinds of native credential types.
12980 * A helper class for network servers to listen for and accept connections.
12987 * g_dbus_method_invocation_get_object_path:
12988 * @invocation: A #GDBusMethodInvocation.
12990 * Gets the object path the method was invoked on.
12992 * Returns: A string. Do not free, it is owned by @invocation.
12998 * g_application_open:
12999 * @application: a #GApplication
13000 * @files: (array length=n_files): an array of #GFiles to open
13001 * @n_files: the length of the @files array
13002 * @hint: a hint (or ""), but never %NULL
13004 * Opens the given files.
13005 * In essence, this results in the #GApplication::open signal being emitted
13006 * in the primary instance.
13007 * intended to be used by applications that have multiple modes for
13008 * for this functionality, you should use "".
13009 * The application must be registered before calling this function
13010 * and it must have the %G_APPLICATION_HANDLES_OPEN flag set.
13012 * Opening files (eg: "view" vs "edit", etc). Unless you have a need
13020 * Error domain for character set conversions. Errors in this domain will
13021 * be from the #GConvertError enumeration. See #GError for information on
13027 * g_file_append_to_finish:
13028 * @file: input #GFile.
13029 * @res: #GAsyncResult
13030 * @error: a #GError, or %NULL
13032 * Finishes an asynchronous file append operation started with
13033 * g_file_append_to_async().
13034 * Free the returned object with g_object_unref().
13036 * Returns: (transfer full): a valid #GFileOutputStream or %NULL on error.
13041 * g_dbus_is_address:
13042 * @string: A string.
13044 * Checks if @string is a D-Bus address.
13045 * This doesn't check if @string is actually supported by #GDBusServer
13046 * or #GDBusConnection - use g_dbus_is_supported_address() to do more
13049 * Returns: %TRUE if @string is a valid D-Bus address, %FALSE otherwise.
13055 * g_dbus_message_get_flags:
13056 * @message: A #GDBusMessage.
13058 * Gets the flags for @message.
13060 * Returns: Flags that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together).
13066 * g_dbus_arg_info_unref:
13067 * @info: A #GDBusArgInfo.
13069 * If @info is statically allocated, does nothing. Otherwise decreases
13070 * the reference count of @info. When its reference count drops to 0,
13071 * the memory used is freed.
13078 * g_mount_operation_new:
13080 * Creates a new mount operation.
13082 * Returns: a #GMountOperation.
13087 * GSimpleAction:state-type:
13089 * The #GVariantType of the state that the action has, or %NULL if the
13090 * action is stateless.
13097 * G_TYPE_CHECK_CLASS_TYPE:
13098 * @g_class: Location of a #GTypeClass structure.
13099 * @g_type: The type to be checked.
13101 * Checks if @g_class is a class structure of the type identified by
13102 * This macro should only be used in type implementations.
13104 * Returns: %TRUE on success.
13109 * g_io_modules_load_all_in_directory:
13110 * @dirname: pathname for a directory containing modules to load.
13112 * Loads all the modules in the specified directory.
13113 * If don't require all modules to be initialized (and thus registering
13114 * all gtypes) then you can use g_io_modules_scan_all_in_directory()
13115 * which allows delayed/lazy loading of modules.
13116 * from the directory,
13117 * All the modules are loaded into memory, if you want to
13118 * unload them (enabling on-demand loading) you must call
13119 * g_type_module_unuse() on all the modules. Free the list
13120 * with g_list_free().
13122 * Returns: (element-type GIOModule) (transfer full): a list of #GIOModules loaded
13127 * g_unix_connection_receive_credentials:
13128 * @connection: A #GUnixConnection.
13129 * @cancellable: A #GCancellable or %NULL.
13130 * @error: Return location for error or %NULL.
13132 * Receives credentials from the sending end of the connection. The
13133 * sending end has to call g_unix_connection_send_credentials() (or
13134 * similar) for this to work.
13135 * As well as reading the credentials this also reads (and discards) a
13136 * single byte from the stream, as this is required for credentials
13137 * passing to work on some implementations.
13138 * Other ways to exchange credentials with a foreign peer includes the
13139 * #GUnixCredentialsMessage type and g_socket_get_credentials() function.
13140 * g_object_unref()), %NULL if @error is set.
13142 * Returns: (transfer full): Received credentials on success (free with
13148 * g_proxy_resolver_lookup_finish:
13149 * @resolver: a #GProxyResolver
13150 * @result: the result passed to your #GAsyncReadyCallback
13151 * @error: return location for a #GError, or %NULL
13153 * Call this function to obtain the array of proxy URIs when
13154 * g_proxy_resolver_lookup_async() is complete. See
13155 * g_proxy_resolver_lookup() for more details.
13158 * Returns: (transfer full) (element-type utf8): A NULL-terminated array of proxy URIs. Must be freed with
13164 * g_dbus_message_set_error_name:
13165 * @message: A #GDBusMessage.
13166 * @value: The value to set.
13168 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
13175 * g_socket_client_connect_async:
13176 * @client: a #GTcpClient
13177 * @connectable: a #GSocketConnectable specifying the remote address.
13178 * @cancellable: a #GCancellable, or %NULL
13179 * @callback: a #GAsyncReadyCallback
13180 * @user_data: user data for the callback
13182 * This is the asynchronous version of g_socket_client_connect().
13183 * When the operation is finished @callback will be
13184 * called. You can then call g_socket_client_connect_finish() to get
13185 * the result of the operation.
13192 * g_io_module_unload:
13193 * @module: a #GIOModule.
13195 * Required API for GIO modules to implement.
13196 * This function is ran when the module is being unloaded from GIO,
13197 * to finalize the module.
13204 * The object that handles DNS resolution. Use g_resolver_get_default()
13205 * to get the default resolver.
13210 * GDBusConnection:guid:
13212 * The GUID of the peer performing the role of server when
13214 * If you are constructing a #GDBusConnection and pass
13215 * %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER in the
13216 * #GDBusConnection:flags property then you MUST also set this
13217 * property to a valid guid.
13218 * If you are constructing a #GDBusConnection and pass
13219 * %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT in the
13220 * #GDBusConnection:flags property you will be able to read the GUID
13221 * of the other peer here after the connection has been successfully
13229 * g_inet_address_new_from_string:
13230 * @string: a string representation of an IP address
13232 * Parses @string as an IP address and creates a new #GInetAddress.
13234 * Returns: a new #GInetAddress corresponding to @string, or %NULL if
13240 * g_app_info_get_id:
13241 * @appinfo: a #GAppInfo.
13243 * Gets the ID of an application. An id is a string that
13244 * identifies the application. The exact format of the id is
13245 * platform dependent. For instance, on Unix this is the
13246 * desktop file id from the xdg menu specification.
13247 * Note that the returned ID may be %NULL, depending on how
13248 * the @appinfo has been constructed.
13250 * Returns: a string containing the application's ID.
13257 * Class for providing authentication methods for mounting operations,
13258 * such as mounting a file locally, or authenticating with a server.
13263 * g_dbus_message_new_method_error_literal:
13264 * @method_call_message: A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to create a reply message to.
13265 * @error_name: A valid D-Bus error name.
13266 * @error_message: The D-Bus error message.
13268 * Creates a new #GDBusMessage that is an error reply to @method_call_message.
13270 * Returns: (transfer full): A #GDBusMessage. Free with g_object_unref().
13276 * GTlsCertificate:certificate:
13278 * The DER (binary) encoded representation of the certificate's
13279 * public key. This property and the
13280 * #GTlsCertificate:certificate-pem property represent the same
13281 * data, just in different forms.
13288 * G_VALUE_HOLDS_FLOAT:
13289 * @value: a valid #GValue structure
13291 * Checks whether the given #GValue can hold values of type %G_TYPE_FLOAT.
13293 * Returns: %TRUE on success.
13298 * g_dbus_node_info_lookup_interface:
13299 * @info: A #GDBusNodeInfo.
13300 * @name: A D-Bus interface name.
13302 * Looks up information about an interface.
13303 * This cost of this function is O(n) in number of interfaces.
13305 * Returns: A #GDBusInterfaceInfo or %NULL if not found. Do not free, it is owned by @info.
13311 * g_data_output_stream_put_int64:
13312 * @stream: a #GDataOutputStream.
13313 * @data: a #gint64.
13314 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
13315 * @error: a #GError, %NULL to ignore.
13317 * Puts a signed 64-bit integer into the stream.
13319 * Returns: %TRUE if @data was successfully added to the @stream.
13324 * g_output_stream_close:
13325 * @stream: A #GOutputStream.
13326 * @cancellable: (allow-none): optional cancellable object
13327 * @error: location to store the error occuring, or %NULL to ignore
13329 * Closes the stream, releasing resources related to it.
13330 * Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED.
13331 * Closing a stream multiple times will not return an error.
13332 * Closing a stream will automatically flush any outstanding buffers in the
13334 * Streams will be automatically closed when the last reference
13335 * is dropped, but you might want to call this function to make sure
13336 * resources are released as early as possible.
13337 * Some streams might keep the backing store of the stream (e.g. a file descriptor)
13338 * open after the stream is closed. See the documentation for the individual
13339 * stream for details.
13340 * On failure the first error that happened will be reported, but the close
13341 * operation will finish as much as possible. A stream that failed to
13342 * close will still return %G_IO_ERROR_CLOSED for all operations. Still, it
13343 * is important to check and report the error to the user, otherwise
13344 * there might be a loss of data as all data might not be written.
13345 * If @cancellable is not NULL, then the operation can be cancelled by
13346 * triggering the cancellable object from another thread. If the operation
13347 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13348 * Cancelling a close will still leave the stream closed, but there some streams
13349 * can use a faster close that doesn't block to e.g. check errors. On
13350 * cancellation (as with any error) there is no guarantee that all written
13351 * data will reach the target.
13353 * Returns: %TRUE on success, %FALSE on failure
13358 * g_win32_output_stream_get_handle:
13359 * @stream: a #GWin32OutputStream
13361 * Return the Windows handle that the stream writes to.
13363 * Returns: The handle descriptor of @stream
13369 * g_socket_connectable_enumerate:
13370 * @connectable: a #GSocketConnectable
13372 * Creates a #GSocketAddressEnumerator for @connectable.
13374 * Returns: (transfer full): a new #GSocketAddressEnumerator.
13380 * The string info map is an efficient data structure designed to b:
13382 * used with a small set of items. It is used by GSettings schemas for
13384 * 1) Implement <choices> with a list of valid strings
13385 * 2) Implement <alias> by mapping one string to another
13386 * 3) Implement enumerated types by mapping strings to integer values
13388 * The map is made out of an array of uint32s. Each entry in the array
13389 * is an integer value, followed by a specially formatted string value:
13390 * The string starts with the byte 0xff or 0xfe, followed by the
13391 * content of the string, followed by a nul byte, followed by
13392 * additional nul bytes for padding, followed by a 0xff byte.
13393 * Padding is added so that the entire formatted string takes up a
13394 * multiple of 4 bytes, and not less than 8 bytes. The requirement
13395 * for a string to take up 8 bytes is so that the scanner doesn't lose
13396 * synch and mistake a string for an integer value.
13397 * The first byte of the formatted string depends on if the integer is
13398 * an enum value (0xff) or an alias (0xfe). If it is an alias then the
13399 * number refers to the word offset within the info map at which the
13400 * integer corresponding to the "target" value is stored.
13401 * For example, consider the case of the string info map representing an
13402 * enumerated type of 'foo' (value 1) and 'bar' (value 2) and 'baz'
13403 * (alias for 'bar'). Note that string info maps are always little
13405 * x01 x00 x00 x00 xff 'f' 'o' 'o' x00 x00 x00 xff x02 x00 x00 x00
13406 * xff 'b' 'a' 'r' x00 x00 x00 xff x03 x00 x00 x00 xfe 'b' 'a' 'z'
13408 * The operations that someone may want to perform with the map:
13409 * - lookup if a string is valid (and not an alias)
13410 * - lookup the integer value for a enum 'nick'
13411 * - lookup the integer value for the target of an alias
13412 * - lookup an alias and convert it to its target string
13413 * - lookup the enum nick for a given value
13414 * In order to lookup if a string is valid, it is padded on either side
13415 * (as described) and scanned for in the array. For example, you might
13417 * xff 'f' 'o' 'o' x00 x00 x00 xff
13418 * In order to lookup the integer value for a nick, the string is padded
13419 * on either side and scanned for in the array, as above. Instead of
13420 * merely succeeding, we look at the integer value to the left of the
13421 * match. This is the enum value.
13422 * In order to lookup an alias and convert it to its target enum value,
13423 * the string is padded on either side (as described, with 0xfe) and
13424 * scanned for. For example, you might look for "baz":
13425 * xfe 'b' 'a' 'z' x00 x00 x00 xff
13426 * The integer immediately preceeding the match then contains the offset
13427 * of the integer value of the target. In our example, that's '3'.
13428 * This index is dereferenced to find the enum value of '2'.
13429 * To convert the alias to its target string, 5 bytes just need to be
13430 * added past the start of the integer value to find the start of the
13432 * To lookup the enum nick for a given value, the value is searched for
13433 * in the array. To ensure that the value isn't matching the inside of a
13434 * string, we must check that it is either the first item in the array or
13435 * immediately preceeded by the byte 0xff. It must also be immediately
13436 * followed by the byte 0xff.
13437 * Because strings always take up a minimum of 2 words, because 0xff or
13438 * 0xfe never appear inside of a utf-8 string and because no two integer
13439 * values ever appear in sequence, the only way we can have the
13441 * xff __ __ __ __ xff (or 0xfe)
13442 * is in the event of an integer nested between two strings.
13443 * For implementation simplicity/efficiency, strings may not be more
13444 * the value of each choice is set to zero and ignored.
13446 * Than 65 characters in length (ie: 17 32bit words after padding).
13447 * In the event that we are doing <choices> (ie: not an enum type) then
13452 * g_settings_get_string:
13453 * @settings: a #GSettings object
13454 * @key: the key to get the value for
13455 * @returns: a newly-allocated string
13457 * Gets the value that is stored at @key in @settings.
13458 * A convenience variant of g_settings_get() for strings.
13459 * It is a programmer error to give a @key that isn't specified as
13460 * having a string type in the schema for @settings.
13468 * @closure: the #GClosure
13469 * @callback: the callback function
13471 * A #GCClosure is a specialization of #GClosure for C function callbacks.
13476 * GWin32InputStream:
13478 * Implements #GInputStream for reading from selectable Windows file handles
13483 * g_settings_get_boolean:
13484 * @settings: a #GSettings object
13485 * @key: the key to get the value for
13486 * @returns: a boolean
13488 * Gets the value that is stored at @key in @settings.
13489 * A convenience variant of g_settings_get() for booleans.
13490 * It is a programmer error to give a @key that isn't specified as
13491 * having a boolean type in the schema for @settings.
13498 * g_settings_list_schemas:
13500 * Gets a list of the #GSettings schemas installed on the system. The
13501 * returned list is exactly the list of schemas for which you may call
13502 * g_settings_new() without adverse effects.
13503 * This function does not list the schemas that do not provide their own
13504 * g_settings_new_with_path()). See
13505 * g_settings_list_relocatable_schemas() for that.
13506 * schemas that are available. The list must not be modified or
13509 * Paths (ie: schemas for which you must use
13510 * Returns: (element-type utf8) (transfer none): a list of #GSettings
13516 * g_signal_connect_swapped:
13517 * @instance: the instance to connect to.
13518 * @detailed_signal: a string of the form "signal-name::detail".
13519 * @c_handler: the #GCallback to connect.
13520 * @data: data to pass to @c_handler calls.
13522 * Connects a #GCallback function to a signal for a particular object.
13523 * The instance on which the signal is emitted and @data will be swapped when
13524 * calling the handler.
13526 * Returns: the handler id
13531 * g_dbus_connection_signal_unsubscribe:
13532 * @connection: A #GDBusConnection.
13533 * @subscription_id: A subscription id obtained from g_dbus_connection_signal_subscribe().
13535 * Unsubscribes from signals.
13542 * g_emblemed_icon_clear_emblems:
13543 * @emblemed: a #GEmblemedIcon
13545 * Removes all the emblems from @icon.
13554 * Error domain for errors generated by a remote message bus. Errors
13555 * in this domain will be from the #GDBusError enumeration. See
13556 * #GError for more information on error domains.
13557 * Note that errors in this error domain is intended only for
13558 * returning errors from a remote message bus process. Errors
13559 * generated locally in-process by e.g. #GDBusConnection is from the
13560 * %G_IO_ERROR domain.
13567 * GSocketControlMessage:
13569 * Base class for socket-type specific control messages that can be sent and
13570 * received over #GSocket.
13575 * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK:
13577 * A key in the "standard" namespace for checking if the file is a symlink.
13578 * Typically the actual type is something else, if we followed the symlink
13580 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
13585 * g_dbus_message_set_flags:
13586 * @message: A #GDBusMessage.
13587 * @flags: Flags for @message that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together).
13589 * Sets the flags to set on @message.
13596 * g_file_append_to_async:
13597 * @file: input #GFile.
13598 * @flags: a set of #GFileCreateFlags.
13599 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
13600 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
13601 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
13602 * @user_data: (closure): the data to pass to callback function
13604 * Asynchronously opens @file for appending.
13605 * For more details, see g_file_append_to() which is
13606 * the synchronous version of this call.
13607 * When the operation is finished, @callback will be called. You can then call
13608 * g_file_append_to_finish() to get the result of the operation.
13615 * Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
13616 * This corresponds roughly to a mtab entry.
13621 * g_dbus_message_set_sender:
13622 * @message: A #GDBusMessage.
13623 * @value: The value to set.
13625 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
13632 * SECTION:gtlsserverconnectio:
13633 * @short_description: TLS server-side connection
13634 * @include: gio/gio.h
13636 * #GTlsServerConnection is the server-side subclass of #GTlsConnection,
13637 * representing a server-side TLS connection.
13644 * g_dbus_proxy_call_sync:
13645 * @proxy: A #GDBusProxy.
13646 * @method_name: Name of method to invoke.
13647 * @parameters: A #GVariant tuple with parameters for the signal or %NULL if not passing parameters.
13648 * @flags: Flags from the #GDBusCallFlags enumeration.
13649 * @timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or -1 to use the proxy default timeout.
13650 * @cancellable: A #GCancellable or %NULL.
13651 * @error: Return location for error or %NULL.
13653 * Synchronously invokes the @method_name method on @proxy.
13654 * If @method_name contains any dots, then @name is split into interface and
13655 * method name parts. This allows using @proxy for invoking methods on
13656 * other interfaces.
13657 * If the #GDBusConnection associated with @proxy is disconnected then
13658 * the operation will fail with %G_IO_ERROR_CLOSED. If
13659 * %G_IO_ERROR_CANCELLED. If @parameters contains a value not
13660 * compatible with the D-Bus protocol, the operation fails with
13661 * %G_IO_ERROR_INVALID_ARGUMENT.
13662 * If the @parameters #GVariant is floating, it is consumed. This allows
13663 * convenient 'inline' use of g_variant_new(), e.g.:
13665 * g_dbus_proxy_call_sync (proxy,
13667 * g_variant_new ("(ss)",
13670 * G_DBUS_CALL_FLAGS_NONE,
13675 * The calling thread is blocked until a reply is received. See
13676 * g_dbus_proxy_call() for the asynchronous version of this
13678 * return values. Free with g_variant_unref().
13680 * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
13686 * GDBusProxy:g-object-path:
13688 * The object path the proxy is for.
13695 * g_file_info_set_is_symlink:
13696 * @info: a #GFileInfo.
13697 * @is_symlink: a #gboolean.
13699 * Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink.
13700 * See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK.
13705 * G_IS_PARAM_SPEC_DOUBLE:
13706 * @pspec: a valid #GParamSpec instance
13708 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE.
13710 * Returns: %TRUE on success.
13715 * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE:
13717 * A key in the "access" namespace for checking deletion privileges.
13718 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
13719 * This attribute will be %TRUE if the user is able to delete the file.
13724 * g_file_info_set_attribute_mask:
13725 * @info: a #GFileInfo.
13726 * @mask: a #GFileAttributeMatcher.
13728 * Sets @mask on @info to match specific attribute types.
13735 * Base class for read-write streams.
13741 * @G_SOCKET_MSG_NONE: No flags.
13742 * @G_SOCKET_MSG_OOB: Request to send/receive out of band data.
13743 * @G_SOCKET_MSG_PEEK: Read data from the socket without removing it from the queue.
13744 * @G_SOCKET_MSG_DONTROUTE: Don't use a gateway to send out the packet, only send to hosts on directly connected networks.
13746 * Flags used in g_socket_receive_message() and g_socket_send_message().
13747 * The flags listed in the enum are some commonly available flags, but the
13748 * values used for them are the same as on the platform, and any other flags
13749 * are passed in/out as is. So to use a platform specific flag, just include
13750 * the right system header and pass in the flag.
13757 * g_dbus_is_member_name:
13758 * @string: The string to check.
13760 * Checks if @string is a valid D-Bus member (e.g. signal or method) name.
13762 * Returns: %TRUE if valid, %FALSE otherwise.
13768 * G_TYPE_PARAM_ULONG:
13770 * The #GType of #GParamSpecULong.
13775 * g_file_query_default_handler:
13776 * @file: a #GFile to open.
13777 * @cancellable: optional #GCancellable object, %NULL to ignore.
13778 * @error: a #GError, or %NULL
13780 * Returns the #GAppInfo that is registered as the default
13781 * application to handle the file specified by @file.
13782 * If @cancellable is not %NULL, then the operation can be cancelled by
13783 * triggering the cancellable object from another thread. If the operation
13784 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13785 * When you are done with it, release it with g_object_unref()
13787 * Returns: (transfer full): a #GAppInfo if the handle was found, %NULL if there were errors.
13792 * GDBusProxy:g-bus-type:
13794 * If this property is not %G_BUS_TYPE_NONE, then
13795 * #GDBusProxy:g-connection must be %NULL and will be set to the
13796 * #GDBusConnection obtained by calling g_bus_get() with the value
13797 * of this property.
13804 * g_dbus_connection_get_peer_credentials:
13805 * @connection: A #GDBusConnection.
13807 * Gets the credentials of the authenticated peer. This will always
13808 * return %NULL unless @connection acted as a server
13809 * (e.g. %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER was passed)
13810 * when set up and the client passed credentials as part of the
13811 * authentication process.
13812 * In a message bus setup, the message bus is always the server and
13813 * each application is a client. So this method will always return
13814 * %NULL for message bus clients.
13815 * this object, it is owned by @connection.
13817 * Returns: (transfer none): A #GCredentials or %NULL if not available. Do not free
13823 * G_FILE_ATTRIBUTE_UNIX_INODE:
13825 * A key in the "unix" namespace for getting the inode of the file.
13826 * This attribute is only available for UNIX file systems. Corresponding
13827 * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
13832 * g_file_info_set_icon:
13833 * @info: a #GFileInfo.
13836 * Sets the icon for a given #GFileInfo.
13837 * See %G_FILE_ATTRIBUTE_STANDARD_ICON.
13842 * g_socket_new_from_fd:
13843 * @fd: a native socket file descriptor.
13844 * @error: #GError for error reporting, or %NULL to ignore.
13846 * Creates a new #GSocket from a native file descriptor
13847 * or winsock SOCKET handle.
13848 * This reads all the settings from the file descriptor so that
13849 * all properties should work. Note that the file descriptor
13850 * will be set to non-blocking mode, independent on the blocking
13851 * mode of the #GSocket.
13852 * Free the returned object with g_object_unref().
13854 * Returns: a #GSocket or %NULL on error.
13860 * g_app_launch_context_launch_failed:
13861 * @context: a #GAppLaunchContext.
13862 * @startup_notify_id: the startup notification id that was returned by g_app_launch_context_get_startup_notify_id().
13864 * Called when an application has failed to launch, so that it can cancel
13865 * the application startup notification started in g_app_launch_context_get_startup_notify_id().
13870 * G_VARIANT_TYPE_MAYBE:
13872 * An indefinite type that is a supertype of every maybe type.
13877 * g_socket_get_blocking:
13878 * @socket: a #GSocket.
13880 * Gets the blocking mode of the socket. For details on blocking I/O,
13881 * see g_socket_set_blocking().
13883 * Returns: %TRUE if blocking I/O is used, %FALSE otherwise.
13889 * G_FILE_ATTRIBUTE_THUMBNAIL_PATH:
13891 * A key in the "thumbnail" namespace for getting the path to the thumbnail
13892 * image. Corresponding #GFileAttributeType is
13893 * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
13898 * g_buffered_input_stream_set_buffer_size:
13899 * @stream: a #GBufferedInputStream
13902 * Sets the size of the internal buffer of @stream to @size, or to the
13903 * size of the contents of the buffer. The buffer can never be resized
13904 * smaller than its current contents.
13909 * g_action_group_action_enabled_changed:
13910 * @action_group: a #GActionGroup
13911 * @action_name: the name of an action in the group
13912 * @enabled: whether or not the action is now enabled
13914 * Emits the #GActionGroup::action-enabled-changed signal on @action_group.
13915 * This function should only be called by #GActionGroup implementations.
13922 * g_input_stream_read:
13923 * @stream: a #GInputStream.
13924 * @buffer: a buffer to read data into (which should be at least count bytes long).
13925 * @count: the number of bytes that will be read from the stream
13926 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
13927 * @error: location to store the error occuring, or %NULL to ignore
13929 * Tries to read @count bytes from the stream into the buffer starting at
13930 * If count is zero returns zero and does nothing. A value of @count
13931 * larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
13932 * On success, the number of bytes read into the buffer is returned.
13933 * It is not an error if this is not the same as the requested size, as it
13934 * can happen e.g. near the end of a file. Zero is returned on end of file
13935 * (or if @count is zero), but never otherwise.
13936 * If @cancellable is not NULL, then the operation can be cancelled by
13937 * triggering the cancellable object from another thread. If the operation
13938 * was cancelled, the error G_IO_ERROR_CANCELLED will be returned. If an
13939 * operation was partially finished when the operation was cancelled the
13940 * partial result will be returned, without an error.
13941 * On error -1 is returned and @error is set accordingly.
13943 * Returns: Number of bytes read, or -1 on error
13948 * g_themed_icon_prepend_name:
13949 * @icon: a #GThemedIcon
13950 * @iconname: name of icon to prepend to list of icons from within @icon.
13952 * Prepend a name to the list of icons from within @icon.
13954 * Note that doing so invalidates the hash computed by prior calls
13955 * to g_icon_hash().
13963 * SECTION:gconverte:
13964 * @short_description: Data conversion interface
13965 * @include: gio/gio.h
13966 * @see_also: #GInputStream, #GOutputStream
13968 * #GConverter is implemented by objects that convert
13969 * binary data in various ways. The conversion can be
13970 * stateful and may fail at any place.
13971 * compression, decompression and regular expression
13974 * Some example conversions are: character set conversion,
13980 * G_TYPE_CHECK_VALUE_TYPE:
13981 * @value: a #GValue
13982 * @g_type: The type to be checked.
13984 * Checks if @value has been initialized to hold values
13986 * This macro should only be used in type implementations.
13988 * Returns: %TRUE on success.
13993 * g_settings_get_enum:
13994 * @settings: a #GSettings object
13995 * @key: the key to get the value for
13996 * @returns: the enum value
13998 * Gets the value that is stored in @settings for @key and converts it
13999 * to the enum value that it represents.
14000 * In order to use this function the type of the value must be a string
14001 * and it must be marked in the schema file as an enumerated type.
14002 * It is a programmer error to give a @key that isn't contained in the
14003 * schema for @settings or is not marked as an enumerated type.
14004 * If the value stored in the configuration database is not a valid
14005 * value for the enumerated type then this function will return the
14013 * G_VOLUME_MONITOR_EXTENSION_POINT_NAME:
14015 * Extension point for volume monitor functionality.
14016 * See <link linkend="extending-gio">Extending GIO</link>.
14021 * g_app_info_reset_type_associations:
14022 * @content_type: a content type
14024 * Removes all changes to the type associations done by
14025 * g_app_info_set_as_default_for_type(),
14026 * g_app_info_set_as_default_for_extension(),
14027 * g_app_info_add_supports_type() or g_app_info_remove_supports_type().
14034 * g_dbus_proxy_get_name:
14035 * @proxy: A #GDBusProxy.
14037 * Gets the name that @proxy was constructed for.
14039 * Returns: A string owned by @proxy. Do not free.
14045 * g_file_info_get_name:
14046 * @info: a #GFileInfo.
14048 * Gets the name for a file.
14050 * Returns: a string containing the file name.
14055 * g_mount_operation_get_anonymous:
14056 * @op: a #GMountOperation.
14058 * Check to see whether the mount operation is being used
14059 * for an anonymous user.
14061 * Returns: %TRUE if mount operation is anonymous.
14066 * g_socket_is_connected:
14067 * @socket: a #GSocket.
14069 * Check whether the socket is connected. This is only useful for
14070 * connection-oriented sockets.
14072 * Returns: %TRUE if socket is connected, %FALSE otherwise.
14078 * g_application_hold:
14079 * @application: a #GApplication
14081 * Increases the use count of @application.
14082 * Use this function to indicate that the application has a reason to
14083 * continue to run. For example, g_application_hold() is called by GTK+
14084 * when a toplevel window is on the screen.
14085 * To cancel the hold, call g_application_release().
14091 * @g_type_class: the parent class
14092 * @value_type: the #GValue type for this parameter
14093 * @finalize: The instance finalization function (optional), should chain up to the finalize method of the parent class.
14094 * @value_set_default: Resets a @value to the default value for this type (recommended, the default is g_value_reset()), see g_param_value_set_default().
14095 * @value_validate: Ensures that the contents of @value comply with the specifications set out by this type (optional), see g_param_value_set_validate().
14096 * @values_cmp: Compares @value1 with @value2 according to this type (recommended, the default is memcmp()), see g_param_values_cmp().
14098 * The class structure for the <structname>GParamSpec</structname> type.
14099 * Normally, <structname>GParamSpec</structname> classes are filled by
14100 * g_param_type_register_static().
14105 * g_socket_get_remote_address:
14106 * @socket: a #GSocket.
14107 * @error: #GError for error reporting, or %NULL to ignore.
14109 * Try to get the remove address of a connected socket. This is only
14110 * useful for connection oriented sockets that have been connected.
14111 * Free the returned object with g_object_unref().
14113 * Returns: (transfer full): a #GSocketAddress or %NULL on error.
14120 * @parent_instance: private #GParamSpec portion
14121 * @is_a_type: a #GType whose subtypes can occur as values
14123 * A #GParamSpec derived structure that contains the meta data for #GType properties.
14130 * g_dbus_message_new_method_reply:
14131 * @method_call_message: A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to create a reply message to.
14133 * Creates a new #GDBusMessage that is a reply to @method_call_message.
14135 * Returns: (transfer full): #GDBusMessage. Free with g_object_unref().
14141 * g_application_register:
14142 * @application: a #GApplication
14143 * @cancellable: a #GCancellable, or %NULL
14144 * @error: a pointer to a NULL #GError, or %NULL
14145 * @returns: %TRUE if registration succeeded
14147 * Attempts registration of the application.
14148 * This is the point at which the application discovers if it is the
14149 * primary instance or merely acting as a remote for an already-existing
14150 * primary instance.
14151 * If the application has already been registered then %TRUE is
14152 * returned with no work performed.
14153 * The #GApplication::startup signal is emitted if registration succeeds
14154 * and @application is the primary instance.
14155 * In the event of an error (such as @cancellable being cancelled, or a
14156 * failure to connect to the session bus), %FALSE is returned and @error
14157 * is set appropriately.
14158 * instance is or is not the primary instance of the application. See
14159 * g_application_get_is_remote() for that.
14161 * Note: the return value of this function is not an indicator that this
14167 * g_emblemed_icon_get_icon:
14168 * @emblemed: a #GEmblemedIcon
14170 * Gets the main icon for @emblemed.
14172 * Returns: (transfer full): a #GIcon that is owned by @emblemed
14178 * g_signal_connect:
14179 * @instance: the instance to connect to.
14180 * @detailed_signal: a string of the form "signal-name::detail".
14181 * @c_handler: the #GCallback to connect.
14182 * @data: data to pass to @c_handler calls.
14184 * Connects a #GCallback function to a signal for a particular object.
14185 * The handler will be called before the default handler of the signal.
14187 * Returns: the handler id
14192 * g_file_info_set_attribute_object:
14193 * @info: a #GFileInfo.
14194 * @attribute: a file attribute key.
14195 * @attr_value: a #GObject.
14197 * Sets the @attribute to contain the given @attr_value,
14204 * @data: Callback data passed to g_object_add_toggle_ref()
14205 * @object: The object on which g_object_add_toggle_ref() was called.
14206 * @is_last_ref: %TRUE if the toggle reference is now the last reference to the object. %FALSE if the toggle reference was the last reference and there are now other references.
14208 * A callback function used for notification when the state
14209 * of a toggle reference changes. See g_object_add_toggle_ref().
14214 * G_TYPE_PARAM_INT64:
14216 * The #GType of #GParamSpecInt64.
14221 * GDBusServer:authentication-observer:
14223 * A #GDBusAuthObserver object to assist in the authentication process or %NULL.
14230 * GTlsConnection:certificate:
14232 * The connection's certificate; see
14233 * g_tls_connection_set_certificate().
14240 * g_bus_watch_name_on_connection:
14241 * @connection: A #GDBusConnection.
14242 * @name: The name (well-known or unique) to watch.
14243 * @flags: Flags from the #GBusNameWatcherFlags enumeration.
14244 * @name_appeared_handler: Handler to invoke when @name is known to exist or %NULL.
14245 * @name_vanished_handler: Handler to invoke when @name is known to not exist or %NULL.
14246 * @user_data: User data to pass to handlers.
14247 * @user_data_free_func: Function for freeing @user_data or %NULL.
14249 * Like g_bus_watch_name() but takes a #GDBusConnection instead of a
14251 * g_bus_unwatch_name() to stop watching the name.
14253 * Returns: An identifier (never 0) that an be used with
14259 * g_tls_client_connection_get_server_identity:
14260 * @conn: the #GTlsClientConnection
14262 * Gets @conn's expected server identity
14263 * expected server identity, or %NULL if the expected identity is not
14266 * Returns: a #GSocketConnectable describing the
14272 * g_action_group_get_action_enabled:
14273 * @action_group: a #GActionGroup
14274 * @action_name: the name of the action to query
14276 * Checks if the named action within @action_group is currently enabled.
14277 * An action must be enabled in order to be activated or in order to
14278 * have its state changed from outside callers.
14280 * Returns: whether or not the action is currently enabled
14286 * g_app_info_should_show:
14287 * @appinfo: a #GAppInfo.
14289 * Checks if the application info should be shown in menus that
14290 * list available applications.
14292 * Returns: %TRUE if the @appinfo should be shown, %FALSE otherwise.
14297 * g_proxy_get_default_for_protocol:
14298 * @protocol: the proxy protocol name (e.g. http, socks, etc)
14300 * Lookup "gio-proxy" extension point for a proxy implementation that supports
14301 * specified protocol.
14303 * Returns: return a #GProxy or NULL if protocol is not supported.
14309 * g_dbus_connection_send_message_with_reply_finish:
14310 * @connection: a #GDBusConnection
14311 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_send_message_with_reply().
14312 * @error: Return location for error or %NULL.
14314 * Finishes an operation started with g_dbus_connection_send_message_with_reply().
14315 * Note that @error is only set if a local in-process error
14316 * occured. That is to say that the returned #GDBusMessage object may
14317 * be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use
14318 * g_dbus_message_to_gerror() to transcode this to a #GError.
14319 * See <xref linkend="gdbus-server"/> and <xref
14320 * linkend="gdbus-unix-fd-client"/> for an example of how to use this
14321 * low-level API to send and receive UNIX file descriptors.
14323 * Returns: (transfer full): A locked #GDBusMessage or %NULL if @error is set.
14329 * SECTION:gunixinputstrea:
14330 * @short_description: Streaming input operations for UNIX file descriptors
14331 * @include: gio/gunixinputstream.h
14332 * @see_also: #GInputStream
14334 * #GUnixInputStream implements #GInputStream for reading from a
14335 * UNIX file descriptor, including asynchronous operations. The file
14336 * descriptor must be selectable, so it doesn't work with opened files.
14337 * Note that <filename><gio/gunixinputstream.h></filename> belongs
14338 * to the UNIX-specific GIO interfaces, thus you have to use the
14339 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
14346 * Zlib decompression
14351 * g_dbus_server_get_guid:
14352 * @server: A #GDBusServer.
14354 * Gets the GUID for @server.
14356 * Returns: A D-Bus GUID. Do not free this string, it is owned by @server.
14362 * g_file_get_basename:
14363 * @file: input #GFile.
14365 * Gets the base name (the last component of the path) for a given #GFile.
14366 * If called for the top level of a system (such as the filesystem root
14367 * or a uri like sftp://host/) it will return a single directory separator
14368 * (and on Windows, possibly a drive letter).
14369 * The base name is a byte string (*not* UTF-8). It has no defined encoding
14370 * or rules other than it may not contain zero bytes. If you want to use
14371 * filenames in a user interface you should use the display name that you
14372 * can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME
14373 * attribute with g_file_query_info().
14374 * This call does no blocking i/o.
14375 * if given #GFile is invalid. The returned string should be
14376 * freed with g_free() when no longer needed.
14378 * Returns: string containing the #GFile's base name, or %NULL
14383 * g_volume_get_drive:
14384 * @volume: a #GVolume.
14386 * Gets the drive for the @volume.
14387 * The returned object should be unreffed with g_object_unref()
14388 * when no longer needed.
14390 * Returns: (transfer full): a #GDrive or %NULL if @volume is not associated with a drive.
14395 * GUnixMountMonitor::mountpoints-changed:
14396 * @monitor: the object on which the signal is emitted
14398 * Emitted when the unix mount points have changed.
14403 * GFileAttributeInfo:
14404 * @name: the name of the attribute.
14405 * @type: the #GFileAttributeType type of the attribute.
14406 * @flags: a set of #GFileAttributeInfoFlags.
14408 * Information about a specific attribute.
14414 * @G_OPTION_FLAG_HIDDEN: The option doesn't appear in <option>--help</option> output.
14415 * @G_OPTION_FLAG_IN_MAIN: The option appears in the main section of the <option>--help</option> output, even if it is defined in a group.
14416 * @G_OPTION_FLAG_REVERSE: For options of the %G_OPTION_ARG_NONE kind, this flag indicates that the sense of the option is reversed.
14417 * @G_OPTION_FLAG_NO_ARG: For options of the %G_OPTION_ARG_CALLBACK kind, this flag indicates that the callback does not take any argument (like a %G_OPTION_ARG_NONE option). Since 2.8
14418 * @G_OPTION_FLAG_FILENAME: For options of the %G_OPTION_ARG_CALLBACK kind, this flag indicates that the argument should be passed to the callback in the GLib filename encoding rather than UTF-8. Since 2.8
14419 * @G_OPTION_FLAG_OPTIONAL_ARG: For options of the %G_OPTION_ARG_CALLBACK kind, this flag indicates that the argument supply is optional. If no argument is given then data of %GOptionParseFunc will be set to NULL. Since 2.8
14420 * @G_OPTION_FLAG_NOALIAS: This flag turns off the automatic conflict resolution which prefixes long option names with <literal>groupname-</literal> if there is a conflict. This option should only be used in situations where aliasing is necessary to model some legacy commandline interface. It is not safe to use this option, unless all option groups are under your direct control. Since 2.8.
14422 * Flags which modify individual options.
14427 * GDBusProxy:g-interface-name:
14429 * The D-Bus interface name the proxy is for.
14436 * g_icon_to_string:
14439 * Generates a textual representation of @icon that can be used for
14440 * serialization such as when passing @icon to a different process or
14441 * saving it to persistent storage. Use g_icon_new_for_string() to
14442 * get @icon back from the returned string.
14443 * The encoding of the returned string is proprietary to #GIcon except
14444 * in the following two cases
14447 * If @icon is a #GFileIcon, the returned string is a native path
14448 * (such as <literal>/path/to/my icon.png</literal>) without escaping
14449 * if the #GFile for @icon is a native file. If the file is not
14450 * native, the returned string is the result of g_file_get_uri()
14451 * (such as <literal>sftp://path/to/my%%20icon.png</literal>).
14452 * </para></listitem>
14454 * If @icon is a #GThemedIcon with exactly one name, the encoding is
14455 * simply the name (such as <literal>network-server</literal>).
14456 * </para></listitem>
14458 * be serialized. Use g_free() to free.
14460 * Virtual: to_tokens
14461 * Returns: An allocated NUL-terminated UTF8 string or %NULL if @icon can't
14467 * g_dbus_connection_unregister_subtree:
14468 * @connection: A #GDBusConnection.
14469 * @registration_id: A subtree registration id obtained from g_dbus_connection_register_subtree().
14471 * Unregisters a subtree.
14473 * Returns: %TRUE if the subtree was unregistered, %FALSE otherwise.
14479 * GPollableOutputStream:
14481 * An interface for a #GOutputStream that can be polled for readability.
14488 * g_socket_listener_accept_socket_finish:
14489 * @listener: a #GSocketListener
14490 * @result: a #GAsyncResult.
14491 * @source_object: Optional #GObject identifying this source
14492 * @error: a #GError location to store the error occuring, or %NULL to ignore.
14494 * Finishes an async accept operation. See g_socket_listener_accept_socket_async()
14496 * Returns: (transfer full): a #GSocket on success, %NULL on error.
14502 * G_FILE_ATTRIBUTE_SELINUX_CONTEXT:
14504 * A key in the "selinux" namespace for getting the file's SELinux
14505 * context. Corresponding #GFileAttributeType is
14506 * %G_FILE_ATTRIBUTE_TYPE_STRING. Note that this attribute is only
14507 * available if GLib has been built with SELinux support.
14512 * g_io_extension_point_get_required_type:
14513 * @extension_point: a #GIOExtensionPoint
14515 * Gets the required type for @extension_point.
14516 * or #G_TYPE_INVALID if the extension point has no required type
14518 * Returns: the #GType that all implementations must have,
14523 * GDBusProxy:g-default-timeout:
14525 * The timeout to use if -1 (specifying default timeout) is passed
14526 * as @timeout_msec in the g_dbus_proxy_call() and
14527 * g_dbus_proxy_call_sync() functions.
14528 * This allows applications to set a proxy-wide timeout for all
14529 * remote method invocations on the proxy. If this property is -1,
14530 * the default timeout (typically 25 seconds) is used. If set to
14531 * %G_MAXINT, then no timeout is used.
14539 * @G_CONNECT_AFTER: whether the handler should be called before or after the default handler of the signal.
14540 * @G_CONNECT_SWAPPED: whether the instance and data should be swapped when calling the handler.
14542 * The connection flags are used to specify the behaviour of a signal's
14548 * g_file_info_set_attribute_uint64:
14549 * @info: a #GFileInfo.
14550 * @attribute: a file attribute key.
14551 * @attr_value: an unsigned 64-bit integer.
14553 * Sets the @attribute to contain the given @attr_value,
14559 * G_VARIANT_TYPE_BYTE:
14561 * The type of an integer value that can range from 0 to 255.
14566 * g_socket_get_timeout:
14567 * @socket: a #GSocket.
14569 * Gets the timeout setting of the socket. For details on this, see
14570 * g_socket_set_timeout().
14572 * Returns: the timeout in seconds
14578 * g_dbus_connection_set_exit_on_close:
14579 * @connection: A #GDBusConnection.
14580 * @exit_on_close: Whether the process should be terminated when @connection is closed by the remote peer.
14582 * Sets whether the process should be terminated when @connection is
14583 * closed by the remote peer. See #GDBusConnection:exit-on-close for
14591 * GFileDescriptorBasedIface:
14592 * @g_iface: The parent interface.
14599 * G_IS_PARAM_SPEC_UCHAR:
14600 * @pspec: a valid #GParamSpec instance
14602 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR.
14604 * Returns: %TRUE on success.
14609 * SECTION:gsimpleasyncresul:
14610 * @short_description: Simple asynchronous results implementation
14611 * @include: gio/gio.h
14612 * @see_also: #GAsyncResult
14614 * Implements #GAsyncResult for simple cases. Most of the time, this
14615 * will be all an application needs, and will be used transparently.
14616 * Because of this, #GSimpleAsyncResult is used throughout GIO for
14617 * handling asynchronous functions.
14618 * GSimpleAsyncResult handles #GAsyncReadyCallback<!-- -->s, error
14619 * reporting, operation cancellation and the final state of an operation,
14620 * completely transparent to the application. Results can be returned
14621 * as a pointer e.g. for functions that return data that is collected
14622 * asynchronously, a boolean value for checking the success or failure
14623 * of an operation, or a #gssize for operations which return the number
14624 * of bytes modified by the operation; all of the simple return cases
14626 * Most of the time, an application will not need to know of the details
14627 * of this API; it is handled transparently, and any necessary operations
14628 * are handled by #GAsyncResult's interface. However, if implementing a
14629 * new GIO module, for writing language bindings, or for complex
14630 * applications that need better control of how asynchronous operations
14631 * are completed, it is important to understand this functionality.
14632 * GSimpleAsyncResults are tagged with the calling function to ensure
14633 * that asynchronous functions and their finishing functions are used
14634 * together correctly.
14635 * To create a new #GSimpleAsyncResult, call g_simple_async_result_new().
14636 * If the result needs to be created for a #GError, use
14637 * g_simple_async_result_new_from_error() or
14638 * g_simple_async_result_new_take_error(). If a #GError is not available
14639 * (e.g. the asynchronous operation's doesn't take a #GError argument),
14640 * but the result still needs to be created for an error condition, use
14641 * g_simple_async_result_new_error() (or g_simple_async_result_set_error_va()
14642 * if your application or binding requires passing a variable argument list
14643 * directly), and the error can then be propagated through the use of
14644 * g_simple_async_result_propagate_error().
14645 * An asynchronous operation can be made to ignore a cancellation event by
14646 * calling g_simple_async_result_set_handle_cancellation() with a
14647 * #GSimpleAsyncResult for the operation and %FALSE. This is useful for
14648 * operations that are dangerous to cancel, such as close (which would
14649 * cause a leak if cancelled before being run).
14650 * GSimpleAsyncResult can integrate into GLib's event loop, #GMainLoop,
14651 * or it can use #GThread<!-- -->s if available.
14652 * g_simple_async_result_complete() will finish an I/O task directly
14653 * from the point where it is called. g_simple_async_result_complete_in_idle()
14654 * will finish it from an idle handler in the <link
14655 * linkend="g-main-context-push-thread-default">thread-default main
14656 * context</link>. g_simple_async_result_run_in_thread() will run the
14657 * job in a separate thread and then deliver the result to the
14658 * thread-default main context.
14659 * To set the results of an asynchronous function,
14660 * g_simple_async_result_set_op_res_gpointer(),
14661 * g_simple_async_result_set_op_res_gboolean(), and
14662 * g_simple_async_result_set_op_res_gssize()
14663 * are provided, setting the operation's result to a gpointer, gboolean, or
14664 * gssize, respectively.
14665 * Likewise, to get the result of an asynchronous function,
14666 * g_simple_async_result_get_op_res_gpointer(),
14667 * g_simple_async_result_get_op_res_gboolean(), and
14668 * g_simple_async_result_get_op_res_gssize() are
14669 * provided, getting the operation's result as a gpointer, gboolean, and
14670 * gssize, respectively.
14671 * For the details of the requirements implementations must respect, see
14672 * #GAsyncResult. A typical implementation of an asynchronous operation
14673 * using GSimpleAsyncResult looks something like this:
14676 * baked_cb (Cake *cake,
14677 * gpointer user_data)
14679 * /* In this example, this callback is not given a reference to the cake, so
14680 * * the GSimpleAsyncResult has to take a reference to it.
14682 * GSimpleAsyncResult *result = user_data;
14683 * if (cake == NULL)
14684 * g_simple_async_result_set_error (result,
14686 * BAKER_ERROR_NO_FLOUR,
14687 * "Go to the supermarket");
14689 * g_simple_async_result_set_op_res_gpointer (result,
14690 * g_object_ref (cake),
14692 * /* In this example, we assume that baked_cb is called as a callback from
14693 * * the mainloop, so it's safe to complete the operation synchronously here.
14694 * * If, however, _baker_prepare_cake () might call its callback without
14695 * * first returning to the mainloop — inadvisable, but some APIs do so —
14696 * * we would need to use g_simple_async_result_complete_in_idle().
14698 * g_simple_async_result_complete (result);
14699 * g_object_unref (result);
14702 * baker_bake_cake_async (Baker *self,
14704 * GAsyncReadyCallback callback,
14705 * gpointer user_data)
14707 * GSimpleAsyncResult *simple;
14711 * g_simple_async_report_error_in_idle (G_OBJECT (self),
14715 * BAKER_ERROR_TOO_SMALL,
14716 * "%ucm radius cakes are silly",
14720 * simple = g_simple_async_result_new (G_OBJECT (self),
14723 * baker_bake_cake_async);
14724 * cake = _baker_get_cached_cake (self, radius);
14725 * if (cake != NULL)
14727 * g_simple_async_result_set_op_res_gpointer (simple,
14728 * g_object_ref (cake),
14730 * g_simple_async_result_complete_in_idle (simple);
14731 * g_object_unref (simple);
14732 * /* Drop the reference returned by _baker_get_cached_cake(); the
14733 * * GSimpleAsyncResult has taken its own reference.
14735 * g_object_unref (cake);
14738 * _baker_prepare_cake (self, radius, baked_cb, simple);
14741 * baker_bake_cake_finish (Baker *self,
14742 * GAsyncResult *result,
14745 * GSimpleAsyncResult *simple;
14747 * g_return_val_if_fail (g_simple_async_result_is_valid (result,
14749 * baker_bake_cake_async),
14751 * simple = (GSimpleAsyncResult *) result;
14752 * if (g_simple_async_result_propagate_error (simple, error))
14754 * cake = CAKE (g_simple_async_result_get_op_res_gpointer (simple));
14755 * return g_object_ref (cake);
14762 * g_async_initable_init_finish:
14763 * @initable: a #GAsyncInitable.
14764 * @res: a #GAsyncResult.
14765 * @error: a #GError location to store the error occuring, or %NULL to ignore.
14767 * Finishes asynchronous initialization and returns the result.
14768 * See g_async_initable_init_async().
14769 * will return %FALSE and set @error appropriately if present.
14771 * Returns: %TRUE if successful. If an error has occurred, this function
14777 * g_input_stream_skip_async:
14778 * @stream: A #GInputStream.
14779 * @count: the number of bytes that will be skipped from the stream
14780 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
14781 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
14782 * @callback: (scope async): callback to call when the request is satisfied
14783 * @user_data: (closure): the data to pass to callback function
14785 * Request an asynchronous skip of @count bytes from the stream.
14786 * When the operation is finished @callback will be called.
14787 * You can then call g_input_stream_skip_finish() to get the result
14788 * of the operation.
14789 * During an async request no other sync and async calls are allowed,
14790 * and will result in %G_IO_ERROR_PENDING errors.
14791 * A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
14792 * On success, the number of bytes skipped will be passed to the callback.
14793 * It is not an error if this is not the same as the requested size, as it
14794 * can happen e.g. near the end of a file, but generally we try to skip
14795 * as many bytes as requested. Zero is returned on end of file
14796 * (or if @count is zero), but never otherwise.
14797 * Any outstanding i/o request with higher priority (lower numerical value)
14798 * will be executed before an outstanding request with lower priority.
14799 * Default priority is %G_PRIORITY_DEFAULT.
14800 * The asynchronous methods have a default fallback that uses threads to
14801 * implement asynchronicity, so they are optional for inheriting classes.
14802 * However, if you override one, you must override all.
14807 * g_mount_guess_content_type_finish:
14808 * @mount: a #GMount
14809 * @result: a #GAsyncResult
14810 * @error: a #GError location to store the error occuring, or %NULL to ignore
14812 * Finishes guessing content types of @mount. If any errors occured
14813 * during the operation, @error will be set to contain the errors and
14814 * %FALSE will be returned. In particular, you may get an
14815 * %G_IO_ERROR_NOT_SUPPORTED if the mount does not support content
14817 * Caller should free this array with g_strfreev() when done with it.
14819 * Returns: (transfer full) (element-type utf8): a %NULL-terminated array of content types or %NULL on error.
14825 * GActionGroupInterface:
14826 * @has_action: the virtual function pointer for g_action_group_has_action()
14827 * @list_actions: the virtual function pointer for g_action_group_list_actions()
14828 * @get_parameter_type: the virtual function pointer for g_action_group_get_parameter_type()
14829 * @get_state_type: the virtual function pointer for g_action_group_get_state_type()
14830 * @get_state_hint: the virtual function pointer for g_action_group_get_state_hint()
14831 * @get_enabled: the virtual function pointer for g_action_group_get_enabled()
14832 * @get_state: the virtual function pointer for g_action_group_get_state()
14833 * @set_state: the virtual function pointer for g_action_group_set_state()
14834 * @activate: the virtual function pointer for g_action_group_activate()
14835 * @action_added: the class closure for the action-added signal
14836 * @action_removed: the class closure for the action-removed signal
14837 * @action_enabled_changed: the class closure for the action-enabled-changed signal
14838 * @action_state_changed: the class closure for the action-enabled-changed signal
14840 * The virtual function table for #GActionGroup.
14847 * g_cancellable_push_current:
14848 * @cancellable: a #GCancellable object
14850 * Pushes @cancellable onto the cancellable stack. The current
14851 * cancllable can then be recieved using g_cancellable_get_current().
14852 * This is useful when implementing cancellable operations in
14853 * code that does not allow you to pass down the cancellable object.
14854 * This is typically called automatically by e.g. #GFile operations,
14855 * so you rarely have to call this yourself.
14860 * g_file_query_exists:
14861 * @file: input #GFile.
14862 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
14864 * Utility function to check if a particular file exists. This is
14865 * implemented using g_file_query_info() and as such does blocking I/O.
14866 * Note that in many cases it is racy to first check for file existence
14867 * and then execute something based on the outcome of that, because the
14868 * file might have been created or removed in between the operations. The
14869 * general approach to handling that is to not check, but just do the
14870 * operation and handle the errors as they come.
14871 * As an example of race-free checking, take the case of reading a file, and
14872 * can both result in two processes creating the file (with perhaps a partially
14873 * written file as the result). The correct approach is to always try to create
14874 * the file with g_file_create() which will either atomically create the file
14875 * or fail with a G_IO_ERROR_EXISTS error.
14876 * However, in many cases an existence check is useful in a user
14877 * interface, for instance to make a menu item sensitive/insensitive, so that
14878 * you don't have to fool users that something is possible and then just show
14879 * and error dialog. If you do this, you should make sure to also handle the
14880 * errors that can happen due to races when you execute the operation.
14882 * If it doesn't exist, creating it. there are two racy versions: read it, and
14883 * On error create it; and: check if it exists, if not create it. These
14884 * Returns: %TRUE if the file exists (and can be detected without error), %FALSE otherwise (or if cancelled).
14889 * g_inet_address_get_is_any:
14890 * @address: a #GInetAddress
14892 * Tests whether @address is the "any" address for its family.
14894 * Returns: %TRUE if @address is the "any" address for its family.
14900 * g_unix_socket_address_get_path:
14901 * @address: a #GInetSocketAddress
14903 * Gets @address's path, or for abstract sockets the "name".
14904 * Guaranteed to be zero-terminated, but an abstract socket
14905 * may contain embedded zeros, and thus you should use
14906 * g_unix_socket_address_get_path_len() to get the true length
14909 * Returns: the path for @address
14915 * SECTION:gdbusserve:
14916 * @short_description: Helper for accepting connections
14917 * @include: gio/gio.h
14919 * #GDBusServer is a helper for listening to and accepting D-Bus
14921 * <example id="gdbus-peer-to-peer"><title>D-Bus peer-to-peer example</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-peer.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
14928 * The fundamental type corresponding to #gulong.
14933 * SECTION:gdbusmessag:
14934 * @short_description: D-Bus Message
14935 * @include: gio/gio.h
14937 * A type for representing D-Bus messages that can be sent or received
14938 * on a #GDBusConnection.
14944 * @parent_instance: private #GParamSpec portion
14945 * @enum_class: the #GEnumClass for the enum
14946 * @default_value: default value for the property specified
14948 * A #GParamSpec derived structure that contains the meta data for enum
14954 * G_PARAM_USER_SHIFT:
14956 * Minimum shift count to be used for user defined flags, to be stored in
14957 * #GParamSpec.flags. The maximum allowed is 30 + G_PARAM_USER_SHIFT.
14964 * A C representable type name for #G_TYPE_STRV.
14969 * G_TYPE_FROM_INTERFACE:
14970 * @g_iface: Location of a valid #GTypeInterface structure.
14972 * Get the type identifier from a given @interface structure.
14973 * This macro should only be used in type implementations.
14975 * Returns: the #GType
14980 * g_inet_address_get_is_mc_link_local:
14981 * @address: a #GInetAddress
14983 * Tests whether @address is a link-local multicast address.
14985 * Returns: %TRUE if @address is a link-local multicast address.
14993 * The #GDBusMessage structure contains only private data and should
14994 * only be accessed using the provided API.
15002 * @closure: the #GClosure to which the marshaller belongs
15003 * @return_value: a #GValue to store the return value. May be %NULL if the callback of @closure doesn't return a value.
15004 * @n_param_values: the length of the @param_values array
15005 * @param_values: an array of #GValue<!-- -->s holding the arguments on which to invoke the callback of @closure
15006 * @invocation_hint: the invocation hint given as the last argument to g_closure_invoke()
15007 * @marshal_data: additional data specified when registering the marshaller, see g_closure_set_marshal() and g_closure_set_meta_marshal()
15009 * The type used for marshaller functions.
15014 * g_file_enumerator_close_async:
15015 * @enumerator: a #GFileEnumerator.
15016 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
15017 * @cancellable: optional #GCancellable object, %NULL to ignore.
15018 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
15019 * @user_data: the data to pass to callback function
15021 * Asynchronously closes the file enumerator.
15022 * If @cancellable is not %NULL, then the operation can be cancelled by
15023 * triggering the cancellable object from another thread. If the operation
15024 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in
15025 * g_file_enumerator_close_finish().
15030 * G_IS_PARAM_SPEC_OVERRIDE:
15031 * @pspec: a #GParamSpec
15033 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OVERRIDE.
15036 * Returns: %TRUE on success.
15041 * SECTION:gactiongrou:
15042 * @title: GActionGroup
15043 * @short_description: A group of actions
15045 * #GActionGroup represents a group of actions.
15046 * Each action in the group has a unique name (which is a string). All
15047 * method calls, except g_action_group_list_actions() take the name of
15048 * an action as an argument.
15049 * The #GActionGroup API is meant to be the 'public' API to the action
15050 * group. The calls here are exactly the interaction that 'external
15051 * the action group implementation) are found on subclasses. This is
15052 * why you will find -- for example -- g_action_group_get_enabled() but
15053 * not an equivalent <function>set()</function> call.
15054 * Signals are emitted on the action group in response to state changes
15055 * on individual actions.
15057 * Forces' (eg: UI, incoming D-Bus messages, etc.) are supposed to have
15058 * With actions. 'internal' apis (ie: ones meant only to be accessed by
15063 * SECTION:gpollableoutputstrea:
15064 * @short_description: Interface for pollable output streams
15065 * @include: gio/gio.h
15066 * @see_also: #GOutputStream, #GFileDescriptorBased, #GPollableInputStream
15068 * #GPollableOutputStream is implemented by #GOutputStream<!-- -->s that
15069 * can be polled for readiness to write. This can be used when
15070 * interfacing with a non-GIO API that expects
15071 * UNIX-file-descriptor-style asynchronous I/O rather than GIO-style.
15078 * GUnixOutputStream:close-fd:
15080 * Whether to close the file descriptor when the stream is closed.
15088 * @appinfo: a #GAppInfo.
15090 * Creates a duplicate of a #GAppInfo.
15092 * Returns: (transfer full): a duplicate of @appinfo.
15097 * g_srv_target_copy:
15098 * @target: a #GSrvTarget
15102 * Returns: a copy of @target
15108 * G_OBJECT_CLASS_TYPE:
15109 * @class: a valid #GObjectClass
15111 * Get the type id of a class structure.
15113 * Returns: Type id of @class.
15120 * Use this for high priority event sources.
15121 * It is not used within GLib or GTK+.
15126 * g_app_launch_context_get_display:
15127 * @context: a #GAppLaunchContext
15128 * @info: a #GAppInfo
15129 * @files: (element-type GFile): a #GList of #GFile objects
15131 * Gets the display string for the @context. This is used to ensure new
15132 * applications are started on the same display as the launching
15133 * application, by setting the <envar>DISPLAY</envar> environment variable.
15135 * Returns: a display string for the display.
15140 * g_desktop_app_info_get_is_hidden:
15141 * @info: a #GDesktopAppInfo.
15143 * A desktop file is hidden if the Hidden key in it is
15146 * Returns: %TRUE if hidden, %FALSE otherwise.
15151 * g_pollable_output_stream_is_writable:
15152 * @stream: a #GPollableOutputStream.
15154 * Checks if @stream can be written.
15155 * Note that some stream types may not be able to implement this 100%
15156 * reliably, and it is possible that a call to g_output_stream_write()
15157 * after this returns %TRUE would still block. To guarantee
15158 * non-blocking behavior, you should always use
15159 * g_pollable_output_stream_write_nonblocking(), which will return a
15160 * %G_IO_ERROR_WOULD_BLOCK error rather than blocking.
15161 * has occurred on @stream, this will result in
15162 * g_pollable_output_stream_is_writable() returning %TRUE, and the
15163 * next attempt to write will return the error.
15165 * Returns: %TRUE if @stream is writable, %FALSE if not. If an error
15171 * g_node_append_data:
15172 * @parent: the #GNode to place the new #GNode under
15173 * @data: the data for the new #GNode
15175 * Inserts a new #GNode as the last child of the given parent.
15177 * Returns: the new #GNode
15182 * g_socket_send_message:
15183 * @socket: a #GSocket
15184 * @address: a #GSocketAddress, or %NULL
15185 * @vectors: an array of #GOutputVector structs
15186 * @num_vectors: the number of elements in @vectors, or -1
15187 * @messages: a pointer to an array of #GSocketControlMessages, or %NULL.
15188 * @num_messages: number of elements in @messages, or -1.
15189 * @flags: an int containing #GSocketMsgFlags flags
15190 * @cancellable: a %GCancellable or %NULL
15191 * @error: #GError for error reporting, or %NULL to ignore.
15193 * Send data to @address on @socket. This is the most complicated and
15194 * fully-featured version of this call. For easier use, see
15195 * g_socket_send() and g_socket_send_to().
15196 * If @address is %NULL then the message is sent to the default receiver
15197 * (set by g_socket_connect()).
15198 * then @vectors is assumed to be terminated by a #GOutputVector with a
15199 * %NULL buffer pointer.) The #GOutputVector structs describe the buffers
15200 * that the sent data will be gathered from. Using multiple
15201 * #GOutputVector<!-- -->s is more memory-efficient than manually copying
15202 * data from multiple sources into a single buffer, and more
15203 * network-efficient than making multiple calls to g_socket_send().
15204 * #GSocketControlMessage instances. These correspond to the control
15205 * messages to be sent on the socket.
15206 * If @num_messages is -1 then @messages is treated as a %NULL-terminated
15208 * for this are available in the #GSocketMsgFlags enum, but the
15209 * values there are the same as the system values, and the flags
15210 * are passed in as-is, so you can pass in system-specific flags too.
15211 * If the socket is in blocking mode the call will block until there is
15212 * space for the data in the socket queue. If there is no space available
15213 * and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error
15214 * will be returned. To be notified when space is available, wait for the
15215 * %G_IO_OUT condition. Note though that you may still receive
15216 * %G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously
15217 * notified of a %G_IO_OUT condition. (On Windows in particular, this is
15218 * very common due to the way the underlying APIs work.)
15219 * On error -1 is returned and @error is set accordingly.
15222 * Returns: Number of bytes written (which may be less than @size), or -1
15228 * GDBusInterfaceInfo:
15229 * @ref_count: The reference count or -1 if statically allocated.
15230 * @name: The name of the D-Bus interface, e.g. "org.freedesktop.DBus.Properties".
15231 * @methods: A pointer to a %NULL-terminated array of pointers to #GDBusMethodInfo structures or %NULL if there are no methods.
15232 * @signals: A pointer to a %NULL-terminated array of pointers to #GDBusSignalInfo structures or %NULL if there are no signals.
15233 * @properties: A pointer to a %NULL-terminated array of pointers to #GDBusPropertyInfo structures or %NULL if there are no properties.
15234 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
15236 * Information about a D-Bus interface.
15243 * g_permission_release:
15244 * @permission: a #GPermission instance
15245 * @cancellable: a #GCancellable, or %NULL
15246 * @error: a pointer to a %NULL #GError, or %NULL
15247 * @returns: %TRUE if the permission was successfully released
15249 * Attempts to release the permission represented by @permission.
15250 * The precise method by which this happens depends on the permission
15251 * and the underlying authentication mechanism. In most cases the
15252 * permission will be dropped immediately without further action.
15253 * You should check with g_permission_get_can_release() before calling
15255 * If the permission is released then %TRUE is returned. Otherwise,
15256 * %FALSE is returned and @error is set appropriately.
15257 * This call is blocking, likely for a very long time (in the case that
15258 * user interaction is required). See g_permission_release_async() for
15259 * the non-blocking version.
15266 * G_VARIANT_TYPE_UINT16:
15268 * The type of an integer value that can range from 0 to 65535.
15269 * There were about this many people living in Toronto in the 1870s.
15274 * GSettings::change-event:
15275 * @settings: the object on which the signal was emitted
15276 * @keys: an array of #GQuark<!-- -->s for the changed keys, or %NULL
15277 * @n_keys: the length of the @keys array, or 0
15278 * @returns: %TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.
15280 * The "change-event" signal is emitted once per change event that
15281 * affects this settings object. You should connect to this signal
15282 * only if you are interested in viewing groups of changes before they
15283 * are split out into multiple emissions of the "changed" signal.
15284 * For most use cases it is more appropriate to use the "changed" signal.
15285 * In the event that the change event applies to one or more specified
15286 * keys, @keys will be an array of #GQuark of length @n_keys. In the
15287 * event that the change event applies to the #GSettings object as a
15288 * be %NULL and @n_keys will be 0.
15289 * The default handler for this signal invokes the "changed" signal
15290 * for each affected key. If any other connected handler returns
15291 * %TRUE then this default functionality will be supressed.
15293 * Whole (ie: potentially every key has been changed) then @keys will
15298 * GInetAddress:is-mc-org-local:
15300 * Whether this is an organization-local multicast address.
15301 * See g_inet_address_get_is_mc_org_local().
15308 * g_file_start_mountable_finish:
15309 * @file: input #GFile.
15310 * @result: a #GAsyncResult.
15311 * @error: a #GError, or %NULL
15313 * Finishes a start operation. See g_file_start_mountable() for details.
15314 * Finish an asynchronous start operation that was started
15315 * with g_file_start_mountable().
15318 * Returns: %TRUE if the operation finished successfully. %FALSE
15324 * g_input_stream_read_async:
15325 * @stream: A #GInputStream.
15326 * @buffer: a buffer to read data into (which should be at least count bytes long).
15327 * @count: the number of bytes that will be read from the stream
15328 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
15329 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
15330 * @callback: (scope async): callback to call when the request is satisfied
15331 * @user_data: (closure): the data to pass to callback function
15333 * Request an asynchronous read of @count bytes from the stream into the buffer
15334 * starting at @buffer. When the operation is finished @callback will be called.
15335 * You can then call g_input_stream_read_finish() to get the result of the
15337 * During an async request no other sync and async calls are allowed on @stream, and will
15338 * result in %G_IO_ERROR_PENDING errors.
15339 * A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
15340 * On success, the number of bytes read into the buffer will be passed to the
15341 * callback. It is not an error if this is not the same as the requested size, as it
15342 * can happen e.g. near the end of a file, but generally we try to read
15343 * as many bytes as requested. Zero is returned on end of file
15344 * (or if @count is zero), but never otherwise.
15345 * Any outstanding i/o request with higher priority (lower numerical value) will
15346 * be executed before an outstanding request with lower priority. Default
15347 * priority is %G_PRIORITY_DEFAULT.
15348 * The asyncronous methods have a default fallback that uses threads to implement
15349 * asynchronicity, so they are optional for inheriting classes. However, if you
15350 * override one you must override all.
15355 * g_data_input_stream_new:
15356 * @base_stream: a #GInputStream.
15358 * Creates a new data input stream for the @base_stream.
15360 * Returns: a new #GDataInputStream.
15366 * @file: input #GFile.
15368 * Gets the URI for the @file.
15369 * This call does no blocking i/o.
15370 * The returned string should be freed with g_free() when no longer needed.
15372 * Returns: a string containing the #GFile's URI.
15377 * g_mount_get_volume:
15378 * @mount: a #GMount.
15380 * Gets the volume for the @mount.
15381 * The returned object should be unreffed with
15382 * g_object_unref() when no longer needed.
15384 * Returns: (transfer full): a #GVolume or %NULL if @mount is not associated with a volume.
15389 * g_buffered_input_stream_get_available:
15390 * @stream: #GBufferedInputStream
15392 * Gets the size of the available data within the stream.
15394 * Returns: size of the available stream.
15399 * GDBusSendMessageFlags:
15400 * @G_DBUS_SEND_MESSAGE_FLAGS_NONE: No flags set.
15401 * @G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: Do not automatically assign a serial number from the #GDBusConnection object when sending a message.
15403 * Flags used when sending #GDBusMessage<!-- -->s on a #GDBusConnection.
15410 * g_settings_reset:
15411 * @settings: a #GSettings object
15412 * @key: the name of a key
15414 * Resets @key to its default value.
15415 * This call resets the key, as much as possible, to its default value.
15416 * That might the value specified in the schema or the one set by the
15422 * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION:
15424 * A key in the "standard" namespace for getting the description of the file.
15425 * The description is a utf8 string that describes the file, generally containing
15426 * the filename, but can also contain furter information. Example descriptions
15427 * could be "filename (on hostname)" for a remote file or "filename (in trash)"
15428 * for a file in the trash. This is useful for instance as the window title
15429 * when displaying a directory or for a bookmarks menu.
15430 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
15435 * SECTION:gdbusaddres:
15436 * @title: D-Bus Addresses
15437 * @short_description: D-Bus connection endpoints
15438 * @include: gio/gio.h
15440 * Routines for working with D-Bus addresses. A D-Bus address is a string
15441 * like "unix:tmpdir=/tmp/my-app-name". The exact format of addresses
15442 * is explained in detail in the <link linkend="http://dbus.freedesktop.org/doc/dbus-specification.html#addresses">D-Bus specification</link>.
15447 * g_volume_eject_finish:
15448 * @volume: pointer to a #GVolume.
15449 * @result: a #GAsyncResult.
15450 * @error: a #GError location to store an error, or %NULL to ignore
15452 * Finishes ejecting a volume. If any errors occured during the operation,
15454 * Returns: %TRUE, %FALSE if operation failed.
15455 * Deprecated: 2.22: Use g_volume_eject_with_operation_finish() instead.
15461 * @file: input #GFile.
15463 * Duplicates a #GFile handle. This operation does not duplicate
15464 * the actual file or directory represented by the #GFile; see
15465 * g_file_copy() if attempting to copy a file.
15466 * This call does no blocking i/o.
15468 * Returns: (transfer full): a new #GFile that is a duplicate of the given #GFile.
15473 * g_unix_mount_points_changed_since:
15474 * @time: guint64 to contain a timestamp.
15476 * Checks if the unix mount points have changed since a given unix time.
15478 * Returns: %TRUE if the mount points have changed since @time.
15483 * SECTION:gdbusauthobserve:
15484 * @short_description: Object used for authenticating connections
15485 * @include: gio/gio.h
15487 * The #GDBusAuthObserver type provides a mechanism for participating
15488 * in how a #GDBusServer (or a #GDBusConnection) authenticates remote
15489 * peers. Simply instantiate a #GDBusAuthObserver and connect to the
15490 * signals you are interested in. Note that new signals may be added
15492 * For example, if you only want to allow D-Bus connections from
15493 * processes owned by the same uid as the server, you would use a
15494 * signal handler like the following:
15495 * <example id="auth-observer"><title>Controlling Authentication</title><programlisting>
15497 * on_authorize_authenticated_peer (GDBusAuthObserver *observer,
15498 * GIOStream *stream,
15499 * GCredentials *credentials,
15500 * gpointer user_data)
15502 * gboolean authorized;
15503 * authorized = FALSE;
15504 * if (credentials != NULL)
15506 * GCredentials *own_credentials;
15507 * own_credentials = g_credentials_new ();
15508 * if (g_credentials_is_same_user (credentials, own_credentials, NULL))
15509 * authorized = TRUE;
15510 * g_object_unref (own_credentials);
15512 * return authorized;
15514 * </programlisting></example>
15519 * G_TYPE_PARAM_VARIANT:
15521 * The #GType of #GParamSpecVariant.
15528 * g_settings_set_string:
15529 * @settings: a #GSettings object
15530 * @key: the name of the key to set
15531 * @value: the value to set it to
15532 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
15534 * Sets @key in @settings to @value.
15535 * A convenience variant of g_settings_set() for strings.
15536 * It is a programmer error to give a @key that isn't specified as
15537 * having a string type in the schema for @settings.
15544 * GBusNameAppearedCallback:
15545 * @connection: The #GDBusConnection the name is being watched on.
15546 * @name: The name being watched.
15547 * @name_owner: Unique name of the owner of the name being watched.
15548 * @user_data: User data passed to g_bus_watch_name().
15550 * Invoked when the name being watched is known to have to have a owner.
15557 * g_mount_unmount_finish:
15558 * @mount: a #GMount.
15559 * @result: a #GAsyncResult.
15560 * @error: a #GError location to store the error occuring, or %NULL to ignore.
15562 * Finishes unmounting a mount. If any errors occurred during the operation,
15564 * Returns: %TRUE if the mount was successfully unmounted. %FALSE otherwise.
15565 * Deprecated: 2.22: Use g_mount_unmount_with_operation_finish() instead.
15570 * g_buffered_output_stream_get_buffer_size:
15571 * @stream: a #GBufferedOutputStream.
15573 * Gets the size of the buffer in the @stream.
15575 * Returns: the current size of the buffer.
15580 * g_action_group_list_actions:
15581 * @action_group: a #GActionGroup
15583 * Lists the actions contained within @action_group.
15584 * The caller is responsible for freeing the list with g_strfreev() when
15585 * it is no longer required.
15586 * actions in the groupb
15588 * Returns: (transfer full): a %NULL-terminated array of the names of the
15595 * @G_USER_DIRECTORY_DESKTOP: the user's Desktop directory
15596 * @G_USER_DIRECTORY_DOCUMENTS: the user's Documents directory
15597 * @G_USER_DIRECTORY_DOWNLOAD: the user's Downloads directory
15598 * @G_USER_DIRECTORY_MUSIC: the user's Music directory
15599 * @G_USER_DIRECTORY_PICTURES: the user's Pictures directory
15600 * @G_USER_DIRECTORY_PUBLIC_SHARE: the user's shared directory
15601 * @G_USER_DIRECTORY_TEMPLATES: the user's Templates directory
15602 * @G_USER_DIRECTORY_VIDEOS: the user's Movies directory
15603 * @G_USER_N_DIRECTORIES: the number of enum values
15605 * These are logical ids for special directories which are defined
15606 * depending on the platform used. You should use g_get_user_special_dir()
15607 * to retrieve the full path associated to the logical id.
15608 * The #GUserDirectory enumeration can be extended at later date. Not
15609 * every platform has a directory for every logical id in this
15617 * g_dbus_method_invocation_return_error_literal:
15618 * @invocation: A #GDBusMethodInvocation.
15619 * @domain: A #GQuark for the #GError error domain.
15620 * @code: The error code.
15621 * @message: The error message.
15623 * Like g_dbus_method_invocation_return_error() but without printf()-style formatting.
15624 * This method will free @invocation, you cannot use it afterwards.
15631 * g_dbus_message_get_serial:
15632 * @message: A #GDBusMessage.
15634 * Gets the serial for @message.
15636 * Returns: A #guint32.
15642 * GTlsRehandshakeMode:
15643 * @G_TLS_REHANDSHAKE_NEVER: Never allow rehandshaking
15644 * @G_TLS_REHANDSHAKE_SAFELY: Allow safe rehandshaking only
15645 * @G_TLS_REHANDSHAKE_UNSAFELY: Allow unsafe rehandshaking
15647 * When to allow rehandshaking. See
15648 * g_tls_connection_set_rehandshake_mode().
15655 * g_file_attribute_matcher_ref:
15656 * @matcher: a #GFileAttributeMatcher.
15658 * References a file attribute matcher.
15660 * Returns: a #GFileAttributeMatcher.
15665 * GFilenameCompleter:
15667 * Completes filenames based on files that exist within the file system.
15673 * @ref_count: The reference count or -1 if statically allocated.
15674 * @name: The name of the D-Bus signal, e.g. "NameOwnerChanged".
15675 * @args: A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no arguments.
15676 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
15678 * Information about a signal on a D-Bus interface.
15685 * G_SIGNAL_MATCH_MASK:
15687 * A mask for all #GSignalMatchType bits.
15694 * Creates a new file info structure.
15696 * Returns: a #GFileInfo.
15701 * g_unix_output_stream_new:
15702 * @fd: a UNIX file descriptor
15703 * @close_fd: %TRUE to close the file descriptor when done
15705 * Creates a new #GUnixOutputStream for the given @fd.
15706 * If @close_fd, is %TRUE, the file descriptor will be closed when
15707 * the output stream is destroyed.
15709 * Returns: a new #GOutputStream
15714 * g_input_stream_close:
15715 * @stream: A #GInputStream.
15716 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
15717 * @error: location to store the error occuring, or %NULL to ignore
15719 * Closes the stream, releasing resources related to it.
15720 * Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED.
15721 * Closing a stream multiple times will not return an error.
15722 * Streams will be automatically closed when the last reference
15723 * is dropped, but you might want to call this function to make sure
15724 * resources are released as early as possible.
15725 * Some streams might keep the backing store of the stream (e.g. a file descriptor)
15726 * open after the stream is closed. See the documentation for the individual
15727 * stream for details.
15728 * On failure the first error that happened will be reported, but the close
15729 * operation will finish as much as possible. A stream that failed to
15730 * close will still return %G_IO_ERROR_CLOSED for all operations. Still, it
15731 * is important to check and report the error to the user.
15732 * If @cancellable is not NULL, then the operation can be cancelled by
15733 * triggering the cancellable object from another thread. If the operation
15734 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
15735 * Cancelling a close will still leave the stream closed, but some streams
15736 * can use a faster close that doesn't block to e.g. check errors.
15738 * Returns: %TRUE on success, %FALSE on failure
15743 * g_dbus_annotation_info_lookup:
15744 * @annotations: A %NULL-terminated array of annotations or %NULL.
15745 * @name: The name of the annotation to look up.
15747 * Looks up the value of an annotation.
15748 * This cost of this function is O(n) in number of annotations.
15750 * Returns: The value or %NULL if not found. Do not free, it is owned by @annotations.
15756 * g_file_set_display_name_async:
15757 * @file: input #GFile.
15758 * @display_name: a string.
15759 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
15760 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
15761 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
15762 * @user_data: (closure): the data to pass to callback function
15764 * Asynchronously sets the display name for a given #GFile.
15765 * For more details, see g_file_set_display_name() which is
15766 * the synchronous version of this call.
15767 * When the operation is finished, @callback will be called. You can then call
15768 * g_file_set_display_name_finish() to get the result of the operation.
15773 * g_socket_listener_accept_finish:
15774 * @listener: a #GSocketListener
15775 * @result: a #GAsyncResult.
15776 * @source_object: Optional #GObject identifying this source
15777 * @error: a #GError location to store the error occuring, or %NULL to ignore.
15779 * Finishes an async accept operation. See g_socket_listener_accept_async()
15781 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
15787 * GSimpleAction:parameter-type:
15789 * The type of the parameter that must be given when activating the
15797 * g_proxy_supports_hostname:
15798 * @proxy: a #GProxy
15800 * Some proxy protocols expect to be passed a hostname, which they
15801 * will resolve to an IP address themselves. Others, like SOCKS4, do
15802 * not allow this. This function will return %FALSE if @proxy is
15803 * implementing such a protocol. When %FALSE is returned, the caller
15804 * should resolve the destination hostname first, and then pass a
15805 * #GProxyAddress containing the stringified IP address to
15806 * g_proxy_connect() or g_proxy_connect_async().
15808 * Returns: %TRUE if hostname resolution is supported.
15814 * g_file_info_get_attribute_uint64:
15815 * @info: a #GFileInfo.
15816 * @attribute: a file attribute key.
15818 * Gets a unsigned 64-bit integer contained within the attribute. If the
15819 * attribute does not contain an unsigned 64-bit integer, or is invalid,
15820 * 0 will be returned.
15822 * Returns: a unsigned 64-bit integer from the attribute.
15827 * g_dbus_message_get_sender:
15828 * @message: A #GDBusMessage.
15830 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
15832 * Returns: The value.
15838 * g_tls_connection_handshake:
15839 * @conn: a #GTlsConnection
15840 * @cancellable: a #GCancellable, or %NULL
15841 * @error: a #GError, or %NULL
15843 * Attempts a TLS handshake on @conn.
15844 * On the client side, it is never necessary to call this method;
15845 * although the connection needs to perform a handshake after
15846 * connecting (or after sending a "STARTTLS"-type command) and may
15847 * need to rehandshake later if the server requests it,
15848 * #GTlsConnection will handle this for you automatically when you try
15849 * to send or receive data on the connection. However, you can call
15850 * g_tls_connection_handshake() manually if you want to know for sure
15851 * whether the initial handshake succeeded or failed (as opposed to
15852 * just immediately trying to write to @conn's output stream, in which
15853 * case if it fails, it may not be possible to tell if it failed
15854 * before or after completing the handshake).
15855 * Likewise, on the server side, although a handshake is necessary at
15856 * the beginning of the communication, you do not need to call this
15857 * function explicitly unless you want clearer error reporting.
15858 * However, you may call g_tls_connection_handshake() later on to
15859 * renegotiate parameters (encryption methods, etc) with the client.
15860 * #GTlsConnection::accept_certificate may be emitted during the
15863 * Returns: success or failure
15870 * @type: a #GType ID.
15872 * Checks whether @type "is a" %G_TYPE_ENUM.
15874 * Returns: %TRUE if @type "is a" %G_TYPE_ENUM.
15879 * g_mount_operation_set_username:
15880 * @op: a #GMountOperation.
15881 * @username: input username.
15883 * Sets the user name within @op to @username.
15888 * GSourceCallbackFuncs:
15889 * @ref: Called when a reference is added to the callback object
15890 * @unref: Called when a reference to the callback object is dropped
15891 * @get: Called to extract the callback function and data from the callback object.
15893 * The <structname>GSourceCallbackFuncs</structname> struct contains
15894 * functions for managing callback objects.
15899 * GDBusProxy:g-name:
15901 * The well-known or unique name that the proxy is for.
15909 * @mount: A #GMount.
15911 * Increments the shadow count on @mount. Usually used by
15912 * #GVolumeMonitor implementations when creating a shadow mount for
15913 * will need to emit the #GMount::changed signal on @mount manually.
15922 * Stores information about a file system object referenced by a #GFile.
15928 * @object: Object which is subject to casting.
15930 * Casts a #GObject or derived pointer into a (GObject*) pointer.
15931 * Depending on the current debugging level, this function may invoke
15932 * certain runtime checks to identify invalid casts.
15937 * GTlsConnection:peer-certificate:
15939 * The connection's peer's certificate, after the TLS handshake has
15940 * completed and the certificate has been accepted. Note in
15941 * particular that this is not yet set during the emission of
15942 * #GTlsConnection::accept-certificate.
15943 * (You can watch for a #GObject::notify signal on this property to
15944 * detect when a handshake has occurred.)
15951 * g_file_query_filesystem_info_async:
15952 * @file: input #GFile.
15953 * @attributes: an attribute query string.
15954 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
15955 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
15956 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
15957 * @user_data: (closure): the data to pass to callback function
15959 * Asynchronously gets the requested information about the filesystem
15960 * that the specified @file is on. The result is a #GFileInfo object
15961 * that contains key-value attributes (such as type or size for the
15963 * For more details, see g_file_query_filesystem_info() which is the
15964 * synchronous version of this call.
15965 * When the operation is finished, @callback will be called. You can
15966 * then call g_file_query_info_finish() to get the result of the
15972 * g_file_attribute_info_list_add:
15973 * @list: a #GFileAttributeInfoList.
15974 * @name: the name of the attribute to add.
15975 * @type: the #GFileAttributeType for the attribute.
15976 * @flags: #GFileAttributeInfoFlags for the attribute.
15978 * Adds a new attribute with @name to the @list, setting
15979 * its @type and @flags.
15987 * Returns %TRUE if a #GNode is the root of a tree.
15988 * (i.e. it has no parent or siblings)
15990 * Returns: %TRUE if the #GNode is the root of a tree
15995 * GUnixInputStream:close-fd:
15997 * Whether to close the file descriptor when the stream is closed.
16004 * g_content_type_from_mime_type:
16005 * @mime_type: a mime type string
16007 * Tries to find a content type based on the mime type name.
16008 * or %NULL. Free with g_free()
16010 * Returns: (allow-none): Newly allocated string with content type
16016 * g_srv_target_get_port:
16017 * @target: a #GSrvTarget
16019 * Gets @target's port
16021 * Returns: @target's port
16028 * @mount: a #GMount.
16029 * @flags: flags affecting the unmount if required for eject
16030 * @cancellable: optional #GCancellable object, %NULL to ignore.
16031 * @callback: a #GAsyncReadyCallback, or %NULL.
16032 * @user_data: user data passed to @callback.
16034 * Ejects a mount. This is an asynchronous operation, and is
16035 * finished by calling g_mount_eject_finish() with the @mount
16036 * and #GAsyncResult data returned in the @callback.
16038 * Deprecated: 2.22: Use g_mount_eject_with_operation() instead.
16043 * G_VALUE_HOLDS_CHAR:
16044 * @value: a valid #GValue structure
16046 * Checks whether the given #GValue can hold values of type %G_TYPE_CHAR.
16048 * Returns: %TRUE on success.
16053 * G_TYPE_IS_FUNDAMENTAL:
16054 * @type: A #GType value.
16056 * Checks if @type is a fundamental type.
16058 * Returns: %TRUE on success.
16063 * g_dbus_error_get_remote_error:
16064 * @error: A #GError.
16066 * Gets the D-Bus error name used for @error, if any.
16067 * This function is guaranteed to return a D-Bus error name for all
16068 * #GError<!-- -->s returned from functions handling remote method
16069 * calls (e.g. g_dbus_connection_call_finish()) unless
16070 * g_dbus_error_strip_remote_error() has been used on @error.
16072 * Returns: An allocated string or %NULL if the D-Bus error name could not be found. Free with g_free().
16078 * SECTION:gsettingsbacken:
16079 * @title: GSettingsBackend
16080 * @short_description: Interface for settings backend implementations
16081 * @include: gio/gsettingsbackend.h
16082 * @see_also: #GSettings, #GIOExtensionPoint
16084 * The #GSettingsBackend interface defines a generic interface for
16085 * non-strictly-typed data that is stored in a hierarchy. To implement
16086 * an alternative storage backend for #GSettings, you need to implement
16087 * the #GSettingsBackend interface and then make it implement the
16088 * extension point #G_SETTINGS_BACKEND_EXTENSION_POINT_NAME.
16089 * The interface defines methods for reading and writing values, a
16090 * method for determining if writing of certain values will fail
16091 * (lockdown) and a change notification mechanism.
16092 * The semantics of the interface are very precisely defined and
16093 * implementations must carefully adhere to the expectations of
16094 * callers that are documented on each of the interface methods.
16095 * Some of the GSettingsBackend functions accept or return a #GTree.
16096 * These trees always have strings as keys and #GVariant as values.
16097 * g_settings_backend_create_tree() is a convenience function to create
16100 * The #GSettingsBackend API is exported to allow third-party
16101 * implementations, but does not carry the same stability guarantees
16102 * as the public GIO API. For this reason, you have to define the
16103 * C preprocessor symbol #G_SETTINGS_ENABLE_BACKEND before including
16104 * <filename>gio/gsettingsbackend.h</filename>
16110 * g_dbus_interface_info_lookup_method:
16111 * @info: A #GDBusInterfaceInfo.
16112 * @name: A D-Bus method name (typically in CamelCase)
16114 * Looks up information about a method.
16115 * This cost of this function is O(n) in number of methods.
16117 * Returns: A #GDBusMethodInfo or %NULL if not found. Do not free, it is owned by @info.
16123 * GDBusConnection:closed:
16125 * A boolean specifying whether the connection has been closed.
16133 * @g_iface: The parent interface.
16134 * @connect: Connect to proxy server and wrap (if required) the #connection to handle payload.
16135 * @connect_async: Same has connect() but asynchronous.
16136 * @connect_finish: Returns the result of connect_async()
16138 * Provides an interface for handling proxy connection and payload.
16145 * g_zlib_compressor_new:
16146 * @format: The format to use for the compressed data
16147 * @level: compression level (0-9), -1 for default
16149 * Creates a new #GZlibCompressor.
16151 * Returns: a new #GZlibCompressor
16157 * g_cancellable_disconnect:
16158 * @cancellable: A #GCancellable or %NULL.
16159 * @handler_id: Handler id of the handler to be disconnected, or %0.
16161 * Disconnects a handler from a cancellable instance similar to
16162 * g_signal_handler_disconnect(). Additionally, in the event that a
16163 * signal handler is currently running, this call will block until the
16164 * handler has finished. Calling this function from a
16165 * #GCancellable::cancelled signal handler will therefore result in a
16167 * This avoids a race condition where a thread cancels at the
16168 * same time as the cancellable operation is finished and the
16169 * signal handler is removed. See #GCancellable::cancelled for
16170 * details on how to use this.
16171 * If @cancellable is %NULL or @handler_id is %0 this function does
16179 * GTlsClientConnection:server-identity:
16181 * A #GSocketConnectable describing the identity of the server that
16182 * is expected on the other end of the connection.
16183 * If the %G_TLS_CERTIFICATE_BAD_IDENTITY flag is set in
16184 * #GTlsClientConnection:validation-flags, this object will be used
16185 * to determine the expected identify of the remote end of the
16186 * connection; if #GTlsClientConnection:server-identity is not set,
16187 * or does not match the identity presented by the server, then the
16188 * %G_TLS_CERTIFICATE_BAD_IDENTITY validation will fail.
16189 * In addition to its use in verifying the server certificate,
16190 * this is also used to give a hint to the server about what
16191 * certificate we expect, which is useful for servers that serve
16199 * g_input_stream_skip_finish:
16200 * @stream: a #GInputStream.
16201 * @result: a #GAsyncResult.
16202 * @error: a #GError location to store the error occuring, or %NULL to ignore.
16204 * Finishes a stream skip operation.
16206 * Returns: the size of the bytes skipped, or %-1 on error.
16213 * A per matched file iterator.
16218 * g_resolver_set_default:
16219 * @resolver: the new default #GResolver
16221 * Sets @resolver to be the application's default resolver (reffing
16222 * Future calls to g_resolver_get_default() will return this resolver.
16223 * This can be used if an application wants to perform any sort of DNS
16224 * caching or "pinning"; it can implement its own #GResolver that
16225 * calls the original default resolver for DNS operations, and
16226 * implements its own cache policies on top of that, and then set
16227 * itself as the default resolver for all later code to use.
16234 * g_dbus_annotation_info_unref:
16235 * @info: A #GDBusAnnotationInfo.
16237 * If @info is statically allocated, does nothing. Otherwise decreases
16238 * the reference count of @info. When its reference count drops to 0,
16239 * the memory used is freed.
16246 * g_file_info_set_sort_order:
16247 * @info: a #GFileInfo.
16248 * @sort_order: a sort order integer.
16250 * Sets the sort order attribute in the file info structure. See
16251 * %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.
16256 * SECTION:goutputstrea:
16257 * @short_description: Base class for implementing streaming output
16258 * @include: gio/gio.h
16260 * GOutputStream has functions to write to a stream (g_output_stream_write()),
16261 * to close a stream (g_output_stream_close()) and to flush pending writes
16262 * (g_output_stream_flush()).
16263 * To copy the content of an input stream to an output stream without
16264 * manually handling the reads and writes, use g_output_stream_splice().
16265 * All of these functions have async variants too.
16270 * SECTION:gmemoryinputstrea:
16271 * @short_description: Streaming input operations on memory chunks
16272 * @include: gio/gio.h
16273 * @see_also: #GMemoryOutputStream
16275 * #GMemoryInputStream is a class for using arbitrary
16276 * memory chunks as input for GIO streaming input operations.
16281 * G_VALUE_HOLDS_UINT:
16282 * @value: a valid #GValue structure
16284 * Checks whether the given #GValue can hold values of type %G_TYPE_UINT.
16286 * Returns: %TRUE on success.
16291 * g_action_get_name:
16292 * @action: a #GAction
16294 * Queries the name of @action.
16296 * Returns: the name of the action
16303 * @short_description: Virtual File System
16304 * @include: gio/gio.h
16306 * Entry point for using GIO functionality.
16311 * g_file_output_stream_query_info_async:
16312 * @stream: a #GFileOutputStream.
16313 * @attributes: a file attribute query string.
16314 * @io_priority: the <link linkend="gio-GIOScheduler">I/O priority</link> of the request.
16315 * @cancellable: optional #GCancellable object, %NULL to ignore.
16316 * @callback: callback to call when the request is satisfied
16317 * @user_data: the data to pass to callback function
16319 * Asynchronously queries the @stream for a #GFileInfo. When completed,
16320 * finish the operation with g_file_output_stream_query_info_finish().
16321 * For the synchronous version of this function, see
16322 * g_file_output_stream_query_info().
16327 * g_dbus_connection_remove_filter:
16328 * @connection: a #GDBusConnection
16329 * @filter_id: an identifier obtained from g_dbus_connection_add_filter()
16331 * Removes a filter.
16338 * G_PARAM_SPEC_GTYPE:
16339 * @pspec: a #GParamSpec
16341 * Casts a #GParamSpec into a #GParamSpecGType.
16350 * The #GType for a boxed type holding a #GError.
16357 * g_resolver_lookup_by_name:
16358 * @resolver: a #GResolver
16359 * @hostname: the hostname to look up
16360 * @cancellable: a #GCancellable, or %NULL
16361 * @error: return location for a #GError, or %NULL
16363 * Synchronously resolves @hostname to determine its associated IP
16364 * address(es). @hostname may be an ASCII-only or UTF-8 hostname, or
16365 * the textual form of an IP address (in which case this just becomes
16366 * a wrapper around g_inet_address_new_from_string()).
16367 * On success, g_resolver_lookup_by_name() will return a #GList of
16368 * #GInetAddress, sorted in order of preference. (That is, you should
16369 * attempt to connect to the first address first, then the second if
16370 * the first fails, etc.)
16371 * If the DNS resolution fails, @error (if non-%NULL) will be set to a
16372 * value from #GResolverError.
16373 * If @cancellable is non-%NULL, it can be used to cancel the
16374 * operation, in which case @error (if non-%NULL) will be set to
16375 * %G_IO_ERROR_CANCELLED.
16376 * If you are planning to connect to a socket on the resolved IP
16377 * address, it may be easier to create a #GNetworkAddress and use its
16378 * #GSocketConnectable interface.
16379 * of #GInetAddress, or %NULL on error. You
16380 * must unref each of the addresses and free the list when you are
16381 * done with it. (You can use g_resolver_free_addresses() to do this.)
16383 * Returns: (element-type GInetAddress) (transfer full): a #GList
16389 * g_socket_listener_accept_async:
16390 * @listener: a #GSocketListener
16391 * @cancellable: a #GCancellable, or %NULL
16392 * @callback: a #GAsyncReadyCallback
16393 * @user_data: user data for the callback
16395 * This is the asynchronous version of g_socket_listener_accept().
16396 * When the operation is finished @callback will be
16397 * called. You can then call g_socket_listener_accept_socket()
16398 * to get the result of the operation.
16405 * g_mount_unshadow:
16406 * @mount: A #GMount.
16408 * Decrements the shadow count on @mount. Usually used by
16409 * #GVolumeMonitor implementations when destroying a shadow mount for
16410 * will need to emit the #GMount::changed signal on @mount manually.
16417 * g_file_info_get_is_backup:
16418 * @info: a #GFileInfo.
16420 * Checks if a file is a backup file.
16422 * Returns: %TRUE if file is a backup file, %FALSE otherwise.
16427 * G_VARIANT_TYPE_BASIC:
16429 * An indefinite type that is a supertype of every basic (ie:
16430 * non-container) type.
16435 * g_dbus_connection_call:
16436 * @connection: A #GDBusConnection.
16437 * @bus_name: A unique or well-known bus name or %NULL if @connection is not a message bus connection.
16438 * @object_path: Path of remote object.
16439 * @interface_name: D-Bus interface to invoke method on.
16440 * @method_name: The name of the method to invoke.
16441 * @parameters: A #GVariant tuple with parameters for the method or %NULL if not passing parameters.
16442 * @reply_type: The expected type of the reply, or %NULL.
16443 * @flags: Flags from the #GDBusCallFlags enumeration.
16444 * @timeout_msec: The timeout in milliseconds, -1 to use the default timeout or %G_MAXINT for no timeout.
16445 * @cancellable: A #GCancellable or %NULL.
16446 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation.
16447 * @user_data: The data to pass to @callback.
16449 * Asynchronously invokes the @method_name method on the
16450 * If @connection is closed then the operation will fail with
16451 * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
16452 * fail with %G_IO_ERROR_CANCELLED. If @parameters contains a value
16453 * not compatible with the D-Bus protocol, the operation fails with
16454 * %G_IO_ERROR_INVALID_ARGUMENT.
16455 * If @reply_type is non-%NULL then the reply will be checked for having this type and an
16456 * error will be raised if it does not match. Said another way, if you give a @reply_type
16457 * then any non-%NULL return value will be of this type.
16458 * If the @parameters #GVariant is floating, it is consumed. This allows
16459 * convenient 'inline' use of g_variant_new(), e.g.:
16461 * g_dbus_connection_call (connection,
16462 * "org.freedesktop.StringThings",
16463 * "/org/freedesktop/StringThings",
16464 * "org.freedesktop.StringThings",
16466 * g_variant_new ("(ss)",
16470 * G_DBUS_CALL_FLAGS_NONE,
16473 * (GAsyncReadyCallback) two_strings_done,
16476 * This is an asynchronous method. When the operation is finished, @callback will be invoked
16477 * in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
16478 * of the thread you are calling this method from. You can then call
16479 * g_dbus_connection_call_finish() to get the result of the operation.
16480 * See g_dbus_connection_call_sync() for the synchronous version of this
16488 * g_unix_fd_message_get_fd_list:
16489 * @message: a #GUnixFDMessage
16491 * Gets the #GUnixFDList contained in @message. This function does not
16492 * return a reference to the caller, but the returned list is valid for
16493 * the lifetime of @message.
16495 * Returns: (transfer none): the #GUnixFDList from @message
16503 * A type which is used to hold a process identification.
16504 * On UNIX, processes are identified by a process id (an integer),
16505 * while Windows uses process handles (which are pointers).
16510 * g_filter_input_stream_get_base_stream:
16511 * @stream: a #GFilterInputStream.
16513 * Gets the base stream for the filter stream.
16515 * Returns: (transfer none): a #GInputStream.
16520 * g_data_input_stream_get_byte_order:
16521 * @stream: a given #GDataInputStream.
16523 * Gets the byte order for the data input stream.
16525 * Returns: the @stream's current #GDataStreamByteOrder.
16530 * G_IS_OBJECT_CLASS:
16531 * @class: a #GObjectClass
16533 * Checks whether @class "is a" valid #GObjectClass structure of type
16534 * %G_TYPE_OBJECT or derived.
16541 * Interface that can be used to resolve proxy address.
16546 * G_TLS_BACKEND_EXTENSION_POINT_NAME:
16548 * Extension point for TLS functionality via #GTlsBackend.
16549 * See <link linkend="extending-gio">Extending GIO</link>.
16554 * SECTION:gdbuserro:
16555 * @title: GDBusError
16556 * @short_description: Mapping D-Bus errors to and from GError
16557 * @include: gio/gio.h
16559 * All facilities that return errors from remote methods (such as
16560 * g_dbus_connection_call_sync()) use #GError to represent both D-Bus
16561 * errors (e.g. errors returned from the other peer) and locally
16562 * in-process generated errors.
16563 * To check if a returned #GError is an error from a remote peer, use
16564 * g_dbus_error_is_remote_error(). To get the actual D-Bus error name,
16565 * use g_dbus_error_get_remote_error(). Before presenting an error,
16566 * always use g_dbus_error_strip_remote_error().
16567 * In addition, facilities used to return errors to a remote peer also
16568 * use #GError. See g_dbus_method_invocation_return_error() for
16569 * discussion about how the D-Bus error name is set.
16570 * Applications can associate a #GError error domain with a set of D-Bus errors in order to
16571 * automatically map from D-Bus errors to #GError and back. This
16572 * is typically done in the function returning the #GQuark for the
16574 * <example id="error-registration"><title>Error Registration</title><programlisting>
16575 * /<!-- -->* foo-bar-error.h: *<!-- -->/
16576 * #define FOO_BAR_ERROR (foo_bar_error_quark ())
16577 * GQuark foo_bar_error_quark (void);
16580 * FOO_BAR_ERROR_FAILED,
16581 * FOO_BAR_ERROR_ANOTHER_ERROR,
16582 * FOO_BAR_ERROR_SOME_THIRD_ERROR,
16584 * /<!-- -->* foo-bar-error.c: *<!-- -->/
16585 * static const GDBusErrorEntry foo_bar_error_entries[] =
16587 * {FOO_BAR_ERROR_FAILED, "org.project.Foo.Bar.Error.Failed"},
16588 * {FOO_BAR_ERROR_ANOTHER_ERROR, "org.project.Foo.Bar.Error.AnotherError"},
16589 * {FOO_BAR_ERROR_SOME_THIRD_ERROR, "org.project.Foo.Bar.Error.SomeThirdError"},
16592 * foo_bar_error_quark (void)
16594 * static volatile gsize quark_volatile = 0;
16595 * g_dbus_error_register_error_domain ("foo-bar-error-quark",
16597 * foo_bar_error_entries,
16598 * G_N_ELEMENTS (foo_bar_error_entries));
16599 * G_STATIC_ASSERT (G_N_ELEMENTS (foo_bar_error_entries) - 1 == FOO_BAR_ERROR_SOME_THIRD_ERROR);
16600 * return (GQuark) quark_volatile;
16602 * </programlisting></example>
16603 * With this setup, a D-Bus peer can transparently pass e.g. %FOO_BAR_ERROR_ANOTHER_ERROR and
16604 * other peers will see the D-Bus error name <literal>org.project.Foo.Bar.Error.AnotherError</literal>.
16605 * If the other peer is using GDBus, the peer will see also %FOO_BAR_ERROR_ANOTHER_ERROR instead
16606 * of %G_IO_ERROR_DBUS_ERROR. Note that GDBus clients can still recover
16607 * <literal>org.project.Foo.Bar.Error.AnotherError</literal> using g_dbus_error_get_remote_error().
16608 * Note that errors in the %G_DBUS_ERROR error domain is intended only
16609 * for returning errors from a remote message bus process. Errors
16610 * generated locally in-process by e.g. #GDBusConnection is from the
16611 * %G_IO_ERROR domain.
16616 * g_seekable_truncate:
16617 * @seekable: a #GSeekable.
16618 * @offset: a #goffset.
16619 * @cancellable: optional #GCancellable object, %NULL to ignore.
16620 * @error: a #GError location to store the error occuring, or %NULL to ignore.
16622 * Truncates a stream with a given #offset.
16623 * If @cancellable is not %NULL, then the operation can be cancelled by
16624 * triggering the cancellable object from another thread. If the operation
16625 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
16626 * operation was partially finished when the operation was cancelled the
16627 * partial result will be returned, without an error.
16628 * has occurred, this function will return %FALSE and set @error
16629 * appropriately if present.
16631 * Virtual: truncate_fn
16632 * Returns: %TRUE if successful. If an error
16637 * g_dbus_message_new_method_error:
16638 * @method_call_message: A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to create a reply message to.
16639 * @error_name: A valid D-Bus error name.
16640 * @error_message_format: The D-Bus error message in a printf() format.
16641 * @...: Arguments for @error_message_format.
16643 * Creates a new #GDBusMessage that is an error reply to @method_call_message.
16645 * Returns: (transfer full): A #GDBusMessage. Free with g_object_unref().
16651 * g_volume_eject_with_operation:
16652 * @volume: a #GVolume.
16653 * @flags: flags affecting the unmount if required for eject
16654 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
16655 * @cancellable: optional #GCancellable object, %NULL to ignore.
16656 * @callback: a #GAsyncReadyCallback, or %NULL.
16657 * @user_data: user data passed to @callback.
16659 * Ejects a volume. This is an asynchronous operation, and is
16660 * finished by calling g_volume_eject_with_operation_finish() with the @volume
16661 * and #GAsyncResult data returned in the @callback.
16669 * @settings: a #GSettings object
16670 * @key: the key to bind
16671 * @object: (type GObject.Object): a #GObject
16672 * @property: the name of the property to bind
16673 * @flags: flags for the binding
16675 * Create a binding between the @key in the @settings object
16676 * and the property @property of @object.
16677 * The binding uses the default GIO mapping functions to map
16678 * between the settings and property values. These functions
16679 * handle booleans, numeric types and string types in a
16680 * straightforward way. Use g_settings_bind_with_mapping() if
16681 * you need a custom mapping, or map between types that are not
16682 * supported by the default mapping functions.
16683 * Unless the @flags include %G_SETTINGS_BIND_NO_SENSITIVITY, this
16684 * function also establishes a binding between the writability of
16685 * a boolean property by that name). See g_settings_bind_writable()
16686 * for more details about writable bindings.
16687 * Note that the lifecycle of the binding is tied to the object,
16688 * and that you can have only one binding per object property.
16689 * If you bind the same property twice on the same object, the second
16690 * binding overrides the first one.
16697 * g_socket_client_connect_to_host_async:
16698 * @client: a #GTcpClient
16699 * @host_and_port: the name and optionally the port of the host to connect to
16700 * @default_port: the default port to connect to
16701 * @cancellable: a #GCancellable, or %NULL
16702 * @callback: a #GAsyncReadyCallback
16703 * @user_data: user data for the callback
16705 * This is the asynchronous version of g_socket_client_connect_to_host().
16706 * When the operation is finished @callback will be
16707 * called. You can then call g_socket_client_connect_to_host_finish() to get
16708 * the result of the operation.
16715 * GInitiallyUnownedClass:
16717 * The class structure for the <structname>GInitiallyUnowned</structname> type.
16722 * g_file_info_set_content_type:
16723 * @info: a #GFileInfo.
16724 * @content_type: a content type. See #GContentType.
16726 * Sets the content type attribute for a given #GFileInfo.
16727 * See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE.
16732 * g_dbus_proxy_get_flags:
16733 * @proxy: A #GDBusProxy.
16735 * Gets the flags that @proxy was constructed with.
16737 * Returns: Flags from the #GDBusProxyFlags enumeration.
16743 * GAppInfoCreateFlags:
16744 * @G_APP_INFO_CREATE_NONE: No flags.
16745 * @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window.
16746 * @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments.
16747 * @G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification. Since 2.26
16749 * Flags used when creating a #GAppInfo.
16754 * g_unix_fd_list_new_from_array:
16755 * @fds: the initial list of file descriptors
16756 * @n_fds: the length of #fds, or -1
16758 * Creates a new #GUnixFDList containing the file descriptors given in
16759 * may no longer be used by the caller. The array itself is owned by
16761 * Each file descriptor in the array should be set to close-on-exec.
16762 * If @n_fds is -1 then @fds must be terminated with -1.
16764 * Returns: a new #GUnixFDList
16770 * g_loadable_icon_load_async:
16771 * @icon: a #GLoadableIcon.
16772 * @size: an integer.
16773 * @cancellable: optional #GCancellable object, %NULL to ignore.
16774 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
16775 * @user_data: the data to pass to callback function
16777 * Loads an icon asynchronously. To finish this function, see
16778 * g_loadable_icon_load_finish(). For the synchronous, blocking
16779 * version of this function, see g_loadable_icon_load().
16784 * g_dbus_message_new_from_blob:
16785 * @blob: A blob represent a binary D-Bus message.
16786 * @blob_len: The length of @blob.
16787 * @capabilities: A #GDBusCapabilityFlags describing what protocol features are supported.
16788 * @error: Return location for error or %NULL.
16790 * Creates a new #GDBusMessage from the data stored at @blob. The byte
16791 * order that the message was in can be retrieved using
16792 * g_dbus_message_get_byte_order().
16793 * g_object_unref().
16795 * Returns: A new #GDBusMessage or %NULL if @error is set. Free with
16801 * G_TYPE_CLASS_GET_PRIVATE:
16802 * @klass: the class of a type deriving from @private_type.
16803 * @g_type: the type identifying which private data to retrieve.
16804 * @c_type: The C type for the private structure.
16806 * Gets the private class structure for a particular type.
16807 * The private structure must have been registered in the
16808 * get_type() function with g_type_add_class_private().
16809 * This macro should only be used in type implementations.
16812 * Returns: a pointer to the private data structure.
16817 * g_dbus_error_set_dbus_error:
16818 * @error: A pointer to a #GError or %NULL.
16819 * @dbus_error_name: D-Bus error name.
16820 * @dbus_error_message: D-Bus error message.
16821 * @format: printf()-style format to prepend to @dbus_error_message or %NULL.
16822 * @...: Arguments for @format.
16824 * Does nothing if @error is %NULL. Otherwise sets *@error to
16825 * a new #GError created with g_dbus_error_new_for_dbus_error()
16826 * with @dbus_error_message prepend with @format (unless %NULL).
16833 * g_file_query_info_finish:
16834 * @file: input #GFile.
16835 * @res: a #GAsyncResult.
16836 * @error: a #GError.
16838 * Finishes an asynchronous file info query.
16839 * See g_file_query_info_async().
16840 * Free the returned object with g_object_unref().
16842 * Returns: (transfer full): #GFileInfo for given @file or %NULL on error.
16847 * GDBusConnection:unique-name:
16849 * The unique name as assigned by the message bus or %NULL if the
16850 * connection is not open or not a message bus connection.
16857 * g_file_attribute_info_list_lookup:
16858 * @list: a #GFileAttributeInfoList.
16859 * @name: the name of the attribute to lookup.
16861 * Gets the file attribute with the name @name from @list.
16862 * attribute isn't found.
16864 * Returns: a #GFileAttributeInfo for the @name, or %NULL if an
16869 * G_PARAM_SPEC_POINTER:
16870 * @pspec: a valid #GParamSpec instance
16872 * Casts a #GParamSpec instance into a #GParamSpecPointer.
16877 * g_file_enumerator_close_finish:
16878 * @enumerator: a #GFileEnumerator.
16879 * @result: a #GAsyncResult.
16880 * @error: a #GError location to store the error occuring, or %NULL to ignore.
16882 * Finishes closing a file enumerator, started from g_file_enumerator_close_async().
16883 * If the file enumerator was already closed when g_file_enumerator_close_async()
16884 * was called, then this function will report %G_IO_ERROR_CLOSED in @error, and
16885 * return %FALSE. If the file enumerator had pending operation when the close
16886 * operation was started, then this function will report %G_IO_ERROR_PENDING, and
16887 * return %FALSE. If @cancellable was not %NULL, then the operation may have been
16888 * cancelled by triggering the cancellable object from another thread. If the operation
16889 * was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be
16892 * Returns: %TRUE if the close operation has finished successfully.
16897 * GSimpleAction:name:
16899 * The name of the action. This is mostly meaningful for identifying
16900 * the action once it has been added to a #GSimpleActionGroup.
16907 * g_app_info_set_as_default_for_type:
16908 * @appinfo: a #GAppInfo.
16909 * @content_type: the content type.
16910 * @error: a #GError.
16912 * Sets the application as the default handler for a given type.
16914 * Returns: %TRUE on success, %FALSE on error.
16919 * GSimpleAsyncThreadFunc:
16920 * @res: a #GSimpleAsyncResult.
16921 * @object: a #GObject.
16922 * @cancellable: optional #GCancellable object, %NULL to ignore.
16924 * Simple thread function that runs an asynchronous operation and
16925 * checks for cancellation.
16930 * g_filter_input_stream_get_close_base_stream:
16931 * @stream: a #GFilterInputStream.
16933 * Returns whether the base stream will be closed when @stream is
16936 * Returns: %TRUE if the base stream will be closed.
16941 * GDBusMessageType:
16942 * @G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type.
16943 * @G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call.
16944 * @G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply.
16945 * @G_DBUS_MESSAGE_TYPE_ERROR: Error reply.
16946 * @G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission.
16948 * Message types used in #GDBusMessage.
16957 * The <structname>GBookmarkFile</structname> struct contains only
16958 * private data and should not be directly accessed.
16963 * G_VARIANT_TYPE_INT16:
16965 * The type of an integer value that can range from -32768 to 32767.
16970 * g_io_stream_clear_pending:
16971 * @stream: a #GIOStream
16973 * Clears the pending flag on @stream.
16980 * g_permission_release_async:
16981 * @permission: a #GPermission instance
16982 * @cancellable: a #GCancellable, or %NULL
16983 * @callback: the #GAsyncReadyCallback to call when done
16984 * @user_data: the user data to pass to @callback
16986 * Attempts to release the permission represented by @permission.
16987 * This is the first half of the asynchronous version of
16988 * g_permission_release().
16995 * g_tls_connection_get_certificate:
16996 * @conn: a #GTlsConnection
16998 * Gets @conn's certificate, as set by
16999 * g_tls_connection_set_certificate().
17001 * Returns: (transfer none): @conn's certificate, or %NULL
17007 * g_unix_mount_guess_name:
17008 * @mount_entry: a #GUnixMountEntry
17010 * Guesses the name of a Unix mount.
17011 * The result is a translated string.
17012 * be freed with g_free()
17014 * Returns: A newly allocated string that must
17019 * GDBusConnection:exit-on-close:
17021 * A boolean specifying whether the process will be terminated (by
17022 * calling <literal>raise(SIGTERM)</literal>) if the connection
17023 * is closed by the remote peer.
17030 * g_hash_table_freeze:
17031 * @hash_table: a #GHashTable
17033 * This function is deprecated and will be removed in the next major
17034 * release of GLib. It does nothing.
17039 * G_VARIANT_TYPE_OBJECT_PATH:
17041 * The type of a DBus object reference. These are strings of a
17042 * specific format used to identify objects at a given destination on
17044 * If you are not interacting with DBus, then there is no reason to make
17045 * use of this type. If you are, then the DBus specification contains a
17046 * precise description of valid object paths.
17051 * g_simple_async_result_get_source_tag: (skip)
17052 * @simple: a #GSimpleAsyncResult.
17054 * Gets the source tag for the #GSimpleAsyncResult.
17056 * Returns: a #gpointer to the source object for the #GSimpleAsyncResult.
17061 * G_FILE_ATTRIBUTE_OWNER_USER_REAL:
17063 * A key in the "owner" namespace for getting the real name of the
17064 * user that owns the file. Corresponding #GFileAttributeType is
17065 * %G_FILE_ATTRIBUTE_TYPE_STRING.
17072 * All the fields in the <structname>GObject</structname> structure are private
17073 * to the #GObject implementation and should never be accessed directly.
17079 * @short_description: An object for emblems
17080 * @include: gio/gio.h
17081 * @see_also: #GIcon, #GEmblemedIcon, #GLoadableIcon, #GThemedIcon
17083 * #GEmblem is an implementation of #GIcon that supports
17084 * having an emblem, which is an icon with additional properties.
17085 * It can than be added to a #GEmblemedIcon.
17086 * Currently, only metainformation about the emblem's origin is
17087 * supported. More may be added in the future.
17092 * g_threaded_socket_service_new:
17093 * @max_threads: the maximal number of threads to execute concurrently handling incoming clients, -1 means no limit
17095 * Creates a new #GThreadedSocketService with no listeners. Listeners
17096 * must be added with g_socket_service_add_listeners().
17098 * Returns: a new #GSocketService.
17104 * g_pollable_source_new:
17105 * @pollable_stream: the stream associated with the new source
17107 * Utility method for #GPollableInputStream and #GPollableOutputStream
17108 * implementations. Creates a new #GSource that expects a callback of
17109 * type #GPollableSourceFunc. The new source does not actually do
17110 * anything on its own; use g_source_add_child_source() to add other
17111 * sources to it to cause it to trigger.
17113 * Returns: the new #GSource.
17119 * G_IMPLEMENT_INTERFACE:
17120 * @TYPE_IFACE: The #GType of the interface to add
17121 * @iface_init: The interface init function
17123 * A convenience macro to ease interface addition in the @_C_ section
17124 * of G_DEFINE_TYPE_WITH_CODE() or G_DEFINE_ABSTRACT_TYPE_WITH_CODE().
17125 * See G_DEFINE_TYPE_EXTENDED() for an example.
17126 * Note that this macro can only be used together with the G_DEFINE_TYPE_*
17127 * macros, since it depends on variable names from those macros.
17134 * g_file_monitor_cancel:
17135 * @monitor: a #GFileMonitor.
17137 * Cancels a file monitor.
17139 * Returns: %TRUE if monitor was cancelled.
17144 * SECTION:gfileiostrea:
17145 * @short_description: File read and write streaming operations
17146 * @include: gio/gio.h
17147 * @see_also: #GIOStream, #GFileInputStream, #GFileOutputStream, #GSeekable
17149 * GFileIOStream provides io streams that both read and write to the same
17151 * GFileIOStream implements #GSeekable, which allows the io
17152 * stream to jump to arbitrary positions in the file and to truncate
17153 * the file, provided the filesystem of the file supports these
17155 * To find the position of a file io stream, use
17156 * g_seekable_tell().
17157 * To find out if a file io stream supports seeking, use g_seekable_can_seek().
17158 * To position a file io stream, use g_seekable_seek().
17159 * To find out if a file io stream supports truncating, use
17160 * g_seekable_can_truncate(). To truncate a file io
17161 * stream, use g_seekable_truncate().
17162 * The default implementation of all the #GFileIOStream operations
17163 * and the implementation of #GSeekable just call into the same operations
17164 * on the output stream.
17171 * g_mount_get_root:
17172 * @mount: a #GMount.
17174 * Gets the root directory on @mount.
17175 * The returned object should be unreffed with
17176 * g_object_unref() when no longer needed.
17178 * Returns: (transfer full): a #GFile.
17183 * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE:
17185 * A key in the "standard" namespace for getting the content type of the file.
17186 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
17187 * The value for this key should contain a valid content type.
17192 * SECTION:gunixmount:
17193 * @include: gio/gunixmounts.h
17194 * @short_description: UNIX mounts
17196 * Routines for managing mounted UNIX mount points and paths.
17197 * Note that <filename><gio/gunixmounts.h></filename> belongs to the
17198 * UNIX-specific GIO interfaces, thus you have to use the
17199 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
17205 * @parent_instance: private #GParamSpec portion
17207 * A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
17214 * @fd: the file descriptor to poll (or a <type>HANDLE</type> on Win32)
17215 * @events: a bitwise combination from #GIOCondition, specifying which events should be polled for. Typically for reading from a file descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and for writing you would use %G_IO_OUT | %G_IO_ERR.
17216 * @revents: a bitwise combination of flags from #GIOCondition, returned from the poll() function to indicate which events occurred.
17223 * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC:
17225 * A key in the "time" namespace for getting the microseconds of the time
17226 * the file was last accessed. This should be used in conjunction with
17227 * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is
17228 * %G_FILE_ATTRIBUTE_TYPE_UINT32.
17233 * g_mount_unmount_with_operation_finish:
17234 * @mount: a #GMount.
17235 * @result: a #GAsyncResult.
17236 * @error: a #GError location to store the error occuring, or %NULL to ignore.
17238 * Finishes unmounting a mount. If any errors occurred during the operation,
17240 * Returns: %TRUE if the mount was successfully unmounted. %FALSE otherwise.
17246 * GDBusMessageByteOrder:
17247 * @G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: The byte order is big endian.
17248 * @G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: The byte order is little endian.
17250 * Enumeration used to describe the byte order of a D-Bus message.
17257 * g_app_info_launch:
17258 * @appinfo: a #GAppInfo
17259 * @files: (element-type GFile): a #GList of #GFile objects
17260 * @launch_context: (allow-none): a #GAppLaunchContext or %NULL
17261 * @error: a #GError
17263 * Launches the application. Passes @files to the launched application
17264 * as arguments, using the optional @launch_context to get information
17265 * about the details of the launcher (like what screen it is on).
17266 * On error, @error will be set accordingly.
17267 * To launch the application without arguments pass a %NULL @files list.
17268 * Note that even if the launch is successful the application launched
17269 * can fail to start if it runs into problems during startup. There is
17270 * no way to detect this.
17271 * Some URIs can be changed when passed through a GFile (for instance
17272 * unsupported uris with strange formats like mailto:), so if you have
17273 * a textual uri you want to pass in as argument, consider using
17274 * g_app_info_launch_uris() instead.
17275 * On UNIX, this function sets the <envar>GIO_LAUNCHED_DESKTOP_FILE</envar>
17276 * environment variable with the path of the launched desktop file and
17277 * <envar>GIO_LAUNCHED_DESKTOP_FILE_PID</envar> to the process
17278 * id of the launched process. This can be used to ignore
17279 * <envar>GIO_LAUNCHED_DESKTOP_FILE</envar>, should it be inherited
17280 * by further processes. The <envar>DISPLAY</envar> and
17281 * <envar>DESKTOP_STARTUP_ID</envar> environment variables are also
17282 * set, based on information provided in @launch_context.
17284 * Returns: %TRUE on successful launch, %FALSE otherwise.
17290 * @parent_instance: private #GParamSpec portion
17291 * @minimum: minimum value for the property specified
17292 * @maximum: maximum value for the property specified
17293 * @default_value: default value for the property specified
17295 * A #GParamSpec derived structure that contains the meta data for character properties.
17300 * GVolumeMonitor::drive-disconnected:
17301 * @volume_monitor: The volume monitor emitting the signal.
17302 * @drive: a #GDrive that was disconnected.
17304 * Emitted when a drive is disconnected from the system.
17309 * GDBusSubtreeDispatchFunc:
17310 * @connection: A #GDBusConnection.
17311 * @sender: The unique bus name of the remote caller.
17312 * @object_path: The object path that was registered with g_dbus_connection_register_subtree().
17313 * @interface_name: The D-Bus interface name that the method call or property access is for.
17314 * @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.
17315 * @out_user_data: Return location for user data to pass to functions in the returned #GDBusInterfaceVTable (never %NULL).
17316 * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
17318 * The type of the @dispatch function in #GDBusSubtreeVTable.
17319 * Subtrees are flat. @node, if non-%NULL, is always exactly one
17321 * Segment of the object path (ie: it never contains a slash).
17322 * Returns: A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods.
17329 * @G_FILE_COPY_NONE: No flags set.
17330 * @G_FILE_COPY_OVERWRITE: Overwrite any existing files
17331 * @G_FILE_COPY_BACKUP: Make a backup of any existing files.
17332 * @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks.
17333 * @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo).
17334 * @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported.
17335 * @G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms.
17337 * Flags used when copying or moving files.
17342 * g_bus_watch_name:
17343 * @bus_type: The type of bus to watch a name on.
17344 * @name: The name (well-known or unique) to watch.
17345 * @flags: Flags from the #GBusNameWatcherFlags enumeration.
17346 * @name_appeared_handler: Handler to invoke when @name is known to exist or %NULL.
17347 * @name_vanished_handler: Handler to invoke when @name is known to not exist or %NULL.
17348 * @user_data: User data to pass to handlers.
17349 * @user_data_free_func: Function for freeing @user_data or %NULL.
17351 * Starts watching @name on the bus specified by @bus_type and calls
17352 * known to have a owner respectively known to lose its
17353 * owner. Callbacks will be invoked in the <link
17354 * linkend="g-main-context-push-thread-default">thread-default main
17355 * loop</link> of the thread you are calling this function from.
17356 * You are guaranteed that one of the handlers will be invoked after
17357 * calling this function. When you are done watching the name, just
17358 * call g_bus_unwatch_name() with the watcher id this function
17360 * If the name vanishes or appears (for example the application owning
17361 * the name could restart), the handlers are also invoked. If the
17362 * #GDBusConnection that is used for watching the name disconnects, then
17363 * possible to access the name.
17364 * Another guarantee is that invocations of @name_appeared_handler
17365 * and @name_vanished_handler are guaranteed to alternate; that
17366 * is, if @name_appeared_handler is invoked then you are
17367 * guaranteed that the next time one of the handlers is invoked, it
17368 * will be @name_vanished_handler. The reverse is also true.
17369 * This behavior makes it very simple to write applications that wants
17370 * to take action when a certain name exists, see <xref
17371 * linkend="gdbus-watching-names"/>. Basically, the application
17372 * should create object proxies in @name_appeared_handler and destroy
17373 * them again (if any) in @name_vanished_handler.
17374 * g_bus_unwatch_name() to stop watching the name.
17376 * Returns: An identifier (never 0) that an be used with
17382 * g_desktop_app_info_new_from_filename:
17383 * @filename: the path of a desktop file, in the GLib filename encoding
17385 * Creates a new #GDesktopAppInfo.
17387 * Returns: a new #GDesktopAppInfo or %NULL on error.
17392 * g_io_extension_point_get_extension_by_name:
17393 * @extension_point: a #GIOExtensionPoint
17394 * @name: the name of the extension to get
17396 * Finds a #GIOExtension for an extension point by name.
17397 * given name, or %NULL if there is no extension with that name
17399 * Returns: (transfer none): the #GIOExtension for @extension_point that has the
17404 * G_FILE_ATTRIBUTE_UNIX_NLINK:
17406 * A key in the "unix" namespace for getting the number of hard links
17407 * for a file. See lstat() documentation. This attribute is only available
17408 * for UNIX file systems. Corresponding #GFileAttributeType is
17409 * %G_FILE_ATTRIBUTE_TYPE_UINT32.
17414 * g_tls_connection_handshake_async:
17415 * @conn: a #GTlsConnection
17416 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
17417 * @cancellable: a #GCancellable, or %NULL
17418 * @callback: callback to call when the handshake is complete
17419 * @user_data: the data to pass to the callback function
17421 * Asynchronously performs a TLS handshake on @conn. See
17422 * g_tls_connection_handshake() for more information.
17431 * An invalid #GType used as error return value in some functions which return
17437 * g_volume_can_eject:
17438 * @volume: a #GVolume.
17440 * Checks if a volume can be ejected.
17442 * Returns: %TRUE if the @volume can be ejected. %FALSE otherwise.
17447 * G_IS_PARAM_SPEC_FLOAT:
17448 * @pspec: a valid #GParamSpec instance
17450 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT.
17452 * Returns: %TRUE on success.
17457 * g_app_info_create_from_commandline:
17458 * @commandline: the commandline to use
17459 * @application_name: (allow-none): the application name, or %NULL to use @commandline
17460 * @flags: flags that can specify details of the created #GAppInfo
17461 * @error: a #GError location to store the error occuring, %NULL to ignore.
17463 * Creates a new #GAppInfo from the given information.
17465 * Returns: (transfer full): new #GAppInfo for given command.
17470 * g_socket_client_get_protocol:
17471 * @client: a #GSocketClient
17473 * Gets the protocol name type of the socket client.
17474 * See g_socket_client_set_protocol() for details.
17476 * Returns: a #GSocketProtocol
17482 * G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO:
17484 * Allowed characters in userinfo as defined in RFC 3986. Includes "!$&'()*+,;=:".
17489 * g_dbus_message_get_body:
17490 * @message: A #GDBusMessage.
17492 * Gets the body of a message.
17494 * Returns: A #GVariant or %NULL if the body is empty. Do not free, it is owned by @message.
17500 * g_permission_get_can_acquire:
17501 * @permission: a #GPermission instance
17502 * @returns: the value of the 'can-acquire' property
17504 * Gets the value of the 'can-acquire' property. This property is %TRUE
17505 * if it is generally possible to acquire the permission by calling
17506 * g_permission_acquire().
17513 * G_TYPE_PARAM_INT:
17515 * The #GType of #GParamSpecInt.
17520 * g_desktop_app_info_new:
17521 * @desktop_id: the desktop file id
17523 * Creates a new #GDesktopAppInfo based on a desktop file id.
17524 * A desktop file id is the basename of the desktop file, including the
17525 * .desktop extension. GIO is looking for a desktop file with this name
17526 * in the <filename>applications</filename> subdirectories of the XDG data
17527 * directories (i.e. the directories specified in the
17528 * <envar>XDG_DATA_HOME</envar> and <envar>XDG_DATA_DIRS</envar> environment
17529 * variables). GIO also supports the prefix-to-subdirectory mapping that is
17530 * described in the <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Menu Spec</ulink>
17531 * (i.e. a desktop id of kde-foo.desktop will match
17532 * <filename>/usr/share/applications/kde/foo.desktop</filename>).
17534 * Returns: a new #GDesktopAppInfo, or %NULL if no desktop file with that id
17539 * g_io_scheduler_job_send_to_mainloop_async:
17540 * @job: a #GIOSchedulerJob
17541 * @func: a #GSourceFunc callback that will be called in the original thread
17542 * @user_data: data to pass to @func
17543 * @notify: a #GDestroyNotify for @user_data, or %NULL
17545 * Used from an I/O job to send a callback to be run asynchronously in
17546 * the thread that the job was started from. The callback will be run
17547 * when the main loop is available, but at that time the I/O job might
17548 * have finished. The return value from the callback is ignored.
17549 * Note that if you are passing the @user_data from g_io_scheduler_push_job()
17550 * on to this function you have to ensure that it is not freed before
17551 * g_io_scheduler_push_job() or by using refcounting for @user_data.
17556 * G_IS_INITIALLY_UNOWNED:
17557 * @object: Instance to check for being a %G_TYPE_INITIALLY_UNOWNED.
17559 * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_INITIALLY_UNOWNED.
17565 * @value: A #GValue structure.
17567 * Checks if @value is a valid and initialized #GValue structure.
17569 * Returns: %TRUE on success.
17574 * g_application_command_line_getenv:
17575 * @cmdline: a #GApplicationCommandLine
17576 * @name: the environment variable to get
17578 * Gets the value of a particular environment variable of the command
17579 * line invocation, as would be returned by g_getenv(). The strings may
17580 * contain non-utf8 data.
17581 * The remote application usually does not send an environment. Use
17582 * %G_APPLICATION_SEND_ENVIRONMENT to affect that. Even with this flag
17583 * set it is possible that the environment is still not available (due
17584 * to invocation messages from other applications).
17585 * The return value should not be modified or freed and is valid for as
17586 * long as @cmdline exists.
17588 * Returns: the value of the variable, or %NULL if unset or unsent
17594 * g_simple_async_result_set_from_error:
17595 * @simple: a #GSimpleAsyncResult.
17598 * Sets the result from a #GError.
17603 * g_file_info_set_attribute_int64:
17604 * @info: a #GFileInfo.
17605 * @attribute: attribute name to set.
17606 * @attr_value: int64 value to set attribute to.
17608 * Sets the @attribute to contain the given @attr_value,
17614 * g_data_input_stream_read_uint16:
17615 * @stream: a given #GDataInputStream.
17616 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
17617 * @error: #GError for error reporting.
17619 * Reads an unsigned 16-bit/2-byte value from @stream.
17620 * In order to get the correct byte order for this read operation,
17621 * see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
17622 * an error occurred.
17624 * Returns: an unsigned 16-bit/2-byte value read from the @stream or %0 if
17629 * GDBusSignalCallback:
17630 * @connection: A #GDBusConnection.
17631 * @sender_name: The unique bus name of the sender of the signal.
17632 * @object_path: The object path that the signal was emitted on.
17633 * @interface_name: The name of the interface.
17634 * @signal_name: The name of the signal.
17635 * @parameters: A #GVariant tuple with parameters for the signal.
17636 * @user_data: User data passed when subscribing to the signal.
17638 * Signature for callback function used in g_dbus_connection_signal_subscribe().
17645 * g_socket_client_set_socket_type:
17646 * @client: a #GSocketClient.
17647 * @type: a #GSocketType
17649 * Sets the socket type of the socket client.
17650 * The sockets created by this object will be of the specified
17652 * It doesn't make sense to specify a type of %G_SOCKET_TYPE_DATAGRAM,
17653 * as GSocketClient is used for connection oriented services.
17660 * GDBusAuthMechanism:credentials:
17662 * If authenticating as a server, this property contains the
17663 * received credentials, if any.
17664 * If authenticating as a client, the property contains the
17665 * credentials that were sent, if any.
17670 * G_TYPE_PARAM_PARAM:
17672 * The #GType of #GParamSpecParam.
17677 * G_PARAM_SPEC_UCHAR:
17678 * @pspec: a valid #GParamSpec instance
17680 * Cast a #GParamSpec instance into a #GParamSpecUChar.
17686 * @data: data that was provided when the weak reference was established
17687 * @where_the_object_was: the object being finalized
17689 * A #GWeakNotify function can be added to an object as a callback that gets
17690 * triggered when the object is finalized. Since the object is already being
17691 * finalized when the #GWeakNotify is called, there's not much you could do
17692 * with the object, apart from e.g. using its adress as hash-index or the like.
17697 * g_socket_client_set_tls_validation_flags:
17698 * @client: a #GSocketClient.
17699 * @flags: the validation flags
17701 * Sets the TLS validation flags used when creating TLS connections
17702 * via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL.
17710 * @pid: the process id of the child process
17711 * @status: Status information about the child process, see waitpid(2) for more information about this field
17712 * @data: user data passed to g_child_watch_add()
17714 * The type of functions to be called when a child exists.
17719 * g_io_extension_point_set_required_type:
17720 * @extension_point: a #GIOExtensionPoint
17721 * @type: the #GType to require
17723 * Sets the required type for @extension_point to @type.
17724 * All implementations must henceforth have this type.
17729 * GSettingsBackend:
17731 * An implementation of a settings storage repository.
17736 * g_converter_reset:
17737 * @converter: a #GConverter.
17739 * Resets all internal state in the converter, making it behave
17740 * as if it was just created. If the converter has any internal
17741 * state that would produce output then that output is lost.
17748 * g_buffered_output_stream_new_sized:
17749 * @base_stream: a #GOutputStream.
17752 * Creates a new buffered output stream with a given buffer size.
17754 * Returns: a #GOutputStream with an internal buffer set to @size.
17759 * GDBusServer:active:
17761 * Whether the server is currently active.
17768 * GDBusPropertyInfo:
17769 * @ref_count: The reference count or -1 if statically allocated.
17770 * @name: The name of the D-Bus property, e.g. "SupportedFilesystems".
17771 * @signature: The D-Bus signature of the property (a single complete type).
17772 * @flags: Access control flags for the property.
17773 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
17775 * Information about a D-Bus property on a D-Bus interface.
17782 * g_file_set_attribute_byte_string:
17783 * @file: input #GFile.
17784 * @attribute: a string containing the attribute's name.
17785 * @value: a string containing the attribute's new value.
17786 * @flags: a #GFileQueryInfoFlags.
17787 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
17788 * @error: a #GError, or %NULL
17790 * Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING to @value.
17791 * If @attribute is of a different type, this operation will fail,
17792 * returning %FALSE.
17793 * If @cancellable is not %NULL, then the operation can be cancelled by
17794 * triggering the cancellable object from another thread. If the operation
17795 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
17796 * in the @file, %FALSE otherwise.
17798 * Returns: %TRUE if the @attribute was successfully set to @value
17803 * g_tls_connection_set_rehandshake_mode:
17804 * @conn: a #GTlsConnection
17805 * @mode: the rehandshaking mode
17807 * Sets how @conn behaves with respect to rehandshaking requests.
17808 * %G_TLS_REHANDSHAKE_NEVER means that it will never agree to
17809 * rehandshake after the initial handshake is complete. (For a client,
17810 * this means it will refuse rehandshake requests from the server, and
17811 * for a server, this means it will close the connection with an error
17812 * if the client attempts to rehandshake.)
17813 * %G_TLS_REHANDSHAKE_SAFELY means that the connection will allow a
17814 * rehandshake only if the other end of the connection supports the
17815 * TLS <literal>renegotiation_info</literal> extension. This is the
17816 * default behavior, but means that rehandshaking will not work
17817 * against older implementations that do not support that extension.
17818 * %G_TLS_REHANDSHAKE_UNSAFELY means that the connection will allow
17819 * rehandshaking even without the
17820 * <literal>renegotiation_info</literal> extension. On the server side
17821 * in particular, this is not recommended, since it leaves the server
17822 * open to certain attacks. However, this mode is necessary if you
17823 * need to allow renegotiation with older client software.
17830 * G_VALUE_HOLDS_ENUM:
17831 * @value: a valid #GValue structure
17833 * Checks whether the given #GValue can hold values derived from type %G_TYPE_ENUM.
17835 * Returns: %TRUE on success.
17840 * G_PARAM_SPEC_UINT64:
17841 * @pspec: a valid #GParamSpec instance
17843 * Cast a #GParamSpec instance into a #GParamSpecUInt64.
17849 * @socket: a #GSocket.
17850 * @error: #GError for error reporting, or %NULL to ignore.
17852 * Marks the socket as a server socket, i.e. a socket that is used
17853 * to accept incoming requests using g_socket_accept().
17854 * Before calling this the socket must be bound to a local address using
17856 * To set the maximum amount of outstanding clients, use
17857 * g_socket_set_listen_backlog().
17859 * Returns: %TRUE on success, %FALSE on error.
17865 * g_simple_async_result_complete_in_idle:
17866 * @simple: a #GSimpleAsyncResult.
17868 * Completes an asynchronous function in an idle handler in the <link
17869 * linkend="g-main-context-push-thread-default">thread-default main
17870 * loop</link> of the thread that @simple was initially created in.
17871 * Calling this function takes a reference to @simple for as long as
17872 * is needed to complete the call.
17877 * G_VARIANT_TYPE_BOOLEAN:
17879 * The type of a value that can be either %TRUE or %FALSE.
17884 * g_file_info_set_attribute_byte_string:
17885 * @info: a #GFileInfo.
17886 * @attribute: a file attribute key.
17887 * @attr_value: a byte string.
17889 * Sets the @attribute to contain the given @attr_value,
17895 * g_data_output_stream_put_uint64:
17896 * @stream: a #GDataOutputStream.
17897 * @data: a #guint64.
17898 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
17899 * @error: a #GError, %NULL to ignore.
17901 * Puts an unsigned 64-bit integer into the stream.
17903 * Returns: %TRUE if @data was successfully added to the @stream.
17908 * SECTION:gdbusprox:
17909 * @short_description: Client-side proxies
17910 * @include: gio/gio.h
17912 * #GDBusProxy is a base class used for proxies to access a D-Bus
17913 * interface on a remote object. A #GDBusProxy can be constructed for
17914 * both well-known and unique names.
17915 * By default, #GDBusProxy will cache all properties (and listen to
17916 * changes) of the remote object, and proxy all signals that gets
17917 * emitted. This behaviour can be changed by passing suitable
17918 * #GDBusProxyFlags when the proxy is created. If the proxy is for a
17919 * well-known name, the property cache is flushed when the name owner
17920 * vanishes and reloaded when a name owner appears.
17921 * If a #GDBusProxy is used for a well-known name, the owner of the
17922 * name is tracked and can be read from
17923 * #GDBusProxy:g-name-owner. Connect to the #GObject::notify signal to
17924 * get notified of changes. Additionally, only signals and property
17925 * changes emitted from the current name owner are considered and
17926 * calls are always sent to the current name owner. This avoids a
17927 * number of race conditions when the name is lost by one owner and
17928 * claimed by another. However, if no name owner currently exists,
17929 * then calls will be sent to the well-known name which may result in
17930 * the message bus launching an owner (unless
17931 * %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is set).
17932 * The generic #GDBusProxy::g-properties-changed and #GDBusProxy::g-signal
17933 * signals are not very convenient to work with. Therefore, the recommended
17934 * way of working with proxies is to subclass #GDBusProxy, and have
17935 * more natural properties and signals in your derived class.
17936 * See <xref linkend="gdbus-example-proxy-subclass"/> for an example.
17937 * <example id="gdbus-wellknown-proxy"><title>GDBusProxy for a well-known-name</title><programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gdbus-example-watch-proxy.c"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting></example>
17944 * The <structname>GSimpleAction</structname> structure contains private
17945 * data and should only be accessed using the provided API
17952 * g_socket_get_local_address:
17953 * @socket: a #GSocket.
17954 * @error: #GError for error reporting, or %NULL to ignore.
17956 * Try to get the local address of a bound socket. This is only
17957 * useful if the socket has been bound to a local address,
17958 * either explicitly or implicitly when connecting.
17959 * Free the returned object with g_object_unref().
17961 * Returns: (transfer full): a #GSocketAddress or %NULL on error.
17968 * @g_iface: The parent interface.
17969 * @changed: Signal emitted when the drive is changed.
17970 * @disconnected: The removed signal that is emitted when the #GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized.
17971 * @eject_button: Signal emitted when the physical eject button (if any) of a drive have been pressed.
17972 * @get_name: Returns the name for the given #GDrive.
17973 * @get_icon: Returns a #GIcon for the given #GDrive.
17974 * @has_volumes: Returns %TRUE if the #GDrive has mountable volumes.
17975 * @get_volumes: Returns a list #GList of #GVolume for the #GDrive.
17976 * @is_media_removable: Returns %TRUE if the #GDrive supports removal and insertion of media.
17977 * @has_media: Returns %TRUE if the #GDrive has media inserted.
17978 * @is_media_check_automatic: Returns %TRUE if the #GDrive is capabable of automatically detecting media changes.
17979 * @can_poll_for_media: Returns %TRUE if the #GDrive is capable of manually polling for media change.
17980 * @can_eject: Returns %TRUE if the #GDrive can eject media.
17981 * @eject: Ejects a #GDrive.
17982 * @eject_finish: Finishes an eject operation.
17983 * @poll_for_media: Poll for media insertion/removal on a #GDrive.
17984 * @poll_for_media_finish: Finishes a media poll operation.
17985 * @get_identifier: Returns the identifier of the given kind, or %NULL if the #GDrive doesn't have one.
17986 * @enumerate_identifiers: Returns an array strings listing the kinds of identifiers which the #GDrive has.
17987 * @get_start_stop_type: Gets a #GDriveStartStopType with details about starting/stopping the drive. Since 2.22.
17988 * @can_stop: Returns %TRUE if a #GDrive can be stopped. Since 2.22.
17989 * @stop: Stops a #GDrive. Since 2.22.
17990 * @stop_finish: Finishes a stop operation. Since 2.22.
17991 * @can_start: Returns %TRUE if a #GDrive can be started. Since 2.22.
17992 * @can_start_degraded: Returns %TRUE if a #GDrive can be started degraded. Since 2.22.
17993 * @start: Starts a #GDrive. Since 2.22.
17994 * @start_finish: Finishes a start operation. Since 2.22.
17995 * @stop_button: Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22.
17996 * @eject_with_operation: Starts ejecting a #GDrive using a #GMountOperation. Since 2.22.
17997 * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
17999 * Interface for creating #GDrive implementations.
18004 * g_unix_output_stream_get_fd:
18005 * @stream: a #GUnixOutputStream
18007 * Return the UNIX file descriptor that the stream writes to.
18009 * Returns: The file descriptor of @stream
18015 * g_dbus_is_unique_name:
18016 * @string: The string to check.
18018 * Checks if @string is a valid D-Bus unique bus name.
18020 * Returns: %TRUE if valid, %FALSE otherwise.
18026 * G_FILE_ATTRIBUTE_UNIX_UID:
18028 * A key in the "unix" namespace for getting the user ID for the file.
18029 * This attribute is only available for UNIX file systems.
18030 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
18035 * g_inet_address_get_native_size:
18036 * @address: a #GInetAddress
18038 * Gets the size of the native raw binary address for @address. This
18039 * is the size of the data that you get from g_inet_address_to_bytes().
18041 * Returns: the number of bytes used for the native version of @address.
18048 * @object: Instance to check for being a %G_TYPE_OBJECT.
18050 * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT.
18055 * g_file_query_info:
18056 * @file: input #GFile.
18057 * @attributes: an attribute query string.
18058 * @flags: a set of #GFileQueryInfoFlags.
18059 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
18060 * @error: a #GError.
18062 * Gets the requested information about specified @file. The result
18063 * is a #GFileInfo object that contains key-value attributes (such as
18064 * the type or size of the file).
18065 * The @attributes value is a string that specifies the file attributes that
18066 * should be gathered. It is not an error if it's not possible to read a particular
18067 * requested attribute from a file - it just won't be set. @attributes should
18068 * be a comma-separated list of attributes or attribute wildcards. The wildcard "*"
18069 * means all attributes, and a wildcard like "standard::*" means all attributes in the standard
18070 * namespace. An example attribute query be "standard::*,owner::user".
18071 * The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME.
18072 * If @cancellable is not %NULL, then the operation can be cancelled by
18073 * triggering the cancellable object from another thread. If the operation
18074 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
18075 * For symlinks, normally the information about the target of the
18076 * symlink is returned, rather than information about the symlink itself.
18077 * However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the
18078 * information about the symlink itself will be returned. Also, for symlinks
18079 * that point to non-existing files the information about the symlink itself
18080 * will be returned.
18081 * If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned.
18082 * Other errors are possible too, and depend on what kind of filesystem the file is on.
18083 * Free the returned object with g_object_unref().
18085 * Returns: (transfer full): a #GFileInfo for the given @file, or %NULL on error.
18092 * Holds results information for an asynchronous operation,
18093 * usually passed directly to a asynchronous _finish() operation.
18098 * g_io_extension_point_implement:
18099 * @extension_point_name: the name of the extension point
18100 * @type: the #GType to register as extension
18101 * @extension_name: the name for the extension
18102 * @priority: the priority for the extension
18104 * Registers @type as extension for the extension point with name
18105 * If @type has already been registered as an extension for this
18106 * extension point, the existing #GIOExtension object is returned.
18108 * Returns: a #GIOExtension object for #GType
18113 * g_mount_eject_finish:
18114 * @mount: a #GMount.
18115 * @result: a #GAsyncResult.
18116 * @error: a #GError location to store the error occuring, or %NULL to ignore.
18118 * Finishes ejecting a mount. If any errors occurred during the operation,
18120 * Returns: %TRUE if the mount was successfully ejected. %FALSE otherwise.
18121 * Deprecated: 2.22: Use g_mount_eject_with_operation_finish() instead.
18126 * GUnixSocketAddress:
18128 * A UNIX-domain (local) socket address, corresponding to a
18129 * <type>struct sockaddr_un</type>.
18134 * g_file_info_get_attribute_status:
18135 * @info: a #GFileInfo
18136 * @attribute: a file attribute key
18138 * Gets the attribute status for an attribute key.
18139 * %G_FILE_ATTRIBUTE_STATUS_UNSET if the key is invalid.
18141 * Returns: a #GFileAttributeStatus for the given @attribute, or
18147 * @g_iface: The parent interface.
18148 * @changed: Changed signal that is emitted when the mount's state has changed.
18149 * @unmounted: The unmounted signal that is emitted when the #GMount have been unmounted. If the recipient is holding references to the object they should release them so the object can be finalized.
18150 * @pre_unmount: The pre_unmout signal that is emitted when the #GMount will soon be emitted. If the recipient is somehow holding the mount open by keeping an open file on it it should close the file.
18151 * @get_root: Gets a #GFile to the root directory of the #GMount.
18152 * @get_name: Gets a string containing the name of the #GMount.
18153 * @get_icon: Gets a #GIcon for the #GMount.
18154 * @get_uuid: Gets the UUID for the #GMount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available.
18155 * @get_volume: Gets a #GVolume the mount is located on. Returns %NULL if the #GMount is not associated with a #GVolume.
18156 * @get_drive: Gets a #GDrive the volume of the mount is located on. Returns %NULL if the #GMount is not associated with a #GDrive or a #GVolume. This is convenience method for getting the #GVolume and using that to get the #GDrive.
18157 * @can_unmount: Checks if a #GMount can be unmounted.
18158 * @can_eject: Checks if a #GMount can be ejected.
18159 * @unmount: Starts unmounting a #GMount.
18160 * @unmount_finish: Finishes an unmounting operation.
18161 * @eject: Starts ejecting a #GMount.
18162 * @eject_finish: Finishes an eject operation.
18163 * @remount: Starts remounting a #GMount.
18164 * @remount_finish: Finishes a remounting operation.
18165 * @guess_content_type: Starts guessing the type of the content of a #GMount. See g_mount_guess_content_type() for more information on content type guessing. This operation was added in 2.18.
18166 * @guess_content_type_finish: Finishes a contenet type guessing operation. Added in 2.18.
18167 * @guess_content_type_sync: Synchronous variant of @guess_content_type. Added in 2.18
18168 * @unmount_with_operation: Starts unmounting a #GMount using a #GMountOperation. Since 2.22.
18169 * @unmount_with_operation_finish: Finishes an unmounting operation using a #GMountOperation. Since 2.22.
18170 * @eject_with_operation: Starts ejecting a #GMount using a #GMountOperation. Since 2.22.
18171 * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
18172 * @get_default_location: Gets a #GFile indication a start location that can be use as the entry point for this mount. Since 2.24.
18174 * Interface for implementing operations for mounts.
18179 * GOutputStreamSpliceFlags:
18180 * @G_OUTPUT_STREAM_SPLICE_NONE: Do not close either stream.
18181 * @G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: Close the source stream after the splice.
18182 * @G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: Close the target stream after the splice.
18184 * GOutputStreamSpliceFlags determine how streams should be spliced.
18189 * g_cancellable_get_fd:
18190 * @cancellable: a #GCancellable.
18192 * Gets the file descriptor for a cancellable job. This can be used to
18193 * implement cancellable operations on Unix systems. The returned fd will
18194 * turn readable when @cancellable is cancelled.
18195 * You are not supposed to read from the fd yourself, just check for
18196 * readable status. Reading to unset the readable status is done
18197 * with g_cancellable_reset().
18198 * After a successful return from this function, you should use
18199 * g_cancellable_release_fd() to free up resources allocated for
18200 * the returned file descriptor.
18201 * See also g_cancellable_make_pollfd().
18202 * is not supported, or on errors.
18204 * Returns: A valid file descriptor. %-1 if the file descriptor
18211 * A #GSocketConnectable for resolving a SRV record and connecting to
18217 * g_dbus_message_get_path:
18218 * @message: A #GDBusMessage.
18220 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
18222 * Returns: The value.
18228 * G_VALUE_HOLDS_DOUBLE:
18229 * @value: a valid #GValue structure
18231 * Checks whether the given #GValue can hold values of type %G_TYPE_DOUBLE.
18233 * Returns: %TRUE on success.
18238 * g_file_attribute_matcher_matches_only:
18239 * @matcher: a #GFileAttributeMatcher.
18240 * @attribute: a file attribute key.
18242 * Checks if a attribute matcher only matches a given attribute. Always
18243 * returns %FALSE if "*" was used when creating the matcher.
18245 * Returns: %TRUE if the matcher only matches @attribute. %FALSE otherwise.
18250 * g_drive_can_eject:
18251 * @drive: a #GDrive.
18253 * Checks if a drive can be ejected.
18255 * Returns: %TRUE if the @drive can be ejected, %FALSE otherwise.
18260 * SECTION:ginetaddres:
18261 * @short_description: An IPv4/IPv6 address
18263 * #GInetAddress represents an IPv4 or IPv6 internet address. Use
18264 * g_resolver_lookup_by_name() or g_resolver_lookup_by_name_async() to
18265 * look up the #GInetAddress for a hostname. Use
18266 * g_resolver_lookup_by_address() or
18267 * g_resolver_lookup_by_address_async() to look up the hostname for a
18269 * To actually connect to a remote host, you will need a
18270 * #GInetSocketAddress (which includes a #GInetAddress as well as a
18276 * g_hash_table_thaw:
18277 * @hash_table: a #GHashTable
18279 * This function is deprecated and will be removed in the next major
18280 * release of GLib. It does nothing.
18285 * g_output_stream_close_finish:
18286 * @stream: a #GOutputStream.
18287 * @result: a #GAsyncResult.
18288 * @error: a #GError location to store the error occuring, or %NULL to ignore.
18290 * Closes an output stream.
18292 * Returns: %TRUE if stream was successfully closed, %FALSE otherwise.
18297 * g_dbus_message_bytes_needed:
18298 * @blob: A blob represent a binary D-Bus message.
18299 * @blob_len: The length of @blob (must be at least 16).
18300 * @error: Return location for error or %NULL.
18302 * Utility function to calculate how many bytes are needed to
18303 * completely deserialize the D-Bus message stored at @blob.
18304 * determine the size).
18306 * Returns: Number of bytes needed or -1 if @error is set (e.g. if
18312 * g_socket_listener_accept_socket_async:
18313 * @listener: a #GSocketListener
18314 * @cancellable: a #GCancellable, or %NULL
18315 * @callback: a #GAsyncReadyCallback
18316 * @user_data: user data for the callback
18318 * This is the asynchronous version of g_socket_listener_accept_socket().
18319 * When the operation is finished @callback will be
18320 * called. You can then call g_socket_listener_accept_socket_finish()
18321 * to get the result of the operation.
18328 * g_unix_credentials_message_new:
18330 * Creates a new #GUnixCredentialsMessage with credentials matching the current processes.
18332 * Returns: a new #GUnixCredentialsMessage
18338 * get_all_desktop_entries_for_mime_type:
18339 * @mime_type: a mime type.
18340 * @except: NULL or a strv list
18342 * Returns all the desktop ids for @mime_type. The desktop files
18343 * are listed in an order so that default applications are listed before
18344 * non-default ones, and handlers for inherited mimetypes are listed
18345 * after the base ones.
18346 * Optionally doesn't list the desktop ids given in the @except
18347 * to handle @mime_type.
18349 * Returns: a #GList containing the desktop ids which claim
18354 * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI:
18356 * A key in the "mountable" namespace for getting the HAL UDI for the mountable
18357 * file. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
18362 * G_VARIANT_TYPE_BYTESTRING_ARRAY:
18364 * The type of an array of byte strings (an array of arrays of bytes).
18369 * GPermission:allowed:
18371 * %TRUE if the caller currently has permission to perform the action that
18376 * g_application_command_line_get_platform_data:
18377 * @cmdline: #GApplicationCommandLine
18379 * Gets the platform data associated with the invocation of @cmdline.
18380 * This is a #GVariant dictionary containing information about the
18381 * context in which the invocation occured. It typically contains
18382 * information like the current working directory and the startup
18384 * For local invocation, it will be %NULL.
18386 * Returns: the platform data, or %NULL
18392 * g_file_info_set_symlink_target:
18393 * @info: a #GFileInfo.
18394 * @symlink_target: a static string containing a path to a symlink target.
18396 * Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info
18397 * to the given symlink target.
18402 * g_unix_mount_point_compare:
18403 * @mount1: a #GUnixMount.
18404 * @mount2: a #GUnixMount.
18406 * Compares two unix mount points.
18407 * or less than @mount2, respectively.
18409 * Returns: 1, 0 or -1 if @mount1 is greater than, equal to,
18414 * g_file_info_get_attribute_int32:
18415 * @info: a #GFileInfo.
18416 * @attribute: a file attribute key.
18418 * Gets a signed 32-bit integer contained within the attribute. If the
18419 * attribute does not contain a signed 32-bit integer, or is invalid,
18420 * 0 will be returned.
18422 * Returns: a signed 32-bit integer from the attribute.
18427 * g_unix_fd_list_steal_fds:
18428 * @list: a #GUnixFDList
18429 * @length: pointer to the length of the returned array, or %NULL
18431 * Returns the array of file descriptors that is contained in this
18433 * After this call, the descriptors are no longer contained in
18434 * descriptors have been added).
18435 * The return result of this function must be freed with g_free().
18436 * The caller is also responsible for closing all of the file
18437 * descriptors. The file descriptors in the array are set to
18439 * If @length is non-%NULL then it is set to the number of file
18440 * descriptors in the returned array. The returned array is also
18441 * terminated with -1.
18442 * This function never returns %NULL. In case there are no file
18443 * descriptors contained in @list, an empty array is returned.
18445 * Returns: an array of file descriptors
18453 * A Volume Monitor that watches for volume events.
18458 * G_TIME_SPAN_HOUR:
18460 * Evaluates to a time span of one hour.
18467 * g_dbus_message_set_byte_order:
18468 * @message: A #GDBusMessage.
18469 * @byte_order: The byte order.
18471 * Sets the byte order of @message.
18478 * The #GType for a boxed type holding a %NULL-terminated array of strings.
18479 * The code fragments in the following example show the use of a property of
18480 * type #G_TYPE_STRV with g_object_class_install_property(), g_object_set()
18481 * and g_object_get().
18483 * g_object_class_install_property (object_class,
18485 * g_param_spec_boxed ("authors",
18487 * _("List of authors"),
18489 * G_PARAM_READWRITE));
18490 * gchar *authors[] = { "Owen", "Tim", NULL };
18491 * g_object_set (obj, "authors", authors, NULL);
18492 * gchar *writers[];
18493 * g_object_get (obj, "authors", &writers, NULL);
18494 * // do something with writers
18495 * g_strfreev (writers);
18503 * GDrive::disconnected:
18504 * @drive: a #GDrive.
18506 * This signal is emitted when the #GDrive have been
18507 * disconnected. If the recipient is holding references to the
18508 * object they should release them so the object can be
18514 * g_file_set_attribute_uint32:
18515 * @file: input #GFile.
18516 * @attribute: a string containing the attribute's name.
18517 * @value: a #guint32 containing the attribute's new value.
18518 * @flags: a #GFileQueryInfoFlags.
18519 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
18520 * @error: a #GError, or %NULL
18522 * Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT32 to @value.
18523 * If @attribute is of a different type, this operation will fail.
18524 * If @cancellable is not %NULL, then the operation can be cancelled by
18525 * triggering the cancellable object from another thread. If the operation
18526 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
18527 * in the @file, %FALSE otherwise.
18529 * Returns: %TRUE if the @attribute was successfully set to @value
18534 * g_file_has_prefix:
18535 * @file: input #GFile.
18536 * @prefix: input #GFile.
18538 * Checks whether @file has the prefix specified by @prefix. In other word,
18539 * if the names of inital elements of @file<!-- -->s pathname match @prefix.
18540 * Only full pathname elements are matched, so a path like /foo is not
18541 * considered a prefix of /foobar, only of /foo/bar.
18542 * This call does no i/o, as it works purely on names. As such it can
18543 * sometimes return %FALSE even if @file is inside a @prefix (from a
18544 * filesystem point of view), because the prefix of @file is an alias
18546 * %FALSE otherwise.
18548 * Virtual: prefix_matches
18549 * Returns: %TRUE if the @files's parent, grandparent, etc is @prefix.
18554 * SECTION:gfileattribut:
18555 * @short_description: Key-Value Paired File Attributes
18556 * @include: gio/gio.h
18557 * @see_also: #GFile, #GFileInfo
18559 * File attributes in GIO consist of a list of key-value pairs.
18560 * Keys are strings that contain a key namespace and a key name, separated
18561 * by a colon, e.g. "namespace:keyname". Namespaces are included to sort
18562 * key-value pairs by namespaces for relevance. Keys can be retrived
18563 * using wildcards, e.g. "standard::*" will return all of the keys in the
18564 * "standard" namespace.
18565 * Values are stored within the list in #GFileAttributeValue structures.
18566 * Values can store different types, listed in the enum #GFileAttributeType.
18567 * Upon creation of a #GFileAttributeValue, the type will be set to
18568 * %G_FILE_ATTRIBUTE_TYPE_INVALID.
18569 * The list of possible attributes for a filesystem (pointed to by a #GFile) is
18570 * availible as a #GFileAttributeInfoList. This list is queryable by key names
18571 * as indicated earlier.
18572 * Classes that implement #GFileIface will create a #GFileAttributeInfoList and
18573 * install default keys and values for their given file system, architecture,
18574 * and other possible implementation details (e.g., on a UNIX system, a file
18575 * attribute key will be registered for the user id for a given file).
18578 * <title>GFileAttributes Default Namespaces</title>
18579 * <tgroup cols='2' align='left'><thead>
18580 * <row><entry>Namspace</entry><entry>Description</entry></row>
18583 * <row><entry>"standard"</entry><entry>The "Standard" namespace. General file
18584 * information that any application may need should be put in this namespace.
18585 * Examples include the file's name, type, and size.</entry></row>
18586 * <row><entry>"etag"</entry><entry>The <link linkend="gfile-etag">"Entity Tag"</link>
18587 * namespace. Currently, the only key in this namespace is "value", which contains
18588 * the value of the current entity tag.</entry></row>
18589 * <row><entry>"id"</entry><entry>The "Identification" namespace. This
18590 * namespace is used by file managers and applications that list directories
18591 * to check for loops and to uniquely identify files.</entry></row>
18592 * <row><entry>"access"</entry><entry>The "Access" namespace. Used to check
18593 * if a user has the proper privilidges to access files and perform
18594 * file operations. Keys in this namespace are made to be generic
18595 * and easily understood, e.g. the "can_read" key is %TRUE if
18596 * the current user has permission to read the file. UNIX permissions and
18597 * NTFS ACLs in Windows should be mapped to these values.</entry></row>
18598 * <row><entry>"mountable"</entry><entry>The "Mountable" namespace. Includes
18599 * simple boolean keys for checking if a file or path supports mount operations, e.g.
18600 * mount, unmount, eject. These are used for files of type %G_FILE_TYPE_MOUNTABLE.</entry></row>
18601 * <row><entry>"time"</entry><entry>The "Time" namespace. Includes file
18602 * access, changed, created times. </entry></row>
18603 * <row><entry>"unix"</entry><entry>The "Unix" namespace. Includes UNIX-specific
18604 * information and may not be available for all files. Examples include
18605 * the UNIX "UID", "GID", etc.</entry></row>
18606 * <row><entry>"dos"</entry><entry>The "DOS" namespace. Includes DOS-specific
18607 * information and may not be available for all files. Examples include
18608 * "is_system" for checking if a file is marked as a system file, and "is_archive"
18609 * for checking if a file is marked as an archive file.</entry></row>
18610 * <row><entry>"owner"</entry><entry>The "Owner" namespace. Includes information
18611 * about who owns a file. May not be available for all file systems. Examples include
18612 * "user" for getting the user name of the file owner. This information is often mapped from
18613 * some backend specific data such as a unix UID.</entry></row>
18614 * <row><entry>"thumbnail"</entry><entry>The "Thumbnail" namespace. Includes
18615 * information about file thumbnails and their location within the file system. Exaples of
18616 * keys in this namespace include "path" to get the location of a thumbnail, and "failed"
18617 * to check if thumbnailing of the file failed.</entry></row>
18618 * <row><entry>"filesystem"</entry><entry>The "Filesystem" namespace. Gets information
18619 * about the file system where a file is located, such as its type, how much
18620 * space is left available, and the overall size of the file system.</entry></row>
18621 * <row><entry>"gvfs"</entry><entry>The "GVFS" namespace. Keys in this namespace
18622 * contain information about the current GVFS backend in use. </entry></row>
18623 * <row><entry>"xattr"</entry><entry>The "xattr" namespace. Gets information
18624 * about extended user attributes. See attr(5). The "user." prefix of the
18625 * extended user attribute name is stripped away when constructing keys in
18626 * this namespace, e.g. "xattr::mime_type" for the extended attribute with
18627 * the name "user.mime_type". Note that this information is only available
18628 * if GLib has been built with extended attribute support.</entry></row>
18629 * <row><entry>"xattr-sys"</entry><entry>The "xattr-sys" namespace.
18630 * Gets information about extended attributes which are not user-specific.
18631 * See attr(5). Note that this information is only available if GLib
18632 * has been built with extended attribute support.</entry></row>
18633 * <row><entry>"selinux"</entry><entry>The "SELinux" namespace. Includes
18634 * information about the SELinux context of files. Note that this information
18635 * is only available if GLib has been built with SELinux support.</entry></row>
18640 * Please note that these are not all of the possible namespaces.
18641 * More namespaces can be added from GIO modules or by individual applications.
18642 * For more information about writing GIO modules, see #GIOModule.
18643 * <!-- TODO: Implementation note about using extended attributes on supported
18646 * <title>GFileAttributes Built-in Keys and Value Types</title>
18647 * <tgroup cols='3' align='left'><thead>
18648 * <row><entry>Enum Value</entry><entry>Namespace:Key</entry><entry>Value Type</entry></row>
18650 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_TYPE</entry><entry>standard::type</entry><entry>uint32 (#GFileType)</entry></row>
18651 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN</entry><entry>standard::is-hidden</entry><entry>boolean</entry></row>
18652 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP</entry><entry>standard::is-backup</entry><entry>boolean</entry></row>
18653 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK</entry><entry>standard::is-symlink</entry><entry>boolean</entry></row>
18654 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL</entry><entry>standard::is-virtual</entry><entry>boolean</entry></row>
18655 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_NAME</entry><entry>standard::name</entry><entry>byte string</entry></row>
18656 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME</entry><entry>standard::display-name</entry><entry>string</entry></row>
18657 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME</entry><entry>standard::edit-name</entry><entry>string</entry></row>
18658 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_ICON</entry><entry>standard::icon</entry><entry>object (#GIcon)</entry></row>
18659 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE</entry><entry>standard::content-type</entry><entry>string</entry></row>
18660 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE</entry><entry>standard::fast-content-type</entry><entry>string</entry></row>
18661 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_SIZE</entry><entry>standard::size</entry><entry>uint64</entry></row>
18662 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE</entry><entry>standard::allocated-size</entry><entry>uint64</entry></row>
18663 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET</entry><entry>standard::symlink-target</entry><entry>byte string</entry></row>
18664 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_TARGET_URI</entry><entry>standard::target-uri</entry><entry>string</entry></row>
18665 * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER</entry><entry>standard::sort-order</entry><entry>int32</entry></row>
18666 * <row><entry>%G_FILE_ATTRIBUTE_ETAG_VALUE</entry><entry>etag::value</entry><entry>string</entry></row>
18667 * <row><entry>%G_FILE_ATTRIBUTE_ID_FILE</entry><entry>id::file</entry><entry>string</entry></row>
18668 * <row><entry>%G_FILE_ATTRIBUTE_ID_FILESYSTEM</entry><entry>id::filesystem</entry><entry>string</entry></row>
18669 * <row><entry>%G_FILE_ATTRIBUTE_ACCESS_CAN_READ</entry><entry>access::can-read</entry><entry>boolean</entry></row>
18670 * <row><entry>%G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE</entry><entry>access::can-write</entry><entry>boolean</entry></row>
18671 * <row><entry>%G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE</entry><entry>access::can-execute</entry><entry>boolean</entry></row>
18672 * <row><entry>%G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE</entry><entry>access::can-delete</entry><entry>boolean</entry></row>
18673 * <row><entry>%G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH</entry><entry>access::can-trash</entry><entry>boolean</entry></row>
18674 * <row><entry>%G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME</entry><entry>access::can-rename</entry><entry>boolean</entry></row>
18675 * <row><entry>%G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT</entry><entry>mountable::can-mount</entry><entry>boolean</entry></row>
18676 * <row><entry>%G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT</entry><entry>mountable::can-unmount</entry><entry>boolean</entry></row>
18677 * <row><entry>%G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT</entry><entry>mountable::can-eject</entry><entry>boolean</entry></row>
18678 * <row><entry>%G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE</entry><entry>mountable::unix-device</entry><entry>uint32</entry></row>
18679 * <row><entry>%G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE</entry><entry>mountable::unix-device-file</entry><entry>string</entry></row>
18680 * <row><entry>%G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI</entry><entry>mountable::hal-udi</entry><entry>string</entry></row>
18681 * <row><entry>%G_FILE_ATTRIBUTE_TIME_MODIFIED</entry><entry>time::modified</entry><entry>uint64</entry></row>
18682 * <row><entry>%G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC</entry><entry>time::modified-usec</entry><entry>uint32</entry></row>
18683 * <row><entry>%G_FILE_ATTRIBUTE_TIME_ACCESS</entry><entry>time::access</entry><entry>uint64</entry></row>
18684 * <row><entry>%G_FILE_ATTRIBUTE_TIME_ACCESS_USEC</entry><entry>time::access-usec</entry><entry>uint32</entry></row>
18685 * <row><entry>%G_FILE_ATTRIBUTE_TIME_CHANGED</entry><entry>time::changed</entry><entry>uint64</entry></row>
18686 * <row><entry>%G_FILE_ATTRIBUTE_TIME_CHANGED_USEC</entry><entry>time::changed-usec</entry><entry>uint32</entry></row>
18687 * <row><entry>%G_FILE_ATTRIBUTE_TIME_CREATED</entry><entry>time::created</entry><entry>uint64</entry></row>
18688 * <row><entry>%G_FILE_ATTRIBUTE_TIME_CREATED_USEC</entry><entry>time::created-usec</entry><entry>uint32</entry></row>
18689 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_DEVICE</entry><entry>unix::device</entry><entry>uint32</entry></row>
18690 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_INODE</entry><entry>unix::inode</entry><entry>uint64</entry></row>
18691 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_MODE</entry><entry>unix::mode</entry><entry>uint32</entry></row>
18692 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_NLINK</entry><entry>unix::nlink</entry><entry>uint32</entry></row>
18693 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_UID</entry><entry>unix::uid</entry><entry>uint32</entry></row>
18694 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_GID</entry><entry>unix::gid</entry><entry>uint32</entry></row>
18695 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_RDEV</entry><entry>unix::rdev</entry><entry>uint32</entry></row>
18696 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE</entry><entry>unix::block-size</entry><entry>uint32</entry></row>
18697 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_BLOCKS</entry><entry>unix::blocks</entry><entry>uint64</entry></row>
18698 * <row><entry>%G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT</entry><entry>unix::is-mountpoint</entry><entry>boolean</entry></row>
18699 * <row><entry>%G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE</entry><entry>dos::is-archive</entry><entry>boolean</entry></row>
18700 * <row><entry>%G_FILE_ATTRIBUTE_DOS_IS_SYSTEM</entry><entry>dos::is-system</entry><entry>boolean</entry></row>
18701 * <row><entry>%G_FILE_ATTRIBUTE_OWNER_USER</entry><entry>owner::user</entry><entry>string</entry></row>
18702 * <row><entry>%G_FILE_ATTRIBUTE_OWNER_USER_REAL</entry><entry>owner::user-real</entry><entry>string</entry></row>
18703 * <row><entry>%G_FILE_ATTRIBUTE_OWNER_GROUP</entry><entry>owner::group</entry><entry>string</entry></row>
18704 * <row><entry>%G_FILE_ATTRIBUTE_THUMBNAIL_PATH</entry><entry>thumbnail::path</entry><entry>bytestring</entry></row>
18705 * <row><entry>%G_FILE_ATTRIBUTE_THUMBNAILING_FAILED</entry><entry>thumbnail::failed</entry><entry>boolean</entry></row>
18706 * <row><entry>%G_FILE_ATTRIBUTE_PREVIEW_ICON</entry><entry>preview::icon</entry><entry>object (#GIcon)</entry></row>
18707 * <row><entry>%G_FILE_ATTRIBUTE_FILESYSTEM_SIZE</entry><entry>filesystem::size</entry><entry>uint64</entry></row>
18708 * <row><entry>%G_FILE_ATTRIBUTE_FILESYSTEM_FREE</entry><entry>filesystem::free</entry><entry>uint64</entry></row>
18709 * <row><entry>%G_FILE_ATTRIBUTE_FILESYSTEM_TYPE</entry><entry>filesystem::type</entry><entry>string</entry></row>
18710 * <row><entry>%G_FILE_ATTRIBUTE_FILESYSTEM_READONLY</entry><entry>filesystem::readonly</entry><entry>boolean</entry></row>
18711 * <row><entry>%G_FILE_ATTRIBUTE_GVFS_BACKEND</entry><entry>gvfs::backend</entry><entry>string</entry></row>
18712 * <row><entry>%G_FILE_ATTRIBUTE_SELINUX_CONTEXT</entry><entry>selinux::context</entry><entry>string</entry></row>
18713 * </tbody></tgroup></table></para>
18714 * Note that there are no predefined keys in the "xattr" and "xattr-sys"
18715 * namespaces. Keys for the "xattr" namespace are constructed by stripping
18716 * away the "user." prefix from the extended user attribute, and prepending
18717 * "xattr::". Keys for the "xattr-sys" namespace are constructed by
18718 * concatenating "xattr-sys::" with the extended attribute name. All extended
18719 * attribute values are returned as hex-encoded strings in which bytes outside
18720 * the ASCII range are encoded as hexadecimal escape sequences of the form
18721 * \x<replaceable>nn</replaceable>.
18726 * GUnixMountMonitor:
18728 * Watches #GUnixMount<!-- -->s for changes.
18734 * @drive: a #GDrive.
18735 * @flags: flags affecting the unmount if required for eject
18736 * @cancellable: optional #GCancellable object, %NULL to ignore.
18737 * @callback: a #GAsyncReadyCallback, or %NULL.
18738 * @user_data: user data to pass to @callback
18740 * Asynchronously ejects a drive.
18741 * When the operation is finished, @callback will be called.
18742 * You can then call g_drive_eject_finish() to obtain the
18743 * result of the operation.
18745 * Deprecated: 2.22: Use g_drive_eject_with_operation() instead.
18752 * The #GType for #GClosure.
18757 * GVolumeMonitor::drive-stop-button:
18758 * @volume_monitor: The volume monitor emitting the signal.
18759 * @drive: the drive where the stop button was pressed
18761 * Emitted when the stop button is pressed on @drive.
18768 * SECTION:gasynchelpe:
18769 * @short_description: Asynchronous Helper Functions
18770 * @include: gio/gio.h
18771 * @see_also: #GAsyncReady
18773 * Provides helper functions for asynchronous operations.
18778 * g_drive_get_start_stop_type:
18779 * @drive: a #GDrive.
18781 * Gets a hint about how a drive can be started/stopped.
18783 * Returns: A value from the #GDriveStartStopType enumeration.
18789 * g_dbus_connection_new_finish:
18790 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_new().
18791 * @error: Return location for error or %NULL.
18793 * Finishes an operation started with g_dbus_connection_new().
18795 * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
18802 * @bus_type: The type of bus to own a name on.
18803 * @name: The well-known name to own.
18804 * @flags: A set of flags from the #GBusNameOwnerFlags enumeration.
18805 * @bus_acquired_handler: Handler to invoke when connected to the bus of type @bus_type or %NULL.
18806 * @name_acquired_handler: Handler to invoke when @name is acquired or %NULL.
18807 * @name_lost_handler: Handler to invoke when @name is lost or %NULL.
18808 * @user_data: User data to pass to handlers.
18809 * @user_data_free_func: Function for freeing @user_data or %NULL.
18811 * Starts acquiring @name on the bus specified by @bus_type and calls
18812 * acquired respectively lost. Callbacks will be invoked in the <link
18813 * linkend="g-main-context-push-thread-default">thread-default main
18814 * loop</link> of the thread you are calling this function from.
18815 * You are guaranteed that one of the @name_acquired_handler and @name_lost_handler
18816 * callbacks will be invoked after calling this function - there are three
18820 * </para></listitem>
18822 * </para></listitem>
18824 * </para></listitem>
18826 * When you are done owning the name, just call g_bus_unown_name()
18827 * with the owner id this function returns.
18828 * If the name is acquired or lost (for example another application
18829 * could acquire the name if you allow replacement or the application
18830 * currently owning the name exits), the handlers are also invoked. If the
18831 * #GDBusConnection that is used for attempting to own the name
18832 * closes, then @name_lost_handler is invoked since it is no
18833 * longer possible for other processes to access the process.
18834 * You cannot use g_bus_own_name() several times for the same name (unless
18835 * interleaved with calls to g_bus_unown_name()) - only the first call
18837 * Another guarantee is that invocations of @name_acquired_handler
18838 * and @name_lost_handler are guaranteed to alternate; that
18839 * is, if @name_acquired_handler is invoked then you are
18840 * guaranteed that the next time one of the handlers is invoked, it
18841 * will be @name_lost_handler. The reverse is also true.
18842 * If you plan on exporting objects (using e.g.
18843 * g_dbus_connection_register_object()), note that it is generally too late
18844 * to export the objects in @name_acquired_handler. Instead, you can do this
18845 * in @bus_acquired_handler since you are guaranteed that this will run
18846 * before @name is requested from the bus.
18847 * This behavior makes it very simple to write applications that wants
18848 * to own names and export objects, see <xref linkend="gdbus-owning-names"/>.
18849 * Simply register objects to be exported in @bus_acquired_handler and
18850 * unregister the objects (if any) in @name_lost_handler.
18851 * g_bus_unown_name() to stop owning the name.
18853 * Returns: An identifier (never 0) that an be used with
18859 * g_dbus_message_get_error_name:
18860 * @message: A #GDBusMessage.
18862 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
18864 * Returns: The value.
18870 * GDBusProxy:g-name-owner:
18872 * The unique name that owns #GDBusProxy:name or %NULL if no-one
18873 * currently owns that name. You may connect to #GObject::notify signal to
18874 * track changes to this property.
18882 * @socket: a #GSocket
18883 * @error: #GError for error reporting, or %NULL to ignore.
18885 * Closes the socket, shutting down any active connection.
18886 * Closing a socket does not wait for all outstanding I/O operations
18887 * to finish, so the caller should not rely on them to be guaranteed
18888 * to complete even if the close returns with no error.
18889 * Once the socket is closed, all other operations will return
18890 * %G_IO_ERROR_CLOSED. Closing a socket multiple times will not
18892 * Sockets will be automatically closed when the last reference
18893 * is dropped, but you might want to call this function to make sure
18894 * resources are released as early as possible.
18895 * Beware that due to the way that TCP works, it is possible for
18896 * recently-sent data to be lost if either you close a socket while the
18897 * %G_IO_IN condition is set, or else if the remote connection tries to
18898 * send something to you after you close the socket but before it has
18899 * finished reading all of the data you sent. There is no easy generic
18900 * way to avoid this problem; the easiest fix is to design the network
18901 * protocol such that the client will never send data "out of turn".
18902 * Another solution is for the server to half-close the connection by
18903 * calling g_socket_shutdown() with only the @shutdown_write flag set,
18904 * and then wait for the client to notice this and close its side of the
18905 * connection, after which the server can safely call g_socket_close().
18906 * (This is what #GTcpConnection does if you call
18907 * g_tcp_connection_set_graceful_disconnect(). But of course, this
18908 * only works if the client will close its connection after the server
18911 * Returns: %TRUE on success, %FALSE on error
18917 * G_DEFINE_DYNAMIC_TYPE:
18918 * @TN: The name of the new type, in Camel case.
18919 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
18920 * @T_P: The #GType of the parent type.
18922 * A convenience macro for dynamic type implementations, which declares a
18923 * class initialization function, an instance initialization function (see
18924 * #GTypeInfo for information about these) and a static variable named
18925 * it defines a <function>*_get_type()</function> and a static
18926 * <function>*_register_type()</function> function for use in your
18927 * <function>module_init()</function>.
18928 * See G_DEFINE_DYNAMIC_TYPE_EXTENDED() for an example.
18935 * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM:
18937 * A key in the "dos" namespace for checking if the file's backup flag
18938 * is set. This attribute is %TRUE if the backup flag is set. This attribute
18939 * is only available for DOS file systems. Corresponding #GFileAttributeType
18940 * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
18947 * A <structname>GOptionGroup</structname> struct defines the options in a single
18948 * group. The struct has only private fields and should not be directly accessed.
18949 * All options in a group share the same translation function. Libraries which
18950 * need to parse commandline options are expected to provide a function for
18951 * getting a <structname>GOptionGroup</structname> holding their options, which
18952 * the application can then add to its #GOptionContext.
18957 * g_dbus_proxy_new_for_bus:
18958 * @bus_type: A #GBusType.
18959 * @flags: Flags used when constructing the proxy.
18960 * @info: A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
18961 * @name: A bus name (well-known or unique).
18962 * @object_path: An object path.
18963 * @interface_name: A D-Bus interface name.
18964 * @cancellable: A #GCancellable or %NULL.
18965 * @callback: Callback function to invoke when the proxy is ready.
18966 * @user_data: User data to pass to @callback.
18968 * Like g_dbus_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
18969 * See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used.
18976 * g_dbus_message_print:
18977 * @message: A #GDBusMessage.
18978 * @indent: Indentation level.
18980 * Produces a human-readable multi-line description of @message.
18981 * The contents of the description has no ABI guarantees, the contents
18982 * and formatting is subject to change at any time. Typical output
18983 * looks something like this:
18986 * path -> objectpath '/org/gtk/GDBus/TestObject'
18987 * interface -> 'org.gtk.GDBus.TestInterface'
18988 * member -> 'GimmeStdout'
18989 * destination -> ':1.146'
18990 * UNIX File Descriptors:
18992 * </programlisting>
18996 * reply-serial -> uint32 4
18997 * destination -> ':1.159'
18998 * sender -> ':1.146'
18999 * num-unix-fds -> uint32 1
19000 * UNIX File Descriptors:
19001 * </programlisting>
19003 * Type: method-return
19004 * Flags: no-reply-expected
19008 * Fd 12: dev=0:10,mode=020620,ino=5,uid=500,gid=5,rdev=136:2,size=0,atime=1273085037,mtime=1273085851,ctime=1272982635
19009 * Returns: A string that should be freed with g_free().
19015 * g_simple_async_result_set_error_va: (skip)
19016 * @simple: a #GSimpleAsyncResult.
19017 * @domain: a #GQuark (usually #G_IO_ERROR).
19018 * @code: an error code.
19019 * @format: a formatted error reporting string.
19020 * @args: va_list of arguments.
19022 * Sets an error within the asynchronous result without a #GError.
19023 * Unless writing a binding, see g_simple_async_result_set_error().
19028 * GBusAcquiredCallback:
19029 * @connection: The #GDBusConnection to a message bus.
19030 * @name: The name that is requested to be owned.
19031 * @user_data: User data passed to g_bus_own_name().
19033 * Invoked when a connection to a message bus has been obtained.
19040 * g_permission_get_allowed:
19041 * @permission: a #GPermission instance
19042 * @returns: the value of the 'allowed' property
19044 * Gets the value of the 'allowed' property. This property is %TRUE if
19045 * the caller currently has permission to perform the action that
19052 * G_VALUE_HOLDS_STRING:
19053 * @value: a valid #GValue structure
19055 * Checks whether the given #GValue can hold values of type %G_TYPE_STRING.
19057 * Returns: %TRUE on success.
19062 * g_app_info_get_fallback_for_type:
19063 * @content_type: the content type to find a #GAppInfo for
19065 * Gets a list of fallback #GAppInfos for a given content type, i.e.
19066 * those applications which claim to support the given content type
19067 * by MIME type subclassing and not directly.
19068 * for given @content_type or %NULL on error.
19070 * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
19076 * G_VARIANT_TYPE_STRING:
19078 * The type of a string. "" is a string. %NULL is not a string.
19083 * G_FILE_ATTRIBUTE_UNIX_RDEV:
19085 * A key in the "unix" namespace for getting the device ID for the file
19086 * (if it is a special file). See lstat() documentation. This attribute
19087 * is only available for UNIX file systems. Corresponding #GFileAttributeType
19088 * is %G_FILE_ATTRIBUTE_TYPE_UINT32.
19093 * g_settings_get_mapped:
19094 * @settings: a #GSettings object
19095 * @key: the key to get the value for
19096 * @mapping: the function to map the value in the settings database to the value used by the application
19097 * @user_data: user data for @mapping
19098 * @returns: (transfer full): the result, which may be %NULL
19100 * Gets the value that is stored at @key in @settings, subject to
19101 * application-level validation/mapping.
19102 * You should use this function when the application needs to perform
19103 * some processing on the value of the key (for example, parsing). The
19104 * indicates that the processing was unsuccessful (due to a parse error,
19105 * for example) then the mapping is tried again with another value.
19106 * This allows a robust 'fall back to defaults' behaviour to be
19107 * implemented somewhat automatically.
19108 * The first value that is tried is the user's setting for the key. If
19109 * the mapping function fails to map this value, other values may be
19110 * tried in an unspecified order (system or site defaults, translated
19111 * schema default values, untranslated schema default values, etc).
19112 * If the mapping function fails for all possible values, one additional
19113 * If the mapping function still indicates failure at this point then
19114 * the application will be aborted.
19115 * The result parameter for the @mapping function is pointed to a
19116 * #gpointer which is initially set to %NULL. The same pointer is given
19117 * to each invocation of @mapping. The final value of that #gpointer is
19118 * what is returned by this function. %NULL is valid; it is returned
19119 * just as any other value would be.
19121 * Attempt is made: the mapping function is called with a %NULL value.
19126 * g_srv_target_get_priority:
19127 * @target: a #GSrvTarget
19129 * Gets @target's priority. You should not need to look at this;
19130 * #GResolver already sorts the targets according to the algorithm in
19133 * Returns: @target's priority
19139 * GActionGroup::action-state-changed:
19140 * @action_group: the #GActionGroup that changed
19141 * @action_name: the name of the action in @action_group
19142 * @value: the new value of the state
19144 * Signals that the state of the named action has changed.
19152 * @g_iface: The parent interface.
19153 * @dup: Copies a #GAppInfo.
19154 * @equal: Checks two #GAppInfo<!-- -->s for equality.
19155 * @get_id: Gets a string identifier for a #GAppInfo.
19156 * @get_name: Gets the name of the application for a #GAppInfo.
19157 * @get_description: Gets a short description for the application described by the #GAppInfo.
19158 * @get_executable: Gets the executable name for the #GAppInfo.
19159 * @get_icon: Gets the #GIcon for the #GAppInfo.
19160 * @launch: Launches an application specified by the #GAppInfo.
19161 * @supports_uris: Indicates whether the application specified supports launching URIs.
19162 * @supports_files: Indicates whether the application specified accepts filename arguments.
19163 * @launch_uris: Launches an application with a list of URIs.
19164 * @should_show: Returns whether an application should be shown (e.g. when getting a list of installed applications). <ulink url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt"> <citetitle>FreeDesktop.Org Startup Notification Specification</citetitle></ulink>.
19165 * @set_as_default_for_type: Sets an application as default for a given content type.
19166 * @set_as_default_for_extension: Sets an application as default for a given file extension.
19167 * @add_supports_type: Adds to the #GAppInfo information about supported file types.
19168 * @can_remove_supports_type: Checks for support for removing supported file types from a #GAppInfo.
19169 * @remove_supports_type: Removes a supported application type from a #GAppInfo.
19170 * @can_delete: Checks if a #GAppInfo can be deleted. Since 2.20
19171 * @do_delete: Deletes a #GAppInfo. Since 2.20
19172 * @get_commandline: Gets the commandline for the #GAppInfo. Since 2.20
19173 * @get_display_name: Gets the display name for the #GAppInfo. Since 2.24
19175 * Application Information interface, for operating system portability.
19180 * g_mount_operation_get_choice:
19181 * @op: a #GMountOperation.
19183 * Gets a choice from the mount operation.
19184 * the choice's list, or %0.
19186 * Returns: an integer containing an index of the user's choice from
19191 * g_zlib_decompressor_new:
19192 * @format: The format to use for the compressed data
19194 * Creates a new #GZlibDecompressor.
19196 * Returns: a new #GZlibDecompressor
19202 * g_network_service_get_scheme:
19203 * @srv: a #GNetworkService
19205 * Get's the URI scheme used to resolve proxies. By default, the service name
19206 * is used as scheme.
19208 * Returns: @srv's scheme name
19214 * g_tls_certificate_get_issuer:
19215 * @cert: a #GTlsCertificate
19217 * Gets the #GTlsCertificate representing @cert's issuer, if known
19218 * or %NULL if @cert is self-signed or signed with an unknown
19221 * Returns: (transfer none): The certificate of @cert's issuer,
19227 * g_dbus_proxy_set_cached_property:
19228 * @proxy: A #GDBusProxy
19229 * @property_name: Property name.
19230 * @value: Value for the property or %NULL to remove it from the cache.
19232 * If @value is not %NULL, sets the cached value for the property with
19233 * name @property_name to the value in @value.
19234 * If @value is %NULL, then the cached value is removed from the
19236 * If @proxy has an expected interface (see
19237 * #GDBusProxy:g-interface-info), then @property_name (for existence)
19238 * and @value (for the type) is checked against it.
19239 * If the @value #GVariant is floating, it is consumed. This allows
19240 * convenient 'inline' use of g_variant_new(), e.g.
19242 * g_dbus_proxy_set_cached_property (proxy,
19244 * g_variant_new ("(si)",
19248 * Normally you will not need to use this method since @proxy is
19249 * tracking changes using the
19250 * <literal>org.freedesktop.DBus.Properties.PropertiesChanged</literal>
19251 * D-Bus signal. However, for performance reasons an object may decide
19252 * to not use this signal for some properties and instead use a
19253 * proprietary out-of-band mechanism to transmit changes.
19254 * As a concrete example, consider an object with a property
19255 * <literal>ChatroomParticipants</literal> which is an array of
19256 * strings. Instead of transmitting the same (long) array every time
19257 * the property changes, it is more efficient to only transmit the
19258 * delta using e.g. signals <literal>ChatroomParticipantJoined(String
19259 * name)</literal> and <literal>ChatroomParticipantParted(String
19267 * g_simple_async_result_set_handle_cancellation:
19268 * @simple: a #GSimpleAsyncResult.
19269 * @handle_cancellation: a #gboolean.
19271 * Sets whether to handle cancellation within the asynchronous operation.
19276 * g_file_unmount_mountable_with_operation_finish:
19277 * @file: input #GFile.
19278 * @result: a #GAsyncResult.
19279 * @error: a #GError, or %NULL
19281 * Finishes an unmount operation, see g_file_unmount_mountable_with_operation() for details.
19282 * Finish an asynchronous unmount operation that was started
19283 * with g_file_unmount_mountable_with_operation().
19286 * Returns: %TRUE if the operation finished successfully. %FALSE
19292 * g_unix_fd_message_append_fd:
19293 * @message: a #GUnixFDMessage
19294 * @fd: a valid open file descriptor
19295 * @error: a #GError pointer
19297 * Adds a file descriptor to @message.
19298 * The file descriptor is duplicated using dup(). You keep your copy
19299 * of the descriptor and the copy contained in @message will be closed
19300 * when @message is finalized.
19301 * A possible cause of failure is exceeding the per-process or
19302 * system-wide file descriptor limit.
19304 * Returns: %TRUE in case of success, else %FALSE (and @error is set)
19310 * g_dbus_method_invocation_return_value:
19311 * @invocation: A #GDBusMethodInvocation.
19312 * @parameters: A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters.
19314 * Finishes handling a D-Bus method call by returning @parameters.
19315 * If the @parameters GVariant is floating, it is consumed.
19316 * It is an error if @parameters is not of the right format.
19317 * This method will free @invocation, you cannot use it afterwards.
19326 * A socket endpoint address, corresponding to <type>struct sockaddr</type>
19327 * or one of its subtypes.
19332 * g_io_stream_close_finish:
19333 * @stream: a #GIOStream
19334 * @result: a #GAsyncResult
19335 * @error: a #GError location to store the error occuring, or %NULL to ignore
19339 * Returns: %TRUE if stream was successfully closed, %FALSE otherwise.
19345 * g_socket_connection_factory_lookup_type:
19346 * @family: a #GSocketFamily
19347 * @type: a #GSocketType
19348 * @protocol_id: a protocol id
19350 * Looks up the #GType to be used when creating socket connections on
19351 * sockets with the specified @family,@type and @protocol_id.
19352 * If no type is registered, the #GSocketConnection base type is returned.
19354 * Returns: a #GType
19360 * g_tls_connection_get_peer_certificate_errors:
19361 * @conn: a #GTlsConnection
19363 * Gets the errors associated with validating @conn's peer's
19364 * certificate, after the handshake has completed. (It is not set
19365 * during the emission of #GTlsConnection::accept-certificate.)
19367 * Returns: @conn's peer's certificate errors
19373 * g_file_load_partial_contents_async: (skip)
19374 * @file: input #GFile.
19375 * @cancellable: optional #GCancellable object, %NULL to ignore.
19376 * @read_more_callback: a #GFileReadMoreCallback to receive partial data and to specify whether further data should be read.
19377 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
19378 * @user_data: the data to pass to the callback functions.
19380 * Reads the partial contents of a file. A #GFileReadMoreCallback should be
19381 * used to stop reading from the file when appropriate, else this function
19382 * will behave exactly as g_file_load_contents_async(). This operation
19383 * can be finished by g_file_load_partial_contents_finish().
19384 * Users of this function should be aware that @user_data is passed to
19385 * both the @read_more_callback and the @callback.
19386 * If @cancellable is not %NULL, then the operation can be cancelled by
19387 * triggering the cancellable object from another thread. If the operation
19388 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
19393 * g_io_stream_is_closed:
19394 * @stream: a #GIOStream
19396 * Checks if a stream is closed.
19398 * Returns: %TRUE if the stream is closed.
19404 * g_inet_address_get_is_loopback:
19405 * @address: a #GInetAddress
19407 * Tests whether @address is the loopback address for its family.
19409 * Returns: %TRUE if @address is the loopback address for its family.
19415 * g_file_get_parent:
19416 * @file: input #GFile.
19418 * Gets the parent directory for the @file.
19419 * If the @file represents the root directory of the
19420 * file system, then %NULL will be returned.
19421 * This call does no blocking i/o.
19422 * #GFile or %NULL if there is no parent.
19423 * Free the returned object with g_object_unref().
19425 * Returns: (transfer full): a #GFile structure to the parent of the given
19430 * g_application_get_is_registered:
19431 * @application: a #GApplication
19432 * @returns: %TRUE if @application is registered
19434 * Checks if @application is registered.
19435 * An application is registered if g_application_register() has been
19436 * successfully called.
19443 * G_TYPE_MAKE_FUNDAMENTAL:
19444 * @x: the fundamental type number.
19446 * Get the type ID for the fundamental type number @x.
19447 * Use g_type_fundamental_next() instead of this macro to create new fundamental
19450 * Returns: the GType
19455 * GSocketSourceFunc:
19456 * @socket: the #GSocket
19457 * @condition: the current condition at the source fired.
19458 * @user_data: data passed in by the user.
19460 * This is the function type of the callback used for the #GSource
19461 * returned by g_socket_create_source().
19463 * Returns: it should return %FALSE if the source should be removed.
19469 * G_DEFINE_DYNAMIC_TYPE_EXTENDED:
19470 * @TypeName: The name of the new type, in Camel case.
19471 * @type_name: The name of the new type, in lowercase, with words separated by '_'.
19472 * @TYPE_PARENT: The #GType of the parent type.
19473 * @flags: #GTypeFlags to pass to g_type_module_register_type()
19474 * @CODE: Custom code that gets inserted in the *_get_type() function.
19476 * A more general version of G_DEFINE_DYNAMIC_TYPE() which
19477 * allows to specify #GTypeFlags and custom code.
19479 * G_DEFINE_DYNAMIC_TYPE_EXTENDED (GtkGadget,
19483 * G_IMPLEMENT_INTERFACE_DYNAMIC (TYPE_GIZMO,
19484 * gtk_gadget_gizmo_init));
19488 * static void gtk_gadget_init (GtkGadget *self);
19489 * static void gtk_gadget_class_init (GtkGadgetClass *klass);
19490 * static void gtk_gadget_class_finalize (GtkGadgetClass *klass);
19491 * static gpointer gtk_gadget_parent_class = NULL;
19492 * static GType gtk_gadget_type_id = 0;
19493 * static void gtk_gadget_class_intern_init (gpointer klass)
19495 * gtk_gadget_parent_class = g_type_class_peek_parent (klass);
19496 * gtk_gadget_class_init ((GtkGadgetClass*) klass);
19499 * gtk_gadget_get_type (void)
19501 * return gtk_gadget_type_id;
19504 * gtk_gadget_register_type (GTypeModule *type_module)
19506 * const GTypeInfo g_define_type_info = {
19507 * sizeof (GtkGadgetClass),
19508 * (GBaseInitFunc) NULL,
19509 * (GBaseFinalizeFunc) NULL,
19510 * (GClassInitFunc) gtk_gadget_class_intern_init,
19511 * (GClassFinalizeFunc) gtk_gadget_class_finalize,
19512 * NULL, // class_data
19513 * sizeof (GtkGadget),
19514 * 0, // n_preallocs
19515 * (GInstanceInitFunc) gtk_gadget_init,
19516 * NULL // value_table
19518 * gtk_gadget_type_id = g_type_module_register_type (type_module,
19521 * &g_define_type_info,
19522 * (GTypeFlags) flags);
19524 * const GInterfaceInfo g_implement_interface_info = {
19525 * (GInterfaceInitFunc) gtk_gadget_gizmo_init
19527 * g_type_module_add_interface (type_module, g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
19537 * g_file_parse_name:
19538 * @parse_name: a file name or path to be parsed.
19540 * Constructs a #GFile with the given @parse_name (i.e. something given by g_file_get_parse_name()).
19541 * This operation never fails, but the returned object might not support any I/O
19542 * operation if the @parse_name cannot be parsed.
19544 * Returns: (transfer full): a new #GFile.
19549 * g_simple_async_result_is_valid:
19550 * @result: the #GAsyncResult passed to the _finish function.
19551 * @source: the #GObject passed to the _finish function.
19552 * @source_tag: the asynchronous function.
19554 * Ensures that the data passed to the _finish function of an async
19555 * operation is consistent. Three checks are performed.
19556 * First, @result is checked to ensure that it is really a
19557 * #GSimpleAsyncResult. Second, @source is checked to ensure that it
19558 * matches the source object of @result. Third, @source_tag is
19559 * checked to ensure that it is either %NULL (as it is when the result was
19560 * created by g_simple_async_report_error_in_idle() or
19561 * g_simple_async_report_gerror_in_idle()) or equal to the
19562 * convention, is a pointer to the _async function corresponding to the
19563 * _finish function from which this function is called).
19565 * Returns: #TRUE if all checks passed or #FALSE if any failed.
19571 * GTlsClientConnection:
19573 * TLS client-side connection; the client-side implementation of a
19581 * GDBusInterfaceGetPropertyFunc:
19582 * @connection: A #GDBusConnection.
19583 * @sender: The unique bus name of the remote caller.
19584 * @object_path: The object path that the method was invoked on.
19585 * @interface_name: The D-Bus interface name for the property.
19586 * @property_name: The name of the property to get the value of.
19587 * @error: Return location for error.
19588 * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().
19590 * The type of the @get_property function in #GDBusInterfaceVTable.
19591 * consumed - otherwise its reference count is decreased by one.
19593 * Returns: A #GVariant with the value for @property_name or %NULL if
19599 * g_action_get_parameter_type:
19600 * @action: a #GAction
19602 * Queries the type of the parameter that must be given when activating
19603 * When activating the action using g_action_activate(), the #GVariant
19604 * given to that function must be of the type returned by this function.
19605 * In the case that this function returns %NULL, you must not give any
19606 * #GVariant, but %NULL instead.
19608 * Returns: (allow-none): the parameter type
19614 * g_dbus_connection_get_exit_on_close:
19615 * @connection: A #GDBusConnection.
19617 * Gets whether the process is terminated when @connection is
19618 * closed by the remote peer. See
19619 * #GDBusConnection:exit-on-close for more details.
19620 * closed by the remote peer.
19622 * Returns: Whether the process is terminated when @connection is
19628 * GTlsCertificateFlags:
19629 * @G_TLS_CERTIFICATE_UNKNOWN_CA: The signing certificate authority is not known.
19630 * @G_TLS_CERTIFICATE_BAD_IDENTITY: The certificate does not match the expected identity of the site that it was retrieved from.
19631 * @G_TLS_CERTIFICATE_NOT_ACTIVATED: The certificate's activation time is still in the future
19632 * @G_TLS_CERTIFICATE_EXPIRED: The certificate has expired
19633 * @G_TLS_CERTIFICATE_REVOKED: The certificate has been revoked according to the #GTlsContext's certificate revocation list.
19634 * @G_TLS_CERTIFICATE_INSECURE: The certificate's algorithm is considered insecure.
19635 * @G_TLS_CERTIFICATE_GENERIC_ERROR: Some other error occurred validating the certificate
19636 * @G_TLS_CERTIFICATE_VALIDATE_ALL: the combination of all of the above flags
19638 * A set of flags describing TLS certification validation. This can be
19639 * used to set which validation steps to perform (eg, with
19640 * g_tls_client_connection_set_validation_flags()), or to describe why
19641 * a particular certificate was rejected (eg, in
19642 * #GTlsConnection::accept-certificate).
19649 * GActionInterface:
19650 * @get_name: the virtual function pointer for g_action_get_name()
19651 * @get_parameter_type: the virtual function pointer for g_action_get_parameter_type()
19652 * @get_state_type: the virtual function pointer for g_action_get_state_type()
19653 * @get_state_hint: the virtual function pointer for g_action_get_state_hint()
19654 * @get_enabled: the virtual function pointer for g_action_get_enabled()
19655 * @get_state: the virtual function pointer for g_action_get_state()
19656 * @set_state: the virtual function pointer for g_action_set_state()
19657 * @activate: the virtual function pointer for g_action_activate(). Note that #GAction does not have an 'activate' signal but that implementations of it may have one.
19668 * Gets the local #GVfs for the system.
19670 * Returns: (transfer none): a #GVfs.
19676 * @parent_instance: private #GParamSpec portion
19678 * A #GParamSpec derived structure that contains the meta data for boxed properties.
19683 * g_atomic_int_dec_and_test:
19684 * @atomic: a pointer to an integer
19686 * Atomically decrements the integer pointed to by @atomic by 1.
19687 * after decrementing it
19689 * Returns: %TRUE if the integer pointed to by @atomic is 0
19695 * g_dbus_message_get_signature:
19696 * @message: A #GDBusMessage.
19698 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
19700 * Returns: The value.
19706 * g_file_info_get_attribute_data:
19707 * @info: a #GFileInfo
19708 * @attribute: a file attribute key
19709 * @type: (out) (allow-none): return location for the attribute type, or %NULL
19710 * @value_pp: (out) (allow-none): return location for the attribute value, or %NULL
19711 * @status: (out) (allow-none): return location for the attribute status, or %NULL
19713 * Gets the attribute type, value and status for an attribute key.
19714 * %FALSE otherwise.
19716 * Returns: (transfer none): %TRUE if @info has an attribute named @attribute,
19721 * SECTION:gsrvtarge:
19722 * @short_description: DNS SRV record target
19723 * @include: gio/gio.h
19725 * SRV (service) records are used by some network protocols to provide
19726 * service-specific aliasing and load-balancing. For example, XMPP
19727 * (Jabber) uses SRV records to locate the XMPP server for a domain;
19728 * rather than connecting directly to "example.com" or assuming a
19729 * specific server hostname like "xmpp.example.com", an XMPP client
19730 * would look up the "xmpp-client" SRV record for "example.com", and
19731 * then connect to whatever host was pointed to by that record.
19732 * You can use g_resolver_lookup_service() or
19733 * g_resolver_lookup_service_async() to find the #GSrvTarget<!-- -->s
19734 * for a given service. However, if you are simply planning to connect
19735 * to the remote service, you can use #GNetworkService's
19736 * #GSocketConnectable interface and not need to worry about
19737 * #GSrvTarget at all.
19742 * g_proxy_resolver_is_supported:
19743 * @resolver: a #GProxyResolver
19745 * Checks if @resolver can be used on this system. (This is used
19746 * internally; g_proxy_resolver_get_default() will only return a proxy
19747 * resolver that returns %TRUE for this method.)
19749 * Returns: %TRUE if @resolver is supported.
19755 * GSettings::writable-change-event:
19756 * @settings: the object on which the signal was emitted
19757 * @key: the quark of the key, or 0
19758 * @returns: %TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.
19760 * The "writable-change-event" signal is emitted once per writability
19761 * change event that affects this settings object. You should connect
19762 * to this signal if you are interested in viewing groups of changes
19763 * before they are split out into multiple emissions of the
19764 * "writable-changed" signal. For most use cases it is more
19765 * appropriate to use the "writable-changed" signal.
19766 * In the event that the writability change applies only to a single
19767 * key, @key will be set to the #GQuark for that key. In the event
19768 * that the writability change affects the entire settings object,
19769 * The default handler for this signal invokes the "writable-changed"
19770 * and "changed" signals for each affected key. This is done because
19771 * changes in writability might also imply changes in value (if for
19772 * example, a new mandatory setting is introduced). If any other
19773 * connected handler returns %TRUE then this default functionality
19774 * will be supressed.
19781 * A generic error; "something went wrong" - see the error message for
19783 * There was not enough memory to complete an operation.
19784 * The bus doesn't know how to launch a service to supply the bus name
19786 * The bus name you referenced doesn't exist (i.e. no application owns
19788 * No reply to a message expecting one, usually means a timeout occurred.
19789 * Something went wrong reading or writing to a socket, for example.
19790 * A D-Bus bus address was malformed.
19791 * Requested operation isn't supported (like ENOSYS on UNIX).
19792 * Some limited resource is exhausted.
19793 * Security restrictions don't allow doing what you're trying to do.
19794 * Authentication didn't work.
19795 * Unable to connect to server (probably caused by ECONNREFUSED on a
19797 * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that
19798 * %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning:
19799 * this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also
19800 * exists. We can't fix it for compatibility reasons so just be
19802 * No network access (probably ENETUNREACH on a socket).
19803 * Can't bind a socket since its address is in use (i.e. EADDRINUSE).
19804 * The connection is disconnected and you're trying to use it.
19805 * Invalid arguments passed to a method call.
19807 * Existing file and the operation you're using does not silently overwrite.
19808 * Method name you invoked isn't known by the object you invoked it on.
19809 * confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We
19810 * can't fix it for compatibility reasons so just be careful.
19811 * Tried to remove or modify a match rule that didn't exist.
19812 * The match rule isn't syntactically valid.
19813 * While starting a new process, the exec() call failed.
19814 * While starting a new process, the fork() call failed.
19815 * While starting a new process, the child exited with a status code.
19816 * While starting a new process, the child exited on a signal.
19817 * While starting a new process, something went wrong.
19818 * We failed to setup the environment correctly.
19819 * We failed to setup the config parser correctly.
19820 * Bus name was not valid.
19821 * Service file not found in system-services directory.
19822 * Permissions are incorrect on the setuid helper.
19823 * Service file invalid (Name, User or Exec missing).
19824 * Tried to get a UNIX process ID and it wasn't available.
19825 * Tried to get a UNIX process ID and it wasn't available.
19826 * A type signature is not valid.
19827 * A file contains invalid syntax or is otherwise broken.
19828 * Asked for SELinux security context and it wasn't available.
19829 * Asked for ADT audit data and it wasn't available.
19830 * There's already an object with the requested object path.
19831 * Error codes for the %G_DBUS_ERROR error domain.
19833 * Certain timeout errors, e.g. while starting a service. warning: this is
19839 * g_socket_get_keepalive:
19840 * @socket: a #GSocket.
19842 * Gets the keepalive mode of the socket. For details on this,
19843 * see g_socket_set_keepalive().
19845 * Returns: %TRUE if keepalive is active, %FALSE otherwise.
19851 * g_dbus_generate_guid:
19853 * Generate a D-Bus GUID that can be used with
19854 * e.g. g_dbus_connection_new().
19855 * See the D-Bus specification regarding what strings are valid D-Bus
19856 * GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).
19858 * Returns: A valid D-Bus GUID. Free with g_free().
19865 * @short_description: Interface for icons
19866 * @include: gio/gio.h
19868 * #GIcon is a very minimal interface for icons. It provides functions
19869 * for checking the equality of two icons, hashing of icons and
19870 * serializing an icon to and from strings.
19871 * #GIcon does not provide the actual pixmap for the icon as this is out
19872 * of GIO's scope, however implementations of #GIcon may contain the name
19873 * of an icon (see #GThemedIcon), or the path to an icon (see #GLoadableIcon).
19874 * To obtain a hash of a #GIcon, see g_icon_hash().
19875 * To check if two #GIcons are equal, see g_icon_equal().
19876 * For serializing a #GIcon, use g_icon_to_string() and
19877 * g_icon_new_for_string().
19878 * If your application or library provides one or more #GIcon
19879 * implementations you need to ensure that each #GType is registered
19880 * with the type system prior to calling g_icon_new_for_string().
19886 * @G_SIGNAL_RUN_FIRST: Invoke the object method handler in the first emission stage.
19887 * @G_SIGNAL_RUN_LAST: Invoke the object method handler in the third emission stage.
19888 * @G_SIGNAL_RUN_CLEANUP: Invoke the object method handler in the last emission stage.
19889 * @G_SIGNAL_NO_RECURSE: Signals being emitted for an object while currently being in emission for this very object will not be emitted recursively, but instead cause the first emission to be restarted.
19890 * @G_SIGNAL_DETAILED: This signal supports "::detail" appendices to the signal name upon handler connections and emissions.
19891 * @G_SIGNAL_ACTION: Action signals are signals that may freely be emitted on alive objects from user code via g_signal_emit() and friends, without the need of being embedded into extra code that performs pre or post emission adjustments on the object. They can also be thought of as object methods which can be called generically by third-party code.
19892 * @G_SIGNAL_NO_HOOKS: No emissions hooks are supported for this signal.
19894 * The signal flags are used to specify a signal's behaviour, the overall
19895 * signal description outlines how especially the RUN flags control the
19896 * stages of a signal emission.
19901 * g_socket_receive:
19902 * @socket: a #GSocket
19903 * @buffer: a buffer to read data into (which should be at least @size bytes long).
19904 * @size: the number of bytes you want to read from the socket
19905 * @cancellable: a %GCancellable or %NULL
19906 * @error: #GError for error reporting, or %NULL to ignore.
19908 * Receive data (up to @size bytes) from a socket. This is mainly used by
19909 * connection-oriented sockets; it is identical to g_socket_receive_from()
19910 * with @address set to %NULL.
19911 * For %G_SOCKET_TYPE_DATAGRAM and %G_SOCKET_TYPE_SEQPACKET sockets,
19912 * g_socket_receive() will always read either 0 or 1 complete messages from
19913 * the socket. If the received message is too large to fit in @buffer, then
19914 * the data beyond @size bytes will be discarded, without any explicit
19915 * indication that this has occurred.
19916 * For %G_SOCKET_TYPE_STREAM sockets, g_socket_receive() can return any
19917 * number of bytes, up to @size. If more than @size bytes have been
19918 * received, the additional data will be returned in future calls to
19919 * g_socket_receive().
19920 * If the socket is in blocking mode the call will block until there is
19921 * some data to receive or there is an error. If there is no data available
19922 * and the socket is in non-blocking mode, a %G_IO_ERROR_WOULD_BLOCK error
19923 * will be returned. To be notified when data is available, wait for the
19924 * %G_IO_IN condition.
19925 * On error -1 is returned and @error is set accordingly.
19927 * Returns: Number of bytes read, or -1 on error
19933 * g_dbus_message_set_unix_fd_list:
19934 * @message: A #GDBusMessage.
19935 * @fd_list: (allow-none): A #GUnixFDList or %NULL.
19937 * Sets the UNIX file descriptors associated with @message. As a
19938 * side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header
19939 * field is set to the number of fds in @fd_list (or cleared if
19940 * This method is only available on UNIX.
19947 * g_socket_connect:
19948 * @socket: a #GSocket.
19949 * @address: a #GSocketAddress specifying the remote address.
19950 * @cancellable: a %GCancellable or %NULL
19951 * @error: #GError for error reporting, or %NULL to ignore.
19953 * Connect the socket to the specified remote address.
19954 * For connection oriented socket this generally means we attempt to make
19955 * a connection to the @address. For a connection-less socket it sets
19956 * the default address for g_socket_send() and discards all incoming datagrams
19957 * from other sources.
19958 * Generally connection oriented sockets can only connect once, but
19959 * connection-less sockets can connect multiple times to change the
19961 * If the connect call needs to do network I/O it will block, unless
19962 * non-blocking I/O is enabled. Then %G_IO_ERROR_PENDING is returned
19963 * and the user can be notified of the connection finishing by waiting
19964 * for the G_IO_OUT condition. The result of the connection can then be
19965 * checked with g_socket_check_connect_result().
19967 * Returns: %TRUE if connected, %FALSE on error.
19975 * The #GDBusProxy structure contains only private data and
19976 * should only be accessed using the provided API.
19983 * g_file_read_async:
19984 * @file: input #GFile
19985 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
19986 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
19987 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
19988 * @user_data: (closure): the data to pass to callback function
19990 * Asynchronously opens @file for reading.
19991 * For more details, see g_file_read() which is
19992 * the synchronous version of this call.
19993 * When the operation is finished, @callback will be called. You can then call
19994 * g_file_read_finish() to get the result of the operation.
19999 * g_dbus_server_get_flags:
20000 * @server: A #GDBusServer.
20002 * Gets the flags for @server.
20004 * Returns: A set of flags from the #GDBusServerFlags enumeration.
20010 * GMemoryOutputStream:data:
20012 * Pointer to buffer where data will be written.
20019 * g_settings_list_relocatable_schemas:
20021 * Gets a list of the relocatable #GSettings schemas installed on the
20022 * system. These are schemas that do not provide their own path. It is
20023 * usual to instantiate these schemas directly, but if you want to you
20024 * can use g_settings_new_with_path() to specify the path.
20025 * The output of this function, tTaken together with the output of
20026 * g_settings_list_schemas() represents the complete list of all
20027 * installed schemas.
20028 * #GSettings schemas that are available. The list must not be
20029 * modified or freed.
20031 * Returns: (element-type utf8) (transfer none): a list of relocatable
20037 * G_VARIANT_TYPE_UINT32:
20039 * The type of an integer value that can range from 0 to 4294967295.
20040 * That's one number for everyone who was around in the late 1970s.
20046 * @short_description: Mount management
20047 * @include: gio/gio.h
20048 * @see_also: GVolume, GUnixMount
20050 * The #GMount interface represents user-visible mounts. Note, when
20051 * porting from GnomeVFS, #GMount is the moral equivalent of #GnomeVFSVolume.
20052 * #GMount is a "mounted" filesystem that you can access. Mounted is in
20053 * quotes because it's not the same as a unix mount, it might be a gvfs
20054 * mount, but you can still access the files on it if you use GIO. Might or
20055 * might not be related to a volume object.
20056 * Unmounting a #GMount instance is an asynchronous operation. For
20057 * more information about asynchronous operations, see #GAsyncReady
20058 * and #GSimpleAsyncReady. To unmount a #GMount instance, first call
20059 * g_mount_unmount_with_operation() with (at least) the #GMount instance and a
20060 * #GAsyncReadyCallback. The callback will be fired when the
20061 * operation has resolved (either with success or failure), and a
20062 * #GAsyncReady structure will be passed to the callback. That
20063 * callback should then call g_mount_unmount_with_operation_finish() with the #GMount
20064 * and the #GAsyncReady data to see if the operation was completed
20065 * successfully. If an @error is present when g_mount_unmount_with_operation_finish()
20066 * is called, then it will be filled with any error information.
20071 * g_drive_eject_with_operation:
20072 * @drive: a #GDrive.
20073 * @flags: flags affecting the unmount if required for eject
20074 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
20075 * @cancellable: optional #GCancellable object, %NULL to ignore.
20076 * @callback: a #GAsyncReadyCallback, or %NULL.
20077 * @user_data: user data passed to @callback.
20079 * Ejects a drive. This is an asynchronous operation, and is
20080 * finished by calling g_drive_eject_with_operation_finish() with the @drive
20081 * and #GAsyncResult data returned in the @callback.
20089 * @struct_type: the type of the elements to allocate
20090 * @mem: the currently allocated memory
20091 * @n_structs: the number of elements to allocate
20093 * Reallocates the memory pointed to by @mem, so that it now has space for
20094 * the memory, which may have been moved.
20095 * Care is taken to avoid overflow when calculating the size of the allocated block.
20097 * Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type
20102 * g_mount_can_unmount:
20103 * @mount: a #GMount.
20105 * Checks if @mount can be mounted.
20107 * Returns: %TRUE if the @mount can be unmounted.
20112 * GParamSpecValueArray:
20113 * @parent_instance: private #GParamSpec portion
20114 * @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL
20115 * @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements
20117 * A #GParamSpec derived structure that contains the meta data for #GValueArray properties.
20123 * @src: A pointer to the data which should be copied
20124 * @data: Additional data
20126 * A function of this signature is used to copy the node data
20127 * when doing a deep-copy of a tree.
20129 * Returns: A pointer to the copy
20135 * g_dbus_connection_register_object:
20136 * @connection: A #GDBusConnection.
20137 * @object_path: The object path to register at.
20138 * @interface_info: Introspection data for the interface.
20139 * @vtable: A #GDBusInterfaceVTable to call into or %NULL.
20140 * @user_data: Data to pass to functions in @vtable.
20141 * @user_data_free_func: Function to call when the object path is unregistered.
20142 * @error: Return location for error or %NULL.
20144 * Registers callbacks for exported objects at @object_path with the
20145 * D-Bus interface that is described in @interface_info.
20146 * Calls to functions in @vtable (and @user_data_free_func) will
20147 * happen in the <link linkend="g-main-context-push-thread-default">thread-default main
20148 * loop</link> of the thread you are calling this method from.
20149 * Note that all #GVariant values passed to functions in @vtable will match
20150 * the signature given in @interface_info - if a remote caller passes
20151 * incorrect values, the <literal>org.freedesktop.DBus.Error.InvalidArgs</literal>
20152 * is returned to the remote caller.
20153 * Additionally, if the remote caller attempts to invoke methods or
20154 * access properties not mentioned in @interface_info the
20155 * <literal>org.freedesktop.DBus.Error.UnknownMethod</literal> resp.
20156 * <literal>org.freedesktop.DBus.Error.InvalidArgs</literal> errors
20157 * are returned to the caller.
20158 * It is considered a programming error if the
20159 * #GDBusInterfaceGetPropertyFunc function in @vtable returns a
20160 * #GVariant of incorrect type.
20161 * If an existing callback is already registered at @object_path and
20162 * GDBus automatically implements the standard D-Bus interfaces
20163 * org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable
20164 * and org.freedesktop.Peer, so you don't have to implement those for
20165 * the objects you export. You <emphasis>can</emphasis> implement
20166 * org.freedesktop.DBus.Properties yourself, e.g. to handle getting
20167 * and setting of properties asynchronously.
20168 * Note that the reference count on @interface_info will be
20169 * incremented by 1 (unless allocated statically, e.g. if the
20170 * reference count is -1, see g_dbus_interface_info_ref()) for as long
20171 * as the object is exported. Also note that @vtable will be copied.
20172 * See <xref linkend="gdbus-server"/> for an example of how to use this method.
20173 * that can be used with g_dbus_connection_unregister_object() .
20175 * Returns: 0 if @error is set, otherwise a registration id (never 0)
20181 * GAskPasswordFlags:
20182 * @G_ASK_PASSWORD_NEED_PASSWORD: operation requires a password.
20183 * @G_ASK_PASSWORD_NEED_USERNAME: operation requires a username.
20184 * @G_ASK_PASSWORD_NEED_DOMAIN: operation requires a domain.
20185 * @G_ASK_PASSWORD_SAVING_SUPPORTED: operation supports saving settings.
20186 * @G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: operation supports anonymous users.
20188 * #GAskPasswordFlags are used to request specific information from the
20189 * user, or to notify the user of their choices in an authentication
20196 * @icon: #gconstpointer to an icon object.
20198 * Gets a hash for an icon.
20199 * use in a #GHashTable or similar data structure.
20202 * Returns: a #guint containing a hash for the @icon, suitable for
20207 * g_application_command_line_get_exit_status:
20208 * @cmdline: a #GApplicationCommandLine
20210 * Gets the exit status of @cmdline. See
20211 * g_application_command_line_set_exit_status() for more information.
20213 * Returns: the exit status
20219 * g_socket_get_listen_backlog:
20220 * @socket: a #GSocket.
20222 * Gets the listen backlog setting of the socket. For details on this,
20223 * see g_socket_set_listen_backlog().
20225 * Returns: the maximum number of pending connections.
20231 * g_async_initable_new_valist_async:
20232 * @object_type: a #GType supporting #GAsyncInitable.
20233 * @first_property_name: the name of the first property, followed by the value, and other property value pairs, and ended by %NULL.
20234 * @var_args: The var args list generated from @first_property_name.
20235 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the operation.
20236 * @cancellable: optional #GCancellable object, %NULL to ignore.
20237 * @callback: a #GAsyncReadyCallback to call when the initialization is finished
20238 * @user_data: the data to pass to callback function
20240 * Helper function for constructing #GAsyncInitiable object. This is
20241 * similar to g_object_new_valist() but also initializes the object
20243 * When the initialization is finished, @callback will be called. You can
20244 * then call g_async_initable_new_finish() to get the new object and check
20252 * g_network_service_get_protocol:
20253 * @srv: a #GNetworkService
20255 * Gets @srv's protocol name (eg, "tcp").
20257 * Returns: @srv's protocol name
20263 * g_unix_fd_message_new:
20265 * Creates a new #GUnixFDMessage containing an empty file descriptor
20268 * Returns: a new #GUnixFDMessage
20276 * Opaque class for definining and scheduling IO jobs.
20281 * G_VARIANT_TYPE_DOUBLE:
20283 * The type of a double precision IEEE754 floating point number.
20284 * These guys go up to about 1.80e308 (plus and minus) but miss out on
20285 * some numbers in between. In any case, that's far greater than the
20286 * estimated number of fundamental particles in the observable
20292 * GTypeInterfaceCheckFunc:
20293 * @check_data: data passed to g_type_add_interface_check().
20294 * @g_iface: the interface that has been initialized
20296 * A callback called after an interface vtable is initialized.
20297 * See g_type_add_interface_check().
20306 * The fundamental type from which all flags types are derived.
20311 * g_settings_get_child:
20312 * @settings: a #GSettings object
20313 * @name: the name of the 'child' schema
20314 * @returns: (transfer full): a 'child' settings object
20316 * Creates a 'child' settings object which has a base path of
20317 * <replaceable>base-path</replaceable>/@name", where
20318 * <replaceable>base-path</replaceable> is the base path of @settings.
20319 * The schema for the child settings object must have been declared
20320 * in the schema of @settings using a <tag class="starttag">child</tag> element.
20328 * @g_type_class: the parent class
20329 * @mask: a mask covering all possible values.
20330 * @n_values: the number of possible values.
20331 * @values: an array of #GFlagsValue structs describing the individual values.
20333 * The class of a flags type holds information about its
20339 * g_simple_action_group_new:
20341 * Creates a new, empty, #GSimpleActionGroup.
20343 * Returns: a new #GSimpleActionGroup
20349 * g_resolver_lookup_by_address_async:
20350 * @resolver: a #GResolver
20351 * @address: the address to reverse-resolve
20352 * @cancellable: a #GCancellable, or %NULL
20353 * @callback: callback to call after resolution completes
20354 * @user_data: data for @callback
20356 * Begins asynchronously reverse-resolving @address to determine its
20357 * associated hostname, and eventually calls @callback, which must
20358 * call g_resolver_lookup_by_address_finish() to get the final result.
20365 * g_dbus_method_info_ref:
20366 * @info: A #GDBusMethodInfo
20368 * If @info is statically allocated does nothing. Otherwise increases
20369 * the reference count.
20371 * Returns: The same @info.
20377 * G_TYPE_DBUS_SIGNAL_INFO:
20379 * The #GType for a boxed type holding a #GDBusSignalInfo.
20386 * g_dbus_connection_signal_subscribe:
20387 * @connection: A #GDBusConnection.
20388 * @sender: Sender name to match on (unique or well-known name) or %NULL to listen from all senders.
20389 * @interface_name: D-Bus interface name to match on or %NULL to match on all interfaces.
20390 * @member: D-Bus signal name to match on or %NULL to match on all signals.
20391 * @object_path: Object path to match on or %NULL to match on all object paths.
20392 * @arg0: Contents of first string argument to match on or %NULL to match on all kinds of arguments.
20393 * @flags: Flags describing how to subscribe to the signal (currently unused).
20394 * @callback: Callback to invoke when there is a signal matching the requested data.
20395 * @user_data: User data to pass to @callback.
20396 * @user_data_free_func: Function to free @user_data with when subscription is removed or %NULL.
20398 * Subscribes to signals on @connection and invokes @callback with a
20399 * whenever the signal is received. Note that @callback
20400 * will be invoked in the <link
20401 * linkend="g-main-context-push-thread-default">thread-default main
20402 * loop</link> of the thread you are calling this method from.
20403 * If @connection is not a message bus connection, @sender must be
20405 * If @sender is a well-known name note that @callback is invoked with
20406 * the unique name for the owner of @sender, not the well-known name
20407 * as one would expect. This is because the message bus rewrites the
20408 * name. As such, to avoid certain race conditions, users should be
20409 * tracking the name owner of the well-known name and use that when
20410 * processing the received signal.
20412 * Returns: A subscription identifier that can be used with g_dbus_connection_signal_unsubscribe().
20418 * g_themed_icon_append_name:
20419 * @icon: a #GThemedIcon
20420 * @iconname: name of icon to append to list of icons from within @icon.
20422 * Append a name to the list of icons from within @icon.
20424 * Note that doing so invalidates the hash computed by prior calls
20425 * to g_icon_hash().
20431 * g_socket_listener_add_socket:
20432 * @listener: a #GSocketListener
20433 * @socket: a listening #GSocket
20434 * @source_object: Optional #GObject identifying this source
20435 * @error: #GError for error reporting, or %NULL to ignore.
20437 * Adds @socket to the set of sockets that we try to accept
20438 * new clients from. The socket must be bound to a local
20439 * address and listened to.
20440 * to accept to identify this particular source, which is
20441 * useful if you're listening on multiple addresses and do
20442 * different things depending on what address is connected to.
20444 * Returns: %TRUE on success, %FALSE on error.
20450 * g_file_info_set_is_hidden:
20451 * @info: a #GFileInfo.
20452 * @is_hidden: a #gboolean.
20454 * Sets the "is_hidden" attribute in a #GFileInfo according to @is_symlink.
20455 * See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN.
20461 * @is_running: set to %TRUE to indicate that the loop is running. This is not very important since calling g_main_run() will set this to %TRUE anyway.
20463 * Creates a new #GMainLoop for th default main context.
20465 * Returns: a new #GMainLoop
20466 * Deprecated: 2.2: Use g_main_loop_new() instead
20471 * G_VARIANT_TYPE_VARIANT:
20473 * The type of a box that contains any other value (including another
20479 * GUnixSocketAddress:abstract:
20481 * Whether or not this is an abstract address
20482 * distinguishes between zero-padded and non-zero-padded
20483 * abstract addresses.
20485 * Deprecated: Use #GUnixSocketAddress:address-type, which
20492 * Evaluates to a time span of one day.
20499 * g_io_extension_get_type:
20500 * @extension: a #GIOExtension
20502 * Gets the type associated with @extension.
20504 * Returns: the type of @extension
20511 * A handle to an object implementing the #GFileIface interface.
20512 * Generally stores a location within the file system. Handles do not
20513 * necessarily represent files or directories that currently exist.
20518 * G_TYPE_CHECK_INSTANCE:
20519 * @instance: Location of a #GTypeInstance structure.
20521 * Checks if @instance is a valid #GTypeInstance structure,
20522 * otherwise issues a warning and returns %FALSE.
20523 * This macro should only be used in type implementations.
20525 * Returns: %TRUE on success.
20530 * g_data_output_stream_put_int32:
20531 * @stream: a #GDataOutputStream.
20532 * @data: a #gint32.
20533 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
20534 * @error: a #GError, %NULL to ignore.
20536 * Puts a signed 32-bit integer into the output stream.
20538 * Returns: %TRUE if @data was successfully added to the @stream.
20543 * GConverterInputStream:
20545 * An implementation of #GFilterInputStream that allows data
20551 * GTestLogFatalFunc:
20552 * @log_domain: the log domain of the message
20553 * @log_level: the log level of the message (including the fatal and recursion flags)
20554 * @message: the message to process
20555 * @user_data: user data, set in g_test_log_set_fatal_handler()
20557 * Specifies the prototype of fatal log handler functions.
20559 * Returns: %TRUE if the program should abort, %FALSE otherwise
20565 * g_buffered_input_stream_new_sized:
20566 * @base_stream: a #GInputStream
20569 * Creates a new #GBufferedInputStream from the given @base_stream,
20570 * with a buffer set to @size.
20572 * Returns: a #GInputStream.
20577 * g_socket_is_closed:
20578 * @socket: a #GSocket
20580 * Checks whether a socket is closed.
20582 * Returns: %TRUE if socket is closed, %FALSE otherwise
20588 * g_filter_output_stream_get_close_base_stream:
20589 * @stream: a #GFilterOutputStream.
20591 * Returns whether the base stream will be closed when @stream is
20594 * Returns: %TRUE if the base stream will be closed.
20599 * GDBusMessageClass:
20601 * Class structure for #GDBusMessage.
20609 * @prepare: Called before all the file descriptors are polled. If the source can determine that it is ready here (without waiting for the results of the poll() call) it should return %TRUE. It can also return a @timeout_ value which should be the maximum timeout (in milliseconds) which should be passed to the poll() call. The actual timeout used will be -1 if all sources returned -1, or it will be the minimum of all the
20610 * @check: Called after all the file descriptors are polled. The source should return %TRUE if it is ready to be dispatched. Note that some time may have passed since the previous prepare function was called, so the source should be checked again here.
20611 * @dispatch: Called to dispatch the event source, after it has returned %TRUE in either its @prepare or its @check function. The @dispatch function is passed in a callback function and data. The callback function may be %NULL if the source was never connected to a callback using g_source_set_callback(). The @dispatch function should call the callback function with @user_data and whatever additional parameters are needed for this type of event source.
20612 * @finalize: Called when the source is finalized.
20614 * The <structname>GSourceFuncs</structname> struct contains a table of
20615 * functions used to handle event sources in a generic manner.
20616 * For idle sources, the prepare and check functions always return %TRUE
20617 * to indicate that the source is always ready to be processed. The prepare
20618 * function also returns a timeout value of 0 to ensure that the poll() call
20619 * doesn't block (since that would be time wasted which could have been spent
20620 * running the idle function).
20621 * For timeout sources, the prepare and check functions both return %TRUE
20622 * if the timeout interval has expired. The prepare function also returns
20623 * a timeout value to ensure that the poll() call doesn't block too long
20624 * and miss the next timeout.
20625 * For file descriptor sources, the prepare function typically returns %FALSE,
20626 * since it must wait until poll() has been called before it knows whether
20627 * any events need to be processed. It sets the returned timeout to -1 to
20628 * indicate that it doesn't mind how long the poll() call blocks. In the
20629 * check function, it tests the results of the poll() call to see if the
20630 * required condition has been met, and returns %TRUE if so.
20635 * g_dbus_auth_observer_new:
20637 * Creates a new #GDBusAuthObserver object.
20639 * Returns: A #GDBusAuthObserver. Free with g_object_unref().
20645 * g_file_info_copy_into:
20646 * @src_info: source to copy attributes from.
20647 * @dest_info: destination to copy attributes to.
20649 * Copies all of the #GFileAttribute<!-- -->s from @src_info to @dest_info.
20654 * GFileAttributeMatcher:
20656 * Determines if a string matches a file attribute.
20663 * Error domain for GIO. Errors in this domain will be from the #GIOErrorEnum enumeration.
20664 * See #GError for more information on error domains.
20669 * GVolumeMonitor::drive-connected:
20670 * @volume_monitor: The volume monitor emitting the signal.
20671 * @drive: a #GDrive that was connected.
20673 * Emitted when a drive is connected to the system.
20678 * g_settings_bind_with_mapping:
20679 * @settings: a #GSettings object
20680 * @key: the key to bind
20681 * @object: (type GObject.Object): a #GObject
20682 * @property: the name of the property to bind
20683 * @flags: flags for the binding
20684 * @get_mapping: a function that gets called to convert values from @settings to @object, or %NULL to use the default GIO mapping
20685 * @set_mapping: a function that gets called to convert values from @object to @settings, or %NULL to use the default GIO mapping
20686 * @user_data: data that gets passed to @get_mapping and @set_mapping
20687 * @destroy: #GDestroyNotify function for @user_data
20689 * Create a binding between the @key in the @settings object
20690 * and the property @property of @object.
20691 * The binding uses the provided mapping functions to map between
20692 * settings and property values.
20693 * Note that the lifecycle of the binding is tied to the object,
20694 * and that you can have only one binding per object property.
20695 * If you bind the same property twice on the same object, the second
20696 * binding overrides the first one.
20703 * g_socket_client_get_socket_type:
20704 * @client: a #GSocketClient.
20706 * Gets the socket type of the socket client.
20707 * See g_socket_client_set_socket_type() for details.
20709 * Returns: a #GSocketFamily
20716 * @short_description: File and Directory Handling
20717 * @include: gio/gio.h
20718 * @see_also: #GFileInfo, #GFileEnumerator
20720 * #GFile is a high level abstraction for manipulating files on a
20721 * virtual file system. #GFile<!-- -->s are lightweight, immutable
20722 * objects that do no I/O upon creation. It is necessary to understand that
20723 * #GFile objects do not represent files, merely an identifier for a file. All
20724 * file content I/O is implemented as streaming operations (see #GInputStream and
20726 * g_file_new_for_path() if you have a path.
20727 * g_file_new_for_uri() if you have a URI.
20728 * g_file_new_for_commandline_arg() for a command line argument.
20729 * g_file_parse_name() from a utf8 string gotten from g_file_get_parse_name().
20730 * One way to think of a #GFile is as an abstraction of a pathname. For normal
20731 * files the system pathname is what is stored internally, but as #GFile<!-- -->s
20732 * are extensible it could also be something else that corresponds to a pathname
20733 * in a userspace implementation of a filesystem.
20734 * #GFile<!-- -->s make up hierarchies of directories and files that correspond to the
20735 * files on a filesystem. You can move through the file system with #GFile using
20736 * g_file_get_parent() to get an identifier for the parent directory, g_file_get_child()
20737 * to get a child within a directory, g_file_resolve_relative_path() to resolve a relative
20738 * path between two #GFile<!-- -->s. There can be multiple hierarchies, so you may not
20739 * end up at the same root if you repeatedly call g_file_get_parent() on two different
20741 * All #GFile<!-- -->s have a basename (get with g_file_get_basename()). These names
20742 * are byte strings that are used to identify the file on the filesystem (relative to
20743 * its parent directory) and there is no guarantees that they have any particular charset
20744 * encoding or even make any sense at all. If you want to use filenames in a user
20745 * interface you should use the display name that you can get by requesting the
20746 * %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME attribute with g_file_query_info().
20747 * This is guaranteed to be in utf8 and can be used in a user interface. But always
20748 * store the real basename or the #GFile to use to actually access the file, because
20749 * there is no way to go from a display name to the actual name.
20750 * Using #GFile as an identifier has the same weaknesses as using a path in that
20751 * there may be multiple aliases for the same file. For instance, hard or
20752 * soft links may cause two different #GFile<!-- -->s to refer to the same file.
20753 * and long names on Fat/NTFS, or bind mounts in Linux. If you want to check if
20754 * two #GFile<!-- -->s point to the same file you can query for the
20755 * %G_FILE_ATTRIBUTE_ID_FILE attribute. Note that #GFile does some trivial
20756 * canonicalization of pathnames passed in, so that trivial differences in the
20757 * path string used at creation (duplicated slashes, slash at end of path, "."
20758 * or ".." path segments, etc) does not create different #GFile<!-- -->s.
20759 * Many #GFile operations have both synchronous and asynchronous versions
20760 * to suit your application. Asynchronous versions of synchronous functions
20761 * simply have _async() appended to their function names. The asynchronous
20762 * I/O functions call a #GAsyncReadyCallback which is then used to finalize
20763 * the operation, producing a GAsyncResult which is then passed to the
20764 * function's matching _finish() operation.
20765 * Some #GFile operations do not have synchronous analogs, as they may
20766 * take a very long time to finish, and blocking may leave an application
20767 * unusable. Notable cases include:
20768 * g_file_mount_mountable() to mount a mountable file.
20769 * g_file_unmount_mountable_with_operation() to unmount a mountable file.
20770 * g_file_eject_mountable_with_operation() to eject a mountable file.
20771 * <para id="gfile-etag"><indexterm><primary>entity tag</primary></indexterm>
20772 * One notable feature of #GFile<!-- -->s are entity tags, or "etags" for
20773 * short. Entity tags are somewhat like a more abstract version of the
20774 * traditional mtime, and can be used to quickly determine if the file has
20775 * been modified from the version on the file system. See the HTTP 1.1
20776 * <ulink url="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">specification</ulink>
20777 * for HTTP Etag headers, which are a very similar concept.
20780 * To construct a #gfile, you can use:
20781 * Other possible causes for aliases are: case insensitive filesystems, short
20786 * GBufferedOutputStream:
20788 * An implementation of #GFilterOutputStream with a sized buffer.
20793 * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME:
20795 * A key in the "standard" namespace for getting the copy name of the file.
20796 * The copy name is an optional version of the name. If available it's always
20797 * in UTF8, and corresponds directly to the original filename (only transcoded to
20798 * UTF8). This is useful if you want to copy the file to another filesystem that
20799 * might have a different encoding. If the filename is not a valid string in the
20800 * encoding selected for the filesystem it is in then the copy name will not be set.
20801 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
20806 * g_desktop_app_info_get_filename:
20807 * @info: a #GDesktopAppInfo
20809 * When @info was created from a known filename, return it. In some
20810 * situations such as the #GDesktopAppInfo returned from
20811 * g_desktop_app_info_new_from_keyfile(), this function will return %NULL.
20813 * Returns: The full path to the file for @info, or %NULL if not known.
20819 * g_settings_backend_path_writable_changed:
20820 * @backend: a #GSettingsBackend implementation
20821 * @path: the name of the path
20823 * Signals that the writability of all keys below a given path may have
20825 * Since GSettings performs no locking operations for itself, this call
20826 * will always be made in response to external events.
20833 * GActionGroup::action-removed:
20834 * @action_group: the #GActionGroup that changed
20835 * @action_name: the name of the action in @action_group
20837 * Signals that an action is just about to be removed from the group.
20838 * This signal is emitted before the action is removed, so the action
20839 * is still visible and can be queried from the signal handler.
20848 * Gets an icon for a #GFile. Implements #GLoadableIcon.
20853 * g_socket_set_timeout:
20854 * @socket: a #GSocket.
20855 * @timeout: the timeout for @socket, in seconds, or 0 for none
20857 * Sets the time in seconds after which I/O operations on @socket will
20858 * time out if they have not yet completed.
20859 * On a blocking socket, this means that any blocking #GSocket
20860 * operation will time out after @timeout seconds of inactivity,
20861 * returning %G_IO_ERROR_TIMED_OUT.
20862 * On a non-blocking socket, calls to g_socket_condition_wait() will
20863 * also fail with %G_IO_ERROR_TIMED_OUT after the given time. Sources
20864 * created with g_socket_create_source() will trigger after
20865 * set, at which point calling g_socket_receive(), g_socket_send(),
20866 * g_socket_check_connect_result(), etc, will fail with
20867 * %G_IO_ERROR_TIMED_OUT.
20868 * If @timeout is 0 (the default), operations will never time out
20870 * Note that if an I/O operation is interrupted by a signal, this may
20871 * cause the timeout to be reset.
20878 * g_app_info_set_as_default_for_extension:
20879 * @appinfo: a #GAppInfo.
20880 * @extension: a string containing the file extension (without the dot).
20881 * @error: a #GError.
20883 * Sets the application as the default handler for the given file extension.
20885 * Returns: %TRUE on success, %FALSE on error.
20890 * G_CLOSURE_NEEDS_MARSHAL:
20891 * @closure: a #GClosure
20893 * Check if the closure still needs a marshaller. See g_closure_set_marshal().
20895 * Returns: %TRUE if a #GClosureMarshal marshaller has not yet been set on
20900 * g_unix_connection_send_fd:
20901 * @connection: a #GUnixConnection
20902 * @fd: a file descriptor
20903 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
20904 * @error: (allow-none): #GError for error reporting, or %NULL to ignore.
20906 * Passes a file descriptor to the recieving side of the
20907 * connection. The recieving end has to call g_unix_connection_receive_fd()
20908 * to accept the file descriptor.
20909 * As well as sending the fd this also writes a single byte to the
20910 * stream, as this is required for fd passing to work on some
20913 * Returns: a %TRUE on success, %NULL on error.
20919 * G_FILE_ATTRIBUTE_TRASH_DELETION_DATE:
20921 * A key in the "trash" namespace. When requested against
20922 * items in "trash:///", will return the date and time when the file
20923 * was trashed. The format of the returned string is YYYY-MM-DDThh:mm:ss.
20924 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
20933 * Interface that handles proxy connection and payload.
20940 * g_content_type_is_unknown:
20941 * @type: a content type string
20943 * Checks if the content type is the generic "unknown" type.
20944 * On UNIX this is the "application/octet-stream" mimetype,
20945 * while on win32 it is "*".
20947 * Returns: %TRUE if the type is the unknown type.
20952 * GMountMountFlags:
20953 * @G_MOUNT_MOUNT_NONE: No flags set.
20955 * Flags used when mounting a mount.
20960 * GZlibCompressor:file-info:
20962 * If set to a non-%NULL #GFileInfo object, and #GZlibCompressor:format is
20963 * %G_ZLIB_COMPRESSOR_FORMAT_GZIP, the compressor will write the file name
20964 * and modification time from the file info to the the GZIP header.
20971 * g_async_result_get_source_object:
20972 * @res: a #GAsyncResult
20974 * Gets the source object from a #GAsyncResult.
20975 * or %NULL if there is none.
20977 * Returns: (transfer full): a new reference to the source object for the @res,
20982 * g_file_replace_async:
20983 * @file: input #GFile.
20984 * @etag: (allow-none): an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore.
20985 * @make_backup: %TRUE if a backup should be created.
20986 * @flags: a set of #GFileCreateFlags.
20987 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
20988 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
20989 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
20990 * @user_data: (closure): the data to pass to callback function
20992 * Asynchronously overwrites the file, replacing the contents, possibly
20993 * creating a backup copy of the file first.
20994 * For more details, see g_file_replace() which is
20995 * the synchronous version of this call.
20996 * When the operation is finished, @callback will be called. You can then call
20997 * g_file_replace_finish() to get the result of the operation.
21002 * g_file_set_display_name_finish:
21003 * @file: input #GFile.
21004 * @res: a #GAsyncResult.
21005 * @error: a #GError, or %NULL
21007 * Finishes setting a display name started with
21008 * g_file_set_display_name_async().
21009 * Free the returned object with g_object_unref().
21011 * Returns: (transfer full): a #GFile or %NULL on error.
21016 * GBusNameLostCallback:
21017 * @connection: The #GDBusConnection on which to acquire the name or %NULL if the connection was disconnected.
21018 * @name: The name being owned.
21019 * @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
21021 * Invoked when the name is lost or @connection has been closed.
21028 * g_unix_mount_point_get_mount_path:
21029 * @mount_point: a #GUnixMountPoint.
21031 * Gets the mount path for a unix mount point.
21033 * Returns: a string containing the mount path.
21038 * g_mount_get_uuid:
21039 * @mount: a #GMount.
21041 * Gets the UUID for the @mount. The reference is typically based on
21042 * the file system UUID for the mount in question and should be
21043 * considered an opaque string. Returns %NULL if there is no UUID
21045 * The returned string should be freed with g_free()
21046 * when no longer needed.
21048 * Returns: the UUID for @mount or %NULL if no UUID can be computed.
21053 * g_settings_revert:
21054 * @settings: a #GSettings instance
21056 * Reverts all non-applied changes to the settings. This function
21057 * does nothing unless @settings is in 'delay-apply' mode; see
21058 * g_settings_delay(). In the normal case settings are always applied
21060 * Change notifications will be emitted for affected keys.
21065 * GBusNameOwnerFlags:
21066 * @G_BUS_NAME_OWNER_FLAGS_NONE: No flags set.
21067 * @G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the the name.
21068 * @G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
21070 * Flags used in g_bus_own_name().
21077 * G_IS_PARAM_SPEC_ULONG:
21078 * @pspec: a valid #GParamSpec instance
21080 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG.
21082 * Returns: %TRUE on success.
21087 * g_file_resolve_relative_path:
21088 * @file: input #GFile.
21089 * @relative_path: a given relative path string.
21091 * Resolves a relative path for @file to an absolute path.
21092 * This call does no blocking i/o.
21093 * is %NULL or if @file is invalid.
21094 * Free the returned object with g_object_unref().
21096 * Returns: (transfer full): #GFile to the resolved path. %NULL if @relative_path
21101 * g_application_get_flags:
21102 * @application: a #GApplication
21103 * @returns: the flags for @application
21105 * Gets the flags for @application.
21106 * See #GApplicationFlags.
21113 * G_VARIANT_TYPE_ANY:
21115 * An indefinite type that is a supertype of every type (including
21121 * GPollableSourceFunc:
21122 * @pollable_stream: the #GPollableInputStream or #GPollableOutputStream
21123 * @user_data: data passed in by the user.
21125 * This is the function type of the callback used for the #GSource
21126 * returned by g_pollable_input_stream_create_source() and
21127 * g_pollable_output_stream_create_source().
21129 * Returns: it should return %FALSE if the source should be removed.
21135 * g_file_info_set_display_name:
21136 * @info: a #GFileInfo.
21137 * @display_name: a string containing a display name.
21139 * Sets the display name for the current #GFileInfo.
21140 * See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.
21145 * SECTION:gloadableico:
21146 * @short_description: Loadable Icons
21147 * @include: gio/gio.h
21148 * @see_also: #GIcon, #GThemedIcon
21150 * Extends the #GIcon interface and adds the ability to
21151 * load icons from streams.
21158 * <structname>GDateTime</structname> is an opaque structure whose members
21159 * cannot be accessed directly.
21167 * @file: input #GFile.
21168 * @etag: (allow-none): an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore.
21169 * @make_backup: %TRUE if a backup should be created.
21170 * @flags: a set of #GFileCreateFlags.
21171 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
21172 * @error: a #GError, or %NULL
21174 * Returns an output stream for overwriting the file, possibly
21175 * creating a backup copy of the file first. If the file doesn't exist,
21176 * it will be created.
21177 * This will try to replace the file in the safest way possible so
21178 * that any errors during the writing will not affect an already
21179 * existing copy of the file. For instance, for local files it
21180 * may write to a temporary file and then atomically rename over
21181 * the destination when the stream is closed.
21182 * By default files created are generally readable by everyone,
21183 * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
21184 * will be made readable only to the current user, to the level that
21185 * is supported on the target filesystem.
21186 * If @cancellable is not %NULL, then the operation can be cancelled by
21187 * triggering the cancellable object from another thread. If the operation
21188 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
21189 * If you pass in a non-#NULL @etag value, then this value is
21190 * compared to the current entity tag of the file, and if they differ
21191 * an G_IO_ERROR_WRONG_ETAG error is returned. This generally means
21192 * that the file has been changed since you last read it. You can get
21193 * the new etag from g_file_output_stream_get_etag() after you've
21194 * finished writing and closed the #GFileOutputStream. When you load
21195 * a new file you can use g_file_input_stream_query_info() to get
21196 * the etag of the file.
21197 * If @make_backup is %TRUE, this function will attempt to make a backup
21198 * of the current file before overwriting it. If this fails a G_IO_ERROR_CANT_CREATE_BACKUP
21199 * error will be returned. If you want to replace anyway, try again with
21200 * If the file is a directory the G_IO_ERROR_IS_DIRECTORY error will be returned,
21201 * and if the file is some other form of non-regular file then a
21202 * G_IO_ERROR_NOT_REGULAR_FILE error will be returned.
21203 * Some file systems don't allow all file names, and may
21204 * return an G_IO_ERROR_INVALID_FILENAME error, and if the name
21205 * is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned.
21206 * Other errors are possible too, and depend on what kind of
21207 * filesystem the file is on.
21208 * Free the returned object with g_object_unref().
21210 * Returns: (transfer full): a #GFileOutputStream or %NULL on error.
21215 * G_FILE_ATTRIBUTE_OWNER_USER:
21217 * A key in the "owner" namespace for getting the user name of the
21218 * file's owner. Corresponding #GFileAttributeType is
21219 * %G_FILE_ATTRIBUTE_TYPE_STRING.
21224 * g_dbus_message_copy:
21225 * @message: A #GDBusMessage.
21226 * @error: Return location for error or %NULL.
21228 * Copies @message. The copy is a deep copy and the returned
21229 * #GDBusMessage is completely identical except that it is guaranteed
21230 * to not be locked.
21231 * This operation can fail if e.g. @message contains file descriptors
21232 * and the per-process or system-wide open files limit is reached.
21233 * g_object_unref().
21235 * Returns: (transfer full): A new #GDBusMessage or %NULL if @error is set. Free with
21242 * @size: number of bytes to allocate.
21244 * Allocates @size bytes on the stack; these bytes will be freed when the current
21245 * stack frame is cleaned up. This macro essentially just wraps the alloca()
21246 * function present on most UNIX variants.
21247 * Thus it provides the same advantages and pitfalls as alloca():
21249 * <varlistentry><term></term><listitem><para>
21250 * + alloca() is very fast, as on most systems it's implemented by just adjusting
21251 * the stack pointer register.
21252 * </para></listitem></varlistentry>
21253 * <varlistentry><term></term><listitem><para>
21254 * + It doesn't cause any memory fragmentation, within its scope, separate alloca()
21255 * blocks just build up and are released together at function end.
21256 * </para></listitem></varlistentry>
21257 * <varlistentry><term></term><listitem><para>
21258 * - Allocation sizes have to fit into the current stack frame. For instance in a
21259 * threaded environment on Linux, the per-thread stack size is limited to 2 Megabytes,
21260 * so be sparse with alloca() uses.
21261 * </para></listitem></varlistentry>
21262 * <varlistentry><term></term><listitem><para>
21263 * - Allocation failure due to insufficient stack space is not indicated with a %NULL
21264 * return like e.g. with malloc(). Instead, most systems probably handle it the same
21265 * way as out of stack space situations from infinite function recursion, i.e.
21266 * with a segmentation fault.
21267 * </para></listitem></varlistentry>
21268 * <varlistentry><term></term><listitem><para>
21269 * - Special care has to be taken when mixing alloca() with GNU C variable sized arrays.
21270 * Stack space allocated with alloca() in the same scope as a variable sized array
21271 * will be freed together with the variable sized array upon exit of that scope, and
21272 * not upon exit of the enclosing function scope.
21273 * </para></listitem></varlistentry>
21276 * Returns: space for @size bytes, allocated on the stack
21281 * G_DEFINE_TYPE_WITH_CODE:
21282 * @TN: The name of the new type, in Camel case.
21283 * @t_n: The name of the new type in lowercase, with words separated by '_'.
21284 * @T_P: The #GType of the parent type.
21285 * @_C_: Custom code that gets inserted in the *_get_type() function.
21287 * A convenience macro for type implementations.
21288 * Similar to G_DEFINE_TYPE(), but allows you to insert custom code into the
21289 * *_get_type() function, e.g. interface implementations via G_IMPLEMENT_INTERFACE().
21290 * See G_DEFINE_TYPE_EXTENDED() for an example.
21297 * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
21299 * A key in the "standard" namespace for getting the symlink target, if the file
21300 * is a symlink. Corresponding #GFileAttributeType is
21301 * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
21306 * g_dbus_connection_new_for_address_sync:
21307 * @address: A D-Bus address.
21308 * @flags: Flags describing how to make the connection.
21309 * @observer: A #GDBusAuthObserver or %NULL.
21310 * @cancellable: A #GCancellable or %NULL.
21311 * @error: Return location for error or %NULL.
21313 * Synchronously connects and sets up a D-Bus client connection for
21314 * exchanging D-Bus messages with an endpoint specified by @address
21315 * which must be in the D-Bus address format.
21316 * This constructor can only be used to initiate client-side
21317 * connections - use g_dbus_connection_new_sync() if you need to act
21318 * as the server. In particular, @flags cannot contain the
21319 * %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
21320 * %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
21321 * This is a synchronous failable constructor. See
21322 * g_dbus_connection_new_for_address() for the asynchronous version.
21323 * If @observer is not %NULL it may be used to control the
21324 * authentication process.
21326 * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
21332 * g_resolver_free_addresses: (skip)
21333 * @addresses: a #GList of #GInetAddress
21335 * Frees @addresses (which should be the return value from
21336 * g_resolver_lookup_by_name() or g_resolver_lookup_by_name_finish()).
21337 * (This is a convenience method; you can also simply free the results
21345 * GMountOperation:anonymous:
21347 * Whether to use an anonymous user when authenticating.
21352 * g_socket_condition_check:
21353 * @socket: a #GSocket
21354 * @condition: a #GIOCondition mask to check
21356 * Checks on the readiness of @socket to perform operations.
21357 * The operations specified in @condition are checked for and masked
21358 * against the currently-satisfied conditions on @socket. The result
21360 * Note that on Windows, it is possible for an operation to return
21361 * %G_IO_ERROR_WOULD_BLOCK even immediately after
21362 * g_socket_condition_check() has claimed that the socket is ready for
21363 * writing. Rather than calling g_socket_condition_check() and then
21364 * writing to the socket if it succeeds, it is generally better to
21365 * simply try writing to the socket right away, and try again later if
21366 * the initial attempt returns %G_IO_ERROR_WOULD_BLOCK.
21367 * It is meaningless to specify %G_IO_ERR or %G_IO_HUP in condition;
21368 * these conditions will always be set in the output if they are true.
21369 * This call never blocks.
21371 * Returns: the @GIOCondition mask of the current state
21377 * g_bus_unown_name:
21378 * @owner_id: An identifier obtained from g_bus_own_name()
21380 * Stops owning a name.
21387 * g_dbus_proxy_get_interface_info:
21388 * @proxy: A #GDBusProxy
21390 * Returns the #GDBusInterfaceInfo, if any, specifying the minimal
21391 * interface that @proxy conforms to.
21392 * See the #GDBusProxy:g-interface-info property for more details.
21393 * object, it is owned by @proxy.
21395 * Returns: A #GDBusInterfaceInfo or %NULL. Do not unref the returned
21401 * g_proxy_address_get_destination_hostnam:
21402 * @proxy: a #GProxyAddress
21404 * Gets @proxy's destination hostname.
21406 * Returns: the @proxy's destination hostname
21412 * g_dbus_method_invocation_get_connection:
21413 * @invocation: A #GDBusMethodInvocation.
21415 * Gets the #GDBusConnection the method was invoked on.
21417 * Returns: (transfer none): A #GDBusConnection. Do not free, it is owned by @invocation.
21423 * g_srv_target_get_hostname:
21424 * @target: a #GSrvTarget
21426 * Gets @target's hostname (in ASCII form; if you are going to present
21427 * this to the user, you should use g_hostname_is_ascii_encoded() to
21428 * check if it contains encoded Unicode segments, and use
21429 * g_hostname_to_unicode() to convert it if it does.)
21431 * Returns: @target's hostname
21437 * g_io_extension_point_get_extensions:
21438 * @extension_point: a #GIOExtensionPoint
21440 * Gets a list of all extensions that implement this extension point.
21441 * The list is sorted by priority, beginning with the highest priority.
21442 * #GIOExtension<!-- -->s. The list is owned by GIO and should not be
21445 * Returns: (element-type GIOExtension) (transfer none): a #GList of
21450 * GSettings:has-unapplied:
21452 * If this property is %TRUE, the #GSettings object has outstanding
21453 * changes that will be applied when g_settings_apply() is called.
21458 * g_dbus_proxy_set_interface_info:
21459 * @proxy: A #GDBusProxy
21460 * @info: Minimum interface this proxy conforms to or %NULL to unset.
21462 * Ensure that interactions with @proxy conform to the given
21463 * interface. For example, when completing a method call, if the type
21464 * signature of the message isn't what's expected, the given #GError
21465 * is set. Signals that have a type signature mismatch are simply
21467 * See the #GDBusProxy:g-interface-info property for more details.
21475 * @parent: the #GNode to place the new #GNode under
21476 * @node: the #GNode to insert
21478 * Inserts a #GNode as the last child of the given parent.
21480 * Returns: the inserted #GNode
21485 * g_memory_input_stream_add_data:
21486 * @stream: a #GMemoryInputStream
21487 * @data: input data
21488 * @len: length of the data, may be -1 if @data is a nul-terminated string
21489 * @destroy: function that is called to free @data, or %NULL
21491 * Appends @data to data that can be read from the input stream
21496 * g_content_type_get_description:
21497 * @type: a content type string
21499 * Gets the human readable description of the content type.
21500 * returned string with g_free()
21502 * Returns: a short description of the content type @type. Free the
21507 * G_PARAM_SPEC_INT64:
21508 * @pspec: a valid #GParamSpec instance
21510 * Cast a #GParamSpec instance into a #GParamSpecInt64.
21515 * g_permission_release_finish:
21516 * @permission: a #GPermission instance
21517 * @result: the #GAsyncResult given to the #GAsyncReadyCallback
21518 * @error: a pointer to a %NULL #GError, or %NULL
21519 * @returns: %TRUE if the permission was successfully released
21521 * Collects the result of attempting to release the permission
21522 * represented by @permission.
21523 * This is the second half of the asynchronous version of
21524 * g_permission_release().
21531 * G_TYPE_RESERVED_BSE_LAST:
21533 * Last fundamental type number reserved for BSE.
21538 * g_dbus_message_get_num_unix_fds:
21539 * @message: A #GDBusMessage.
21541 * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
21543 * Returns: The value.
21549 * GDBusSubtreeFlags:
21550 * @G_DBUS_SUBTREE_FLAGS_NONE: No flags set.
21551 * @G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range will still be dispatched. This is useful if you want to dynamically spawn objects in the subtree.
21553 * Flags passed to g_dbus_connection_register_subtree().
21560 * g_dbus_connection_unregister_object:
21561 * @connection: A #GDBusConnection.
21562 * @registration_id: A registration id obtained from g_dbus_connection_register_object().
21564 * Unregisters an object.
21566 * Returns: %TRUE if the object was unregistered, %FALSE otherwise.
21572 * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI:
21574 * A key in the "standard" namespace for getting the target URI for the file, in
21575 * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files.
21576 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
21581 * SECTION:gmemoryoutputstrea:
21582 * @short_description: Streaming output operations on memory chunks
21583 * @include: gio/gio.h
21584 * @see_also: #GMemoryInputStream
21586 * #GMemoryOutputStream is a class for using arbitrary
21587 * memory chunks as output for GIO streaming output operations.
21592 * g_tls_client_connection_new:
21593 * @base_io_stream: the #GIOStream to wrap
21594 * @server_identity: (allow-none): the expected identity of the server
21595 * @error: #GError for error reporting, or %NULL to ignore.
21597 * Creates a new #GTlsClientConnection wrapping @base_io_stream (which
21598 * must have pollable input and output streams) which is assumed to
21599 * communicate with the server identified by @server_identity.
21601 * Returns: the new #GTlsClientConnection, or %NULL on error
21607 * g_network_address_get_scheme:
21608 * @addr: a #GNetworkAddress
21610 * Gets @addr's scheme
21612 * Returns: @addr's scheme (%NULL if not built from URI)
21618 * G_FILE_ATTRIBUTE_TIME_ACCESS:
21620 * A key in the "time" namespace for getting the time the file was last
21621 * accessed. Corresponding #GFileAttributeType is
21622 * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the UNIX time since the
21623 * file was last accessed.
21628 * g_unix_mount_guess_icon:
21629 * @mount_entry: a #GUnixMountEntry
21631 * Guesses the icon of a Unix mount.
21633 * Returns: (transfer full): a #GIcon
21639 * @drive: a #GDrive.
21641 * Emitted when the drive's state has changed.
21646 * g_file_info_unset_attribute_mask:
21647 * @info: #GFileInfo.
21649 * Unsets a mask set by g_file_info_set_attribute_mask(), if one
21655 * GAction:parameter-type:
21657 * The type of the parameter that must be given when activating the
21666 * @file: input #GFile
21667 * @flags: a set of #GFileMonitorFlags
21668 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
21669 * @error: a #GError, or %NULL
21671 * Obtains a file or directory monitor for the given file, depending
21672 * on the type of the file.
21673 * If @cancellable is not %NULL, then the operation can be cancelled by
21674 * triggering the cancellable object from another thread. If the operation
21675 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
21676 * Free the returned object with g_object_unref().
21678 * Returns: (transfer full): a #GFileMonitor for the given @file, or %NULL on error.
21684 * GTlsConnection:peer-certificate-errors:
21686 * The errors noticed-and-ignored while verifying
21687 * #GTlsConnection:peer-certificate. Normally this should be %0, but
21688 * it may not be if #GTlsClientConnection::validation-flags is not
21689 * %G_TLS_CERTIFICATE_VALIDATE_ALL, or if
21690 * #GTlsConnection::accept-certificate overrode the default
21698 * g_credentials_set_unix_user:
21699 * @credentials: A #GCredentials.
21700 * @uid: The UNIX user identifier to set.
21701 * @error: Return location for error or %NULL.
21703 * Tries to set the UNIX user identifier on @credentials. This method
21704 * is only available on UNIX platforms.
21705 * This operation can fail if #GCredentials is not supported on the
21706 * OS or if the native credentials type does not contain information
21707 * about the UNIX user.
21709 * Returns: %TRUE if @uid was set, %FALSE if error is set.
21716 * @in_marshal: Indicates whether the closure is currently being invoked with g_closure_invoke()
21717 * @is_invalid: Indicates whether the closure has been invalidated by g_closure_invalidate()
21719 * A #GClosure represents a callback supplied by the programmer.
21724 * SECTION:gsocketaddres:
21725 * @short_description: Abstract base class representing endpoints for socket communication
21727 * #GSocketAddress is the equivalent of <type>struct sockaddr</type>
21728 * in the BSD sockets API. This is an abstract class; use
21729 * #GInetSocketAddress for internet sockets, or #GUnixSocketAddress
21730 * for UNIX domain sockets.
21735 * G_TIME_SPAN_MINUTE:
21737 * Evaluates to a time span of one minute.
21744 * g_drive_can_start_degraded:
21745 * @drive: a #GDrive.
21747 * Checks if a drive can be started degraded.
21749 * Returns: %TRUE if the @drive can be started degraded, %FALSE otherwise.
21755 * g_content_type_can_be_executable:
21756 * @type: a content type string
21758 * Checks if a content type can be executable. Note that for instance
21759 * things like text files can be executables (i.e. scripts and batch files).
21760 * can be executable, %FALSE otherwise.
21762 * Returns: %TRUE if the file type corresponds to a type that
21767 * GSimpleActionClass:
21768 * @activate: the class closure for the activate signal
21777 * G_TYPE_INSTANCE_GET_INTERFACE:
21778 * @instance: Location of the #GTypeInstance structure.
21779 * @g_type: The #GType of the interface to be returned.
21780 * @c_type: The C type of the interface structure.
21782 * Get the interface structure for interface @g_type of a given @instance.
21783 * This macro should only be used in type implementations.
21785 * Returns: a pointer to the interface structure
21790 * g_file_info_get_attribute_as_string:
21791 * @info: a #GFileInfo.
21792 * @attribute: a file attribute key.
21794 * Gets the value of a attribute, formated as a string.
21795 * This escapes things as needed to make the string valid
21797 * When you're done with the string it must be freed with g_free().
21799 * Returns: a UTF-8 string associated with the given @attribute.
21804 * GResolver::reload:
21805 * @resolver: a #GResolver
21807 * Emitted when the resolver notices that the system resolver
21808 * configuration has changed.
21813 * g_settings_get_range:
21814 * @settings: a #GSettings
21815 * @key: the key to query the range of
21816 * @returns: a #GVariant describing the range
21818 * Queries the range of a key.
21819 * This function will return a #GVariant that fully describes the range
21820 * of values that are valid for @key.
21821 * The type of #GVariant returned is <literal>(sv)</literal>. The
21822 * string describes the type of range restriction in effect. The type
21823 * and meaning of the value contained in the variant depends on the
21825 * If the string is <literal>'type'</literal> then the variant contains
21826 * an empty array. The element type of that empty array is the expected
21827 * type of value and all values of that type are valid.
21828 * If the string is <literal>'enum'</literal> then the variant contains
21829 * an array enumerating the possible values. Each item in the array is
21830 * a possible valid value and no other values are valid.
21831 * If the string is <literal>'flags'</literal> then the variant contains
21832 * an array. Each item in the array is a value that may appear zero or
21833 * one times in an array to be used as the value for this key. For
21834 * example, if the variant contained the array <literal>['x',
21835 * 'y']</literal> then the valid values for the key would be
21836 * <literal>[]</literal>, <literal>['x']</literal>,
21837 * <literal>['y']</literal>, <literal>['x', 'y']</literal> and
21838 * <literal>['y', 'x']</literal>.
21839 * Finally, if the string is <literal>'range'</literal> then the variant
21840 * contains a pair of like-typed values -- the minimum and maximum
21841 * permissible values for this key.
21842 * This information should not be used by normal programs. It is
21843 * considered to be a hint for introspection purposes. Normal programs
21844 * should already know what is permitted by their own schema. The
21845 * format may change in any way in the future -- but particularly, new
21846 * forms may be added to the possibilities described above.
21847 * It is a programmer error to give a @key that isn't contained in the
21848 * schema for @settings.
21849 * You should free the returned value with g_variant_unref() when it is
21850 * no longer needed.
21857 * g_socket_client_set_protocol:
21858 * @client: a #GSocketClient.
21859 * @protocol: a #GSocketProtocol
21861 * Sets the protocol of the socket client.
21862 * The sockets created by this object will use of the specified
21864 * If @protocol is %0 that means to use the default
21865 * protocol for the socket family and type.
21872 * G_TYPE_IO_CONDITION:
21874 * The #GType for #GIOCondition.
21880 * @mount: a #GMount.
21881 * @flags: flags affecting the operation
21882 * @cancellable: optional #GCancellable object, %NULL to ignore.
21883 * @callback: a #GAsyncReadyCallback, or %NULL.
21884 * @user_data: user data passed to @callback.
21886 * Unmounts a mount. This is an asynchronous operation, and is
21887 * finished by calling g_mount_unmount_finish() with the @mount
21888 * and #GAsyncResult data returned in the @callback.
21890 * Deprecated: 2.22: Use g_mount_unmount_with_operation() instead.
21895 * g_io_module_load:
21896 * @module: a #GIOModule.
21898 * Required API for GIO modules to implement.
21899 * This function is ran after the module has been loaded into GIO,
21900 * to initialize the module.
21905 * g_unix_mount_point_is_user_mountable:
21906 * @mount_point: a #GUnixMountPoint.
21908 * Checks if a unix mount point is mountable by the user.
21910 * Returns: %TRUE if the mount point is user mountable.
21915 * g_app_info_supports_uris:
21916 * @appinfo: a #GAppInfo.
21918 * Checks if the application supports reading files and directories from URIs.
21920 * Returns: %TRUE if the @appinfo supports URIs.
21925 * g_seekable_can_truncate:
21926 * @seekable: a #GSeekable.
21928 * Tests if the stream can be truncated.
21930 * Returns: %TRUE if the stream can be truncated, %FALSE otherwise.
21935 * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH:
21937 * Allowed characters in a path. Includes "!$&'()*+,;=:@/".
21942 * GDesktopAppInfoLookup:
21944 * Interface that is used by backends to associate default
21945 * handlers with URI schemes.
21950 * GTlsClientConnection:use-ssl3:
21952 * If %TRUE, tells the connection to use SSL 3.0 rather than trying
21953 * to negotiate the best version of TLS or SSL to use. This can be
21954 * used when talking to servers that don't implement version
21955 * negotiation correctly and therefore refuse to handshake at all with
21956 * a "modern" TLS handshake.
21963 * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE:
21965 * A key in the "unix" namespace for getting the block size for the file
21966 * system. This attribute is only available for UNIX file systems.
21967 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
21972 * g_dbus_interface_info_lookup_property:
21973 * @info: A #GDBusInterfaceInfo.
21974 * @name: A D-Bus property name (typically in CamelCase).
21976 * Looks up information about a property.
21977 * This cost of this function is O(n) in number of properties.
21979 * Returns: A #GDBusPropertyInfo or %NULL if not found. Do not free, it is owned by @info.
21985 * G_TYPE_PARAM_UINT64:
21987 * The #GType of #GParamSpecUInt64.
21992 * GBusNameAcquiredCallback:
21993 * @connection: The #GDBusConnection on which to acquired the name.
21994 * @name: The name being owned.
21995 * @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
21997 * Invoked when the name is acquired.
22004 * GMountOperationResult:
22005 * @G_MOUNT_OPERATION_HANDLED: The request was fulfilled and the user specified data is now available
22006 * @G_MOUNT_OPERATION_ABORTED: The user requested the mount operation to be aborted
22007 * @G_MOUNT_OPERATION_UNHANDLED: The request was unhandled (i.e. not implemented)
22009 * #GMountOperationResult is returned as a result when a request for
22010 * information is send by the mounting operation.
22015 * g_mount_can_eject:
22016 * @mount: a #GMount.
22018 * Checks if @mount can be eject.
22020 * Returns: %TRUE if the @mount can be ejected.
22025 * SECTION:gmountoperatio:
22026 * @short_description: Object used for authentication and user interaction
22027 * @include: gio/gio.h
22029 * #GMountOperation provides a mechanism for interacting with the user.
22030 * It can be used for authenticating mountable operations, such as loop
22031 * mounting files, hard drive partitions or server locations. It can
22032 * also be used to ask the user questions or show a list of applications
22033 * preventing unmount or eject operations from completing.
22034 * Note that #GMountOperation is used for more than just #GMount
22035 * objects – for example it is also used in g_drive_start() and
22037 * Users should instantiate a subclass of this that implements all the
22038 * various callbacks to show the required dialogs, such as
22039 * #GtkMountOperation. If no user interaction is desired (for example
22040 * when automounting filesystems at login time), usually %NULL can be
22041 * passed, see each method taking a #GMountOperation for details.
22046 * g_data_input_stream_read_int64:
22047 * @stream: a given #GDataInputStream.
22048 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
22049 * @error: #GError for error reporting.
22051 * Reads a 64-bit/8-byte value from @stream.
22052 * In order to get the correct byte order for this read operation,
22053 * see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
22054 * If @cancellable is not %NULL, then the operation can be cancelled by
22055 * triggering the cancellable object from another thread. If the operation
22056 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
22057 * an error occurred.
22059 * Returns: a signed 64-bit/8-byte value read from @stream or %0 if
22064 * SECTION:gunixoutputstrea:
22065 * @short_description: Streaming output operations for UNIX file descriptors
22066 * @include: gio/gunixoutputstream.h
22067 * @see_also: #GOutputStream
22069 * #GUnixOutputStream implements #GOutputStream for writing to a
22070 * UNIX file descriptor, including asynchronous operations. The file
22071 * descriptor must be selectable, so it doesn't work with opened files.
22072 * Note that <filename><gio/gunixoutputstream.h></filename> belongs
22073 * to the UNIX-specific GIO interfaces, thus you have to use the
22074 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
22079 * g_simple_async_result_get_op_res_gpointer: (skip)
22080 * @simple: a #GSimpleAsyncResult.
22082 * Gets a pointer result as returned by the asynchronous function.
22084 * Returns: a pointer from the result.
22089 * g_memory_output_stream_steal_data:
22090 * @ostream: a #GMemoryOutputStream
22092 * Gets any loaded data from the @ostream. Ownership of the data
22093 * is transferred to the caller; when no longer needed it must be
22094 * freed using the free function set in @ostream's
22095 * #GMemoryOutputStream:destroy-function property.
22097 * Returns: (transfer full): the stream's data
22103 * G_PARAM_SPEC_VARIANT:
22104 * @pspec: a #GParamSpec
22106 * Casts a #GParamSpec into a #GParamSpecVariant.
22115 * @short_description: An action
22117 * #GAction represents a single named action.
22118 * The main interface to an action is that it can be activated with
22119 * g_action_activate(). This results in the 'activate' signal being
22120 * emitted. An activation has a #GVariant parameter (which may be
22121 * %NULL). The correct type for the parameter is determined by a static
22122 * parameter type (which is given at construction time).
22123 * An action may optionally have a state, in which case the state may be
22124 * set with g_action_set_state(). This call takes a #GVariant. The
22125 * correct type for the state is determined by a static state type
22126 * (which is given at construction time).
22127 * The state may have a hint associated with it, specifying its valid
22129 * #GAction is merely the interface to the concept of an action, as
22130 * described above. Various implementations of actions exist, including
22131 * #GSimpleAction and #GtkAction.
22132 * In all cases, the implementing class is responsible for storing the
22133 * name of the action, the parameter type, the enabled state, the
22134 * optional state type and the state and emitting the appropriate
22135 * signals when these change. The implementor responsible for filtering
22136 * calls to g_action_activate() and g_action_set_state() for type safety
22137 * and for the state being enabled.
22138 * Probably the only useful thing to do with a #GAction is to put it
22139 * inside of a #GSimpleActionGroup.
22144 * GTlsConnection:use-system-certdb:
22146 * Whether or not the system certificate database will be used to
22147 * verify peer certificates. See
22148 * g_tls_connection_set_use_system_certdb().
22155 * g_data_input_stream_read_uint32:
22156 * @stream: a given #GDataInputStream.
22157 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
22158 * @error: #GError for error reporting.
22160 * Reads an unsigned 32-bit/4-byte value from @stream.
22161 * In order to get the correct byte order for this read operation,
22162 * see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
22163 * If @cancellable is not %NULL, then the operation can be cancelled by
22164 * triggering the cancellable object from another thread. If the operation
22165 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
22166 * an error occurred.
22168 * Returns: an unsigned 32-bit/4-byte value read from the @stream or %0 if
22173 * GInetAddress:is-any:
22175 * Whether this is the "any" address for its family.
22176 * See g_inet_address_get_is_any().
22183 * g_volume_get_uuid:
22184 * @volume: a #GVolume.
22186 * Gets the UUID for the @volume. The reference is typically based on
22187 * the file system UUID for the volume in question and should be
22188 * considered an opaque string. Returns %NULL if there is no UUID
22190 * The returned string should be freed with g_free()
22191 * when no longer needed.
22193 * Returns: the UUID for @volume or %NULL if no UUID can be computed.
22198 * GDataStream:byte-order:
22200 * The ::byte-order property determines the byte ordering that
22201 * is used when reading multi-byte entities (such as integers)
22207 * g_resolver_error_quark:
22209 * Gets the #GResolver Error Quark.
22211 * Returns: a #GQuark.
22217 * g_input_stream_clear_pending:
22218 * @stream: input stream
22220 * Clears the pending flag on @stream.
22225 * g_file_copy_finish:
22226 * @file: input #GFile.
22227 * @res: a #GAsyncResult.
22228 * @error: a #GError, or %NULL
22230 * Finishes copying the file started with
22231 * g_file_copy_async().
22233 * Returns: a %TRUE on success, %FALSE on error.
22238 * G_TYPE_CHECK_INSTANCE_CAST:
22239 * @instance: Location of a #GTypeInstance structure.
22240 * @g_type: The type to be returned.
22241 * @c_type: The corresponding C type of @g_type.
22243 * Checks that @instance is an instance of the type identified by @g_type
22244 * and issues a warning if this is not the case. Returns @instance casted
22245 * to a pointer to @c_type.
22246 * This macro should only be used in type implementations.
22251 * G_IS_PARAM_SPEC_PARAM:
22252 * @pspec: a valid #GParamSpec instance
22254 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM.
22256 * Returns: %TRUE on success.
22261 * g_file_get_uri_scheme:
22262 * @file: input #GFile.
22264 * Gets the URI scheme for a #GFile.
22265 * RFC 3986 decodes the scheme as:
22267 * URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
22268 * </programlisting>
22269 * Common schemes include "file", "http", "ftp", etc.
22270 * This call does no blocking i/o.
22271 * #GFile. The returned string should be freed with g_free()
22272 * when no longer needed.
22274 * Returns: a string containing the URI scheme for the given
22281 * Interface for asynchronously initializable objects.
22288 * g_settings_set_boolean:
22289 * @settings: a #GSettings object
22290 * @key: the name of the key to set
22291 * @value: the value to set it to
22292 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
22294 * Sets @key in @settings to @value.
22295 * A convenience variant of g_settings_set() for booleans.
22296 * It is a programmer error to give a @key that isn't specified as
22297 * having a boolean type in the schema for @settings.
22304 * SECTION:gsocketclien:
22305 * @short_description: Helper for connecting to a network service
22306 * @include: gio/gio.h
22307 * @see_also: #GSocketConnection, #GSocketListener
22309 * #GSocketClient is a high-level utility class for connecting to a
22310 * network host using a connection oriented socket type.
22311 * You create a #GSocketClient object, set any options you want, then
22312 * call a sync or async connect operation, which returns a #GSocketConnection
22313 * subclass on success.
22314 * The type of the #GSocketConnection object returned depends on the type of
22315 * the underlying socket that is in use. For instance, for a TCP/IP connection
22316 * it will be a #GTcpConnection.
22323 * G_TYPE_FUNDAMENTAL_SHIFT:
22325 * Shift value used in converting numbers to type IDs.
22330 * g_app_info_get_all:
22332 * Gets a list of all of the applications currently registered
22334 * For desktop files, this includes applications that have
22335 * <literal>NoDisplay=true</literal> set or are excluded from
22336 * display by means of <literal>OnlyShowIn</literal> or
22337 * <literal>NotShowIn</literal>. See g_app_info_should_show().
22338 * The returned list does not include applications which have
22339 * the <literal>Hidden</literal> key set.
22341 * Returns: (element-type GAppInfo) (transfer full): a newly allocated #GList of references to #GAppInfo<!---->s.
22347 * @socket: a #GSocket
22348 * @buffer: the buffer containing the data to send.
22349 * @size: the number of bytes to send
22350 * @cancellable: a %GCancellable or %NULL
22351 * @error: #GError for error reporting, or %NULL to ignore.
22353 * Tries to send @size bytes from @buffer on the socket. This is
22354 * mainly used by connection-oriented sockets; it is identical to
22355 * g_socket_send_to() with @address set to %NULL.
22356 * If the socket is in blocking mode the call will block until there is
22357 * space for the data in the socket queue. If there is no space available
22358 * and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error
22359 * will be returned. To be notified when space is available, wait for the
22360 * %G_IO_OUT condition. Note though that you may still receive
22361 * %G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously
22362 * notified of a %G_IO_OUT condition. (On Windows in particular, this is
22363 * very common due to the way the underlying APIs work.)
22364 * On error -1 is returned and @error is set accordingly.
22367 * Returns: Number of bytes written (which may be less than @size), or -1
22373 * g_socket_client_set_timeout:
22374 * @client: a #GSocketClient.
22375 * @timeout: the timeout
22377 * Sets the I/O timeout for sockets created by @client. @timeout is a
22378 * time in seconds, or 0 for no timeout (the default).
22379 * The timeout value affects the initial connection attempt as well,
22380 * so setting this may cause calls to g_socket_client_connect(), etc,
22381 * to fail with %G_IO_ERROR_TIMED_OUT.
22389 * @struct_type: the type of the elements to allocate.
22390 * @n_structs: the number of elements to allocate.
22392 * Allocates @n_structs elements of type @struct_type, initialized to 0's.
22393 * The returned pointer is cast to a pointer to the given type.
22394 * If @n_structs is 0 it returns %NULL.
22395 * Care is taken to avoid overflow when calculating the size of the allocated block.
22396 * Since the returned pointer is already casted to the right type,
22397 * it is normally unnecessary to cast it explicitly, and doing
22398 * so might hide memory allocation errors.
22400 * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type.
22405 * g_file_open_readwrite_finish:
22406 * @file: input #GFile.
22407 * @res: a #GAsyncResult.
22408 * @error: a #GError, or %NULL
22410 * Finishes an asynchronous file read operation started with
22411 * g_file_open_readwrite_async().
22412 * Free the returned object with g_object_unref().
22414 * Returns: (transfer full): a #GFileIOStream or %NULL on error.
22420 * GMountOperation:choice:
22422 * The index of the user's choice when a question is asked during the
22423 * mount operation. See the #GMountOperation::ask-question signal.
22428 * g_buffered_output_stream_get_auto_grow:
22429 * @stream: a #GBufferedOutputStream.
22431 * Checks if the buffer automatically grows as data is added.
22432 * %FALSE otherwise.
22434 * Returns: %TRUE if the @stream's buffer automatically grows,
22440 * @family: the socket family to use, e.g. %G_SOCKET_FAMILY_IPV4.
22441 * @type: the socket type to use.
22442 * @protocol: the id of the protocol to use, or 0 for default.
22443 * @error: #GError for error reporting, or %NULL to ignore.
22445 * Creates a new #GSocket with the defined family, type and protocol.
22446 * If @protocol is 0 (%G_SOCKET_PROTOCOL_DEFAULT) the default protocol type
22447 * for the family and type is used.
22448 * The @protocol is a family and type specific int that specifies what
22449 * kind of protocol to use. #GSocketProtocol lists several common ones.
22450 * Many families only support one protocol, and use 0 for this, others
22451 * support several and using 0 means to use the default protocol for
22452 * the family and type.
22453 * The protocol id is passed directly to the operating
22454 * system, so you can use protocols not listed in #GSocketProtocol if you
22455 * know the protocol number used for it.
22456 * Free the returned object with g_object_unref().
22458 * Returns: a #GSocket or %NULL on error.
22464 * g_converter_input_stream_get_converter:
22465 * @converter_stream: a #GConverterInputStream
22467 * Gets the #GConverter that is used by @converter_stream.
22469 * Returns: (transfer none): the converter of the converter input stream
22475 * g_file_info_set_attribute_stringv:
22476 * @info: a #GFileInfo.
22477 * @attribute: a file attribute key.
22478 * @attr_value: a %NULL terminated string array
22480 * Sets the @attribute to contain the given @attr_value,
22488 * g_themed_icon_get_names:
22489 * @icon: a #GThemedIcon.
22491 * Gets the names of icons from within @icon.
22493 * Returns: (transfer none): a list of icon names.
22498 * g_file_mount_mountable:
22499 * @file: input #GFile.
22500 * @flags: flags affecting the operation
22501 * @mount_operation: a #GMountOperation, or %NULL to avoid user interaction.
22502 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
22503 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
22504 * @user_data: (closure): the data to pass to callback function
22506 * Mounts a file of type G_FILE_TYPE_MOUNTABLE.
22507 * Using @mount_operation, you can request callbacks when, for instance,
22508 * passwords are needed during authentication.
22509 * If @cancellable is not %NULL, then the operation can be cancelled by
22510 * triggering the cancellable object from another thread. If the operation
22511 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
22512 * When the operation is finished, @callback will be called. You can then call
22513 * g_file_mount_mountable_finish() to get the result of the operation.
22520 * The #GCredentials structure contains only private data and
22521 * should only be accessed using the provided API.
22528 * g_desktop_app_info_lookup_get_default_for_uri_scheme:
22529 * @lookup: a #GDesktopAppInfoLookup
22530 * @uri_scheme: a string containing a URI scheme.
22532 * Gets the default application for launching applications
22533 * using this URI scheme for a particular GDesktopAppInfoLookup
22535 * The GDesktopAppInfoLookup interface and this function is used
22536 * to implement g_app_info_get_default_for_uri_scheme() backends
22537 * in a GIO module. There is no reason for applications to use it
22538 * directly. Applications should use g_app_info_get_default_for_uri_scheme().
22540 * Returns: (transfer full): #GAppInfo for given @uri_scheme or %NULL on error.
22541 * Deprecated: The #GDesktopAppInfoLookup interface is deprecated and unused by gio.
22548 * The fundamental type from which all #GParamSpec types are derived.
22555 * The <structname>GTypePlugin</structname> typedef is used as a placeholder
22556 * for objects that implement the <structname>GTypePlugin</structname>
22562 * G_FILE_ATTRIBUTE_STANDARD_ICON:
22564 * A key in the "standard" namespace for getting the icon for the file.
22565 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
22566 * The value for this key should contain a #GIcon.
22571 * g_application_get_inactivity_timeout:
22572 * @application: a #GApplication
22574 * Gets the current inactivity timeout for the application.
22575 * This is the amount of time (in milliseconds) after the last call to
22576 * g_application_release() before the application stops running.
22578 * Returns: the timeout, in milliseconds
22584 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL:
22586 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be polled.
22587 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
22594 * g_unix_mount_get_mount_path:
22595 * @mount_entry: input #GUnixMountEntry to get the mount path for.
22597 * Gets the mount path for a unix mount.
22599 * Returns: the mount path for @mount_entry.
22604 * g_app_info_get_all_for_type:
22605 * @content_type: the content type to find a #GAppInfo for
22607 * Gets a list of all #GAppInfos for a given content type.
22608 * for given @content_type or %NULL on error.
22610 * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
22615 * g_win32_input_stream_get_handle:
22616 * @stream: a #GWin32InputStream
22618 * Return the Windows file handle that the stream reads from.
22620 * Returns: The file handle of @stream
22626 * G_TYPE_PARAM_BOOLEAN:
22628 * The #GType of #GParamSpecBoolean.
22633 * GDataOutputStream:byte-order:
22635 * Determines the byte ordering that is used when writing
22636 * multi-byte entities (such as integers) to the stream.
22641 * g_dbus_method_invocation_get_method_info:
22642 * @invocation: A #GDBusMethodInvocation.
22644 * Gets information about the method call, if any.
22646 * Returns: A #GDBusMethodInfo or %NULL. Do not free, it is owned by @invocation.
22652 * g_tls_certificate_list_new_from_file:
22653 * @file: file containing PEM-encoded certificates to import
22654 * @error: #GError for error reporting, or %NULL to ignore.
22656 * Creates one or more #GTlsCertificate<!-- -->s from the PEM-encoded
22657 * data in @file. If @file cannot be read or parsed, the function will
22658 * return %NULL and set @error. If @file does not contain any
22659 * PEM-encoded certificates, this will return an empty list and not
22661 * #GList containing #GTlsCertificate objects. You must free the list
22662 * and its contents when you are done with it.
22664 * Returns: (element-type Gio.TlsCertificate) (transfer full): a
22670 * g_inet_address_new_from_bytes:
22671 * @bytes: raw address data
22672 * @family: the address family of @bytes
22674 * Creates a new #GInetAddress from the given @family and @bytes.
22675 * %G_INET_ADDRESS_IPV6.
22677 * Returns: a new #GInetAddress corresponding to @family and @bytes.
22683 * g_io_stream_splice_finish:
22684 * @result: a #GAsyncResult.
22685 * @error: a #GError location to store the error occuring, or %NULL to ignore.
22687 * Finishes an asynchronous io stream splice operation.
22689 * Returns: %TRUE on success, %FALSE otherwise.
22695 * g_file_attribute_info_list_unref:
22696 * @list: The #GFileAttributeInfoList to unreference.
22698 * Removes a reference from the given @list. If the reference count
22699 * falls to zero, the @list is deleted.
22704 * G_VALUE_HOLDS_OBJECT:
22705 * @value: a valid #GValue structure
22707 * Checks whether the given #GValue can hold values derived from type %G_TYPE_OBJECT.
22709 * Returns: %TRUE on success.
22715 * @type: the #GType value of the type.
22716 * @type_name: the name of the type.
22717 * @class_size: the size of the class structure.
22718 * @instance_size: the size of the instance structure.
22720 * A structure holding information for a specific type. It is
22721 * filled in by the g_type_query() function.
22728 * TLS (Transport Layer Security, aka SSL) backend. This is an
22729 * internal type used to coordinate the different classes implemented
22730 * by a TLS backend.
22737 * g_bus_own_name_on_connection:
22738 * @connection: A #GDBusConnection.
22739 * @name: The well-known name to own.
22740 * @flags: A set of flags from the #GBusNameOwnerFlags enumeration.
22741 * @name_acquired_handler: Handler to invoke when @name is acquired or %NULL.
22742 * @name_lost_handler: Handler to invoke when @name is lost or %NULL.
22743 * @user_data: User data to pass to handlers.
22744 * @user_data_free_func: Function for freeing @user_data or %NULL.
22746 * Like g_bus_own_name() but takes a #GDBusConnection instead of a
22748 * g_bus_unown_name() to stop owning the name.
22750 * Returns: An identifier (never 0) that an be used with
22756 * g_unix_input_stream_set_close_fd:
22757 * @stream: a #GUnixInputStream
22758 * @close_fd: %TRUE to close the file descriptor when done
22760 * Sets whether the file descriptor of @stream shall be closed
22761 * when the stream is closed.
22768 * GMountOperation::ask-password:
22769 * @op: a #GMountOperation requesting a password.
22770 * @message: string containing a message to display to the user.
22771 * @default_user: string containing the default user name.
22772 * @default_domain: string containing the default domain.
22773 * @flags: a set of #GAskPasswordFlags.
22775 * Emitted when a mount operation asks the user for a password.
22776 * If the message contains a line break, the first line should be
22777 * presented as a heading. For example, it may be used as the
22778 * primary text in a #GtkMessageDialog.
22785 * The fundamental type corresponding to nul-terminated C strings.
22790 * g_file_query_filesystem_info:
22791 * @file: input #GFile.
22792 * @attributes: an attribute query string.
22793 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
22794 * @error: a #GError.
22796 * Similar to g_file_query_info(), but obtains information
22797 * about the filesystem the @file is on, rather than the file itself.
22798 * For instance the amount of space available and the type of
22800 * The @attributes value is a string that specifies the file attributes that
22801 * should be gathered. It is not an error if it's not possible to read a particular
22802 * requested attribute from a file - it just won't be set. @attributes should
22803 * be a comma-separated list of attributes or attribute wildcards. The wildcard "*"
22804 * means all attributes, and a wildcard like "fs:*" means all attributes in the fs
22805 * namespace. The standard namespace for filesystem attributes is "fs".
22806 * Common attributes of interest are #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE
22807 * (the total size of the filesystem in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of
22808 * bytes available), and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem).
22809 * If @cancellable is not %NULL, then the operation can be cancelled by
22810 * triggering the cancellable object from another thread. If the operation
22811 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
22812 * If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned.
22813 * Other errors are possible too, and depend on what kind of filesystem the file is on.
22814 * Free the returned object with g_object_unref().
22816 * Returns: (transfer full): a #GFileInfo or %NULL if there was an error.
22821 * g_socket_control_message_serialize:
22822 * @message: a #GSocketControlMessage
22823 * @data: A buffer to write data to
22825 * Converts the data in the message to bytes placed in the
22827 * returned by g_socket_control_message_get_size() on this
22835 * g_dbus_connection_get_unique_name:
22836 * @connection: A #GDBusConnection.
22838 * Gets the unique name of @connection as assigned by the message
22839 * bus. This can also be used to figure out if @connection is a
22840 * message bus connection.
22841 * bus connection. Do not free this string, it is owned by
22843 * Returns: The unique name or %NULL if @connection is not a message
22849 * g_unix_input_stream_new:
22850 * @fd: a UNIX file descriptor
22851 * @close_fd: %TRUE to close the file descriptor when done
22853 * Creates a new #GUnixInputStream for the given @fd.
22854 * If @close_fd is %TRUE, the file descriptor will be closed
22855 * when the stream is closed.
22857 * Returns: a new #GUnixInputStream
22862 * g_simple_async_result_run_in_thread: (skip)
22863 * @simple: a #GSimpleAsyncResult.
22864 * @func: a #GSimpleAsyncThreadFunc.
22865 * @io_priority: the io priority of the request.
22866 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
22868 * Runs the asynchronous job in a separate thread and then calls
22869 * g_simple_async_result_complete_in_idle() on @simple to return
22870 * the result to the appropriate main loop.
22871 * Calling this function takes a reference to @simple for as long as
22872 * is needed to run the job and report its completion.
22877 * g_dbus_proxy_get_cached_property:
22878 * @proxy: A #GDBusProxy.
22879 * @property_name: Property name.
22881 * Looks up the value for a property from the cache. This call does no
22883 * If @proxy has an expected interface (see
22884 * #GDBusProxy:g-interface-info), then @property_name (for existence)
22885 * is checked against it.
22886 * for @property_name or %NULL if the value is not in the cache. The
22887 * returned reference must be freed with g_variant_unref().
22889 * Returns: A reference to the #GVariant instance that holds the value
22895 * g_file_io_stream_query_info:
22896 * @stream: a #GFileIOStream.
22897 * @attributes: a file attribute query string.
22898 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
22899 * @error: a #GError, %NULL to ignore.
22901 * Queries a file io stream for the given @attributes.
22902 * This function blocks while querying the stream. For the asynchronous
22903 * version of this function, see g_file_io_stream_query_info_async().
22904 * While the stream is blocked, the stream will set the pending flag
22905 * internally, and any other operations on the stream will fail with
22906 * %G_IO_ERROR_PENDING.
22907 * Can fail if the stream was already closed (with @error being set to
22908 * %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being
22909 * set to %G_IO_ERROR_PENDING), or if querying info is not supported for
22910 * the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I
22911 * all cases of failure, %NULL will be returned.
22912 * If @cancellable is not %NULL, then the operation can be cancelled by
22913 * triggering the cancellable object from another thread. If the operation
22914 * was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
22917 * Returns: (transfer full): a #GFileInfo for the @stream, or %NULL on error.
22923 * G_PARAM_SPEC_OBJECT:
22924 * @pspec: a valid #GParamSpec instance
22926 * Casts a #GParamSpec instance into a #GParamSpecObject.
22931 * GSocketAddressEnumerator:
22933 * Enumerator type for objects that contain or generate
22934 * #GSocketAddress<!-- -->es.
22939 * g_mount_operation_get_usernam:
22940 * @op: a #GMountOperation.
22942 * Get the user name from the mount operation.
22944 * Returns: a string containing the user name.
22950 * @parent_instance: private #GParamSpec portion
22951 * @minimum: minimum value for the property specified
22952 * @maximum: maximum value for the property specified
22953 * @default_value: default value for the property specified
22955 * A #GParamSpec derived structure that contains the meta data for 64bit integer properties.
22960 * SECTION:gproxyaddres:
22961 * @short_description: An internet address with proxy information
22963 * Support for proxied #GInetSocketAddress.
22968 * GDBusMessageFlags:
22969 * @G_DBUS_MESSAGE_FLAGS_NONE: No flags set.
22970 * @G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected.
22971 * @G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an owner for the destination name in response to this message.
22973 * Message flags used in #GDBusMessage.
22980 * G_PROXY_RESOLVER_EXTENSION_POINT_NAME:
22982 * Extension point for proxy resolving functionality.
22983 * See <link linkend="extending-gio">Extending GIO</link>.
22988 * G_VALUE_HOLDS_FLAGS:
22989 * @value: a valid #GValue structure
22991 * Checks whether the given #GValue can hold values derived from type %G_TYPE_FLAGS.
22993 * Returns: %TRUE on success.
22998 * GClassFinalizeFunc:
22999 * @g_class: The #GTypeClass structure to finalize.
23000 * @class_data: The @class_data member supplied via the #GTypeInfo structure.
23002 * A callback function used by the type system to finalize a class.
23003 * This function is rarely needed, as dynamically allocated class resources
23004 * should be handled by GBaseInitFunc() and GBaseFinalizeFunc().
23005 * Also, specification of a GClassFinalizeFunc() in the #GTypeInfo
23006 * structure of a static type is invalid, because classes of static types
23007 * will never be finalized (they are artificially kept alive when their
23008 * reference count drops to zero).
23013 * GDBusInterfaceSetPropertyFunc:
23014 * @connection: A #GDBusConnection.
23015 * @sender: The unique bus name of the remote caller.
23016 * @object_path: The object path that the method was invoked on.
23017 * @interface_name: The D-Bus interface name for the property.
23018 * @property_name: The name of the property to get the value of.
23019 * @value: The value to set the property to.
23020 * @error: Return location for error.
23021 * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().
23023 * The type of the @set_property function in #GDBusInterfaceVTable.
23025 * Returns: %TRUE if the property was set to @value, %FALSE if @error is set.
23031 * GWin32InputStream:handle:
23033 * The handle that the stream reads from.
23040 * GDriveStartStopType:
23041 * @G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support start/stop.
23042 * @G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically shut down the drive and e.g. power down the port the drive is attached to.
23043 * @G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used for connecting/disconnect to the drive over the network.
23044 * @G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will assemble/disassemble a virtual drive from several physical drives.
23045 * @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will unlock/lock the disk (for example using the ATA <quote>SECURITY UNLOCK DEVICE</quote> command)
23047 * Enumeration describing how a drive can be started/stopped.
23056 * The #GDBusServer structure contains only private data and
23057 * should only be accessed using the provided API.
23064 * g_win32_output_stream_get_close_handle:
23065 * @stream: a #GWin32OutputStream
23067 * Returns whether the handle of @stream will be closed when the
23068 * stream is closed.
23070 * Returns: %TRUE if the handle is closed when done
23076 * g_file_eject_mountable_with_operation_finish:
23077 * @file: input #GFile.
23078 * @result: a #GAsyncResult.
23079 * @error: a #GError, or %NULL
23081 * Finishes an asynchronous eject operation started by
23082 * g_file_eject_mountable_with_operation().
23085 * Returns: %TRUE if the @file was ejected successfully. %FALSE
23091 * g_socket_client_set_family:
23092 * @client: a #GSocketClient.
23093 * @family: a #GSocketFamily
23095 * Sets the socket family of the socket client.
23096 * If this is set to something other than %G_SOCKET_FAMILY_INVALID
23097 * then the sockets created by this object will be of the specified
23099 * This might be useful for instance if you want to force the local
23100 * connection to be an ipv4 socket, even though the address might
23101 * be an ipv6 mapped to ipv4 address.
23108 * g_vfs_parse_name:
23110 * @parse_name: a string to be parsed by the VFS module.
23112 * This operation never fails, but the returned object might
23113 * not support any I/O operations if the @parse_name cannot
23114 * be parsed by the #GVfs module.
23115 * Free the returned object with g_object_unref().
23117 * Returns: (transfer full): a #GFile for the given @parse_name.
23122 * g_application_command_line_get_environ:
23123 * @cmdline: a #GApplicationCommandLine
23125 * Gets the contents of the 'environ' variable of the command line
23126 * invocation, as would be returned by g_get_environ(). The strings may
23127 * contain non-utf8 data.
23128 * The remote application usually does not send an environment. Use
23129 * %G_APPLICATION_SEND_ENVIRONMENT to affect that. Even with this flag
23130 * set it is possible that the environment is still not available (due
23131 * to invocation messages from other applications).
23132 * The return value should not be modified or freed and is valid for as
23133 * long as @cmdline exists.
23134 * strings, or %NULL if they were not sent
23136 * Returns: (array zero-terminated=1) (transfer none): the environment
23142 * GSocketServiceClass:
23143 * @incomming: signal emitted when new connections are accepted
23150 * g_srv_target_free:
23151 * @target: a #GSrvTarget
23162 * An implementation of #GIcon for themed icons.
23167 * GConverterResult:
23168 * @G_CONVERTER_ERROR: There was an error during conversion.
23169 * @G_CONVERTER_CONVERTED: Some data was consumed or produced
23170 * @G_CONVERTER_FINISHED: The conversion is finished
23171 * @G_CONVERTER_FLUSHED: Flushing is finished
23173 * Results returned from g_converter_convert().
23180 * g_content_type_guess_for_tree:
23181 * @root: the root of the tree to guess a type for
23183 * Tries to guess the type of the tree with root @root, by
23184 * looking at the files it contains. The result is an array
23185 * of content types, with the best guess coming first.
23186 * The types returned all have the form x-content/foo, e.g.
23187 * x-content/audio-cdda (for audio CDs) or x-content/image-dcf
23188 * (for a camera memory card). See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink>
23189 * specification for more on x-content types.
23190 * This function is useful in the implementation of
23191 * g_mount_guess_content_type().
23192 * or %NULL. Free with g_strfreev()
23194 * Returns: (transfer full): an %NULL-terminated array of zero or more content types,
23200 * g_drive_eject_with_operation_finish:
23201 * @drive: a #GDrive.
23202 * @result: a #GAsyncResult.
23203 * @error: a #GError location to store the error occuring, or %NULL to ignore.
23205 * Finishes ejecting a drive. If any errors occurred during the operation,
23207 * Returns: %TRUE if the drive was successfully ejected. %FALSE otherwise.
23213 * g_file_load_contents_finish:
23214 * @file: input #GFile.
23215 * @res: a #GAsyncResult.
23216 * @contents: (out) (transfer full): a location to place the contents of the file.
23217 * @length: (out) (allow-none): a location to place the length of the contents of the file, or %NULL if the length is not needed
23218 * @etag_out: (out) (allow-none): a location to place the current entity tag for the file, or %NULL if the entity tag is not needed
23219 * @error: a #GError, or %NULL
23221 * Finishes an asynchronous load of the @file's contents.
23222 * The contents are placed in @contents, and @length is set to the
23223 * size of the @contents string. The @content should be freed with
23224 * g_free() when no longer needed. If @etag_out is present, it will be
23225 * set to the new entity tag for the @file.
23226 * present, it will be set appropriately.
23228 * Returns: %TRUE if the load was successful. If %FALSE and @error is
23233 * g_tls_backend_get_client_connection_type:
23234 * @backend: the #GTlsBackend
23236 * Gets the #GType of @backend's #GTlsClientConnection implementation.
23239 * Returns: the #GType of @backend's #GTlsClientConnection
23245 * G_DATALIST_FLAGS_MASK:
23247 * A bitmask that restricts the possible flags passed to
23248 * g_datalist_set_flags(). Passing a flags value where
23249 * flags & ~G_DATALIST_FLAGS_MASK != 0 is an error.
23254 * g_dbus_address_get_stream_sync:
23255 * @address: A valid D-Bus address.
23256 * @out_guid: %NULL or return location to store the GUID extracted from @address, if any.
23257 * @cancellable: A #GCancellable or %NULL.
23258 * @error: Return location for error or %NULL.
23260 * Synchronously connects to an endpoint specified by @address and
23261 * sets up the connection so it is in a state to run the client-side
23262 * of the D-Bus authentication conversation.
23263 * This is a synchronous failable function. See
23264 * g_dbus_address_get_stream() for the asynchronous version.
23266 * Returns: (transfer full): A #GIOStream or %NULL if @error is set.
23272 * g_application_command_line_set_exit_status:
23273 * @cmdline: a #GApplicationCommandLine
23274 * @exit_status: the exit status
23276 * Sets the exit status that will be used when the invoking process
23278 * The return value of the #GApplication::command-line signal is
23279 * passed to this function when the handler returns. This is the usual
23280 * way of setting the exit status.
23281 * In the event that you want the remote invocation to continue running
23282 * and want to decide on the exit status in the future, you can use this
23283 * call. For the case of a remote invocation, the remote process will
23284 * typically exit when the last reference is dropped on @cmdline. The
23285 * exit status of the remote process will be equal to the last value
23286 * that was set with this function.
23287 * In the case that the commandline invocation is local, the situation
23288 * is slightly more complicated. If the commandline invocation results
23289 * increased to a non-zero value) then the application is considered to
23290 * have been 'successful' in a certain sense, and the exit status is
23291 * always zero. If the application use count is zero, though, the exit
23292 * status of the local #GApplicationCommandLine is used.
23294 * In the mainloop running (ie: because the use-count of the application
23300 * G_INITIALLY_UNOWNED_CLASS:
23301 * @class: a valid #GInitiallyUnownedClass
23303 * Casts a derived #GInitiallyUnownedClass structure into a
23304 * #GInitiallyUnownedClass structure.
23309 * GDBusConnection:authentication-observer:
23311 * A #GDBusAuthObserver object to assist in the authentication process or %NULL.
23318 * g_zlib_compressor_get_file_info:
23319 * @compressor: a #GZlibCompressor
23321 * Returns the #GZlibCompressor:file-info property.
23323 * Returns: (transfer none): a #GFileInfo, or %NULL
23329 * GMemoryOutputStream:size:
23331 * Current size of the data buffer.
23338 * G_VALUE_HOLDS_LONG:
23339 * @value: a valid #GValue structure
23341 * Checks whether the given #GValue can hold values of type %G_TYPE_LONG.
23343 * Returns: %TRUE on success.
23348 * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE:
23350 * A key in the "mountable" namespace for getting the unix device file.
23351 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
23359 * @g_type_instance: private #GTypeInstance portion
23360 * @name: name of this parameter
23361 * @flags: #GParamFlags flags for this parameter
23362 * @value_type: the #GValue type for this parameter
23363 * @owner_type: #GType type that uses (introduces) this parameter
23365 * All other fields of the <structname>GParamSpec</structname> struct are private and
23366 * should not be used directly.
23371 * GApplication::command-line:
23372 * @application: the application
23373 * @command_line: a #GApplicationCommandLine representing the passed commandline
23375 * The ::command-line signal is emitted on the primary instance when
23376 * a commandline is not handled locally. See g_application_run() for
23377 * more information.
23382 * GObjectFinalizeFunc:
23383 * @object: the #GObject being finalized
23385 * The type of the @finalize function of #GObjectClass.
23390 * g_socket_client_connect_finish:
23391 * @client: a #GSocketClient.
23392 * @result: a #GAsyncResult.
23393 * @error: a #GError location to store the error occuring, or %NULL to ignore.
23395 * Finishes an async connect operation. See g_socket_client_connect_async()
23397 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
23403 * g_file_query_file_type:
23404 * @file: input #GFile.
23405 * @flags: a set of #GFileQueryInfoFlags passed to g_file_query_info().
23406 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
23408 * Utility function to inspect the #GFileType of a file. This is
23409 * implemented using g_file_query_info() and as such does blocking I/O.
23410 * The primary use case of this method is to check if a file is a regular file,
23411 * directory, or symlink.
23414 * Returns: The #GFileType of the file and #G_FILE_TYPE_UNKNOWN if the file
23420 * g_app_info_launch_uris:
23421 * @appinfo: a #GAppInfo
23422 * @uris: (element-type char*): a #GList containing URIs to launch.
23423 * @launch_context: (allow-none): a #GAppLaunchContext or %NULL
23424 * @error: a #GError
23426 * Launches the application. Passes @uris to the launched application
23427 * as arguments, using the optional @launch_context to get information
23428 * about the details of the launcher (like what screen it is on).
23429 * On error, @error will be set accordingly.
23430 * To lauch the application without arguments pass a %NULL @uris list.
23431 * Note that even if the launch is successful the application launched
23432 * can fail to start if it runs into problems during startup. There is
23433 * no way to detect this.
23435 * Returns: %TRUE on successful launch, %FALSE otherwise.
23440 * GDBusProxy:g-interface-info:
23442 * Ensure that interactions with this proxy conform to the given
23443 * interface. For example, when completing a method call, if the
23444 * type signature of the message isn't what's expected, the given
23445 * #GError is set. Signals that have a type signature mismatch are
23453 * GApplicationCommandLine:
23455 * The <structname>GApplicationCommandLine</structname> structure contains private
23456 * data and should only be accessed using the provided API
23463 * GTlsServerConnection:authentication-mode:
23465 * The #GTlsAuthenticationMode for the server. This can be changed
23466 * before calling g_tls_connection_handshake() if you want to
23467 * rehandshake with a different mode from the initial handshake.
23474 * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW:
23476 * A key in the "filesystem" namespace for hinting a file manager
23477 * application whether it should preview (e.g. thumbnail) files on the
23478 * file system. The value for this key contain a
23479 * #GFilesystemPreviewType.
23484 * G_TYPE_FROM_INSTANCE:
23485 * @instance: Location of a valid #GTypeInstance structure.
23487 * Get the type identifier from a given @instance structure.
23488 * This macro should only be used in type implementations.
23490 * Returns: the #GType
23495 * g_win32_input_stream_new:
23496 * @handle: a Win32 file handle
23497 * @close_fd: %TRUE to close the handle when done
23499 * Creates a new #GWin32InputStream for the given @fd.
23500 * If @close_handle is %TRUE, the handle will be closed
23501 * when the stream is closed.
23502 * Note that "handle" here means a Win32 HANDLE, not a "file descriptor"
23503 * as used in the Windows C libraries.
23505 * Returns: a new #GWin32InputStream
23510 * g_themed_icon_new_from_names:
23511 * @iconnames: an array of strings containing icon names.
23512 * @len: the length of the @iconnames array, or -1 if @iconnames is %NULL-terminated
23514 * Creates a new themed icon for @iconnames.
23516 * Returns: (transfer full): a new #GThemedIcon
23522 * @G_FILE_TYPE_UNKNOWN: File's type is unknown.
23523 * @G_FILE_TYPE_REGULAR: File handle represents a regular file.
23524 * @G_FILE_TYPE_DIRECTORY: File handle represents a directory.
23525 * @G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link (Unix systems).
23526 * @G_FILE_TYPE_SPECIAL: File is a "special" file, such as a socket, fifo, block device, or character device.
23527 * @G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems).
23528 * @G_FILE_TYPE_MOUNTABLE: File is a mountable location.
23530 * Indicates the file's on-disk type.
23535 * GMountOperation::reply:
23536 * @op: a #GMountOperation.
23537 * @result: a #GMountOperationResult indicating how the request was handled
23539 * Emitted when the user has replied to the mount operation.
23544 * g_dbus_method_info_unref:
23545 * @info: A #GDBusMethodInfo.
23547 * If @info is statically allocated, does nothing. Otherwise decreases
23548 * the reference count of @info. When its reference count drops to 0,
23549 * the memory used is freed.
23556 * g_initable_new_valist:
23557 * @object_type: a #GType supporting #GInitable.
23558 * @first_property_name: the name of the first property, followed by the value, and other property value pairs, and ended by %NULL.
23559 * @var_args: The var args list generated from @first_property_name.
23560 * @cancellable: optional #GCancellable object, %NULL to ignore.
23561 * @error: a #GError location to store the error occuring, or %NULL to ignore.
23563 * Helper function for constructing #GInitiable object. This is
23564 * similar to g_object_new_valist() but also initializes the object
23565 * and returns %NULL, setting an error on failure.
23567 * Returns: (transfer full): a newly allocated #GObject, or %NULL on error
23574 * @socket: a #GSocket.
23575 * @cancellable: a %GCancellable or %NULL
23576 * @error: #GError for error reporting, or %NULL to ignore.
23578 * Accept incoming connections on a connection-based socket. This removes
23579 * the first outstanding connection request from the listening socket and
23580 * creates a #GSocket object for it.
23581 * The @socket must be bound to a local address with g_socket_bind() and
23582 * must be listening for incoming connections (g_socket_listen()).
23583 * If there are no outstanding connections then the operation will block
23584 * or return %G_IO_ERROR_WOULD_BLOCK if non-blocking I/O is enabled.
23585 * To be notified of an incoming connection, wait for the %G_IO_IN condition.
23586 * Free the returned object with g_object_unref().
23588 * Returns: (transfer full): a new #GSocket, or %NULL on error.
23594 * g_socket_address_get_native_size:
23595 * @address: a #GSocketAddress
23597 * Gets the size of @address's native <type>struct sockaddr</type>.
23598 * You can use this to allocate memory to pass to
23599 * g_socket_address_to_native().
23601 * Returns: the size of the native <type>struct sockaddr</type> that
23607 * g_file_stop_mountable:
23608 * @file: input #GFile.
23609 * @flags: flags affecting the operation
23610 * @mount_operation: a #GMountOperation, or %NULL to avoid user interaction.
23611 * @cancellable: optional #GCancellable object, %NULL to ignore.
23612 * @callback: a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
23613 * @user_data: the data to pass to callback function
23615 * Stops a file of type G_FILE_TYPE_MOUNTABLE.
23616 * If @cancellable is not %NULL, then the operation can be cancelled by
23617 * triggering the cancellable object from another thread. If the operation
23618 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
23619 * When the operation is finished, @callback will be called. You can then call
23620 * g_file_stop_mountable_finish() to get the result of the operation.
23627 * GParamSpecOverride:
23629 * This is a type of #GParamSpec type that simply redirects operations to
23630 * another paramspec. All operations other than getting or
23631 * setting the value are redirected, including accessing the nick and
23632 * blurb, validating a value, and so forth. See
23633 * g_param_spec_get_redirect_target() for retrieving the overidden
23634 * property. #GParamSpecOverride is used in implementing
23635 * g_object_class_override_property(), and will not be directly useful
23636 * unless you are implementing a new base type similar to GObject.
23643 * g_dbus_signal_info_unref:
23644 * @info: A #GDBusSignalInfo.
23646 * If @info is statically allocated, does nothing. Otherwise decreases
23647 * the reference count of @info. When its reference count drops to 0,
23648 * the memory used is freed.
23655 * GSettingsGetMapping:
23656 * @value: the #GVariant to map, or %NULL
23657 * @result: the result of the mapping
23658 * @user_data: the user data that was passed to g_settings_get_mapped()
23659 * @returns: %TRUE if the conversion succeeded, %FALSE in case of an error
23661 * The type of the function that is used to convert from a value stored
23662 * in a #GSettings to a value that is useful to the application.
23663 * If the value is successfully mapped, the result should be stored at
23664 * is not in the right format) then %FALSE should be returned.
23665 * If @value is %NULL then it means that the mapping function is being
23666 * given a "last chance" to successfully return a valid value. %TRUE
23667 * must be returned in this case.
23672 * g_file_info_get_modification_time:
23673 * @info: a #GFileInfo.
23674 * @result: a #GTimeVal.
23676 * Gets the modification time of the current @info and sets it
23682 * g_dbus_proxy_get_name_owner:
23683 * @proxy: A #GDBusProxy.
23685 * The unique name that owns the name that @proxy is for or %NULL if
23686 * no-one currently owns that name. You may connect to the
23687 * #GObject::notify signal to track changes to the
23688 * #GDBusProxy:g-name-owner property.
23690 * Returns: The name owner or %NULL if no name owner exists. Free with g_free().
23696 * GInetAddress:is-link-local:
23698 * Whether this is a link-local address.
23699 * See g_inet_address_get_is_link_local().
23706 * g_io_stream_close_async:
23707 * @stream: a #GIOStream
23708 * @io_priority: the io priority of the request
23709 * @cancellable: (allow-none): optional cancellable object
23710 * @callback: (scope async): callback to call when the request is satisfied
23711 * @user_data: (closure): the data to pass to callback function
23713 * Requests an asynchronous close of the stream, releasing resources
23714 * related to it. When the operation is finished @callback will be
23715 * called. You can then call g_io_stream_close_finish() to get
23716 * the result of the operation.
23717 * For behaviour details see g_io_stream_close().
23718 * The asynchronous methods have a default fallback that uses threads
23719 * to implement asynchronicity, so they are optional for inheriting
23720 * classes. However, if you override one you must override all.
23727 * GVolumeMonitor::drive-eject-button:
23728 * @volume_monitor: The volume monitor emitting the signal.
23729 * @drive: the drive where the eject button was pressed
23731 * Emitted when the eject button is pressed on @drive.
23738 * G_PARAM_SPEC_GET_CLASS:
23739 * @pspec: a valid #GParamSpec
23741 * Retrieves the #GParamSpecClass of a #GParamSpec.
23746 * SECTION:gresolve:
23747 * @short_description: Asynchronous and cancellable DNS resolver
23748 * @include: gio/gio.h
23750 * #GResolver provides cancellable synchronous and asynchronous DNS
23751 * resolution, for hostnames (g_resolver_lookup_by_address(),
23752 * g_resolver_lookup_by_name() and their async variants) and SRV
23753 * (service) records (g_resolver_lookup_service()).
23754 * #GNetworkAddress and #GNetworkService provide wrappers around
23755 * #GResolver functionality that also implement #GSocketConnectable,
23756 * making it easy to connect to a remote host/service.
23761 * g_action_activate:
23762 * @action: a #GAction
23763 * @parameter: (allow-none): the parameter to the activation
23765 * Activates the action.
23766 * the parameter type given at construction time). If the parameter
23767 * type was %NULL then @parameter must also be %NULL.
23774 * g_dbus_proxy_get_interface_name:
23775 * @proxy: A #GDBusProxy.
23777 * Gets the D-Bus interface name @proxy is for.
23779 * Returns: A string owned by @proxy. Do not free.
23785 * g_file_info_set_attribute_string:
23786 * @info: a #GFileInfo.
23787 * @attribute: a file attribute key.
23788 * @attr_value: a string.
23790 * Sets the @attribute to contain the given @attr_value,
23797 * @loop: a #GMainLoop
23799 * Runs a main loop until it stops running.
23801 * Deprecated: 2.2: Use g_main_loop_run() instead
23806 * g_dbus_proxy_set_default_timeout:
23807 * @proxy: A #GDBusProxy.
23808 * @timeout_msec: Timeout in milliseconds.
23810 * Sets the timeout to use if -1 (specifying default timeout) is
23811 * passed as @timeout_msec in the g_dbus_proxy_call() and
23812 * g_dbus_proxy_call_sync() functions.
23813 * See the #GDBusProxy:g-default-timeout property for more details.
23820 * GSettings::writable-changed:
23821 * @settings: the object on which the signal was emitted
23824 * The "writable-changed" signal is emitted when the writability of a
23825 * key has potentially changed. You should call
23826 * g_settings_is_writable() in order to determine the new status.
23827 * This signal supports detailed connections. You can connect to the
23828 * detailed signal "writable-changed::x" in order to only receive
23829 * callbacks when the writability of "x" changes.
23834 * g_cancellable_reset:
23835 * @cancellable: a #GCancellable object.
23837 * Resets @cancellable to its uncancelled state.
23842 * G_TYPE_PARAM_FLOAT:
23844 * The #GType of #GParamSpecFloat.
23849 * g_unix_mount_monitor_new:
23851 * Gets a new #GUnixMountMonitor. The default rate limit for which the
23852 * monitor will report consecutive changes for the mount and mount
23853 * point entry files is the default for a #GFileMonitor. Use
23854 * g_unix_mount_monitor_set_rate_limit() to change this.
23856 * Returns: a #GUnixMountMonitor.
23861 * g_socket_client_set_tls:
23862 * @client: a #GSocketClient.
23863 * @tls: whether to use TLS
23865 * Sets whether @client creates TLS (aka SSL) connections. If @tls is
23866 * %TRUE, @client will wrap its connections in a #GTlsClientConnection
23867 * and perform a TLS handshake when connecting.
23868 * Note that since #GSocketClient must return a #GSocketConnection,
23869 * but #GTlsClientConnection is not a #GSocketConnection, this
23870 * actually wraps the resulting #GTlsClientConnection in a
23871 * #GTcpWrapperConnection when returning it. You can use
23872 * g_tcp_wrapper_connection_get_base_io_stream() on the return value
23873 * to extract the #GTlsClientConnection.
23880 * GMountOperation:username:
23882 * The user name that is used for authentication when carrying out
23883 * the mount operation.
23888 * G_IS_PARAM_SPEC_CLASS:
23889 * @pclass: a #GParamSpecClass
23891 * Checks whether @pclass "is a" valid #GParamSpecClass structure of type
23892 * %G_TYPE_PARAM or derived.
23897 * g_dbus_annotation_info_ref:
23898 * @info: A #GDBusNodeInfo
23900 * If @info is statically allocated does nothing. Otherwise increases
23901 * the reference count.
23903 * Returns: The same @info.
23909 * g_pollable_output_stream_create_source:
23910 * @stream: a #GPollableOutputStream.
23911 * @cancellable: a #GCancellable, or %NULL
23913 * Creates a #GSource that triggers when @stream can be written, or
23914 * source is of the #GPollableSourceFunc type.
23915 * As with g_pollable_output_stream_is_writable(), it is possible that
23916 * the stream may not actually be writable even after the source
23917 * triggers, so you should use g_pollable_output_stream_write_nonblocking()
23918 * rather than g_output_stream_write() from the callback.
23920 * Returns: a new #GSource
23926 * g_file_info_set_attribute:
23927 * @info: a #GFileInfo.
23928 * @attribute: a file attribute key.
23929 * @type: a #GFileAttributeType
23930 * @value_p: pointer to the value
23932 * Sets the @attribute to contain the given value, if possible.
23938 * @G_TYPE_FLAG_ABSTRACT: Indicates an abstract type. No instances can be created for an abstract type.
23939 * @G_TYPE_FLAG_VALUE_ABSTRACT: Indicates an abstract value type, i.e. a type that introduces a value table, but can't be used for g_value_init().
23941 * Bit masks used to check or determine characteristics of a type.
23946 * G_FILE_ATTRIBUTE_UNIX_MODE:
23948 * A key in the "unix" namespace for getting the mode of the file
23949 * (e.g. whether the file is a regular file, symlink, etc). See lstat()
23950 * documentation. This attribute is only available for UNIX file systems.
23951 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
23958 * The fundamental type corresponding to #guint64.
23963 * G_FILE_ATTRIBUTE_TIME_MODIFIED:
23965 * A key in the "time" namespace for getting the time the file was last
23966 * modified. Corresponding #GFileAttributeType is
23967 * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the UNIX time since the
23968 * file was modified.
23973 * GTypePluginCompleteInterfaceInfo:
23974 * @plugin: the #GTypePlugin
23975 * @instance_type: the #GType of an instantiable type to which the interface is added
23976 * @interface_type: the #GType of the interface whose info is completed
23977 * @info: the #GInterfaceInfo to fill in
23979 * The type of the @complete_interface_info function of #GTypePluginClass.
23984 * SECTION:gpermissio:
23985 * @title: GPermission
23986 * @short_description: An object representing the permission to perform a certain action
23988 * A #GPermission represents the status of the caller's permission to
23989 * perform a certain action.
23990 * You can query if the action is currently allowed and if it is
23991 * possible to acquire the permission so that the action will be allowed
23993 * There is also an API to actually acquire the permission and one to
23995 * As an example, a #GPermission might represent the ability for the
23996 * user to write to a #GSettings object. This #GPermission object could
23997 * then be used to decide if it is appropriate to show a "Click here to
23998 * unlock" button in a dialog and to provide the mechanism to invoke
23999 * when that button is clicked.
24006 * TLS connection. This is an abstract type that will be subclassed by
24007 * a TLS-library-specific subtype.
24014 * g_permission_acquire:
24015 * @permission: a #GPermission instance
24016 * @cancellable: a #GCancellable, or %NULL
24017 * @error: a pointer to a %NULL #GError, or %NULL
24018 * @returns: %TRUE if the permission was successfully acquired
24020 * Attempts to acquire the permission represented by @permission.
24021 * The precise method by which this happens depends on the permission
24022 * and the underlying authentication mechanism. A simple example is
24023 * that a dialog may appear asking the user to enter their password.
24024 * You should check with g_permission_get_can_acquire() before calling
24026 * If the permission is acquired then %TRUE is returned. Otherwise,
24027 * %FALSE is returned and @error is set appropriately.
24028 * This call is blocking, likely for a very long time (in the case that
24029 * user interaction is required). See g_permission_acquire_async() for
24030 * the non-blocking version.
24037 * g_file_enumerator_next_files_async:
24038 * @enumerator: a #GFileEnumerator.
24039 * @num_files: the number of file info objects to request
24040 * @io_priority: the <link linkend="gioscheduler">io priority</link> of the request.
24041 * @cancellable: optional #GCancellable object, %NULL to ignore.
24042 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
24043 * @user_data: the data to pass to callback function
24045 * Request information for a number of files from the enumerator asynchronously.
24046 * When all i/o for the operation is finished the @callback will be called with
24047 * the requested information.
24048 * The callback can be called with less than @num_files files in case of error
24049 * or at the end of the enumerator. In case of a partial error the callback will
24050 * be called with any succeeding items and no error, and on the next request the
24051 * error will be reported. If a request is cancelled the callback will be called
24052 * with %G_IO_ERROR_CANCELLED.
24053 * During an async request no other sync and async calls are allowed, and will
24054 * result in %G_IO_ERROR_PENDING errors.
24055 * Any outstanding i/o request with higher priority (lower numerical value) will
24056 * be executed before an outstanding request with lower priority. Default
24057 * priority is %G_PRIORITY_DEFAULT.
24062 * g_file_enumerate_children_async:
24063 * @file: input #GFile.
24064 * @attributes: an attribute query string.
24065 * @flags: a set of #GFileQueryInfoFlags.
24066 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
24067 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
24068 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
24069 * @user_data: (closure): the data to pass to callback function
24071 * Asynchronously gets the requested information about the files in a directory. The result
24072 * is a #GFileEnumerator object that will give out #GFileInfo objects for
24073 * all the files in the directory.
24074 * For more details, see g_file_enumerate_children() which is
24075 * the synchronous version of this call.
24076 * When the operation is finished, @callback will be called. You can then call
24077 * g_file_enumerate_children_finish() to get the result of the operation.
24082 * g_action_group_action_removed:
24083 * @action_group: a #GActionGroup
24084 * @action_name: the name of an action in the group
24086 * Emits the #GActionGroup::action-removed signal on @action_group.
24087 * This function should only be called by #GActionGroup implementations.
24094 * g_file_info_set_file_type:
24095 * @info: a #GFileInfo.
24096 * @type: a #GFileType.
24098 * Sets the file type in a #GFileInfo to @type.
24099 * See %G_FILE_ATTRIBUTE_STANDARD_TYPE.
24104 * g_data_input_stream_read_int16:
24105 * @stream: a given #GDataInputStream.
24106 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
24107 * @error: #GError for error reporting.
24109 * Reads a 16-bit/2-byte value from @stream.
24110 * In order to get the correct byte order for this read operation,
24111 * see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
24112 * an error occurred.
24114 * Returns: a signed 16-bit/2-byte value read from @stream or %0 if
24120 * @type: a #GType ID.
24122 * Checks whether @type "is a" %G_TYPE_FLAGS.
24124 * Returns: %TRUE if @type "is a" %G_TYPE_FLAGS.
24129 * SECTION:gdbusintrospectio:
24130 * @title: D-Bus Introspection Data
24131 * @short_description: Node and interface description data structures
24132 * @include: gio/gio.h
24134 * Various data structures and convenience routines to parse and
24135 * generate D-Bus introspection XML. Introspection information is
24136 * used when registering objects with g_dbus_connection_register_object().
24137 * The format of D-Bus introspection XML is specified in the
24138 * <link linkend="http://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format">D-Bus specification</link>.
24143 * G_FILE_ATTRIBUTE_UNIX_BLOCKS:
24145 * A key in the "unix" namespace for getting the number of blocks allocated
24146 * for the file. This attribute is only available for UNIX file systems.
24147 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
24152 * g_srv_target_list_sort: (skip)
24153 * @targets: a #GList of #GSrvTarget
24155 * Sorts @targets in place according to the algorithm in RFC 2782.
24157 * Returns: (transfer full): the head of the sorted list.
24163 * G_DEFINE_TYPE_EXTENDED:
24164 * @TN: The name of the new type, in Camel case.
24165 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
24166 * @T_P: The #GType of the parent type.
24167 * @_f_: #GTypeFlags to pass to g_type_register_static()
24168 * @_C_: Custom code that gets inserted in the *_get_type() function.
24170 * The most general convenience macro for type implementations, on which
24171 * G_DEFINE_TYPE(), etc are based.
24173 * G_DEFINE_TYPE_EXTENDED (GtkGadget,
24177 * G_IMPLEMENT_INTERFACE (TYPE_GIZMO,
24178 * gtk_gadget_gizmo_init));
24182 * static void gtk_gadget_init (GtkGadget *self);
24183 * static void gtk_gadget_class_init (GtkGadgetClass *klass);
24184 * static gpointer gtk_gadget_parent_class = NULL;
24185 * static void gtk_gadget_class_intern_init (gpointer klass)
24187 * gtk_gadget_parent_class = g_type_class_peek_parent (klass);
24188 * gtk_gadget_class_init ((GtkGadgetClass*) klass);
24191 * gtk_gadget_get_type (void)
24193 * static volatile gsize g_define_type_id__volatile = 0;
24194 * if (g_once_init_enter (&g_define_type_id__volatile))
24196 * GType g_define_type_id =
24197 * g_type_register_static_simple (GTK_TYPE_WIDGET,
24198 * g_intern_static_string ("GtkGadget"),
24199 * sizeof (GtkGadgetClass),
24200 * (GClassInitFunc) gtk_gadget_class_intern_init,
24201 * sizeof (GtkGadget),
24202 * (GInstanceInitFunc) gtk_gadget_init,
24203 * (GTypeFlags) flags);
24205 * static const GInterfaceInfo g_implement_interface_info = {
24206 * (GInterfaceInitFunc) gtk_gadget_gizmo_init
24208 * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
24210 * g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
24212 * return g_define_type_id__volatile;
24215 * The only pieces which have to be manually provided are the definitions of
24216 * the instance and class structure and the definitions of the instance and
24217 * class init functions.
24224 * g_credentials_set_native:
24225 * @credentials: A #GCredentials.
24226 * @native_type: The type of native credentials to set.
24227 * @native: A pointer to native credentials.
24229 * Copies the native credentials of type @native_type from @native
24230 * into @credentials.
24231 * It is a programming error (which will cause an warning to be
24232 * logged) to use this method if there is no #GCredentials support for
24233 * the OS or if @native_type isn't supported by the OS.
24240 * G_TYPE_PARAM_DOUBLE:
24242 * The #GType of #GParamSpecDouble.
24248 * @G_SOCKET_TYPE_INVALID: Type unknown or wrong
24249 * @G_SOCKET_TYPE_STREAM: Reliable connection-based byte streams (e.g. TCP).
24250 * @G_SOCKET_TYPE_DATAGRAM: Connectionless, unreliable datagram passing. (e.g. UDP)
24251 * @G_SOCKET_TYPE_SEQPACKET: Reliable connection-based passing of datagrams of fixed maximum length (e.g. SCTP).
24253 * Flags used when creating a #GSocket. Some protocols may not implement
24254 * all the socket types.
24261 * g_dbus_connection_get_stream:
24262 * @connection: a #GDBusConnection
24264 * Gets the underlying stream used for IO.
24266 * Returns: (transfer none): the stream used for IO
24272 * g_network_service_new:
24273 * @service: the service type to look up (eg, "ldap")
24274 * @protocol: the networking protocol to use for @service (eg, "tcp")
24275 * @domain: the DNS domain to look up the service in
24277 * Creates a new #GNetworkService representing the given @service,
24278 * #GSocketConnectable interface to resolve it.
24280 * Returns: (transfer full): a new #GNetworkService
24286 * GApplicationClass:
24287 * @startup: invoked on the primary instance immediately after registration
24288 * @activate: invoked on the primary instance when an activation occurs
24289 * @open: invoked on the primary instance when there are files to open
24290 * @command_line: invoked on the primary instance when a command-line is not handled locally
24291 * @local_command_line: invoked (locally) when the process has been invoked via commandline execution. The virtual function has the chance to inspect (and possibly replace) the list of command line arguments. See g_application_run() for more information.
24292 * @before_emit: invoked on the primary instance before 'activate', 'open' or any action invocation
24293 * @after_emit: invoked on the primary instance after 'activate', 'open' or any action invocation
24294 * @add_platform_data: invoked (locally) to add 'platform data' to be sent to the primary instance when activating, opening or invoking actions
24295 * @quit_mainloop: invoked on the primary instance when the use count of the application drops to zero (and after any inactivity timeout, if requested)
24296 * @run_mainloop: invoked on the primary instance from g_application_run() if the use-count is non-zero
24305 * GSignalAccumulator:
24306 * @ihint: Signal invocation hint, see #GSignalInvocationHint.
24307 * @return_accu: Accumulator to collect callback return values in, this is the return value of the current signal emission.
24308 * @handler_return: A #GValue holding the return value of the signal handler.
24309 * @data: Callback data that was specified when creating the signal.
24311 * The signal accumulator is a special callback function that can be used
24312 * to collect return values of the various callbacks that are called
24313 * during a signal emission. The signal accumulator is specified at signal
24314 * creation time, if it is left %NULL, no accumulation of callback return
24315 * values is performed. The return value of signal emissions is then the
24316 * value returned by the last callback.
24317 * should be aborted. Returning %FALSE means to abort the
24318 * current emission and %TRUE is returned for continuation.
24320 * Returns: The accumulator function returns whether the signal emission
24325 * g_credentials_new:
24327 * Creates a new #GCredentials object with credentials matching the
24328 * the current process.
24330 * Returns: A #GCredentials. Free with g_object_unref().
24336 * SECTION:ginitabl:
24337 * @short_description: Failable object initialization interface
24338 * @include: gio/gio.h
24339 * @see_also: #GAsyncInitable
24341 * #GInitable is implemented by objects that can fail during
24342 * initialization. If an object implements this interface the
24343 * g_initable_init() function must be called as the first thing
24344 * after construction. If g_initable_init() is not called, or if
24345 * it returns an error, all further operations on the object
24346 * should fail, generally with a %G_IO_ERROR_NOT_INITIALIZED error.
24347 * Users of objects implementing this are not intended to use
24348 * the interface method directly, instead it will be used automatically
24349 * in various ways. For C applications you generally just call
24350 * g_initable_new() directly, or indirectly via a foo_thing_new() wrapper.
24351 * This will call g_initable_init() under the cover, returning %NULL and
24352 * setting a %GError on failure.
24353 * For bindings in languages where the native constructor supports
24354 * exceptions the binding could check for objects implemention %GInitable
24355 * during normal construction and automatically initialize them, throwing
24356 * an exception on failure.
24362 * @TN: The name of the new type, in Camel case.
24363 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
24364 * @T_P: The #GType of the parent type.
24366 * A convenience macro for type implementations, which declares a
24367 * class initialization function, an instance initialization function (see #GTypeInfo for information about
24368 * these) and a static variable named @t_n<!-- -->_parent_class pointing to the parent class. Furthermore, it defines
24369 * a *_get_type() function. See G_DEFINE_TYPE_EXTENDED() for an example.
24376 * g_file_info_get_file_type:
24377 * @info: a #GFileInfo.
24379 * Gets a file's type (whether it is a regular file, symlink, etc).
24380 * This is different from the file's content type, see g_file_info_get_content_type().
24382 * Returns: a #GFileType for the given file.
24387 * GFilterInputStream:
24389 * A base class for all input streams that work on an underlying stream.
24394 * g_dbus_node_info_generate_xml:
24395 * @info: A #GDBusNodeInfo.
24396 * @indent: Indentation level.
24397 * @string_builder: A #GString to to append XML data to.
24399 * Appends an XML representation of @info (and its children) to @string_builder.
24400 * This function is typically used for generating introspection XML documents at run-time for
24401 * handling the <literal>org.freedesktop.DBus.Introspectable.Introspect</literal> method.
24408 * g_dbus_is_interface_name:
24409 * @string: The string to check.
24411 * Checks if @string is a valid D-Bus interface name.
24413 * Returns: %TRUE if valid, %FALSE otherwise.
24419 * GUnixMountMonitor::mounts-changed:
24420 * @monitor: the object on which the signal is emitted
24422 * Emitted when the unix mounts have changed.
24427 * g_dbus_address_get_for_bus_sync:
24428 * @bus_type: A #GBusType.
24429 * @cancellable: A #GCancellable or %NULL.
24430 * @error: Return location for error or %NULL.
24432 * Synchronously looks up the D-Bus address for the well-known message
24433 * bus instance specified by @bus_type. This may involve using various
24434 * platform specific mechanisms.
24436 * Returns: A valid D-Bus address string for @bus_type or %NULL if @error is set.
24442 * G_VALUE_HOLDS_PARAM:
24443 * @value: a valid #GValue structure
24445 * Checks whether the given #GValue can hold values derived from type %G_TYPE_PARAM.
24447 * Returns: %TRUE on success.
24452 * G_PARAM_SPEC_STRING:
24453 * @pspec: a valid #GParamSpec instance
24455 * Casts a #GParamSpec instance into a #GParamSpecString.
24460 * GInetAddress:is-multicast:
24462 * Whether this is a multicast address.
24463 * See g_inet_address_get_is_multicast().
24472 * #GPermission is an opaque data structure and can only be accessed
24473 * using the following functions.
24478 * g_filename_completer_new:
24480 * Creates a new filename completer.
24482 * Returns: a #GFilenameCompleter.
24487 * g_data_output_stream_put_int16:
24488 * @stream: a #GDataOutputStream.
24489 * @data: a #gint16.
24490 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
24491 * @error: a #GError, %NULL to ignore.
24493 * Puts a signed 16-bit integer into the output stream.
24495 * Returns: %TRUE if @data was successfully added to the @stream.
24500 * g_io_extension_point_lookup:
24501 * @name: the name of the extension point
24503 * Looks up an existing extension point.
24504 * registered extension point with the given name
24506 * Returns: the #GIOExtensionPoint, or %NULL if there is no
24511 * g_dbus_connection_send_message_with_reply_sync:
24512 * @connection: A #GDBusConnection.
24513 * @message: A #GDBusMessage.
24514 * @flags: Flags affecting how the message is sent.
24515 * @timeout_msec: The timeout in milliseconds, -1 to use the default timeout or %G_MAXINT for no timeout.
24516 * @out_serial: Return location for serial number assigned to @message when sending it or %NULL.
24517 * @cancellable: A #GCancellable or %NULL.
24518 * @error: Return location for error or %NULL.
24520 * Synchronously sends @message to the peer represented by @connection
24521 * and blocks the calling thread until a reply is received or the
24522 * timeout is reached. See g_dbus_connection_send_message_with_reply()
24523 * for the asynchronous version of this method.
24524 * Unless @flags contain the
24525 * %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
24526 * will be assigned by @connection and set on @message via
24527 * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
24528 * serial number used will be written to this location prior to
24529 * submitting the message to the underlying transport.
24530 * If @connection is closed then the operation will fail with
24531 * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
24532 * fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed,
24533 * the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
24534 * Note that @error is only set if a local in-process error
24535 * occured. That is to say that the returned #GDBusMessage object may
24536 * be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use
24537 * g_dbus_message_to_gerror() to transcode this to a #GError.
24538 * See <xref linkend="gdbus-server"/> and <xref
24539 * linkend="gdbus-unix-fd-client"/> for an example of how to use this
24540 * low-level API to send and receive UNIX file descriptors.
24541 * Note that @message must be unlocked, unless @flags contain the
24542 * %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
24544 * Returns: (transfer full): A locked #GDBusMessage that is the reply to @message or %NULL if @error is set.
24551 * @G_CONVERT_ERROR_NO_CONVERSION: Conversion between the requested character sets is not supported.
24552 * @G_CONVERT_ERROR_ILLEGAL_SEQUENCE: Invalid byte sequence in conversion input.
24553 * @G_CONVERT_ERROR_FAILED: Conversion failed for some reason.
24554 * @G_CONVERT_ERROR_PARTIAL_INPUT: Partial character sequence at end of input.
24555 * @G_CONVERT_ERROR_BAD_URI: URI is invalid.
24556 * @G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: Pathname is not an absolute path.
24558 * Error codes returned by character set conversion routines.
24565 * Information about an installed application from a desktop file.
24570 * GObjectConstructParam:
24571 * @pspec: the #GParamSpec of the construct parameter
24572 * @value: the value to set the parameter to
24574 * The <structname>GObjectConstructParam</structname> struct is an auxiliary
24575 * structure used to hand #GParamSpec/#GValue pairs to the @constructor of
24581 * g_credentials_to_string:
24582 * @credentials: A #GCredentials object.
24584 * Creates a human-readable textual representation of @credentials
24585 * that can be used in logging and debug messages. The format of the
24586 * returned string may change in future GLib release.
24588 * Returns: A string that should be freed with g_free().
24594 * GApplicationFlags:
24595 * @G_APPLICATION_FLAGS_NONE: Default
24596 * @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration fails if the service is already running, and the application will stay around for a while when the use count falls to zero.
24597 * @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance.
24598 * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in the primary instance)
24599 * @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line arguments (in the primary instance)
24600 * @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the launching process to the primary instance
24602 * Flags used to define the behaviour of a #GApplication.
24609 * g_data_input_stream_set_byte_order:
24610 * @stream: a given #GDataInputStream.
24611 * @order: a #GDataStreamByteOrder to set.
24613 * This function sets the byte order for the given @stream. All subsequent
24614 * reads from the @stream will be read in the given @order.
24620 * @f: a function pointer.
24622 * Cast a function pointer to a #GCallback.
24627 * g_dbus_message_get_locked:
24628 * @message: A #GDBusMessage.
24630 * Checks whether @message is locked. To monitor changes to this
24631 * value, conncet to the #GObject::notify signal to listen for changes
24632 * on the #GDBusMessage:locked property.
24634 * Returns: %TRUE if @message is locked, %FALSE otherwise.
24640 * G_FILE_ATTRIBUTE_GVFS_BACKEND:
24642 * A key in the "gvfs" namespace that gets the name of the current
24643 * GVFS backend in use. Corresponding #GFileAttributeType is
24644 * %G_FILE_ATTRIBUTE_TYPE_STRING.
24649 * GOptionParseFunc:
24650 * @context: The active #GOptionContext
24651 * @group: The group to which the function belongs
24652 * @data: User data added to the #GOptionGroup containing the option when it was created with g_option_group_new()
24653 * @error: A return location for error details
24655 * The type of function that can be called before and after parsing.
24656 * occurred, in which case @error should be set with g_set_error()
24658 * Returns: %TRUE if the function completed successfully, %FALSE if an error
24664 * @class: a valid #GEnumClass
24666 * Casts a derived #GEnumClass structure into a #GEnumClass structure.
24671 * GAction:state-type:
24673 * The #GVariantType of the state that the action has, or %NULL if the
24674 * action is stateless.
24682 * @value: A #GValue structure.
24684 * Get the type identifier of @value.
24686 * Returns: the #GType.
24691 * g_socket_send_with_blocking:
24692 * @socket: a #GSocket
24693 * @buffer: the buffer containing the data to send.
24694 * @size: the number of bytes to send
24695 * @blocking: whether to do blocking or non-blocking I/O
24696 * @cancellable: a %GCancellable or %NULL
24697 * @error: #GError for error reporting, or %NULL to ignore.
24699 * This behaves exactly the same as g_socket_send(), except that
24700 * the choice of blocking or non-blocking behavior is determined by
24701 * the @blocking argument rather than by @socket's properties.
24704 * Returns: Number of bytes written (which may be less than @size), or -1
24710 * GDBusCapabilityFlags:
24711 * @G_DBUS_CAPABILITY_FLAGS_NONE: No flags set.
24712 * @G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection supports exchanging UNIX file descriptors with the remote peer.
24714 * Capabilities negotiated with the remote peer.
24721 * g_unix_socket_address_abstract_names_supported:
24723 * Checks if abstract unix domain socket names are supported.
24725 * Returns: %TRUE if supported, %FALSE otherwise
24731 * G_VARIANT_TYPE_BYTESTRING:
24733 * The type of an array of bytes. This type is commonly used to pass
24734 * around strings that may not be valid utf8. In that case, the
24735 * convention is that the nul terminator character should be included as
24736 * the last character in the array.
24741 * g_bus_unwatch_name:
24742 * @watcher_id: An identifier obtained from g_bus_watch_name()
24744 * Stops watching a name.
24751 * g_socket_connectable_proxy_enumerate:
24752 * @connectable: a #GSocketConnectable
24754 * Creates a #GSocketAddressEnumerator for @connectable that will
24755 * return #GProxyAddress<!-- -->es for addresses that you must connect
24757 * If @connectable does not implement
24758 * g_socket_connectable_proxy_enumerate(), this will fall back to
24759 * calling g_socket_connectable_enumerate().
24761 * Returns: (transfer full): a new #GSocketAddressEnumerator.
24767 * g_dbus_method_invocation_get_interface_name:
24768 * @invocation: A #GDBusMethodInvocation.
24770 * Gets the name of the D-Bus interface the method was invoked on.
24772 * Returns: A string. Do not free, it is owned by @invocation.
24778 * g_memory_input_stream_new:
24780 * Creates a new empty #GMemoryInputStream.
24782 * Returns: a new #GInputStream
24787 * g_resolver_free_targets: (skip)
24788 * @targets: a #GList of #GSrvTarget
24790 * Frees @targets (which should be the return value from
24791 * g_resolver_lookup_service() or g_resolver_lookup_service_finish()).
24792 * (This is a convenience method; you can also simply free the
24793 * results by hand.)
24800 * g_cancellable_is_cancelled:
24801 * @cancellable: a #GCancellable or NULL.
24803 * Checks if a cancellable job has been cancelled.
24804 * FALSE if called with %NULL or if item is not cancelled.
24806 * Returns: %TRUE if @cancellable is cancelled,
24811 * GParamSpecVariant:
24812 * @parent_instance: private #GParamSpec portion
24813 * @type: a #GVariantType, or %NULL
24814 * @default_value: a #GVariant, or %NULL
24816 * A #GParamSpec derived structure that contains the meta data for #GVariant properties.
24823 * g_file_info_get_is_hidden:
24824 * @info: a #GFileInfo.
24826 * Checks if a file is hidden.
24828 * Returns: %TRUE if the file is a hidden file, %FALSE otherwise.
24833 * g_dbus_server_start:
24834 * @server: A #GDBusServer.
24843 * G_VOLUME_IDENTIFIER_KIND_LABEL:
24845 * The string used to obtain a filesystem label with g_volume_get_identifier().
24850 * SECTION:gsocketconnectabl:
24851 * @short_description: Interface for potential socket endpoints
24853 * Objects that describe one or more potential socket endpoints
24854 * implement #GSocketConnectable. Callers can then use
24855 * g_socket_connectable_enumerate() to get a #GSocketAddressEnumerator
24856 * to try out each socket address in turn until one succeeds, as shown
24857 * in the sample code below.
24859 * MyConnectionType *
24860 * connect_to_host (const char *hostname,
24862 * GCancellable *cancellable,
24865 * MyConnection *conn = NULL;
24866 * GSocketConnectable *addr;
24867 * GSocketAddressEnumerator *enumerator;
24868 * GSocketAddress *sockaddr;
24869 * GError *conn_error = NULL;
24870 * addr = g_network_address_new ("www.gnome.org", 80);
24871 * enumerator = g_socket_connectable_enumerate (addr);
24872 * g_object_unref (addr);
24873 * /<!-- -->* Try each sockaddr until we succeed. Record the first
24874 * * connection error, but not any further ones (since they'll probably
24875 * * be basically the same as the first).
24877 * while (!conn && (sockaddr = g_socket_address_enumerator_next (enumerator, cancellable, error))
24879 * g_object_unref (sockaddr);
24881 * g_object_unref (enumerator);
24886 * /<!-- -->* We couldn't connect to the first address, but we succeeded
24887 * * in connecting to a later address.
24889 * g_error_free (conn_error);
24895 * /<!-- -->* Either the initial lookup failed, or else the caller
24899 * g_error_free (conn_error);
24904 * g_error_propagate (error, conn_error);
24910 * Conn = connect_to_sockaddr (sockaddr, conn_error ? null : &conn_error);
24915 * g_dbus_connection_close_sync:
24916 * @connection: A #GDBusConnection.
24917 * @cancellable: A #GCancellable or %NULL.
24918 * @error: Return location for error or %NULL.
24920 * Synchronously closees @connection. The calling thread is blocked
24921 * until this is done. See g_dbus_connection_close() for the
24922 * asynchronous version of this method and more details about what it
24925 * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
24931 * g_settings_get_double:
24932 * @settings: a #GSettings object
24933 * @key: the key to get the value for
24934 * @returns: a double
24936 * Gets the value that is stored at @key in @settings.
24937 * A convenience variant of g_settings_get() for doubles.
24938 * It is a programmer error to give a @key that isn't specified as
24939 * having a 'double' type in the schema for @settings.
24946 * G_IS_PARAM_SPEC_UINT64:
24947 * @pspec: a valid #GParamSpec instance
24949 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64.
24951 * Returns: %TRUE on success.
24956 * g_app_info_equal:
24957 * @appinfo1: the first #GAppInfo.
24958 * @appinfo2: the second #GAppInfo.
24960 * Checks if two #GAppInfo<!-- -->s are equal.
24962 * Returns: %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.
24968 * @mount: a #GMount.
24969 * @flags: flags affecting the operation
24970 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
24971 * @cancellable: optional #GCancellable object, %NULL to ignore.
24972 * @callback: a #GAsyncReadyCallback, or %NULL.
24973 * @user_data: user data passed to @callback.
24975 * Remounts a mount. This is an asynchronous operation, and is
24976 * finished by calling g_mount_remount_finish() with the @mount
24977 * and #GAsyncResults data returned in the @callback.
24978 * Remounting is useful when some setting affecting the operation
24979 * of the volume has been changed, as these may need a remount to
24980 * take affect. While this is semantically equivalent with unmounting
24981 * and then remounting not all backends might need to actually be
24987 * g_volume_can_mount:
24988 * @volume: a #GVolume.
24990 * Checks if a volume can be mounted.
24992 * Returns: %TRUE if the @volume can be mounted. %FALSE otherwise.
24999 * The fundamental type corresponding to #glong.
25004 * g_volume_monitor_get:
25006 * Gets the volume monitor used by gio.
25007 * g_object_unref() when done with it.
25009 * Returns: (transfer full): a reference to the #GVolumeMonitor used by gio. Call
25014 * g_file_make_directory_with_parents:
25015 * @file: input #GFile.
25016 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
25017 * @error: a #GError, or %NULL
25019 * Creates a directory and any parent directories that may not exist similar to
25020 * 'mkdir -p'. If the file system does not support creating directories, this
25021 * function will fail, setting @error to %G_IO_ERROR_NOT_SUPPORTED.
25022 * For a local #GFile the newly created directories will have the default
25023 * (current) ownership and permissions of the current process.
25024 * If @cancellable is not %NULL, then the operation can be cancelled by
25025 * triggering the cancellable object from another thread. If the operation
25026 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
25029 * Returns: %TRUE if all directories have been successfully created, %FALSE
25035 * g_buffered_input_stream_peek_buffer:
25036 * @stream: a #GBufferedInputStream
25037 * @count: (out): a #gsize to get the number of bytes available in the buffer
25039 * Returns the buffer with the currently available bytes. The returned
25040 * buffer must not be modified and will become invalid when reading from
25041 * the stream or filling the buffer.
25044 * Returns: (array length=count) (element-type guint8) (transfer none):
25049 * g_socket_address_enumerator_next:
25050 * @enumerator: a #GSocketAddressEnumerator
25051 * @cancellable: optional #GCancellable object, %NULL to ignore.
25052 * @error: a #GError.
25054 * Retrieves the next #GSocketAddress from @enumerator. Note that this
25055 * may block for some amount of time. (Eg, a #GNetworkAddress may need
25056 * to do a DNS lookup before it can return an address.) Use
25057 * g_socket_address_enumerator_next_async() if you need to avoid
25059 * If @enumerator is expected to yield addresses, but for some reason
25060 * is unable to (eg, because of a DNS error), then the first call to
25061 * g_socket_address_enumerator_next() will return an appropriate error
25062 * in *@error. However, if the first call to
25063 * g_socket_address_enumerator_next() succeeds, then any further
25064 * internal errors (other than @cancellable being triggered) will be
25066 * error (in which case *@error will be set) or if there are no
25069 * Returns: (transfer full): a #GSocketAddress (owned by the caller), or %NULL on
25074 * G_PARAM_SPEC_UNICHAR:
25075 * @pspec: a valid #GParamSpec instance
25077 * Cast a #GParamSpec instance into a #GParamSpecUnichar.
25082 * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH:
25084 * A key in the "access" namespace for checking trashing privileges.
25085 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
25086 * This attribute will be %TRUE if the user is able to move the file to
25094 * Abstract base class for TLS certificate types.
25101 * SECTION:gasyncinitabl:
25102 * @short_description: Asynchronously failable object initialization interface
25103 * @include: gio/gio.h
25104 * @see_also: #GInitable
25106 * This is the asynchronous version of #GInitable; it behaves the same
25107 * in all ways except that initialization is asynchronous. For more details
25108 * see the descriptions on #GInitable.
25109 * A class may implement both the #GInitable and #GAsyncInitable interfaces.
25110 * Users of objects implementing this are not intended to use the interface
25111 * method directly; instead it will be used automatically in various ways.
25112 * For C applications you generally just call g_async_initable_new_async()
25113 * directly, or indirectly via a foo_thing_new_async() wrapper. This will call
25114 * g_async_initable_init_async() under the cover, calling back with %NULL and
25115 * a set %GError on failure.
25116 * A typical implementation might look something like this:
25124 * _foo_ready_cb (Foo *self)
25127 * self->priv->state = INITIALIZED;
25128 * for (l = self->priv->init_results; l != NULL; l = l->next)
25130 * GSimpleAsyncResult *simple = l->data;
25131 * if (!self->priv->success)
25132 * g_simple_async_result_set_error (simple, ...);
25133 * g_simple_async_result_complete (simple);
25134 * g_object_unref (simple);
25136 * g_list_free (self->priv->init_results);
25137 * self->priv->init_results = NULL;
25140 * foo_init_async (GAsyncInitable *initable,
25142 * GCancellable *cancellable,
25143 * GAsyncReadyCallback callback,
25144 * gpointer user_data)
25146 * Foo *self = FOO (initable);
25147 * GSimpleAsyncResult *simple;
25148 * simple = g_simple_async_result_new (G_OBJECT (initable)
25152 * switch (self->priv->state)
25154 * case NOT_INITIALIZED:
25155 * _foo_get_ready (self);
25156 * self->priv->init_results = g_list_append (self->priv->init_results,
25158 * self->priv->state = INITIALIZING;
25160 * case INITIALIZING:
25161 * self->priv->init_results = g_list_append (self->priv->init_results,
25164 * case INITIALIZED:
25165 * if (!self->priv->success)
25166 * g_simple_async_result_set_error (simple, ...);
25167 * g_simple_async_result_complete_in_idle (simple);
25168 * g_object_unref (simple);
25173 * foo_init_finish (GAsyncInitable *initable,
25174 * GAsyncResult *result,
25177 * g_return_val_if_fail (g_simple_async_result_is_valid (result,
25178 * G_OBJECT (initable), foo_init_async), FALSE);
25179 * if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result),
25185 * foo_async_initable_iface_init (gpointer g_iface,
25188 * GAsyncInitableIface *iface = g_iface;
25189 * iface->init_async = foo_init_async;
25190 * iface->init_finish = foo_init_finish;
25197 * g_file_attribute_info_list_new:
25199 * Creates a new file attribute info list.
25201 * Returns: a #GFileAttributeInfoList.
25206 * G_FILE_ATTRIBUTE_STANDARD_NAME:
25208 * A key in the "standard" namespace for getting the name of the file.
25209 * The name is the on-disk filename which may not be in any known encoding,
25210 * and can thus not be generally displayed as is.
25211 * Use #G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the
25212 * name in a user interface.
25213 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
25218 * g_resolver_lookup_by_name_finish:
25219 * @resolver: a #GResolver
25220 * @result: the result passed to your #GAsyncReadyCallback
25221 * @error: return location for a #GError, or %NULL
25223 * Retrieves the result of a call to
25224 * g_resolver_lookup_by_name_async().
25225 * If the DNS resolution failed, @error (if non-%NULL) will be set to
25226 * a value from #GResolverError. If the operation was cancelled,
25227 * of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
25228 * for more details.
25230 * Returns: (element-type GInetAddress) (transfer full): a #GList
25238 * A fundamental type which is used as a replacement for the C
25239 * <literal>void</literal> return type.
25244 * g_data_input_stream_get_newline_type:
25245 * @stream: a given #GDataInputStream.
25247 * Gets the current newline type for the @stream.
25249 * Returns: #GDataStreamNewlineType for the given @stream.
25254 * g_volume_eject_with_operation_finish:
25255 * @volume: a #GVolume.
25256 * @result: a #GAsyncResult.
25257 * @error: a #GError location to store the error occuring, or %NULL to ignore.
25259 * Finishes ejecting a volume. If any errors occurred during the operation,
25261 * Returns: %TRUE if the volume was successfully ejected. %FALSE otherwise.
25267 * g_drive_can_poll_for_media:
25268 * @drive: a #GDrive.
25270 * Checks if a drive can be polled for media changes.
25271 * %FALSE otherwise.
25273 * Returns: %TRUE if the @drive can be polled for media changes,
25280 * A C representable type name for #G_TYPE_STRING.
25285 * g_dbus_error_register_error_domain:
25286 * @error_domain_quark_name: The error domain name.
25287 * @quark_volatile: A pointer where to store the #GQuark.
25288 * @entries: A pointer to @num_entries #GDBusErrorEntry struct items.
25289 * @num_entries: Number of items to register.
25291 * Helper function for associating a #GError error domain with D-Bus error names.
25298 * G_FILE_ATTRIBUTE_ID_FILE:
25300 * A key in the "id" namespace for getting a file identifier.
25301 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
25302 * An example use would be during listing files, to avoid recursive
25303 * directory scanning.
25308 * g_cancellable_release_fd:
25309 * @cancellable: a #GCancellable
25311 * Releases a resources previously allocated by g_cancellable_get_fd()
25312 * or g_cancellable_make_pollfd().
25313 * For compatibility reasons with older releases, calling this function
25314 * is not strictly required, the resources will be automatically freed
25315 * when the @cancellable is finalized. However, the @cancellable will
25316 * block scarce file descriptors until it is finalized if this function
25317 * is not called. This can cause the application to run out of file
25318 * descriptors when many #GCancellables are used at the same time.
25325 * g_data_input_stream_read_upto:
25326 * @stream: a #GDataInputStream
25327 * @stop_chars: characters to terminate the read
25328 * @stop_chars_len: length of @stop_chars. May be -1 if @stop_chars is nul-terminated
25329 * @length: (out): a #gsize to get the length of the data read in
25330 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
25331 * @error: #GError for error reporting
25333 * Reads a string from the data input stream, up to the first
25334 * occurrence of any of the stop characters.
25335 * In contrast to g_data_input_stream_read_until(), this function
25336 * does <emphasis>not</emphasis> consume the stop character. You have
25337 * to use g_data_input_stream_read_byte() to get it before calling
25338 * g_data_input_stream_read_upto() again.
25339 * Note that @stop_chars may contain '\0' if @stop_chars_len is
25341 * before encountering any of the stop characters. Set @length to
25342 * a #gsize to get the length of the string. This function will
25343 * return %NULL on an error
25345 * Returns: (transfer full): a string with the data that was read
25351 * G_PARAM_SPEC_FLOAT:
25352 * @pspec: a valid #GParamSpec instance
25354 * Cast a #GParamSpec instance into a #GParamSpecFloat.
25359 * g_inet_address_get_family:
25360 * @address: a #GInetAddress
25362 * Gets @address's family
25364 * Returns: @address's family
25370 * g_filename_completer_get_completions:
25371 * @completer: the filename completer.
25372 * @initial_text: text to be completed.
25374 * Gets an array of completion strings for a given initial text.
25375 * This array must be freed by g_strfreev() when finished.
25377 * Returns: (array zero-terminated=1) (transfer full): array of strings with possible completions for @initial_text.
25382 * g_data_output_stream_get_byte_order:
25383 * @stream: a #GDataOutputStream.
25385 * Gets the byte order for the stream.
25387 * Returns: the #GDataStreamByteOrder for the @stream.
25393 * @g_iface: The parent interface.
25394 * @hash: A hash for a given #GIcon.
25395 * @equal: Checks if two #GIcon<!-- -->s are equal.
25396 * @to_tokens: Serializes a #GIcon into tokens. The tokens must not contain any whitespace. Don't implement if the #GIcon can't be serialized (Since 2.20).
25397 * @from_tokens: Constructs a #GIcon from tokens. Set the #GError if the tokens are malformed. Don't implement if the #GIcon can't be serialized (Since 2.20).
25399 * GIconIface is used to implement GIcon types for various
25400 * different systems. See #GThemedIcon and #GLoadableIcon for
25401 * examples of how to implement this interface.
25406 * g_file_info_get_icon:
25407 * @info: a #GFileInfo.
25409 * Gets the icon for a file.
25411 * Returns: (transfer none): #GIcon for the given @info.
25416 * g_filter_output_stream_set_close_base_stream:
25417 * @stream: a #GFilterOutputStream.
25418 * @close_base: %TRUE to close the base stream.
25420 * Sets whether the base stream will be closed when @stream is closed.
25425 * g_file_set_display_name:
25426 * @file: input #GFile.
25427 * @display_name: a string.
25428 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
25429 * @error: a #GError, or %NULL
25431 * Renames @file to the specified display name.
25432 * The display name is converted from UTF8 to the correct encoding for the target
25433 * filesystem if possible and the @file is renamed to this.
25434 * If you want to implement a rename operation in the user interface the edit name
25435 * (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename
25436 * widget, and then the result after editing should be passed to g_file_set_display_name().
25437 * On success the resulting converted filename is returned.
25438 * If @cancellable is not %NULL, then the operation can be cancelled by
25439 * triggering the cancellable object from another thread. If the operation
25440 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
25441 * if there was an error.
25442 * Free the returned object with g_object_unref().
25444 * Returns: (transfer full): a #GFile specifying what @file was renamed to, or %NULL
25449 * G_TYPE_DATE_TIME:
25451 * The #GType for a boxed type holding a #GDateTime.
25458 * g_settings_get_has_unapplied:
25459 * @settings: a #GSettings object
25460 * @returns: %TRUE if @settings has unapplied changes
25462 * Returns whether the #GSettings object has any unapplied
25463 * changes. This can only be the case if it is in 'delayed-apply' mode.
25470 * SECTION:gconverteroutputstrea:
25471 * @short_description: Converter Output Stream
25472 * @include: gio/gio.h
25473 * @see_also: #GOutputStream, #GConverter
25475 * Converter output stream implements #GOutputStream and allows
25476 * conversion of data of various types during reading.
25481 * g_file_poll_mountable_finish:
25482 * @file: input #GFile.
25483 * @result: a #GAsyncResult.
25484 * @error: a #GError, or %NULL
25486 * Finishes a poll operation. See g_file_poll_mountable() for details.
25487 * Finish an asynchronous poll operation that was polled
25488 * with g_file_poll_mountable().
25491 * Returns: %TRUE if the operation finished successfully. %FALSE
25497 * G_FILE_ATTRIBUTE_TRASH_ORIG_PATH:
25499 * A key in the "trash" namespace. When requested against
25500 * items in "trash:///", will return the original path to the file before it
25501 * was trashed. Corresponding #GFileAttributeType is
25502 * %G_FILE_ATTRIBUTE_TYPE_STRING.
25509 * g_io_error_quark:
25511 * Gets the GIO Error Quark.
25513 * Returns: a #GQuark.
25518 * g_network_service_get_domain:
25519 * @srv: a #GNetworkService
25521 * Gets the domain that @srv serves. This might be either UTF-8 or
25522 * ASCII-encoded, depending on what @srv was created with.
25524 * Returns: @srv's domain name
25530 * g_drive_get_name:
25531 * @drive: a #GDrive.
25533 * Gets the name of @drive.
25534 * string should be freed when no longer needed.
25536 * Returns: a string containing @drive's name. The returned
25541 * g_file_get_child_for_display_name:
25542 * @file: input #GFile.
25543 * @display_name: string to a possible child.
25546 * Gets the child of @file for a given @display_name (i.e. a UTF8
25547 * version of the name). If this function fails, it returns %NULL and @error will be
25548 * set. This is very useful when constructing a GFile for a new file
25549 * and the user entered the filename in the user interface, for instance
25550 * when you select a directory and type a filename in the file selector.
25551 * This call does no blocking i/o.
25552 * %NULL if the display name couldn't be converted.
25553 * Free the returned object with g_object_unref().
25555 * Returns: (transfer full): a #GFile to the specified child, or
25560 * g_file_info_set_modification_tim:
25561 * @info: a #GFileInfo.
25562 * @mtime: a #GTimeVal.
25564 * Sets the %G_FILE_ATTRIBUTE_TIME_MODIFIED attribute in the file
25565 * info to the given time value.
25570 * GCancellableSourceFunc:
25571 * @cancellable: the #GCancellable
25572 * @user_data: data passed in by the user.
25574 * This is the function type of the callback used for the #GSource
25575 * returned by g_cancellable_source_new().
25577 * Returns: it should return %FALSE if the source should be removed.
25583 * g_socket_get_protocol:
25584 * @socket: a #GSocket.
25586 * Gets the socket protocol id the socket was created with.
25587 * In case the protocol is unknown, -1 is returned.
25589 * Returns: a protocol id, or -1 if unknown
25595 * GPollableInputStream:
25597 * An interface for a #GInputStream that can be polled for readability.
25604 * g_file_query_info_async:
25605 * @file: input #GFile.
25606 * @attributes: an attribute query string.
25607 * @flags: a set of #GFileQueryInfoFlags.
25608 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
25609 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
25610 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is satisfied
25611 * @user_data: (closure): the data to pass to callback function
25613 * Asynchronously gets the requested information about specified @file. The result
25614 * is a #GFileInfo object that contains key-value attributes (such as type or size
25616 * For more details, see g_file_query_info() which is
25617 * the synchronous version of this call.
25618 * When the operation is finished, @callback will be called. You can then call
25619 * g_file_query_info_finish() to get the result of the operation.
25624 * g_app_info_remove_supports_type:
25625 * @appinfo: a #GAppInfo.
25626 * @content_type: a string.
25627 * @error: a #GError.
25629 * Removes a supported type from an application, if possible.
25631 * Returns: %TRUE on success, %FALSE on error.
25636 * G_FLAGS_CLASS_TYPE_NAME:
25637 * @class: a #GFlagsClass
25639 * Get the static type name from a given #GFlagsClass structure.
25641 * Returns: the type name.
25647 * @object_type: a #GType supporting #GInitable.
25648 * @n_parameters: the number of parameters in @parameters
25649 * @parameters: the parameters to use to construct the object
25650 * @cancellable: optional #GCancellable object, %NULL to ignore.
25651 * @error: a #GError location to store the error occuring, or %NULL to ignore.
25653 * Helper function for constructing #GInitiable object. This is
25654 * similar to g_object_newv() but also initializes the object
25655 * and returns %NULL, setting an error on failure.
25657 * Returns: (transfer full): a newly allocated #GObject, or %NULL on error
25663 * GSocketConnectable:
25665 * Interface for objects that contain or generate #GSocketAddress<!-- -->es.
25670 * g_unix_output_stream_get_close_fd:
25671 * @stream: a #GUnixOutputStream
25673 * Returns whether the file descriptor of @stream will be
25674 * closed when the stream is closed.
25676 * Returns: %TRUE if the file descriptor is closed when done
25682 * g_settings_get_int:
25683 * @settings: a #GSettings object
25684 * @key: the key to get the value for
25685 * @returns: an integer
25687 * Gets the value that is stored at @key in @settings.
25688 * A convenience variant of g_settings_get() for 32-bit integers.
25689 * It is a programmer error to give a @key that isn't specified as
25690 * having a int32 type in the schema for @settings.
25697 * g_data_input_stream_set_newline_type:
25698 * @stream: a #GDataInputStream.
25699 * @type: the type of new line return as #GDataStreamNewlineType.
25701 * Sets the newline type for the @stream.
25702 * Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read
25703 * chunk ends in "CR" we must read an additional byte to know if this is "CR" or
25704 * "CR LF", and this might block if there is no more data availible.
25709 * g_inet_socket_address_new:
25710 * @address: a #GInetAddress
25711 * @port: a port number
25713 * Creates a new #GInetSocketAddress for @address and @port.
25715 * Returns: a new #GInetSocketAddress
25721 * g_dbus_connection_new_for_address_finish:
25722 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_new().
25723 * @error: Return location for error or %NULL.
25725 * Finishes an operation started with g_dbus_connection_new_for_address().
25727 * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
25733 * g_srv_target_get_weight:
25734 * @target: a #GSrvTarget
25736 * Gets @target's weight. You should not need to look at this;
25737 * #GResolver already sorts the targets according to the algorithm in
25740 * Returns: @target's weight
25746 * G_FILE_ATTRIBUTE_ACCESS_CAN_READ:
25748 * A key in the "access" namespace for getting read privileges.
25749 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
25750 * This attribute will be %TRUE if the user is able to read the file.
25755 * g_application_command_line_get_cwd:
25756 * @cmdline: a #GApplicationCommandLine
25758 * Gets the working directory of the command line invocation. The
25759 * string may contain non-utf8 data.
25760 * It is possible that the remote application did not send a working
25761 * directory, so this may be %NULL.
25762 * The return value should not be modified or freed and is valid for as
25763 * long as @cmdline exists.
25765 * Returns: the current directory, or %NULL
25771 * g_mount_operation_set_password:
25772 * @op: a #GMountOperation.
25773 * @password: password to set.
25775 * Sets the mount operation's password to @password.
25780 * GUnixSocketAddressType:
25781 * @G_UNIX_SOCKET_ADDRESS_INVALID: invalid
25782 * @G_UNIX_SOCKET_ADDRESS_ANONYMOUS: anonymous
25783 * @G_UNIX_SOCKET_ADDRESS_PATH: a filesystem path
25784 * @G_UNIX_SOCKET_ADDRESS_ABSTRACT: an abstract name
25785 * @G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: an abstract name, 0-padded to the full length of a unix socket name
25787 * The type of name used by a #GUnixSocketAddress.
25788 * %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain
25789 * socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS
25790 * indicates a socket not bound to any name (eg, a client-side socket,
25791 * or a socket created with socketpair()).
25792 * For abstract sockets, there are two incompatible ways of naming
25793 * sockaddr_un</literal> as the name, padding the unused parts of the
25794 * %sun_path field with zeroes; this corresponds to
25795 * %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs
25796 * instead just use a portion of %sun_path, and pass an appropriate
25797 * smaller length to bind() or connect(). This is
25798 * %G_UNIX_SOCKET_ADDRESS_ABSTRACT.
25800 * Them: the man pages suggest using the entire <literal>struct
25807 * @object_type: a #GType supporting #GInitable.
25808 * @cancellable: optional #GCancellable object, %NULL to ignore.
25809 * @error: a #GError location to store the error occuring, or %NULL to ignore.
25810 * @first_property_name: the name of the first property, or %NULL if no properties
25811 * @...: the value if the first property, followed by and other property value pairs, and ended by %NULL.
25813 * Helper function for constructing #GInitiable object. This is
25814 * similar to g_object_new() but also initializes the object
25815 * and returns %NULL, setting an error on failure.
25817 * Returns: (transfer full): a newly allocated #GObject, or %NULL on error
25823 * g_file_info_set_attribute_uint32:
25824 * @info: a #GFileInfo.
25825 * @attribute: a file attribute key.
25826 * @attr_value: an unsigned 32-bit integer.
25828 * Sets the @attribute to contain the given @attr_value,
25834 * g_volume_get_name:
25835 * @volume: a #GVolume.
25837 * Gets the name of @volume.
25838 * be freed with g_free() when no longer needed.
25840 * Returns: the name for the given @volume. The returned string should
25845 * g_converter_input_stream_new:
25846 * @base_stream: a #GInputStream
25847 * @converter: a #GConverter
25849 * Creates a new converter input stream for the @base_stream.
25851 * Returns: a new #GInputStream.
25857 * @short_description: Low-level socket object
25858 * @include: gio/gio.h
25859 * @see_also: #GInitable
25861 * A #GSocket is a low-level networking primitive. It is a more or less
25862 * direct mapping of the BSD socket API in a portable GObject based API.
25863 * It supports both the UNIX socket implementations and winsock2 on Windows.
25864 * #GSocket is the platform independent base upon which the higher level
25865 * network primitives are based. Applications are not typically meant to
25866 * use it directly, but rather through classes like #GSocketClient,
25867 * #GSocketService and #GSocketConnection. However there may be cases where
25868 * direct use of #GSocket is useful.
25869 * #GSocket implements the #GInitable interface, so if it is manually constructed
25870 * by e.g. g_object_new() you must call g_initable_init() and check the
25871 * results before using the object. This is done automatically in
25872 * g_socket_new() and g_socket_new_from_fd(), so these functions can return
25874 * Sockets operate in two general modes, blocking or non-blocking. When
25875 * in blocking mode all operations block until the requested operation
25876 * is finished or there is an error. In non-blocking mode all calls that
25877 * would block return immediately with a %G_IO_ERROR_WOULD_BLOCK error.
25878 * To know when a call would successfully run you can call g_socket_condition_check(),
25879 * or g_socket_condition_wait(). You can also use g_socket_create_source() and
25880 * attach it to a #GMainContext to get callbacks when I/O is possible.
25881 * Note that all sockets are always set to non blocking mode in the system, and
25882 * blocking mode is emulated in GSocket.
25883 * When working in non-blocking mode applications should always be able to
25884 * handle getting a %G_IO_ERROR_WOULD_BLOCK error even when some other
25885 * function said that I/O was possible. This can easily happen in case
25886 * of a race condition in the application, but it can also happen for other
25887 * reasons. For instance, on Windows a socket is always seen as writable
25888 * until a write returns %G_IO_ERROR_WOULD_BLOCK.
25889 * #GSocket<!-- -->s can be either connection oriented or datagram based.
25890 * For connection oriented types you must first establish a connection by
25891 * either connecting to an address or accepting a connection from another
25892 * address. For connectionless socket types the target/source address is
25893 * specified or received in each I/O operation.
25894 * All socket file descriptors are set to be close-on-exec.
25895 * Note that creating a #GSocket causes the signal %SIGPIPE to be
25896 * ignored for the remainder of the program. If you are writing a
25897 * command-line utility that uses #GSocket, you may need to take into
25898 * account the fact that your program will not automatically be killed
25899 * if it tries to write to %stdout after it has been closed.
25908 * The file containing the icon.
25913 * g_emblem_new_with_origin:
25914 * @icon: a GIcon containing the icon.
25915 * @origin: a GEmblemOrigin enum defining the emblem's origin
25917 * Creates a new emblem for @icon.
25919 * Returns: a new #GEmblem.
25925 * GDBusServer:client-address:
25927 * The D-Bus address that clients can use.
25935 * @g_type_class: the parent class
25936 * @minimum: the smallest possible value.
25937 * @maximum: the largest possible value.
25938 * @n_values: the number of possible values.
25939 * @values: an array of #GEnumValue structs describing the individual values.
25941 * The class of an enumeration type holds information about its
25947 * g_file_output_stream_get_etag:
25948 * @stream: a #GFileOutputStream.
25950 * Gets the entity tag for the file when it has been written.
25951 * This must be called after the stream has been written
25952 * and closed, as the etag can change while writing.
25954 * Returns: the entity tag for the stream.
25959 * G_TYPE_FUNDAMENTAL_MAX:
25961 * An integer constant that represents the number of identifiers reserved
25962 * for types that are assigned at compile-time.
25968 * @boxed: The boxed structure to be copied.
25970 * This function is provided by the user and should produce a copy of the passed
25971 * in boxed structure.
25973 * Returns: The newly created copy of the boxed structure.
25979 * @parent_instance: private #GParamSpec portion
25980 * @minimum: minimum value for the property specified
25981 * @maximum: maximum value for the property specified
25982 * @default_value: default value for the property specified
25984 * A #GParamSpec derived structure that contains the meta data for long integer properties.
25989 * g_tls_certificate_new_from_files:
25990 * @cert_file: file containing a PEM-encoded certificate to import
25991 * @key_file: file containing a PEM-encoded private key to import
25992 * @error: #GError for error reporting, or %NULL to ignore.
25994 * Creates a #GTlsCertificate from the PEM-encoded data in @cert_file
25995 * and @key_file. If either file cannot be read or parsed, the
25996 * function will return %NULL and set @error. Otherwise, this behaves
25997 * like g_tls_certificate_new().
25999 * Returns: the new certificate, or %NULL on error
26005 * GMemoryOutputStream:data-size:
26007 * Size of data written to the buffer.
26016 * The fundamental type corresponding to #gboolean.
26021 * GDBusConnection:stream:
26023 * The underlying #GIOStream used for I/O.
26031 * @G_OPTION_ERROR_UNKNOWN_OPTION: An option was not known to the parser. This error will only be reported, if the parser hasn't been instructed to ignore unknown options, see g_option_context_set_ignore_unknown_options().
26032 * @G_OPTION_ERROR_BAD_VALUE: A value couldn't be parsed.
26033 * @G_OPTION_ERROR_FAILED: A #GOptionArgFunc callback failed.
26035 * Error codes returned by option parsing.
26040 * g_output_stream_set_pending:
26041 * @stream: a #GOutputStream.
26042 * @error: a #GError location to store the error occuring, or %NULL to ignore.
26044 * Sets @stream to have actions pending. If the pending flag is
26045 * already set or @stream is closed, it will return %FALSE and set
26047 * Returns: %TRUE if pending was previously unset and is now set.
26052 * SECTION:gconverterinputstrea:
26053 * @short_description: Converter Input Stream
26054 * @include: gio/gio.h
26055 * @see_also: #GInputStream, #GConverter
26057 * Converter input stream implements #GInputStream and allows
26058 * conversion of data of various types during reading.
26063 * g_input_stream_skip:
26064 * @stream: a #GInputStream.
26065 * @count: the number of bytes that will be skipped from the stream
26066 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
26067 * @error: location to store the error occuring, or %NULL to ignore
26069 * Tries to skip @count bytes from the stream. Will block during the operation.
26070 * This is identical to g_input_stream_read(), from a behaviour standpoint,
26071 * but the bytes that are skipped are not returned to the user. Some
26072 * streams have an implementation that is more efficient than reading the data.
26073 * This function is optional for inherited classes, as the default implementation
26074 * emulates it using read.
26075 * If @cancellable is not %NULL, then the operation can be cancelled by
26076 * triggering the cancellable object from another thread. If the operation
26077 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
26078 * operation was partially finished when the operation was cancelled the
26079 * partial result will be returned, without an error.
26081 * Returns: Number of bytes skipped, or -1 on error
26086 * g_mount_operation_set_password_save:
26087 * @op: a #GMountOperation.
26088 * @save: a set of #GPasswordSave flags.
26090 * Sets the state of saving passwords for the mount operation.
26095 * g_app_info_launch_default_for_uri:
26096 * @uri: the uri to show
26097 * @launch_context: an optional #GAppLaunchContext.
26098 * @error: a #GError.
26100 * Utility function that launches the default application
26101 * registered to handle the specified uri. Synchronous I/O
26102 * is done on the uri to detect the type of the file if
26105 * Returns: %TRUE on success, %FALSE on error.
26110 * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME:
26112 * A key in the "standard" namespace for edit name of the file.
26113 * An edit name is similar to the display name, but it is meant to be
26114 * used when you want to rename the file in the UI. The display name
26115 * might contain information you don't want in the new filename (such as
26116 * "(invalid unicode)" if the filename was in an invalid encoding).
26117 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
26122 * GZlibCompressorFormat:
26123 * @G_ZLIB_COMPRESSOR_FORMAT_ZLIB: deflate compression with zlib header
26124 * @G_ZLIB_COMPRESSOR_FORMAT_GZIP: gzip file format
26125 * @G_ZLIB_COMPRESSOR_FORMAT_RAW: deflate compression with no header
26127 * Used to select the type of data format to use for #GZlibDecompressor
26128 * and #GZlibCompressor.
26135 * G_TYPE_PARAM_VALUE_ARRAY:
26137 * The #GType of #GParamSpecValueArray.
26142 * g_buffered_input_stream_fill_finish:
26143 * @stream: a #GBufferedInputStream
26144 * @result: a #GAsyncResult
26145 * @error: a #GError
26147 * Finishes an asynchronous read.
26149 * Returns: a #gssize of the read stream, or %-1 on an error.
26154 * G_DEFINE_INTERFACE_WITH_CODE:
26155 * @TN: The name of the new type, in Camel case.
26156 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
26157 * @T_P: The #GType of the prerequisite type for the interface, or 0 (%G_TYPE_INVALID) for no prerequisite type.
26158 * @_C_: Custom code that gets inserted in the *_get_type() function.
26160 * A convenience macro for #GTypeInterface definitions. Similar to
26161 * G_DEFINE_INTERFACE(), but allows you to insert custom code into the
26162 * *_get_type() function, e.g. additional interface implementations
26163 * via G_IMPLEMENT_INTERFACE(), or additional prerequisite types. See
26164 * G_DEFINE_TYPE_EXTENDED() for a similar example using
26165 * G_DEFINE_TYPE_WITH_CODE().
26172 * g_file_info_set_name:
26173 * @info: a #GFileInfo.
26174 * @name: a string containing a name.
26176 * Sets the name attribute for the current #GFileInfo.
26177 * See %G_FILE_ATTRIBUTE_STANDARD_NAME.
26184 * The <structname>GMainContext</structname> struct is an opaque data
26185 * type representing a set of sources to be handled in a main loop.
26190 * g_socket_address_new_from_native:
26191 * @native: a pointer to a <type>struct sockaddr</type>
26192 * @len: the size of the memory location pointed to by @native
26194 * Creates a #GSocketAddress subclass corresponding to the native
26195 * <type>struct sockaddr</type> @native.
26198 * Returns: a new #GSocketAddress if @native could successfully be converted,
26205 * @G_RESOLVER_ERROR_NOT_FOUND: the requested name/address/service was not found
26206 * @G_RESOLVER_ERROR_TEMPORARY_FAILURE: the requested information could not be looked up due to a network error or similar problem
26207 * @G_RESOLVER_ERROR_INTERNAL: unknown error
26209 * An error code used with %G_RESOLVER_ERROR in a #GError returned
26210 * from a #GResolver routine.
26217 * g_drive_start_finish:
26218 * @drive: a #GDrive.
26219 * @result: a #GAsyncResult.
26220 * @error: a #GError, or %NULL
26222 * Finishes starting a drive.
26223 * %FALSE otherwise.
26225 * Returns: %TRUE if the drive has been started successfully,
26232 * @G_TYPE_DEBUG_NONE: Print no messages.
26233 * @G_TYPE_DEBUG_OBJECTS: Print messages about object bookkeeping.
26234 * @G_TYPE_DEBUG_SIGNALS: Print messages about signal emissions.
26235 * @G_TYPE_DEBUG_MASK: Mask covering all debug flags.
26237 * The <type>GTypeDebugFlags</type> enumeration values can be passed to
26238 * g_type_init_with_debug_flags() to trigger debugging messages during runtime.
26239 * Note that the messages can also be triggered by setting the
26240 * <envar>GOBJECT_DEBUG</envar> environment variable to a ':'-separated list of
26241 * "objects" and "signals".
26246 * g_settings_range_check:
26247 * @settings: a #GSettings
26248 * @key: the key to check
26249 * @value: the value to check
26250 * @returns: %TRUE if @value is valid for @key
26252 * Checks if the given @value is of the correct type and within the
26253 * permitted range for @key.
26254 * This API is not intended to be used by normal programs -- they should
26255 * already know what is permitted by their own schemas. This API is
26256 * meant to be used by programs such as editors or commandline tools.
26257 * It is a programmer error to give a @key that isn't contained in the
26258 * schema for @settings.
26265 * g_socket_set_keepalive:
26266 * @socket: a #GSocket.
26267 * @keepalive: Value for the keepalive flag
26269 * Sets or unsets the %SO_KEEPALIVE flag on the underlying socket. When
26270 * this flag is set on a socket, the system will attempt to verify that the
26271 * remote socket endpoint is still present if a sufficiently long period of
26272 * time passes with no data being exchanged. If the system is unable to
26273 * verify the presence of the remote endpoint, it will automatically close
26275 * This option is only functional on certain kinds of sockets. (Notably,
26276 * %G_SOCKET_PROTOCOL_TCP sockets.)
26277 * The exact time between pings is system- and protocol-dependent, but will
26278 * normally be at least two hours. Most commonly, you would set this flag
26279 * on a server socket if you want to allow clients to remain idle for long
26280 * periods of time, but also want to ensure that connections are eventually
26281 * garbage-collected if clients crash or become unreachable.
26289 * @short_description: Interface for proxy handling
26291 * A #GProxy handles connecting to a remote host via a given type of
26292 * proxy server. It is implemented by the 'gio-proxy' extension point.
26293 * The extensions are named after their proxy protocol name. As an
26294 * example, a SOCKS5 proxy implementation can be retrieved with the
26295 * name 'socks5' using the function
26296 * g_io_extension_point_get_extension_by_name().
26303 * G_IS_PARAM_SPEC_STRING:
26304 * @pspec: a valid #GParamSpec instance
26306 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING.
26308 * Returns: %TRUE on success.
26313 * g_unix_fd_message_steal_fds:
26314 * @message: a #GUnixFDMessage
26315 * @length: pointer to the length of the returned array, or %NULL
26317 * Returns the array of file descriptors that is contained in this
26319 * After this call, the descriptors are no longer contained in
26320 * descriptors have been added).
26321 * The return result of this function must be freed with g_free().
26322 * The caller is also responsible for closing all of the file
26324 * If @length is non-%NULL then it is set to the number of file
26325 * descriptors in the returned array. The returned array is also
26326 * terminated with -1.
26327 * This function never returns %NULL. In case there are no file
26328 * descriptors contained in @message, an empty array is returned.
26330 * Returns: an array of file descriptors
26338 * The fundamental type corresponding to #gpointer.
26343 * G_VOLUME_IDENTIFIER_KIND_UUID:
26345 * The string used to obtain a UUID with g_volume_get_identifier().
26350 * G_VARIANT_TYPE_UNIT:
26352 * The empty tuple type. Has only one instance. Known also as "triv"
26358 * g_file_enumerator_next_file:
26359 * @enumerator: a #GFileEnumerator.
26360 * @cancellable: optional #GCancellable object, %NULL to ignore.
26361 * @error: location to store the error occuring, or %NULL to ignore
26363 * Returns information for the next file in the enumerated object.
26364 * Will block until the information is available. The #GFileInfo
26365 * returned from this function will contain attributes that match the
26366 * attribute string that was passed when the #GFileEnumerator was created.
26367 * On error, returns %NULL and sets @error to the error. If the
26368 * enumerator is at the end, %NULL will be returned and @error will
26370 * Free the returned object with g_object_unref() when no longer needed.
26372 * Returns: (transfer full): A #GFileInfo or %NULL on error or end of enumerator.
26377 * g_unix_fd_list_get_length:
26378 * @list: a #GUnixFDList
26380 * contained within).
26382 * Gets the length of @list (ie: the number of file descriptors
26383 * Returns: the length of @list
26389 * GTypePluginClass:
26390 * @use_plugin: Increases the use count of the plugin.
26391 * @unuse_plugin: Decreases the use count of the plugin.
26392 * @complete_type_info: Fills in the #GTypeInfo and #GTypeValueTable structs for the type. The structs are initialized with <literal>memset(s, 0, sizeof (s))</literal> before calling this function.
26393 * @complete_interface_info: Fills in missing parts of the #GInterfaceInfo for the interface. The structs is initialized with <literal>memset(s, 0, sizeof (s))</literal> before calling this function.
26395 * The #GTypePlugin interface is used by the type system in order to handle
26396 * the lifecycle of dynamically loaded types.
26401 * GDBusServerClass:
26402 * @new_connection: Signal class handler for the #GDBusServer::new-connection signal.
26404 * Class structure for #GDBusServer.
26411 * g_socket_speaks_ipv4:
26412 * @socket: a #GSocket
26414 * Checks if a socket is capable of speaking IPv4.
26415 * IPv4 sockets are capable of speaking IPv4. On some operating systems
26416 * and under some combinations of circumstances IPv6 sockets are also
26417 * capable of speaking IPv4. See RFC 3493 section 3.7 for more
26419 * No other types of sockets are currently considered as being capable
26420 * of speaking IPv4.
26422 * Returns: %TRUE if this socket can be used with IPv4.
26428 * g_dbus_message_set_message_type:
26429 * @message: A #GDBusMessage.
26430 * @type: A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration).
26432 * Sets @message to be of @type.
26441 * The type for #GType.
26447 * @type_string: a well-formed #GVariantType type string
26449 * Converts a string to a const #GVariantType. Depending on the
26450 * current debugging level, this function may perform a runtime check
26451 * to ensure that @string is a valid GVariant type string.
26452 * It is always a programmer error to use this macro with an invalid
26461 * The #GType for a boxed type holding a #GRegex reference.
26470 * If @action is currently enabled.
26471 * If the action is disabled then calls to g_action_activate() and
26472 * g_action_set_state() have no effect.
26481 * The fundamental type corresponding to #gint64.
26486 * G_TIME_SPAN_MILLISECOND:
26488 * Evaluates to a time span of one millisecond.
26497 * The name of the action. This is mostly meaningful for identifying
26498 * the action once it has been added to a #GActionGroup.
26505 * g_io_stream_splice_async:
26506 * @stream1: a #GIOStream.
26507 * @stream2: a #GIOStream.
26508 * @flags: a set of #GIOStreamSpliceFlags.
26509 * @io_priority: the io priority of the request.
26510 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
26511 * @callback: (scope async): a #GAsyncReadyCallback.
26512 * @user_data: (closure): user data passed to @callback.
26514 * Asyncronously splice the output stream of @stream1 to the input stream of
26515 * When the operation is finished @callback will be called.
26516 * You can then call g_io_stream_splice_finish() to get the
26517 * result of the operation.
26524 * g_unix_mount_guess_should_display:
26525 * @mount_entry: a #GUnixMountEntry
26527 * Guesses whether a Unix mount should be displayed in the UI.
26529 * Returns: %TRUE if @mount_entry is deemed to be displayable.
26534 * g_volume_monitor_get_mount_for_uuid:
26535 * @volume_monitor: a #GVolumeMonitor.
26536 * @uuid: the UUID to look for
26538 * Finds a #GMount object by its UUID (see g_mount_get_uuid())
26539 * Free the returned object with g_object_unref().
26541 * Returns: (transfer full): a #GMount or %NULL if no such mount is available.
26546 * G_VALUE_HOLDS_INT64:
26547 * @value: a valid #GValue structure
26549 * Checks whether the given #GValue can hold values of type %G_TYPE_INT64.
26551 * Returns: %TRUE on success.
26556 * GFileMonitor::changed:
26557 * @monitor: a #GFileMonitor.
26559 * @other_file: a #GFile or #NULL.
26560 * @event_type: a #GFileMonitorEvent.
26562 * Emitted when @file has been changed.
26563 * If using #G_FILE_MONITOR_SEND_MOVED flag and @event_type is
26564 * #G_FILE_MONITOR_SEND_MOVED, @file will be set to a #GFile containing the
26565 * old path, and @other_file will be set to a #GFile containing the new path.
26566 * In all the other cases, @other_file will be set to #NULL.
26571 * G_IS_PARAM_SPEC_FLAGS:
26572 * @pspec: a valid #GParamSpec instance
26574 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS.
26576 * Returns: %TRUE on success.
26581 * g_file_create_readwrite_finish:
26582 * @file: input #GFile
26583 * @res: a #GAsyncResult
26584 * @error: a #GError, or %NULL
26586 * Finishes an asynchronous file create operation started with
26587 * g_file_create_readwrite_async().
26588 * Free the returned object with g_object_unref().
26590 * Returns: (transfer full): a #GFileIOStream or %NULL on error.
26596 * g_converter_output_stream_get_converter:
26597 * @converter_stream: a #GConverterOutputStream
26599 * Gets the #GConverter that is used by @converter_stream.
26601 * Returns: (transfer none): the converter of the converter output stream
26607 * G_DEFINE_POINTER_TYPE_WITH_CODE:
26608 * @TypeName: The name of the new type, in Camel case.
26609 * @type_name: The name of the new type, in lowercase, with words separated by '_'.
26610 * @_C_: Custom code that gets inserted in the *_get_type() function.
26612 * A convenience macro for pointer type implementations.
26613 * Similar to G_DEFINE_POINTER_TYPE(), but allows to insert custom code into the
26614 * type_name_get_type() function.
26621 * g_file_monitor_set_rate_limit:
26622 * @monitor: a #GFileMonitor.
26623 * @limit_msecs: a non-negative integer with the limit in milliseconds to poll for changes
26625 * Sets the rate limit to which the @monitor will report
26626 * consecutive change events to the same file.
26631 * g_cancellable_set_error_if_cancelled:
26632 * @cancellable: a #GCancellable object.
26633 * @error: #GError to append error state to.
26635 * If the @cancellable is cancelled, sets the error to notify
26636 * that the operation was cancelled.
26638 * Returns: %TRUE if @cancellable was cancelled, %FALSE if it was not.
26643 * g_file_create_finish:
26644 * @file: input #GFile.
26645 * @res: a #GAsyncResult.
26646 * @error: a #GError, or %NULL
26648 * Finishes an asynchronous file create operation started with
26649 * g_file_create_async().
26650 * Free the returned object with g_object_unref().
26652 * Returns: (transfer full): a #GFileOutputStream or %NULL on error.
26657 * g_tls_connection_set_use_system_certdb:
26658 * @conn: a #GTlsConnection
26659 * @use_system_certdb: whether to use the system certificate database
26661 * Sets whether @conn uses the system certificate database to verify
26662 * peer certificates. This is %TRUE by default. If set to %FALSE, then
26663 * peer certificate validation will always set the
26664 * %G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning
26665 * #GTlsConnection::accept-certificate will always be emitted on
26666 * client-side connections, unless that bit is not set in
26667 * #GTlsClientConnection:validation-flags).
26674 * g_mount_operation_get_password_save:
26675 * @op: a #GMountOperation.
26677 * Gets the state of saving passwords for the mount operation.
26679 * Returns: a #GPasswordSave flag.
26684 * G_PROXY_EXTENSION_POINT_NAME:
26686 * Extension point for proxy functionality.
26687 * See <link linkend="extending-gio">Extending GIO</link>.
26694 * g_tls_client_connection_get_validation_flags:
26695 * @conn: the #GTlsClientConnection
26697 * Gets @conn's validation flags
26699 * Returns: the validation flags
26705 * SECTION:gzcompresso:
26706 * @short_description: Zlib compressor
26707 * @include: gio/gio.h
26709 * #GZlibCompressor is an implementation of #GConverter that
26710 * compresses data using zlib.
26715 * g_buffered_input_stream_new:
26716 * @base_stream: a #GInputStream
26718 * Creates a new #GInputStream from the given @base_stream, with
26719 * a buffer set to the default size (4 kilobytes).
26721 * Returns: a #GInputStream for the given @base_stream.
26726 * G_PARAM_SPEC_UINT:
26727 * @pspec: a valid #GParamSpec instance
26729 * Cast a #GParamSpec instance into a #GParamSpecUInt.
26735 * @G_PARAM_READABLE: the parameter is readable
26736 * @G_PARAM_WRITABLE: the parameter is writable
26737 * @G_PARAM_CONSTRUCT: the parameter will be set upon object construction
26738 * @G_PARAM_CONSTRUCT_ONLY: the parameter will only be set upon object construction
26739 * @G_PARAM_LAX_VALIDATION: upon parameter conversion (see g_param_value_convert()) strict validation is not required
26740 * @G_PARAM_STATIC_NAME: the string used as name when constructing the parameter is guaranteed to remain valid and unmodified for the lifetime of the parameter. Since 2.8
26741 * @G_PARAM_STATIC_NICK: the string used as nick when constructing the parameter is guaranteed to remain valid and unmmodified for the lifetime of the parameter. Since 2.8
26742 * @G_PARAM_STATIC_BLURB: the string used as blurb when constructing the parameter is guaranteed to remain valid and unmodified for the lifetime of the parameter. Since 2.8
26743 * @G_PARAM_PRIVATE: internal
26744 * @G_PARAM_DEPRECATED: the parameter is deprecated and will be removed in a future version. A warning will be generated if it is used while running with G_ENABLE_DIAGNOSTIC=1. Since: 2.26
26746 * Through the #GParamFlags flag values, certain aspects of parameters
26747 * can be configured.
26752 * g_unix_connection_send_credentials:
26753 * @connection: A #GUnixConnection.
26754 * @cancellable: A #GCancellable or %NULL.
26755 * @error: Return location for error or %NULL.
26757 * Passes the credentials of the current user the receiving side
26758 * of the connection. The recieving end has to call
26759 * g_unix_connection_receive_credentials() (or similar) to accept the
26761 * As well as sending the credentials this also writes a single NUL
26762 * byte to the stream, as this is required for credentials passing to
26763 * work on some implementations.
26764 * Other ways to exchange credentials with a foreign peer includes the
26765 * #GUnixCredentialsMessage type and g_socket_get_credentials() function.
26767 * Returns: %TRUE on success, %FALSE if @error is set.
26773 * G_IS_PARAM_SPEC_VARIANT:
26774 * @pspec: a #GParamSpec
26776 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VARIANT.
26778 * Returns: %TRUE on success
26784 * g_tls_error_quark:
26786 * Gets the TLS error quark.
26788 * Returns: a #GQuark.
26794 * g_settings_backend_changed:
26795 * @backend: a #GSettingsBackend implementation
26796 * @key: the name of the key
26797 * @origin_tag: the origin tag
26799 * Signals that a single key has possibly changed. Backend
26800 * implementations should call this if a key has possibly changed its
26802 * '//', and not ending with a slash).
26803 * The implementation must call this function during any call to
26804 * g_settings_backend_write(), before the call returns (except in the
26805 * case that no keys are actually changed and it cares to detect this
26806 * fact). It may not rely on the existence of a mainloop for
26807 * dispatching the signal later.
26808 * The implementation may call this function at any other time it likes
26809 * in response to other events (such as changes occuring outside of the
26810 * program). These calls may originate from a mainloop or may originate
26811 * in response to any other action (including from calls to
26812 * g_settings_backend_write()).
26813 * In the case that this call is in response to a call to
26814 * g_settings_backend_write() then @origin_tag must be set to the same
26815 * value that was passed to that call.
26822 * g_data_input_stream_read_line_finish:
26823 * @stream: a given #GDataInputStream.
26824 * @result: the #GAsyncResult that was provided to the callback.
26825 * @length: (out): a #gsize to get the length of the data read in.
26826 * @error: #GError for error reporting.
26828 * Finish an asynchronous call started by
26829 * g_data_input_stream_read_line_async().
26830 * (without the newlines). Set @length to a #gsize to get the
26831 * length of the read line. On an error, it will return %NULL and
26832 * still return %NULL, but @error won't be set.
26834 * Returns: (transfer full): a string with the line that was read in
26840 * g_content_type_get_icon:
26841 * @type: a content type string
26843 * Gets the icon for a content type.
26844 * object with g_object_unref()
26846 * Returns: (transfer full): #GIcon corresponding to the content type. Free the returned
26851 * G_TYPE_IO_CHANNEL:
26853 * The #GType for #GIOChannel.
26858 * g_tls_connection_handshake_finish:
26859 * @conn: a #GTlsConnection
26860 * @result: a #GAsyncResult.
26861 * @error: a #GError pointer, or %NULL
26863 * Finish an asynchronous TLS handshake operation. See
26864 * g_tls_connection_handshake() for more information.
26865 * case @error will be set.
26867 * Returns: %TRUE on success, %FALSE on failure, in which
26873 * GInetAddress:is-mc-node-local:
26875 * Whether this is a node-local multicast address.
26876 * See g_inet_address_get_is_mc_node_local().
26883 * GInetAddress:is-site-local:
26885 * Whether this is a site-local address.
26886 * See g_inet_address_get_is_loopback().
26893 * G_OPTION_REMAINING:
26895 * If a long option in the main group has this name, it is not treated as a
26896 * regular option. Instead it collects all non-option arguments which would
26897 * otherwise be left in <literal>argv</literal>. The option must be of type
26898 * %G_OPTION_ARG_CALLBACK, %G_OPTION_ARG_STRING_ARRAY
26899 * or %G_OPTION_ARG_FILENAME_ARRAY.
26900 * Using #G_OPTION_REMAINING instead of simply scanning <literal>argv</literal>
26901 * for leftover arguments has the advantage that GOption takes care of
26902 * necessary encoding conversions for strings or filenames.
26909 * G_OBJECT_TYPE_NAME:
26910 * @object: Object to return the type name for.
26912 * Get the name of an object's type.
26913 * should not be freed.
26915 * Returns: Type name of @object. The string is owned by the type system and
26920 * g_io_scheduler_cancel_all_jobs:
26922 * Cancels all cancellable I/O jobs.
26923 * A job is cancellable if a #GCancellable was passed into
26924 * g_io_scheduler_push_job().
26929 * g_unix_fd_list_new:
26931 * Creates a new #GUnixFDList containing no file descriptors.
26933 * Returns: a new #GUnixFDList
26939 * g_network_address_get_hostname:
26940 * @addr: a #GNetworkAddress
26942 * Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded,
26943 * depending on what @addr was created with.
26945 * Returns: @addr's hostname
26951 * G_TYPE_PARAM_LONG:
26953 * The #GType of #GParamSpecLong.
26960 * Base class for writing output.
26961 * All classes derived from GOutputStream should implement synchronous
26962 * writing, splicing, flushing and closing streams, but may implement
26963 * asynchronous versions.
26968 * GFileOutputStream:
26970 * A subclass of GOutputStream for opened files. This adds
26971 * a few file-specific operations and seeking and truncating.
26972 * #GFileOutputStream implements GSeekable.
26977 * SECTION:ginetsocketaddres:
26978 * @short_description: Internet GSocketAddress
26980 * An IPv4 or IPv6 socket address; that is, the combination of a
26981 * #GInetAddress and a port number.
26987 * @ref_count: The reference count or -1 if statically allocated.
26988 * @name: Name of the argument, e.g. @unix_user_id.
26989 * @signature: D-Bus signature of the argument (a single complete type).
26990 * @annotations: A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
26992 * Information about an argument for a method or a signal.
26999 * GDrive::stop-button:
27000 * @drive: a #GDrive.
27002 * Emitted when the physical stop button (if any) of a drive has
27010 * SECTION:gsimplepermissio:
27011 * @title: GSimplePermission
27012 * @short_description: A GPermission that doesn't change value
27014 * #GSimplePermission is a trivial implementation of #GPermission that
27015 * represents a permission that is either always or never allowed. The
27016 * value is given at constuction and doesn't change.
27017 * Calling request or release will result in errors.
27022 * g_bus_get_finish:
27023 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_bus_get().
27024 * @error: Return location for error or %NULL.
27026 * Finishes an operation started with g_bus_get().
27027 * The returned object is a singleton, that is, shared with other
27028 * callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the
27029 * event that you need a private message bus connection, use
27030 * g_dbus_address_get_for_bus() and
27031 * g_dbus_connection_new_for_address().
27032 * Note that the returned #GDBusConnection object will (usually) have
27033 * the #GDBusConnection:exit-on-close property set to %TRUE.
27035 * Returns: (transfer full): A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
27041 * g_action_group_get_action_state_hint:
27042 * @action_group: a #GActionGroup
27043 * @action_name: the name of the action to query
27045 * Requests a hint about the valid range of values for the state of the
27046 * named action within @action_group.
27047 * If %NULL is returned it either means that the action is not stateful
27048 * or that there is no hint about the valid range of values for the
27049 * state of the action.
27050 * If a #GVariant array is returned then each item in the array is a
27051 * returned then the tuple specifies the inclusive lower and upper bound
27052 * of valid values for the state.
27053 * In any case, the information is merely a hint. It may be possible to
27054 * have a state value outside of the hinted range and setting a value
27055 * within the range may fail.
27056 * The return value (if non-%NULL) should be freed with
27057 * g_variant_unref() when it is no longer required.
27059 * Possible value for the state. if a #gvariant pair (ie: two-tuple) is
27060 * Returns: (transfer full): the state range hint
27066 * g_app_info_get_name:
27067 * @appinfo: a #GAppInfo.
27069 * Gets the installed name of the application.
27071 * Returns: the name of the application for @appinfo.
27076 * G_TYPE_HAS_VALUE_TABLE:
27077 * @type: A #GType value.
27079 * Checks if @type has a #GTypeValueTable.
27081 * Returns: %TRUE on success.
27086 * GFileAttributeType:
27087 * @G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitalized type.
27088 * @G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string.
27089 * @G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes.
27090 * @G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value.
27091 * @G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer.
27092 * @G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer.
27093 * @G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer.
27094 * @G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer.
27095 * @G_FILE_ATTRIBUTE_TYPE_OBJECT: a #GObject.
27096 * @G_FILE_ATTRIBUTE_TYPE_STRINGV: a %NULL terminated char **. Since 2.22
27098 * The data types for file attributes.
27103 * g_file_info_set_attribute_status:
27104 * @info: a #GFileInfo
27105 * @attribute: a file attribute key
27106 * @status: a #GFileAttributeStatus
27108 * Sets the attribute status for an attribute key. This is only
27109 * needed by external code that implement g_file_set_attributes_from_info()
27110 * or similar functions.
27111 * The attribute must exist in @info for this to work. Otherwise %FALSE
27112 * is returned and @info is unchanged.
27114 * Returns: %TRUE if the status was changed, %FALSE if the key was not set.
27120 * g_file_info_get_etag:
27121 * @info: a #GFileInfo.
27123 * Gets the <link linkend="gfile-etag">entity tag</link> for a given
27124 * #GFileInfo. See %G_FILE_ATTRIBUTE_ETAG_VALUE.
27126 * Returns: a string containing the value of the "etag:value" attribute.
27131 * G_TYPE_DBUS_METHOD_INFO:
27133 * The #GType for a boxed type holding a #GDBusMethodInfo.
27140 * g_app_info_get_icon:
27141 * @appinfo: a #GAppInfo.
27143 * Gets the icon for the application.
27145 * Returns: (transfer none): the default #GIcon for @appinfo.
27150 * g_volume_get_activation_root:
27151 * @volume: a #GVolume
27153 * Gets the activation root for a #GVolume if it is known ahead of
27154 * mount time. Returns %NULL otherwise. If not %NULL and if @volume
27155 * is mounted, then the result of g_mount_get_root() on the
27156 * #GMount object obtained from g_volume_get_mount() will always
27157 * either be equal or a prefix of what this function returns. In
27158 * other words, in code
27161 * GFile *mount_root
27162 * GFile *volume_activation_root;
27163 * mount = g_volume_get_mount (volume); /* mounted, so never NULL */
27164 * mount_root = g_mount_get_root (mount);
27165 * volume_activation_root = g_volume_get_activation_root(volume); /* assume not NULL */
27166 * </programlisting>
27167 * then the expression
27169 * (g_file_has_prefix (volume_activation_root, mount_root) ||
27170 * </programlisting>
27171 * will always be %TRUE.
27172 * Activation roots are typically used in #GVolumeMonitor
27173 * implementations to find the underlying mount to shadow, see
27174 * g_mount_is_shadowed() for more details.
27175 * g_object_unref() to free.
27177 * Returns: (transfer full): the activation root of @volume or %NULL. Use
27183 * g_dbus_message_set_destination:
27184 * @message: A #GDBusMessage.
27185 * @value: The value to set.
27187 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
27196 * The fundamental type corresponding to #GVariant.
27197 * All floating #GVariant instances passed through the #GType system are
27199 * Note that callbacks in closures, and signal handlers
27200 * for signals of return type %G_TYPE_VARIANT, must never return floating
27202 * with this fundamental type in 2.26.
27204 * Note: GLib 2.24 did include a boxed type with this name. It was replaced
27211 * @volume: a #GVolume.
27212 * @flags: flags affecting the unmount if required for eject
27213 * @cancellable: optional #GCancellable object, %NULL to ignore.
27214 * @callback: a #GAsyncReadyCallback, or %NULL.
27215 * @user_data: user data that gets passed to @callback
27217 * Ejects a volume. This is an asynchronous operation, and is
27218 * finished by calling g_volume_eject_finish() with the @volume
27219 * and #GAsyncResult returned in the @callback.
27221 * Deprecated: 2.22: Use g_volume_eject_with_operation() instead.
27226 * G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE:
27228 * The string used to obtain a Unix device path with g_volume_get_identifier().
27233 * g_signal_handlers_unblock_by_func:
27234 * @instance: The instance to unblock handlers from.
27235 * @func: The C closure callback of the handlers (useless for non-C closures).
27236 * @data: The closure data of the handlers' closures.
27238 * Unblocks all handlers on an instance that match @func and @data.
27240 * Returns: The number of handlers that matched.
27245 * g_tls_backend_get_default:
27247 * Gets the default #GTlsBackend for the system.
27249 * Returns: a #GTlsBackend
27255 * g_dbus_message_new:
27257 * Creates a new empty #GDBusMessage.
27259 * Returns: A #GDBusMessage. Free with g_object_unref().
27265 * g_dbus_message_get_arg0:
27266 * @message: A #GDBusMessage.
27268 * Convenience to get the first item in the body of @message.
27270 * Returns: The string item or %NULL if the first item in the body of
27276 * g_drive_is_media_removable:
27277 * @drive: a #GDrive.
27279 * Checks if the @drive supports removable media.
27281 * Returns: %TRUE if @drive supports removable media, %FALSE otherwise.
27286 * g_unix_socket_address_get_address_type:
27287 * @address: a #GInetSocketAddress
27289 * Gets @address's type.
27291 * Returns: a #GUnixSocketAddressType
27297 * SECTION:gtlsconnectio:
27298 * @short_description: TLS connection type
27299 * @include: gio/gio.h
27301 * #GTlsConnection is the base TLS connection class type, which wraps
27302 * a #GIOStream and provides TLS encryption on top of it. Its
27303 * subclasses, #GTlsClientConnection and #GTlsServerConnection,
27304 * implement client-side and server-side TLS, respectively.
27311 * G_PARAM_SPEC_FLAGS:
27312 * @pspec: a valid #GParamSpec instance
27314 * Cast a #GParamSpec instance into a #GParamSpecFlags.
27319 * g_tls_backend_get_server_connection_type:
27320 * @backend: the #GTlsBackend
27322 * Gets the #GType of @backend's #GTlsServerConnection implementation.
27325 * Returns: the #GType of @backend's #GTlsServerConnection
27332 * @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available
27333 * @G_TLS_ERROR_MISC: Miscellaneous TLS error
27334 * @G_TLS_ERROR_BAD_CERTIFICATE: A certificate could not be parsed
27335 * @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the peer does not seem to be a TLS server.
27336 * @G_TLS_ERROR_HANDSHAKE: The TLS handshake failed because the peer's certificate was not acceptable.
27337 * @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because the server requested a client-side certificate, but none was provided. See g_tls_connection_set_certificate().
27338 * @G_TLS_ERROR_EOF: The TLS connection was closed without proper notice, which may indicate an attack. See g_tls_connection_set_require_close_notify().
27340 * An error code used with %G_TLS_ERROR in a #GError returned from a
27341 * TLS-related routine.
27348 * g_data_output_stream_put_byte:
27349 * @stream: a #GDataOutputStream.
27350 * @data: a #guchar.
27351 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
27352 * @error: a #GError, %NULL to ignore.
27354 * Puts a byte into the output stream.
27356 * Returns: %TRUE if @data was successfully added to the @stream.
27361 * G_PRIORITY_HIGH_IDLE:
27363 * Use this for high priority idle functions.
27364 * GTK+ uses #G_PRIORITY_HIGH_IDLE + 10 for resizing operations,
27365 * and #G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is
27366 * done to ensure that any pending resizes are processed before any
27367 * pending redraws, so that widgets are not redrawn twice unnecessarily.)
27374 * Error domain for TLS. Errors in this domain will be from the
27375 * #GTlsError enumeration. See #GError for more information on error
27381 * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC:
27383 * A key in the "time" namespace for getting the miliseconds of the time
27384 * the file was last modified. This should be used in conjunction with
27385 * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is
27386 * %G_FILE_ATTRIBUTE_TYPE_UINT32.
27391 * g_drive_eject_finish:
27392 * @drive: a #GDrive.
27393 * @result: a #GAsyncResult.
27394 * @error: a #GError, or %NULL
27396 * Finishes ejecting a drive.
27397 * %FALSE otherwise.
27399 * Returns: %TRUE if the drive has been ejected successfully,
27400 * Deprecated: 2.22: Use g_drive_eject_with_operation_finish() instead.
27406 * @parent_instance: private #GParamSpec portion
27407 * @minimum: minimum value for the property specified
27408 * @maximum: maximum value for the property specified
27409 * @default_value: default value for the property specified
27410 * @epsilon: values closer than @epsilon will be considered identical by g_param_values_cmp(); the default value is 1e-30.
27412 * A #GParamSpec derived structure that contains the meta data for float properties.
27417 * g_app_info_can_delete:
27418 * @appinfo: a #GAppInfo
27420 * Obtains the information whether the #GAppInfo can be deleted.
27421 * See g_app_info_delete().
27423 * Returns: %TRUE if @appinfo can be deleted
27429 * GApplicationCommandLineClass:
27431 * The <structname>GApplicationCommandLineClass</structname> structure contains
27432 * private data only
27439 * g_dbus_interface_info_generate_xml:
27440 * @info: A #GDBusNodeInfo
27441 * @indent: Indentation level.
27442 * @string_builder: A #GString to to append XML data to.
27444 * Appends an XML representation of @info (and its children) to @string_builder.
27445 * This function is typically used for generating introspection XML
27446 * documents at run-time for handling the
27447 * <literal>org.freedesktop.DBus.Introspectable.Introspect</literal>
27455 * GTlsConnection:base-io-stream:
27457 * The #GIOStream that the connection wraps
27464 * g_network_service_get_service:
27465 * @srv: a #GNetworkService
27467 * Gets @srv's service name (eg, "ldap").
27469 * Returns: @srv's service name
27475 * G_TYPE_IS_INSTANTIATABLE:
27476 * @type: A #GType value.
27478 * Checks if @type can be instantiated. Instantiation is the
27479 * process of creating an instance (object) of this type.
27481 * Returns: %TRUE on success.
27486 * GThreadedSocketService::run:
27487 * @service: the #GThreadedSocketService.
27488 * @connection: a new #GSocketConnection object.
27489 * @source_object: the source_object passed to g_socket_listener_add_address().
27491 * The ::run signal is emitted in a worker thread in response to an
27492 * incoming connection. This thread is dedicated to handling
27493 * not return until the connection is closed.
27495 * Returns: %TRUE to stope further signal handlers from being called
27500 * g_vfs_get_file_for_path:
27502 * @path: a string containing a VFS path.
27504 * Gets a #GFile for @path.
27505 * Free the returned object with g_object_unref().
27507 * Returns: (transfer full): a #GFile.
27512 * G_TYPE_INSTANCE_GET_CLASS:
27513 * @instance: Location of the #GTypeInstance structure.
27514 * @g_type: The #GType of the class to be returned.
27515 * @c_type: The C type of the class structure.
27517 * Get the class structure of a given @instance, casted
27518 * to a specified ancestor type @g_type of the instance.
27519 * Note that while calling a GInstanceInitFunc(), the class pointer gets
27520 * modified, so it might not always return the expected pointer.
27521 * This macro should only be used in type implementations.
27523 * Returns: a pointer to the class structure
27528 * GInetAddress:is-mc-global:
27530 * Whether this is a global multicast address.
27531 * See g_inet_address_get_is_mc_global().
27538 * g_unix_fd_list_append:
27539 * @list: a #GUnixFDList
27540 * @fd: a valid open file descriptor
27541 * @error: a #GError pointer
27543 * Adds a file descriptor to @list.
27544 * The file descriptor is duplicated using dup(). You keep your copy
27545 * of the descriptor and the copy contained in @list will be closed
27546 * when @list is finalized.
27547 * A possible cause of failure is exceeding the per-process or
27548 * system-wide file descriptor limit.
27549 * The index of the file descriptor in the list is returned. If you use
27550 * this index with g_unix_fd_list_get() then you will receive back a
27551 * duplicated copy of the same file descriptor.
27552 * (and @error is set)
27554 * Returns: the index of the appended fd in case of success, else -1
27560 * g_unix_mount_point_guess_name:
27561 * @mount_point: a #GUnixMountPoint
27563 * Guesses the name of a Unix mount point.
27564 * The result is a translated string.
27565 * be freed with g_free()
27567 * Returns: A newly allocated string that must
27572 * g_dbus_message_lock:
27573 * @message: A #GDBusMessage.
27575 * If @message is locked, does nothing. Otherwise locks the message.
27582 * g_filter_input_stream_set_close_base_stream:
27583 * @stream: a #GFilterInputStream.
27584 * @close_base: %TRUE to close the base stream.
27586 * Sets whether the base stream will be closed when @stream is closed.
27591 * g_simple_async_result_complete:
27592 * @simple: a #GSimpleAsyncResult.
27594 * Completes an asynchronous I/O job immediately. Must be called in
27595 * the thread where the asynchronous result was to be delivered, as it
27596 * invokes the callback directly. If you are in a different thread use
27597 * g_simple_async_result_complete_in_idle().
27598 * Calling this function takes a reference to @simple for as long as
27599 * is needed to complete the call.
27604 * g_drive_get_icon:
27605 * @drive: a #GDrive.
27607 * Gets the icon for @drive.
27608 * Free the returned object with g_object_unref().
27610 * Returns: (transfer full): #GIcon for the @drive.
27615 * g_unix_mount_free:
27616 * @mount_entry: a #GUnixMount.
27618 * Frees a unix mount.
27623 * g_socket_listener_add_any_inet_port:
27624 * @listener: a #GSocketListener
27625 * @source_object: Optional #GObject identifying this source
27626 * @error: a #GError location to store the error occuring, or %NULL to ignore.
27628 * Listens for TCP connections on any available port number for both
27629 * IPv6 and IPv4 (if each are available).
27630 * This is useful if you need to have a socket for incoming connections
27631 * but don't care about the specific port number.
27632 * to accept to identify this particular source, which is
27633 * useful if you're listening on multiple addresses and do
27634 * different things depending on what address is connected to.
27636 * Returns: the port number, or 0 in case of failure.
27642 * g_unix_mount_point_get_fs_type:
27643 * @mount_point: a #GUnixMountPoint.
27645 * Gets the file system type for the mount point.
27647 * Returns: a string containing the file system type.
27654 * The fundamental type corresponding to #gint.
27659 * g_file_output_stream_query_info:
27660 * @stream: a #GFileOutputStream.
27661 * @attributes: a file attribute query string.
27662 * @cancellable: optional #GCancellable object, %NULL to ignore.
27663 * @error: a #GError, %NULL to ignore.
27665 * Queries a file output stream for the given @attributes.
27666 * This function blocks while querying the stream. For the asynchronous
27667 * version of this function, see g_file_output_stream_query_info_async().
27668 * While the stream is blocked, the stream will set the pending flag
27669 * internally, and any other operations on the stream will fail with
27670 * %G_IO_ERROR_PENDING.
27671 * Can fail if the stream was already closed (with @error being set to
27672 * %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being
27673 * set to %G_IO_ERROR_PENDING), or if querying info is not supported for
27674 * the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In
27675 * all cases of failure, %NULL will be returned.
27676 * If @cancellable is not %NULL, then the operation can be cancelled by
27677 * triggering the cancellable object from another thread. If the operation
27678 * was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
27681 * Returns: (transfer full): a #GFileInfo for the @stream, or %NULL on error.
27686 * GDBusSubtreeIntrospectFunc:
27687 * @connection: A #GDBusConnection.
27688 * @sender: The unique bus name of the remote caller.
27689 * @object_path: The object path that was registered with g_dbus_connection_register_subtree().
27690 * @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.
27691 * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
27693 * The type of the @introspect function in #GDBusSubtreeVTable.
27694 * Subtrees are flat. @node, if non-%NULL, is always exactly one
27695 * This function should return %NULL to indicate that there is no object
27697 * If this function returns non-%NULL, the return value is expected to
27698 * be a %NULL-terminated array of pointers to #GDBusInterfaceInfo
27699 * structures describing the interfaces implemented by @node. This
27700 * array will have g_dbus_interface_info_unref() called on each item
27701 * before being freed with g_free().
27702 * The difference between returning %NULL and an array containing zero
27703 * items is that the standard DBus interfaces will returned to the
27704 * remote introspector in the empty array case, but not in the %NULL
27707 * Segment of the object path (ie: it never contains a slash).
27708 * Returns: A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.
27714 * g_data_input_stream_read_until_async:
27715 * @stream: a given #GDataInputStream.
27716 * @stop_chars: characters to terminate the read.
27717 * @io_priority: the <link linkend="io-priority">I/O priority</link> of the request.
27718 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
27719 * @callback: (scope async): callback to call when the request is satisfied.
27720 * @user_data: (closure): the data to pass to callback function.
27722 * The asynchronous version of g_data_input_stream_read_until().
27723 * It is an error to have two outstanding calls to this function.
27724 * Note that, in contrast to g_data_input_stream_read_until(),
27725 * this function does not consume the stop character that it finds. You
27726 * must read it for yourself.
27727 * When the operation is finished, @callback will be called. You
27728 * can then call g_data_input_stream_read_until_finish() to get
27729 * the result of the operation.
27730 * Don't use this function in new code. Its functionality is
27731 * inconsistent with g_data_input_stream_read_until(). Both functions
27732 * will be marked as deprecated in a future release. Use
27733 * g_data_input_stream_read_upto_async() instead.
27740 * GFileAttributeStatus:
27741 * @G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty).
27742 * @G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set.
27743 * @G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value.
27745 * Used by g_file_set_attributes_from_info() when setting file attributes.
27750 * g_dbus_error_register_error:
27751 * @error_domain: A #GQuark for a error domain.
27752 * @error_code: An error code.
27753 * @dbus_error_name: A D-Bus error name.
27755 * Creates an association to map between @dbus_error_name and
27756 * #GError<!-- -->s specified by @error_domain and @error_code.
27757 * This is typically done in the routine that returns the #GQuark for
27761 * Returns: %TRUE if the association was created, %FALSE if it already
27767 * GDBusProxy::g-signal:
27768 * @proxy: The #GDBusProxy emitting the signal.
27769 * @sender_name: The sender of the signal or %NULL if the connection is not a bus connection.
27770 * @signal_name: The name of the signal.
27771 * @parameters: A #GVariant tuple with parameters for the signal.
27773 * Emitted when a signal from the remote object and interface that @proxy is for, has been received.
27780 * g_filename_completer_set_dirs_only:
27781 * @completer: the filename completer.
27782 * @dirs_only: a #gboolean.
27784 * If @dirs_only is %TRUE, @completer will only
27785 * complete directory names, and not file names.
27790 * g_simple_async_report_gerror_in_idle:
27791 * @object: a #GObject.
27792 * @callback: (scope async): a #GAsyncReadyCallback.
27793 * @user_data: (closure): user data passed to @callback.
27794 * @error: the #GError to report
27796 * Reports an error in an idle function. Similar to
27797 * g_simple_async_report_error_in_idle(), but takes a #GError rather
27798 * than building a new one.
27803 * g_volume_monitor_get_mounts:
27804 * @volume_monitor: a #GVolumeMonitor.
27806 * Gets a list of the mounts on the system.
27807 * The returned list should be freed with g_list_free(), after
27808 * its elements have been unreffed with g_object_unref().
27810 * Returns: (element-type GMount) (transfer full): a #GList of #GMount objects.
27815 * g_signal_handlers_disconnect_by_func:
27816 * @instance: The instance to remove handlers from.
27817 * @func: The C closure callback of the handlers (useless for non-C closures).
27818 * @data: The closure data of the handlers' closures.
27820 * Disconnects all handlers on an instance that match @func and @data.
27822 * Returns: The number of handlers that matched.
27827 * g_dbus_proxy_get_connection:
27828 * @proxy: A #GDBusProxy.
27830 * Gets the connection @proxy is for.
27832 * Returns: (transfer none): A #GDBusConnection owned by @proxy. Do not free.
27838 * g_win32_input_stream_get_close_handle:
27839 * @stream: a #GWin32InputStream
27841 * Returns whether the handle of @stream will be
27842 * closed when the stream is closed.
27844 * Returns: %TRUE if the handle is closed when done
27850 * g_unix_mount_is_system_internal:
27851 * @mount_entry: a #GUnixMount.
27853 * Checks if a unix mount is a system path.
27855 * Returns: %TRUE if the unix mount is for a system path.
27860 * g_settings_list_keys:
27861 * @settings: a #GSettings object
27862 * @returns: (transfer full) (element-type utf8): a list of the keys on @settings
27864 * Introspects the list of keys on @settings.
27865 * You should probably not be calling this function from "normal" code
27866 * (since you should already know what keys are in your schema). This
27867 * function is intended for introspection reasons.
27868 * You should free the return value with g_strfreev() when you are done
27874 * g_file_info_get_content_type:
27875 * @info: a #GFileInfo.
27877 * Gets the file's content type.
27879 * Returns: a string containing the file's content type.
27884 * g_tls_client_connection_set_validation_flags:
27885 * @conn: the #GTlsClientConnection
27886 * @flags: the #GTlsCertificateFlags to use
27888 * Sets @conn's validation flags, to override the default set of
27889 * checks performed when validating a server certificate. By default,
27890 * %G_TLS_CERTIFICATE_VALIDATE_ALL is used.
27897 * g_socket_address_enumerator_next_finish:
27898 * @enumerator: a #GSocketAddressEnumerator
27899 * @result: a #GAsyncResult
27900 * @error: a #GError
27902 * Retrieves the result of a completed call to
27903 * g_socket_address_enumerator_next_async(). See
27904 * g_socket_address_enumerator_next() for more information about
27906 * error (in which case *@error will be set) or if there are no
27909 * Returns: (transfer full): a #GSocketAddress (owned by the caller), or %NULL on
27915 * @name: the name of the module
27917 * The members of the <structname>GTypeModule</structname> structure should not
27918 * be accessed directly, except for the @name field.
27923 * g_unix_socket_address_new_abstract:
27924 * @path: the abstract name
27925 * @path_len: the length of @path, or -1
27927 * Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
27928 * #GUnixSocketAddress for @path.
27930 * Returns: a new #GUnixSocketAddress
27931 * Deprecated: Use g_unix_socket_address_new_with_type().
27938 * Base class for streaming input operations.
27943 * g_file_get_child:
27944 * @file: input #GFile.
27945 * @name: string containing the child's basename.
27947 * Gets a child of @file with basename equal to @name.
27948 * Note that the file with that specific name might not exist, but
27949 * you can still have a #GFile that points to it. You can use this
27950 * for instance to create that file.
27951 * This call does no blocking i/o.
27952 * Free the returned object with g_object_unref().
27954 * Returns: (transfer full): a #GFile to a child specified by @name.
27960 * @settings: a #GSettings object
27961 * @key: the name of the key to set
27962 * @format: a #GVariant format string
27963 * @...: arguments as per @format
27964 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
27966 * Sets @key in @settings to @value.
27967 * A convenience function that combines g_settings_set_value() with
27969 * It is a programmer error to give a @key that isn't contained in the
27970 * schema for @settings or for the #GVariantType of @format to mismatch
27971 * the type given in the schema.
27978 * GFileAttributeInfoFlags:
27979 * @G_FILE_ATTRIBUTE_INFO_NONE: no flags set.
27980 * @G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied.
27981 * @G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved.
27983 * Flags specifying the behaviour of an attribute.
27988 * G_VALUE_HOLDS_ULONG:
27989 * @value: a valid #GValue structure
27991 * Checks whether the given #GValue can hold values of type %G_TYPE_ULONG.
27993 * Returns: %TRUE on success.
27998 * GUnixInputStream:
28000 * Implements #GInputStream for reading from selectable unix file descriptors
28005 * g_application_set_action_group:
28006 * @application: a #GApplication
28007 * @action_group: (allow-none): a #GActionGroup, or %NULL
28009 * Sets or unsets the group of actions associated with the application.
28010 * These actions are the actions that can be remotely invoked.
28011 * It is an error to call this function after the application has been
28019 * g_volume_mount_finish:
28020 * @volume: a #GVolume
28021 * @result: a #GAsyncResult
28022 * @error: a #GError location to store an error, or %NULL to ignore
28024 * Finishes mounting a volume. If any errors occured during the operation,
28025 * If the mount operation succeeded, g_volume_get_mount() on @volume
28026 * is guaranteed to return the mount right after calling this
28027 * function; there's no need to listen for the 'mount-added' signal on
28030 * Returns: %TRUE, %FALSE if operation failed.
28035 * g_file_find_enclosing_mount:
28036 * @file: input #GFile.
28037 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
28038 * @error: a #GError.
28040 * Gets a #GMount for the #GFile.
28041 * If the #GFileIface for @file does not have a mount (e.g. possibly a
28042 * remote share), @error will be set to %G_IO_ERROR_NOT_FOUND and %NULL
28043 * will be returned.
28044 * If @cancellable is not %NULL, then the operation can be cancelled by
28045 * triggering the cancellable object from another thread. If the operation
28046 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28047 * Free the returned object with g_object_unref().
28049 * Returns: (transfer full): a #GMount where the @file is located or %NULL on error.
28055 * @G_CONVERTER_NO_FLAGS: No flags.
28056 * @G_CONVERTER_INPUT_AT_END: At end of input data
28057 * @G_CONVERTER_FLUSH: Flush data
28059 * Flags used when calling a g_converter_convert().
28067 * @g_class: The #GTypeClass structure to initialize.
28068 * @class_data: The @class_data member supplied via the #GTypeInfo structure.
28070 * A callback function used by the type system to initialize the class
28071 * of a specific type. This function should initialize all static class
28073 * The initialization process of a class involves:
28076 * 1 - Copying common members from the parent class over to the
28077 * derived class structure.
28078 * </para></listitem>
28080 * 2 - Zero initialization of the remaining members not copied
28081 * over from the parent class.
28082 * </para></listitem>
28084 * 3 - Invocation of the GBaseInitFunc() initializers of all parent
28085 * types and the class' type.
28086 * </para></listitem>
28088 * 4 - Invocation of the class' GClassInitFunc() initializer.
28089 * </para></listitem>
28091 * Since derived classes are partially initialized through a memory copy
28092 * of the parent class, the general rule is that GBaseInitFunc() and
28093 * GBaseFinalizeFunc() should take care of necessary reinitialization
28094 * and release of those class members that were introduced by the type
28095 * that specified these GBaseInitFunc()/GBaseFinalizeFunc().
28096 * GClassInitFunc() should only care about initializing static
28097 * class members, while dynamic class members (such as allocated strings
28098 * or reference counted resources) are better handled by a GBaseInitFunc()
28099 * for this type, so proper initialization of the dynamic class members
28100 * is performed for class initialization of derived types as well.
28101 * An example may help to correspond the intend of the different class
28105 * GObjectClass parent_class;
28106 * gint static_integer;
28107 * gchar *dynamic_string;
28110 * type_a_base_class_init (TypeAClass *class)
28112 * class->dynamic_string = g_strdup ("some string");
28115 * type_a_base_class_finalize (TypeAClass *class)
28117 * g_free (class->dynamic_string);
28120 * type_a_class_init (TypeAClass *class)
28122 * class->static_integer = 42;
28125 * TypeAClass parent_class;
28126 * gfloat static_float;
28127 * GString *dynamic_gstring;
28130 * type_b_base_class_init (TypeBClass *class)
28132 * class->dynamic_gstring = g_string_new ("some other string");
28135 * type_b_base_class_finalize (TypeBClass *class)
28137 * g_string_free (class->dynamic_gstring);
28140 * type_b_class_init (TypeBClass *class)
28142 * class->static_float = 3.14159265358979323846;
28145 * Initialization of TypeBClass will first cause initialization of
28146 * TypeAClass (derived classes reference their parent classes, see
28147 * g_type_class_ref() on this).
28148 * Initialization of TypeAClass roughly involves zero-initializing its fields,
28149 * then calling its GBaseInitFunc() type_a_base_class_init() to allocate
28150 * its dynamic members (dynamic_string), and finally calling its GClassInitFunc()
28151 * type_a_class_init() to initialize its static members (static_integer).
28152 * The first step in the initialization process of TypeBClass is then
28153 * a plain memory copy of the contents of TypeAClass into TypeBClass and
28154 * zero-initialization of the remaining fields in TypeBClass.
28155 * The dynamic members of TypeAClass within TypeBClass now need
28156 * reinitialization which is performed by calling type_a_base_class_init()
28157 * with an argument of TypeBClass.
28158 * After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()
28159 * is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
28160 * and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),
28161 * is called to complete the initialization process with the static members
28163 * Corresponding finalization counter parts to the GBaseInitFunc() functions
28164 * have to be provided to release allocated resources at class finalization
28170 * GSocketConnection:
28172 * A socket connection GIOStream object for connection-oriented sockets.
28179 * g_settings_set_double:
28180 * @settings: a #GSettings object
28181 * @key: the name of the key to set
28182 * @value: the value to set it to
28183 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
28185 * Sets @key in @settings to @value.
28186 * A convenience variant of g_settings_set() for doubles.
28187 * It is a programmer error to give a @key that isn't specified as
28188 * having a 'double' type in the schema for @settings.
28197 * A <structname>GOptionContext</structname> struct defines which options
28198 * are accepted by the commandline option parser. The struct has only private
28199 * fields and should not be directly accessed.
28204 * GThemedIcon:name:
28211 * GTlsClientConnection:accepted-cas:
28213 * A list of the distinguished names of the Certificate Authorities
28214 * that the server will accept client certificates signed by. If the
28215 * server requests a client certificate during the handshake, then
28216 * this property will be set after the handshake completes.
28223 * g_data_output_stream_set_byte_order:
28224 * @stream: a #GDataOutputStream.
28225 * @order: a %GDataStreamByteOrder.
28227 * Sets the byte order of the data output stream to @order.
28232 * G_VALUE_TYPE_NAME:
28233 * @value: A #GValue structure.
28235 * Gets the the type name of @value.
28237 * Returns: the type name.
28242 * g_inet_address_to_string:
28243 * @address: a #GInetAddress
28245 * Converts @address to string form.
28248 * Returns: a representation of @address as a string, which should be
28254 * g_settings_set_strv:
28255 * @settings: a #GSettings object
28256 * @key: the name of the key to set
28257 * @value: (allow-none) (array zero-terminated=1): the value to set it to, or %NULL
28258 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
28260 * Sets @key in @settings to @value.
28261 * A convenience variant of g_settings_set() for string arrays. If
28262 * It is a programmer error to give a @key that isn't specified as
28263 * having an array of strings type in the schema for @settings.
28270 * g_dbus_method_invocation_return_error_valist:
28271 * @invocation: A #GDBusMethodInvocation.
28272 * @domain: A #GQuark for the #GError error domain.
28273 * @code: The error code.
28274 * @format: printf()-style format.
28275 * @var_args: #va_list of parameters for @format.
28277 * Like g_dbus_method_invocation_return_error() but intended for
28278 * language bindings.
28279 * This method will free @invocation, you cannot use it afterwards.
28286 * g_action_group_action_state_changed:
28287 * @action_group: a #GActionGroup
28288 * @action_name: the name of an action in the group
28289 * @state: the new state of the named action
28291 * Emits the #GActionGroup::action-state-changed signal on @action_group.
28292 * This function should only be called by #GActionGroup implementations.
28299 * SECTION:gfileoutputstrea:
28300 * @short_description: File output streaming operations
28301 * @include: gio/gio.h
28302 * @see_also: #GOutputStream, #GDataOutputStream, #GSeekable
28304 * GFileOutputStream provides output streams that write their
28305 * content to a file.
28306 * GFileOutputStream implements #GSeekable, which allows the output
28307 * stream to jump to arbitrary positions in the file and to truncate
28308 * the file, provided the filesystem of the file supports these
28310 * To find the position of a file output stream, use g_seekable_tell().
28311 * To find out if a file output stream supports seeking, use
28312 * g_seekable_can_seek().To position a file output stream, use
28313 * g_seekable_seek(). To find out if a file output stream supports
28314 * truncating, use g_seekable_can_truncate(). To truncate a file output
28315 * stream, use g_seekable_truncate().
28321 * @g_iface: The parent interface.
28322 * @dup: Duplicates a #GFile.
28323 * @hash: Creates a hash of a #GFile.
28324 * @equal: Checks equality of two given #GFile<!-- -->s.
28325 * @is_native: Checks to see if a file is native to the system.
28326 * @has_uri_scheme: Checks to see if a #GFile has a given URI scheme.
28327 * @get_uri_scheme: Gets the URI scheme for a #GFile.
28328 * @get_basename: Gets the basename for a given #GFile.
28329 * @get_path: Gets the current path within a #GFile.
28330 * @get_uri: Gets a URI for the path within a #GFile.
28331 * @get_parse_name: Gets the parsed name for the #GFile.
28332 * @get_parent: Gets the parent directory for the #GFile.
28333 * @prefix_matches: Checks whether a #GFile contains a specified file.
28334 * @get_relative_path: Gets the path for a #GFile relative to a given path.
28335 * @resolve_relative_path: Resolves a relative path for a #GFile to an absolute path.
28336 * @get_child_for_display_name: Gets the child #GFile for a given display name.
28337 * @enumerate_children: Gets a #GFileEnumerator with the children of a #GFile.
28338 * @enumerate_children_async: Asynchronously gets a #GFileEnumerator with the children of a #GFile.
28339 * @enumerate_children_finish: Finishes asynchronously enumerating the children.
28340 * @query_info: Gets the #GFileInfo for a #GFile.
28341 * @query_info_async: Asynchronously gets the #GFileInfo for a #GFile.
28342 * @query_info_finish: Finishes an asynchronous query info operation.
28343 * @query_filesystem_info: Gets a #GFileInfo for the file system #GFile is on.
28344 * @query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on.
28345 * @query_filesystem_info_finish: Finishes asynchronously getting the file system info.
28346 * @find_enclosing_mount: Gets a #GMount for the #GFile.
28347 * @find_enclosing_mount_async: Asynchronously gets the #GMount for a #GFile.
28348 * @find_enclosing_mount_finish: Finishes asynchronously getting the volume.
28349 * @set_display_name: Sets the display name for a #GFile.
28350 * @set_display_name_async: Asynchronously sets a #GFile's display name.
28351 * @set_display_name_finish: Finishes asynchronously setting a #GFile's display name.
28352 * @query_settable_attributes: Returns a list of #GFileAttribute<!-- -->s that can be set.
28353 * @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttribute<!-- -->s that can be set.
28354 * @_query_settable_attributes_finish: Finishes asynchronously querying settable attributes.
28355 * @query_writable_namespaces: Returns a list of #GFileAttribute namespaces that are writable.
28356 * @_query_writable_namespaces_async: Asynchronously gets a list of #GFileAttribute namespaces that are writable.
28357 * @_query_writable_namespaces_finish: Finishes asynchronously querying the writable namespaces.
28358 * @set_attribute: Sets a #GFileAttribute.
28359 * @set_attributes_from_info: Sets a #GFileAttribute with information from a #GFileInfo.
28360 * @set_attributes_async: Asynchronously sets a file's attributes.
28361 * @set_attributes_finish: Finishes setting a file's attributes asynchronously.
28362 * @read_fn: Reads a file asynchronously.
28363 * @read_async: Asynchronously reads a file.
28364 * @read_finish: Finishes asynchronously reading a file.
28365 * @append_to: Writes to the end of a file.
28366 * @append_to_async: Asynchronously writes to the end of a file.
28367 * @append_to_finish: Finishes an asynchronous file append operation.
28368 * @create: Creates a new file.
28369 * @create_async: Asynchronously creates a file.
28370 * @create_finish: Finishes asynchronously creating a file.
28371 * @replace: Replaces the contents of a file.
28372 * @replace_async: Asynchronously replaces the contents of a file.
28373 * @replace_finish: Finishes asynchronously replacing a file.
28374 * @delete_file: Deletes a file.
28375 * @_delete_file_async: Asynchronously deletes a file.
28376 * @_delete_file_finish: Finishes an asynchronous delete.
28377 * @trash: Sends a #GFile to the Trash location.
28378 * @_trash_async: Asynchronously sends a #GFile to the Trash location.
28379 * @_trash_finish: Finishes an asynchronous file trashing operation.
28380 * @make_directory: Makes a directory.
28381 * @_make_directory_async: Asynchronously makes a directory.
28382 * @_make_directory_finish: Finishes making a directory asynchronously.
28383 * @make_symbolic_link: Makes a symbolic link.
28384 * @_make_symbolic_link_async: Asynchronously makes a symbolic link
28385 * @_make_symbolic_link_finish: Finishes making a symbolic link asynchronously.
28386 * @copy: Copies a file.
28387 * @copy_async: Asynchronously copies a file.
28388 * @copy_finish: Finishes an asynchronous copy operation.
28389 * @move: Moves a file.
28390 * @_move_async: Asynchronously moves a file.
28391 * @_move_finish: Finishes an asynchronous move operation.
28392 * @mount_mountable: Mounts a mountable object.
28393 * @mount_mountable_finish: Finishes a mounting operation.
28394 * @unmount_mountable: Unmounts a mountable object.
28395 * @unmount_mountable_finish: Finishes an unmount operation.
28396 * @eject_mountable: Ejects a mountable.
28397 * @eject_mountable_finish: Finishes an eject operation.
28398 * @mount_enclosing_volume: Mounts a specified location.
28399 * @mount_enclosing_volume_finish: Finishes mounting a specified location.
28400 * @monitor_dir: Creates a #GFileMonitor for the location.
28401 * @monitor_file: Creates a #GFileMonitor for the location.
28402 * @open_readwrite: Open file read/write. Since 2.22.
28403 * @open_readwrite_async: Asynchronously opens file read/write. Since 2.22.
28404 * @open_readwrite_finish: Finishes an asynchronous open read/write. Since 2.22.
28405 * @create_readwrite: Creates file read/write. Since 2.22.
28406 * @create_readwrite_async: Asynchronously creates file read/write. Since 2.22.
28407 * @create_readwrite_finish: Finishes an asynchronous creates read/write. Since 2.22.
28408 * @replace_readwrite: Replaces file read/write. Since 2.22.
28409 * @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22.
28410 * @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22.
28411 * @start_mountable: Starts a mountable object. Since 2.22.
28412 * @start_mountable_finish: Finishes an start operation. Since 2.22.
28413 * @stop_mountable: Stops a mountable. Since 2.22.
28414 * @stop_mountable_finish: Finishes an stop operation. Since 2.22.
28415 * @supports_thread_contexts: a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22.
28416 * @unmount_mountable_with_operation: Unmounts a mountable object using a #GMountOperation. Since 2.22.
28417 * @unmount_mountable_with_operation_finish: Finishes an unmount operation using a #GMountOperation. Since 2.22.
28418 * @eject_mountable_with_operation: Ejects a mountable object using a #GMountOperation. Since 2.22.
28419 * @eject_mountable_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
28420 * @poll_mountable: Polls a mountable object for media changes. Since 2.22.
28421 * @poll_mountable_finish: Finishes an poll operation for media changes. Since 2.22.
28423 * An interface for writing VFS file handles.
28429 * @pspec: a #GParamSpec
28431 * Checks whether @pspec "is a" valid #GParamSpec structure of type %G_TYPE_PARAM
28437 * g_file_output_stream_query_info_finish:
28438 * @stream: a #GFileOutputStream.
28439 * @result: a #GAsyncResult.
28440 * @error: a #GError, %NULL to ignore.
28442 * Finalizes the asynchronous query started
28443 * by g_file_output_stream_query_info_async().
28445 * Returns: (transfer full): A #GFileInfo for the finished query.
28450 * G_PARAM_SPEC_LONG:
28451 * @pspec: a valid #GParamSpec instance
28453 * Cast a #GParamSpec instance into a #GParamSpecLong.
28458 * GInterfaceFinalizeFunc:
28459 * @g_iface: The interface structure to finalize.
28460 * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure.
28462 * A callback function used by the type system to finalize an interface.
28463 * This function should destroy any internal data and release any resources
28464 * allocated by the corresponding GInterfaceInitFunc() function.
28469 * g_simple_action_group_insert:
28470 * @simple: a #GSimpleActionGroup
28471 * @action: a #GAction
28473 * Adds an action to the action group.
28474 * If the action group already contains an action with the same name as
28475 * The action group takes its own reference on @action.
28482 * G_VARIANT_TYPE_DICT_ENTRY:
28484 * An indefinite type that is a supertype of every dictionary entry
28490 * GUnixOutputStream:fd:
28492 * The file descriptor that the stream writes to.
28499 * GDBusAuthObserverClass:
28500 * @authorize_authenticated_peer: Signal class handler for the #GDBusAuthObserver::authorize-authenticated-peer signal.
28502 * Class structure for #GDBusAuthObserverClass.
28509 * G_TYPE_PARAM_UINT:
28511 * The #GType of #GParamSpecUInt.
28516 * g_application_command_line_printerr:
28517 * @cmdline: a #GApplicationCommandLine
28518 * @format: a printf-style format string
28519 * @...: arguments, as per @format
28521 * Formats a message and prints it using the stderr print handler in the
28522 * invoking process.
28523 * If @cmdline is a local invocation then this is exactly equivalent to
28524 * g_printerr(). If @cmdline is remote then this is equivalent to
28525 * calling g_printerr() in the invoking process.
28532 * GInstanceInitFunc:
28533 * @instance: The instance to initialize.
28534 * @g_class: The class of the type the instance is created for.
28536 * A callback function used by the type system to initialize a new
28537 * instance of a type. This function initializes all instance members and
28538 * allocates any resources required by it.
28539 * Initialization of a derived instance involves calling all its parent
28540 * types instance initializers, so the class member of the instance
28541 * is altered during its initialization to always point to the class that
28542 * belongs to the type the current initializer was introduced for.
28547 * g_tls_server_connection_new:
28548 * @base_io_stream: the #GIOStream to wrap
28549 * @certificate: (allow-none): the default server certificate, or %NULL
28550 * @error: #GError for error reporting, or %NULL to ignore.
28552 * Creates a new #GTlsServerConnection wrapping @base_io_stream (which
28553 * must have pollable input and output streams).
28555 * Returns: the new #GTlsServerConnection, or %NULL on error
28561 * g_data_input_stream_read_int32:
28562 * @stream: a given #GDataInputStream.
28563 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
28564 * @error: #GError for error reporting.
28566 * Reads a signed 32-bit/4-byte value from @stream.
28567 * In order to get the correct byte order for this read operation,
28568 * see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
28569 * If @cancellable is not %NULL, then the operation can be cancelled by
28570 * triggering the cancellable object from another thread. If the operation
28571 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28572 * an error occurred.
28574 * Returns: a signed 32-bit/4-byte value read from the @stream or %0 if
28580 * @G_REGEX_ERROR_COMPILE: Compilation of the regular expression failed.
28581 * @G_REGEX_ERROR_OPTIMIZE: Optimization of the regular expression failed.
28582 * @G_REGEX_ERROR_REPLACE: Replacement failed due to an ill-formed replacement string.
28583 * @G_REGEX_ERROR_MATCH: The match process failed.
28584 * @G_REGEX_ERROR_INTERNAL: Internal error of the regular expression engine. Since 2.16
28585 * @G_REGEX_ERROR_STRAY_BACKSLASH: "\\" at end of pattern. Since 2.16
28586 * @G_REGEX_ERROR_MISSING_CONTROL_CHAR: "\\c" at end of pattern. Since 2.16
28587 * @G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: Unrecognized character follows "\\". Since 2.16
28588 * @G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: Numbers out of order in "{}" quantifier. Since 2.16
28589 * @G_REGEX_ERROR_QUANTIFIER_TOO_BIG: Number too big in "{}" quantifier. Since 2.16
28590 * @G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: Missing terminating "]" for character class. Since 2.16
28591 * @G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: Invalid escape sequence in character class. Since 2.16
28592 * @G_REGEX_ERROR_RANGE_OUT_OF_ORDER: Range out of order in character class. Since 2.16
28593 * @G_REGEX_ERROR_NOTHING_TO_REPEAT: Nothing to repeat. Since 2.16
28594 * @G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: Unrecognized character after "(?", "(?<" or "(?P". Since 2.16
28595 * @G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: POSIX named classes are supported only within a class. Since 2.16
28596 * @G_REGEX_ERROR_UNMATCHED_PARENTHESIS: Missing terminating ")" or ")" without opening "(". Since 2.16
28597 * @G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: Reference to non-existent subpattern. Since 2.16
28598 * @G_REGEX_ERROR_UNTERMINATED_COMMENT: Missing terminating ")" after comment. Since 2.16
28599 * @G_REGEX_ERROR_EXPRESSION_TOO_LARGE: Regular expression too large. Since 2.16
28600 * @G_REGEX_ERROR_MEMORY_ERROR: Failed to get memory. Since 2.16
28601 * @G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: Lookbehind assertion is not fixed length. Since 2.16
28602 * @G_REGEX_ERROR_MALFORMED_CONDITION: Malformed number or name after "(?(". Since 2.16
28603 * @G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: Conditional group contains more than two branches. Since 2.16
28604 * @G_REGEX_ERROR_ASSERTION_EXPECTED: Assertion expected after "(?(". Since 2.16
28605 * @G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: Unknown POSIX class name. Since 2.16
28606 * @G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: POSIX collating elements are not supported. Since 2.16
28607 * @G_REGEX_ERROR_HEX_CODE_TOO_LARGE: Character value in "\\x{...}" sequence is too large. Since 2.16
28608 * @G_REGEX_ERROR_INVALID_CONDITION: Invalid condition "(?(0)". Since 2.16
28609 * @G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: \\C not allowed in lookbehind assertion. Since 2.16
28610 * @G_REGEX_ERROR_INFINITE_LOOP: Recursive call could loop indefinitely. Since 2.16
28611 * @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: Missing terminator in subpattern name. Since 2.16
28612 * @G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: Two named subpatterns have the same name. Since 2.16
28613 * @G_REGEX_ERROR_MALFORMED_PROPERTY: Malformed "\\P" or "\\p" sequence. Since 2.16
28614 * @G_REGEX_ERROR_UNKNOWN_PROPERTY: Unknown property name after "\\P" or "\\p". Since 2.16
28615 * @G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: Subpattern name is too long (maximum 32 characters). Since 2.16
28616 * @G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: Too many named subpatterns (maximum 10,000). Since 2.16
28617 * @G_REGEX_ERROR_INVALID_OCTAL_VALUE: Octal value is greater than "\\377". Since 2.16
28618 * @G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: "DEFINE" group contains more than one branch. Since 2.16
28619 * @G_REGEX_ERROR_DEFINE_REPETION: Repeating a "DEFINE" group is not allowed. Since 2.16
28620 * @G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: Inconsistent newline options. Since 2.16
28621 * @G_REGEX_ERROR_MISSING_BACK_REFERENCE: "\\g" is not followed by a braced name or an optionally braced non-zero number. Since 2.16
28623 * Error codes returned by regular expressions functions.
28630 * GFileReadMoreCallback:
28631 * @file_contents: the data as currently read.
28632 * @file_size: the size of the data currently read.
28633 * @callback_data: data passed to the callback.
28635 * When loading the partial contents of a file with g_file_load_partial_contents_async(),
28636 * it may become necessary to determine if any more data from the file should be loaded.
28637 * A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data
28638 * should be read, or %FALSE otherwise.
28640 * Returns: %TRUE if more data should be read back. %FALSE otherwise.
28645 * g_pollable_input_stream_read_nonblocking:
28646 * @stream: a #GPollableInputStream
28647 * @buffer: a buffer to read data into (which should be at least @size bytes long).
28648 * @size: the number of bytes you want to read
28649 * @cancellable: a #GCancellable, or %NULL
28650 * @error: #GError for error reporting, or %NULL to ignore.
28652 * Attempts to read up to @size bytes from @stream into @buffer, as
28653 * with g_input_stream_read(). If @stream is not currently readable,
28654 * this will immediately return %G_IO_ERROR_WOULD_BLOCK, and you can
28655 * use g_pollable_input_stream_create_source() to create a #GSource
28656 * that will be triggered when @stream is readable.
28657 * Note that since this method never blocks, you cannot actually
28658 * use @cancellable to cancel it. However, it will return an error
28659 * if @cancellable has already been cancelled when you call, which
28660 * may happen if you call this method after a source triggers due
28661 * to having been cancelled.
28662 * %G_IO_ERROR_WOULD_BLOCK).
28664 * Returns: the number of bytes read, or -1 on error (including
28669 * SECTION:gioschedule:
28670 * @short_description: I/O Scheduler
28671 * @include: gio/gio.h
28673 * Schedules asynchronous I/O operations. #GIOScheduler integrates
28674 * into the main event loop (#GMainLoop) and may use threads if they
28676 * <para id="io-priority"><indexterm><primary>I/O priority</primary></indexterm>
28677 * Each I/O operation has a priority, and the scheduler uses the priorities
28678 * to determine the order in which operations are executed. They are
28679 * <emphasis>not</emphasis> used to determine system-wide I/O scheduling.
28680 * Priorities are integers, with lower numbers indicating higher priority.
28681 * It is recommended to choose priorities between %G_PRIORITY_LOW and
28682 * %G_PRIORITY_HIGH, with %G_PRIORITY_DEFAULT as a default.
28688 * SECTION:gsocketconnectio:
28689 * @short_description: A socket connection
28690 * @include: gio/gio.h
28691 * @see_also: #GIOStream, #GSocketClient, #GSocketListener
28693 * #GSocketConnection is a #GIOStream for a connected socket. They
28694 * can be created either by #GSocketClient when connecting to a host,
28695 * or by #GSocketListener when accepting a new client.
28696 * The type of the #GSocketConnection object returned from these calls
28697 * depends on the type of the underlying socket that is in use. For
28698 * instance, for a TCP/IP connection it will be a #GTcpConnection.
28699 * Chosing what type of object to construct is done with the socket
28700 * connection factory, and it is possible for 3rd parties to register
28701 * custom socket connection types for specific combination of socket
28702 * family/type/protocol using g_socket_connection_factory_register_type().
28709 * G_TIME_SPAN_SECOND:
28711 * Evaluates to a time span of one second.
28720 * The fundamental type corresponding to #guint.
28725 * g_file_monitor_directory:
28726 * @file: input #GFile.
28727 * @flags: a set of #GFileMonitorFlags.
28728 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
28729 * @error: a #GError, or %NULL.
28731 * Obtains a directory monitor for the given file.
28732 * This may fail if directory monitoring is not supported.
28733 * If @cancellable is not %NULL, then the operation can be cancelled by
28734 * triggering the cancellable object from another thread. If the operation
28735 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28736 * Free the returned object with g_object_unref().
28738 * Virtual: monitor_dir
28739 * Returns: (transfer full): a #GFileMonitor for the given @file, or %NULL on error.
28744 * GCharsetConverter:
28746 * Conversions between character sets.
28751 * G_FILE_ATTRIBUTE_TIME_CHANGED:
28753 * A key in the "time" namespace for getting the time the file was last
28754 * changed. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
28755 * and contains the UNIX time since the file was last changed.
28756 * This corresponds to the traditional UNIX ctime.
28761 * G_PRIORITY_DEFAULT:
28763 * Use this for default priority event sources.
28764 * In GLib this priority is used when adding timeout functions
28765 * with g_timeout_add(). In GDK this priority is used for events
28766 * from the X server.
28771 * g_settings_new_with_backend:
28772 * @schema: the name of the schema
28773 * @backend: the #GSettingsBackend to use
28774 * @returns: a new #GSettings object
28776 * Creates a new #GSettings object with a given schema and backend.
28777 * Creating settings objects with an different backend allows accessing settings
28778 * from a database other than the usual one. For example, it may make
28779 * sense to pass a backend corresponding to the "defaults" settings database on
28780 * the system to get a settings object that modifies the system default
28781 * settings instead of the settings for this user.
28789 * @type: a #GType ID
28791 * Checks whether @type "is a" %G_TYPE_PARAM.
28796 * g_dbus_error_is_remote_error:
28797 * @error: A #GError.
28799 * Checks if @error represents an error received via D-Bus from a remote peer. If so,
28800 * use g_dbus_error_get_remote_error() to get the name of the error.
28801 * %FALSE otherwise.
28803 * Returns: %TRUE if @error represents an error from a remote peer,
28809 * G_TYPE_CHECK_CLASS_CAST:
28810 * @g_class: Location of a #GTypeClass structure.
28811 * @g_type: The type to be returned.
28812 * @c_type: The corresponding C type of class structure of @g_type.
28814 * Checks that @g_class is a class structure of the type identified by @g_type
28815 * and issues a warning if this is not the case. Returns @g_class casted
28816 * to a pointer to @c_type.
28817 * This macro should only be used in type implementations.
28823 * @class: a #GEnumClass
28825 * Checks whether @class "is a" valid #GEnumClass structure of type %G_TYPE_ENUM
28831 * G_FILE_ATTRIBUTE_PREVIEW_ICON:
28833 * A key in the "preview" namespace for getting a #GIcon that can be
28834 * used to get preview of the file. For example, it may be a low
28835 * resolution thumbnail without metadata. Corresponding
28836 * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. The value
28837 * for this key should contain a #GIcon.
28844 * g_unix_mount_is_readonly:
28845 * @mount_entry: a #GUnixMount.
28847 * Checks if a unix mount is mounted read only.
28849 * Returns: %TRUE if @mount_entry is read only.
28855 * @G_CHECKSUM_MD5: Use the MD5 hashing algorithm
28856 * @G_CHECKSUM_SHA1: Use the SHA-1 hashing algorithm
28857 * @G_CHECKSUM_SHA256: Use the SHA-256 hashing algorithm
28859 * The hashing algorithm to be used by #GChecksum when performing the
28860 * digest of some data.
28861 * Note that the #GChecksumType enumeration may be extended at a later
28862 * date to include new hashing algorithm types.
28869 * g_dbus_method_invocation_return_error:
28870 * @invocation: A #GDBusMethodInvocation.
28871 * @domain: A #GQuark for the #GError error domain.
28872 * @code: The error code.
28873 * @format: printf()-style format.
28874 * @...: Parameters for @format.
28876 * Finishes handling a D-Bus method call by returning an error.
28877 * See g_dbus_error_encode_gerror() for details about what error name
28878 * will be returned on the wire. In a nutshell, if the given error is
28879 * registered using g_dbus_error_register_error() the name given
28880 * during registration is used. Otherwise, a name of the form
28881 * <literal>org.gtk.GDBus.UnmappedGError.Quark...</literal> is
28882 * used. This provides transparent mapping of #GError between
28883 * applications using GDBus.
28884 * If you are writing an application intended to be portable,
28885 * <emphasis>always</emphasis> register errors with g_dbus_error_register_error()
28886 * or use g_dbus_method_invocation_return_dbus_error().
28887 * This method will free @invocation, you cannot use it afterwards.
28894 * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT:
28896 * Allowed characters in path elements. Includes "!$&'()*+,;=:@".
28901 * GSimpleAction:state:
28903 * The state of the action, or %NULL if the action is stateless.
28910 * g_mount_eject_with_operation:
28911 * @mount: a #GMount.
28912 * @flags: flags affecting the unmount if required for eject
28913 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
28914 * @cancellable: optional #GCancellable object, %NULL to ignore.
28915 * @callback: a #GAsyncReadyCallback, or %NULL.
28916 * @user_data: user data passed to @callback.
28918 * Ejects a mount. This is an asynchronous operation, and is
28919 * finished by calling g_mount_eject_with_operation_finish() with the @mount
28920 * and #GAsyncResult data returned in the @callback.
28927 * g_simple_action_set_enabled:
28928 * @simple: a #GSimpleAction
28929 * @enabled: whether the action is enabled
28931 * Sets the action as enabled or not.
28932 * An action must be enabled in order to be activated or in order to
28933 * have its state changed from outside callers.
28940 * GDBusInterfaceMethodCallFunc:
28941 * @connection: A #GDBusConnection.
28942 * @sender: The unique bus name of the remote caller.
28943 * @object_path: The object path that the method was invoked on.
28944 * @interface_name: The D-Bus interface name the method was invoked on.
28945 * @method_name: The name of the method that was invoked.
28946 * @parameters: A #GVariant tuple with parameters.
28947 * @invocation: A #GDBusMethodInvocation object that can be used to return a value or error.
28948 * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().
28950 * The type of the @method_call function in #GDBusInterfaceVTable.
28957 * GDBusConnection::closed:
28958 * @connection: The #GDBusConnection emitting the signal.
28959 * @remote_peer_vanished: %TRUE if @connection is closed because the remote peer closed its end of the connection.
28960 * @error: A #GError with more details about the event or %NULL.
28962 * Emitted when the connection is closed.
28963 * The cause of this event can be
28966 * If g_dbus_connection_close() is called. In this case
28967 * </para></listitem>
28969 * If the remote peer closes the connection. In this case
28970 * </para></listitem>
28972 * If the remote peer sends invalid or malformed data. In this
28973 * case @remote_peer_vanished is set to %FALSE and @error
28975 * </para></listitem>
28977 * Upon receiving this signal, you should give up your reference to
28985 * G_FILE_ATTRIBUTE_ID_FILESYSTEM:
28987 * A key in the "id" namespace for getting the file system identifier.
28988 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
28989 * An example use would be during drag and drop to see if the source
28990 * and target are on the same filesystem (default to move) or not (default
28996 * g_inet_socket_address_get_address:
28997 * @address: a #GInetSocketAddress
28999 * Gets @address's #GInetAddress.
29000 * g_object_ref()'d if it will be stored
29002 * Returns: (transfer full): the #GInetAddress for @address, which must be
29008 * SECTION:gcredential:
29009 * @short_description: An object containing credentials
29010 * @include: gio/gio.h
29012 * The #GCredentials type is a reference-counted wrapper for native
29013 * credentials. This information is typically used for identifying,
29014 * authenticating and authorizing other processes.
29015 * Some operating systems supports looking up the credentials of the
29016 * remote peer of a communication endpoint - see e.g.
29017 * g_socket_get_credentials().
29018 * Some operating systems supports securely sending and receiving
29019 * credentials over a Unix Domain Socket, see
29020 * #GUnixCredentialsMessage, g_unix_connection_send_credentials() and
29021 * g_unix_connection_receive_credentials() for details.
29022 * On Linux, the native credential type is a <type>struct ucred</type>
29024 * <citerefentry><refentrytitle>unix</refentrytitle><manvolnum>7</manvolnum></citerefentry>
29025 * man page for details. This corresponds to
29026 * %G_CREDENTIALS_TYPE_LINUX_UCRED.
29027 * On FreeBSD, the native credential type is a <type>struct cmsgcred</type>.
29028 * This corresponds to %G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED.
29033 * SECTION:gtlsclientconnectio:
29034 * @short_description: TLS client-side connection
29035 * @include: gio/gio.h
29037 * #GTlsClientConnection is the client-side subclass of
29038 * #GTlsConnection, representing a client-side TLS connection.
29045 * GWin32OutputStream:close-handle:
29047 * Whether to close the file handle when the stream is closed.
29054 * g_file_open_readwrite:
29055 * @file: #GFile to open
29056 * @cancellable: (allow-none): a #GCancellable
29057 * @error: a #GError, or %NULL
29059 * Opens an existing file for reading and writing. The result is
29060 * a #GFileIOStream that can be used to read and write the contents of the file.
29061 * If @cancellable is not %NULL, then the operation can be cancelled by
29062 * triggering the cancellable object from another thread. If the operation
29063 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29064 * If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned.
29065 * If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned.
29066 * Other errors are possible too, and depend on what kind of filesystem the file is on.
29067 * Note that in many non-local file cases read and write streams are not supported,
29068 * so make sure you really need to do read and write streaming, rather than
29069 * just opening for reading or writing.
29070 * Free the returned object with g_object_unref().
29072 * Returns: (transfer full): #GFileIOStream or %NULL on error.
29078 * GVolumeMonitor::volume-removed:
29079 * @volume_monitor: The volume monitor emitting the signal.
29080 * @volume: a #GVolume that was removed.
29082 * Emitted when a mountable volume is removed from the system.
29087 * g_dbus_error_encode_gerror:
29088 * @error: A #GError.
29090 * Creates a D-Bus error name to use for @error. If @error matches
29091 * a registered error (cf. g_dbus_error_register_error()), the corresponding
29092 * D-Bus error name will be returned.
29093 * Otherwise the a name of the form
29094 * <literal>org.gtk.GDBus.UnmappedGError.Quark._ESCAPED_QUARK_NAME.Code_ERROR_CODE</literal>
29095 * will be used. This allows other GDBus applications to map the error
29096 * on the wire back to a #GError using g_dbus_error_new_for_dbus_error().
29097 * This function is typically only used in object mappings to put a
29098 * #GError on the wire. Regular applications should not use it.
29100 * Returns: A D-Bus error name (never %NULL). Free with g_free().
29106 * g_file_set_attribute_int32:
29107 * @file: input #GFile.
29108 * @attribute: a string containing the attribute's name.
29109 * @value: a #gint32 containing the attribute's new value.
29110 * @flags: a #GFileQueryInfoFlags.
29111 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
29112 * @error: a #GError, or %NULL
29114 * Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT32 to @value.
29115 * If @attribute is of a different type, this operation will fail.
29116 * If @cancellable is not %NULL, then the operation can be cancelled by
29117 * triggering the cancellable object from another thread. If the operation
29118 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29119 * in the @file, %FALSE otherwise.
29121 * Returns: %TRUE if the @attribute was successfully set to @value
29126 * GDBusServer:guid:
29128 * The guid of the server.
29135 * GProxyAddressEnumerator:
29137 * A subclass of #GSocketAddressEnumerator that takes another address
29138 * enumerator and wraps its results in #GProxyAddress<!-- -->es as
29139 * directed by the default #GProxyResolver.
29144 * SECTION:gdesktopappinf:
29145 * @title: GDesktopAppInfo
29146 * @short_description: Application information from desktop files
29147 * @include: gio/gdesktopappinfo.h
29149 * #GDesktopAppInfo is an implementation of #GAppInfo based on
29151 * Note that <filename><gio/gdesktopappinfo.h></filename> belongs to
29152 * the UNIX-specific GIO interfaces, thus you have to use the
29153 * <filename>gio-unix-2.0.pc</filename> pkg-config file when using it.
29159 * @error_code: An error code.
29160 * @dbus_error_name: The D-Bus error name to associate with @error_code.
29162 * Struct used in g_dbus_error_register_error_domain().
29169 * g_unix_socket_address_new_with_type:
29171 * @path_len: the length of @path, or -1
29172 * @type: a #GUnixSocketAddressType
29174 * Creates a new #GUnixSocketAddress of type @type with name @path.
29175 * If @type is %G_UNIX_SOCKET_ADDRESS_PATH, this is equivalent to
29176 * calling g_unix_socket_address_new().
29177 * If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT, then @path_len
29178 * bytes of @path will be copied to the socket's path, and only those
29179 * bytes will be considered part of the name. (If @path_len is -1,
29180 * then @path is assumed to be NUL-terminated.) For example, if @path
29181 * was "test", then calling g_socket_address_get_native_size() on the
29182 * returned socket would return 7 (2 bytes of overhead, 1 byte for the
29183 * abstract-socket indicator byte, and 4 bytes for the name "test").
29184 * If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED, then
29185 * rest of the path will be padded with 0 bytes, and the entire
29186 * zero-padded buffer will be considered the name. (As above, if
29187 * this case, g_socket_address_get_native_size() will always return
29188 * the full size of a <literal>struct sockaddr_un</literal>, although
29189 * g_unix_socket_address_get_path_len() will still return just the
29191 * %G_UNIX_SOCKET_ADDRESS_ABSTRACT is preferred over
29192 * %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED for new programs. Of course,
29193 * when connecting to a server created by another process, you must
29194 * use the appropriate type corresponding to how that process created
29195 * its listening socket.
29197 * Returns: a new #GUnixSocketAddress
29203 * G_DEFINE_BOXED_TYPE:
29204 * @TypeName: The name of the new type, in Camel case.
29205 * @type_name: The name of the new type, in lowercase, with words separated by '_'.
29206 * @copy_func: the #GBoxedCopyFunc for the new type
29207 * @free_func: the #GBoxedFreeFunc for the new type
29209 * A convenience macro for boxed type implementations, which defines a
29210 * type_name_get_type() function registering the boxed type.
29217 * G_TYPE_VALUE_ARRAY:
29219 * The type ID of the "GValueArray" type which is a boxed type,
29220 * used to pass around pointers to GValueArrays.
29225 * G_IS_PARAM_SPEC_UINT:
29226 * @pspec: a valid #GParamSpec instance
29228 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT.
29230 * Returns: %TRUE on success.
29235 * g_application_command_line_get_arguments:
29236 * @cmdline: a #GApplicationCommandLine
29237 * @argc: (out): the length of the arguments array, or %NULL
29239 * Gets the list of arguments that was passed on the command line.
29240 * The strings in the array may contain non-utf8 data.
29241 * The return value is %NULL-terminated and should be freed using
29243 * containing the arguments (the argv)
29245 * Returns: (array length=argc) (transfer full): the string array
29251 * g_io_stream_get_input_stream:
29252 * @stream: a #GIOStream
29254 * Gets the input stream for this object. This is used
29258 * Returns: (transfer none): a #GInputStream, owned by the #GIOStream.
29264 * GDBusServer:address:
29266 * The D-Bus address to listen on.
29273 * G_INITIALLY_UNOWNED_GET_CLASS:
29274 * @object: a #GInitiallyUnowned instance.
29276 * Get the class structure associated to a #GInitiallyUnowned instance.
29278 * Returns: pointer to object class structure.
29283 * g_unix_socket_address_get_path_len:
29284 * @address: a #GInetSocketAddress
29286 * Gets the length of @address's path.
29287 * For details, see g_unix_socket_address_get_path().
29289 * Returns: the length of the path
29295 * SECTION:gfileico:
29296 * @short_description: Icons pointing to an image file
29297 * @include: gio/gio.h
29298 * @see_also: #GIcon, #GLoadableIcon
29300 * #GFileIcon specifies an icon by pointing to an image file
29301 * to be used as icon.
29306 * g_socket_listener_close:
29307 * @listener: a #GSocketListener
29309 * Closes all the sockets in the listener.
29316 * g_data_input_stream_read_line:
29317 * @stream: a given #GDataInputStream.
29318 * @length: (out): a #gsize to get the length of the data read in.
29319 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
29320 * @error: #GError for error reporting.
29322 * Reads a line from the data input stream.
29323 * If @cancellable is not %NULL, then the operation can be cancelled by
29324 * triggering the cancellable object from another thread. If the operation
29325 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29326 * (without the newlines). Set @length to a #gsize to get the
29327 * length of the read line. On an error, it will return %NULL and
29328 * still return %NULL, but @error won't be set.
29330 * Returns: (transfer full): a string with the line that was read in
29335 * G_TYPE_CHECK_INSTANCE_TYPE:
29336 * @instance: Location of a #GTypeInstance structure.
29337 * @g_type: The type to be checked
29339 * Checks if @instance is an instance of the type identified by @g_type.
29340 * This macro should only be used in type implementations.
29342 * Returns: %TRUE on success.
29347 * SECTION:gvolumemonito:
29348 * @short_description: Volume Monitor
29349 * @include: gio/gio.h
29350 * @see_also: #GFileMonitor
29352 * #GVolumeMonitor is for listing the user interesting devices and volumes
29353 * on the computer. In other words, what a file selector or file manager
29354 * would show in a sidebar.
29355 * #GVolumeMonitor is not <link
29356 * linkend="g-main-context-push-thread-default">thread-default-context
29357 * aware</link>, and so should not be used other than from the main
29358 * thread, with no thread-default-context active.
29363 * g_dbus_connection_is_closed:
29364 * @connection: A #GDBusConnection.
29366 * Gets whether @connection is closed.
29368 * Returns: %TRUE if the connection is closed, %FALSE otherwise.
29374 * g_atomic_int_inc:
29375 * @atomic: a pointer to an integer.
29377 * Atomically increments the integer pointed to by @atomic by 1.
29384 * GCancellable::cancelled:
29385 * @cancellable: a #GCancellable.
29387 * Emitted when the operation has been cancelled.
29388 * Can be used by implementations of cancellable operations. If the
29389 * operation is cancelled from another thread, the signal will be
29390 * emitted in the thread that cancelled the operation, not the
29391 * thread that is running the operation.
29392 * Note that disconnecting from this signal (or any signal) in a
29393 * multi-threaded program is prone to race conditions. For instance
29394 * it is possible that a signal handler may be invoked even
29395 * <emphasis>after</emphasis> a call to
29396 * g_signal_handler_disconnect() for that handler has already
29398 * There is also a problem when cancellation happen
29399 * right before connecting to the signal. If this happens the
29400 * signal will unexpectedly not be emitted, and checking before
29401 * connecting to the signal leaves a race condition where this is
29403 * In order to make it safe and easy to connect handlers there
29404 * g_cancellable_disconnect() which protect against problems
29406 * An example of how to us this:
29408 * /<!-- -->* Make sure we don't do any unnecessary work if already cancelled *<!-- -->/
29409 * if (g_cancellable_set_error_if_cancelled (cancellable))
29411 * /<!-- -->* Set up all the data needed to be able to
29412 * * handle cancellation of the operation *<!-- -->/
29413 * my_data = my_data_new (...);
29416 * id = g_cancellable_connect (cancellable,
29417 * G_CALLBACK (cancelled_handler)
29419 * /<!-- -->* cancellable operation here... *<!-- -->/
29420 * g_cancellable_disconnect (cancellable, id);
29421 * /<!-- -->* cancelled_handler is never called after this, it
29422 * * is now safe to free the data *<!-- -->/
29423 * my_data_free (my_data);
29425 * Note that the cancelled signal is emitted in the thread that
29426 * the user cancelled from, which may be the main thread. So, the
29427 * cancellable signal should not do something that can block.
29429 * Are two helper functions: g_cancellable_connect() and
29434 * G_PARAM_STATIC_STRINGS:
29436 * #GParamFlags value alias for %G_PARAM_STATIC_NAME | %G_PARAM_STATIC_NICK | %G_PARAM_STATIC_BLURB.
29442 * g_file_attribute_info_list_dup:
29443 * @list: a #GFileAttributeInfoList to duplicate.
29445 * Makes a duplicate of a file attribute info list.
29447 * Returns: a copy of the given @list.
29452 * g_app_info_get_commandline:
29453 * @appinfo: a #GAppInfo
29455 * Gets the commandline with which the application will be
29457 * or %NULL if this information is not available
29459 * Returns: a string containing the @appinfo's commandline,
29465 * g_dbus_interface_info_unref:
29466 * @info: A #GDBusInterfaceInfo.
29468 * If @info is statically allocated, does nothing. Otherwise decreases
29469 * the reference count of @info. When its reference count drops to 0,
29470 * the memory used is freed.
29477 * g_charset_converter_get_num_fallbacks:
29478 * @converter: a #GCharsetConverter
29480 * Gets the number of fallbacks that @converter has applied so far.
29482 * Returns: the number of fallbacks that @converter has applied
29488 * g_file_enumerator_is_closed:
29489 * @enumerator: a #GFileEnumerator.
29491 * Checks if the file enumerator has been closed.
29493 * Returns: %TRUE if the @enumerator is closed.
29499 * @icon: a GIcon containing the icon.
29501 * Creates a new emblem for @icon.
29503 * Returns: a new #GEmblem.
29511 * Mask containing the bits of #GParamSpec.flags which are reserved for GLib.
29516 * G_DEFINE_INTERFACE:
29517 * @TN: The name of the new type, in Camel case.
29518 * @t_n: The name of the new type, in lowercase, with words separated by '_'.
29519 * @T_P: The #GType of the prerequisite type for the interface, or 0 (%G_TYPE_INVALID) for no prerequisite type.
29521 * A convenience macro for #GTypeInterface definitions, which declares
29522 * a default vtable initialization function and defines a *_get_type()
29524 * The macro expects the interface initialization function to have the
29525 * name <literal>t_n ## _default_init</literal>, and the interface
29526 * structure to have the name <literal>TN ## Interface</literal>.
29533 * g_file_has_uri_scheme:
29534 * @file: input #GFile.
29535 * @uri_scheme: a string containing a URI scheme.
29537 * Checks to see if a #GFile has a given URI scheme.
29538 * This call does no blocking i/o.
29539 * given URI scheme, %FALSE if URI scheme is %NULL,
29540 * not supported, or #GFile is invalid.
29542 * Returns: %TRUE if #GFile's backend supports the
29547 * g_simple_async_result_new_take_error: (skip)
29548 * @source_object: (allow-none): a #GObject, or %NULL
29549 * @callback: (scope async): a #GAsyncReadyCallback
29550 * @user_data: (closure): user data passed to @callback
29551 * @error: a #GError
29553 * Creates a #GSimpleAsyncResult from an error condition, and takes over the
29554 * caller's ownership of @error, so the caller does not need to free it anymore.
29556 * Returns: a #GSimpleAsyncResult
29562 * SECTION:gsimpleactiongrou:
29563 * @title: GSimpleActionGroup
29564 * @short_description: A simple GActionGroup implementation
29566 * #GSimpleActionGroup is a hash table filled with #GAction objects,
29567 * implementing the #GActionGroup interface.
29572 * GSocketConnectableIface:
29573 * @g_iface: The parent interface.
29574 * @enumerate: Creates a #GSocketAddressEnumerator
29575 * @proxy_enumerate: Creates a #GProxyAddressEnumerator
29577 * Provides an interface for returning a #GSocketAddressEnumerator
29578 * and #GProxyAddressEnumerator
29583 * GPermission:can-release:
29585 * %TRUE if it is generally possible to release the permission by calling
29586 * g_permission_release().
29591 * SECTION:gwin32inputstrea:
29592 * @short_description: Streaming input operations for Windows file handles
29593 * @include: gio/gwin32inputstream.h
29594 * @see_also: #GInputStream
29596 * #GWin32InputStream implements #GInputStream for reading from a
29597 * Windows file handle.
29598 * Note that <filename><gio/gwin32inputstream.h></filename> belongs
29599 * to the Windows-specific GIO interfaces, thus you have to use the
29600 * <filename>gio-windows-2.0.pc</filename> pkg-config file when using it.
29605 * g_bus_watch_name_on_connection_with_closures:
29606 * @connection: A #GDBusConnection.
29607 * @name: The name (well-known or unique) to watch.
29608 * @flags: Flags from the #GBusNameWatcherFlags enumeration.
29609 * @name_appeared_closure: (allow-none): #GClosure to invoke when @name is known to exist or %NULL.
29610 * @name_vanished_closure: (allow-none): #GClosure to invoke when @name is known to not exist or %NULL.
29612 * Version of g_bus_watch_name_on_connection() using closures instead of callbacks for
29613 * easier binding in other languages.
29614 * g_bus_unwatch_name() to stop watching the name.
29616 * Returns: An identifier (never 0) that an be used with
29617 * Rename to: g_bus_watch_name_on_connection
29623 * g_file_mount_enclosing_volume:
29624 * @location: input #GFile.
29625 * @flags: flags affecting the operation
29626 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
29627 * @cancellable: optional #GCancellable object, %NULL to ignore.
29628 * @callback: a #GAsyncReadyCallback to call when the request is satisfied, or %NULL.
29629 * @user_data: the data to pass to callback function
29631 * Starts a @mount_operation, mounting the volume that contains the file @location.
29632 * When this operation has completed, @callback will be called with
29633 * g_file_mount_enclosing_volume_finish().
29634 * If @cancellable is not %NULL, then the operation can be cancelled by
29635 * triggering the cancellable object from another thread. If the operation
29636 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29641 * G_PARAM_SPEC_BOXED:
29642 * @pspec: a valid #GParamSpec instance
29644 * Cast a #GParamSpec instance into a #GParamSpecBoxed.
29649 * GVolumeMonitor::mount-added:
29650 * @volume_monitor: The volume monitor emitting the signal.
29651 * @mount: a #GMount that was added.
29653 * Emitted when a mount is added.
29658 * GWin32OutputStream:
29660 * Implements #GOutputStream for outputting to Windows file handles
29666 * @class: a valid #GFlagsClass
29668 * Casts a derived #GFlagsClass structure into a #GFlagsClass structure.
29673 * G_IS_PARAM_SPEC_LONG:
29674 * @pspec: a valid #GParamSpec instance
29676 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG.
29678 * Returns: %TRUE on success.
29683 * g_settings_get_flags:
29684 * @settings: a #GSettings object
29685 * @key: the key to get the value for
29686 * @returns: the flags value
29688 * Gets the value that is stored in @settings for @key and converts it
29689 * to the flags value that it represents.
29690 * In order to use this function the type of the value must be an array
29691 * of strings and it must be marked in the schema file as an flags type.
29692 * It is a programmer error to give a @key that isn't contained in the
29693 * schema for @settings or is not marked as a flags type.
29694 * If the value stored in the configuration database is not a valid
29695 * value for the flags type then this function will return the default
29703 * g_file_info_get_attribute_stringv:
29704 * @info: a #GFileInfo.
29705 * @attribute: a file attribute key.
29707 * Gets the value of a stringv attribute. If the attribute does
29708 * not contain a stringv, %NULL will be returned.
29709 * %NULL otherwise. Do not free.
29711 * Returns: (transfer none): the contents of the @attribute value as a stringv, or
29719 * An abstract type that specifies an icon.
29726 * An object for Emblems
29731 * g_file_attribute_matcher_unref:
29732 * @matcher: a #GFileAttributeMatcher.
29734 * Unreferences @matcher. If the reference count falls below 1,
29735 * the @matcher is automatically freed.
29740 * g_proxy_address_new:
29741 * @inetaddr: The proxy server #GInetAddress.
29742 * @port: The proxy server port.
29743 * @protocol: The proxy protocol to support, in lower case (e.g. socks, http).
29744 * @dest_hostname: The destination hostname the the proxy should tunnel to.
29745 * @dest_port: The destination port to tunnel to.
29746 * @username: The username to authenticate to the proxy server (or %NULL).
29747 * @password: The password to authenticate to the proxy server (or %NULL).
29749 * Creates a new #GProxyAddress for @inetaddr with @protocol that should
29750 * tunnel through @dest_hostname and @dest_port.
29752 * Returns: a new #GProxyAddress
29758 * g_file_monitor_emit_event:
29759 * @monitor: a #GFileMonitor.
29760 * @child: a #GFile.
29761 * @other_file: a #GFile.
29762 * @event_type: a set of #GFileMonitorEvent flags.
29764 * Emits the #GFileMonitor::changed signal if a change
29765 * has taken place. Should be called from file monitor
29766 * implementations only.
29767 * The signal will be emitted from an idle handler (in the <link
29768 * linkend="g-main-context-push-thread-default">thread-default main
29774 * g_charset_converter_set_use_fallback:
29775 * @converter: a #GCharsetConverter
29776 * @use_fallback: %TRUE to use fallbacks
29778 * Sets the #GCharsetConverter:use-fallback property.
29785 * g_socket_receive_with_blocking:
29786 * @socket: a #GSocket
29787 * @buffer: a buffer to read data into (which should be at least @size bytes long).
29788 * @size: the number of bytes you want to read from the socket
29789 * @blocking: whether to do blocking or non-blocking I/O
29790 * @cancellable: a %GCancellable or %NULL
29791 * @error: #GError for error reporting, or %NULL to ignore.
29793 * This behaves exactly the same as g_socket_receive(), except that
29794 * the choice of blocking or non-blocking behavior is determined by
29795 * the @blocking argument rather than by @socket's properties.
29797 * Returns: Number of bytes read, or -1 on error
29803 * g_win32_input_stream_set_close_handle:
29804 * @stream: a #GWin32InputStream
29805 * @close_handle: %TRUE to close the handle when done
29807 * Sets whether the handle of @stream shall be closed
29808 * when the stream is closed.
29815 * g_node_insert_data:
29816 * @parent: the #GNode to place the new #GNode under
29817 * @position: the position to place the new #GNode at. If position is -1, the new #GNode is inserted as the last child of @parent
29818 * @data: the data for the new #GNode
29820 * Inserts a new #GNode at the given position.
29822 * Returns: the new #GNode
29827 * g_mount_get_name:
29828 * @mount: a #GMount.
29830 * Gets the name of @mount.
29831 * The returned string should be freed with g_free()
29832 * when no longer needed.
29834 * Returns: the name for the given @mount.
29839 * g_file_info_set_attribute_boolean:
29840 * @info: a #GFileInfo.
29841 * @attribute: a file attribute key.
29842 * @attr_value: a boolean value.
29844 * Sets the @attribute to contain the given @attr_value,
29850 * g_mount_eject_with_operation_finish:
29851 * @mount: a #GMount.
29852 * @result: a #GAsyncResult.
29853 * @error: a #GError location to store the error occuring, or %NULL to ignore.
29855 * Finishes ejecting a mount. If any errors occurred during the operation,
29857 * Returns: %TRUE if the mount was successfully ejected. %FALSE otherwise.
29863 * SECTION:giomodul:
29864 * @short_description: Loadable GIO Modules
29865 * @include: gio/gio.h
29867 * Provides an interface and default functions for loading and unloading
29868 * modules. This is used internally to make GIO extensible, but can also
29869 * be used by others to implement module loading.
29875 * @bus_type: A #GBusType.
29876 * @cancellable: A #GCancellable or %NULL.
29877 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
29878 * @user_data: The data to pass to @callback.
29880 * Asynchronously connects to the message bus specified by @bus_type.
29881 * When the operation is finished, @callback will be invoked. You can
29882 * then call g_bus_get_finish() to get the result of the operation.
29883 * This is a asynchronous failable function. See g_bus_get_sync() for
29884 * the synchronous version.
29891 * GInetAddress:is-mc-site-local:
29893 * Whether this is a site-local multicast address.
29894 * See g_inet_address_get_is_mc_site_local().
29901 * g_dbus_method_invocation_get_sender:
29902 * @invocation: A #GDBusMethodInvocation.
29904 * Gets the bus name that invoked the method.
29906 * Returns: A string. Do not free, it is owned by @invocation.
29912 * g_credentials_is_same_user:
29913 * @credentials: A #GCredentials.
29914 * @other_credentials: A #GCredentials.
29915 * @error: Return location for error or %NULL.
29917 * Checks if @credentials and @other_credentials is the same user.
29918 * This operation can fail if #GCredentials is not supported on the
29920 * user, %FALSE otherwise or if @error is set.
29922 * Returns: %TRUE if @credentials and @other_credentials has the same
29928 * g_data_output_stream_put_uint16:
29929 * @stream: a #GDataOutputStream.
29930 * @data: a #guint16.
29931 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
29932 * @error: a #GError, %NULL to ignore.
29934 * Puts an unsigned 16-bit integer into the output stream.
29936 * Returns: %TRUE if @data was successfully added to the @stream.
29941 * g_dbus_connection_send_message:
29942 * @connection: A #GDBusConnection.
29943 * @message: A #GDBusMessage
29944 * @flags: Flags affecting how the message is sent.
29945 * @out_serial: Return location for serial number assigned to @message when sending it or %NULL.
29946 * @error: Return location for error or %NULL.
29948 * Asynchronously sends @message to the peer represented by @connection.
29949 * Unless @flags contain the
29950 * %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
29951 * will be assigned by @connection and set on @message via
29952 * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
29953 * serial number used will be written to this location prior to
29954 * submitting the message to the underlying transport.
29955 * If @connection is closed then the operation will fail with
29956 * %G_IO_ERROR_CLOSED. If @message is not well-formed,
29957 * the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
29958 * See <xref linkend="gdbus-server"/> and <xref
29959 * linkend="gdbus-unix-fd-client"/> for an example of how to use this
29960 * low-level API to send and receive UNIX file descriptors.
29961 * Note that @message must be unlocked, unless @flags contain the
29962 * %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
29963 * transmission, %FALSE if @error is set.
29965 * Returns: %TRUE if the message was well-formed and queued for
29971 * G_FILE_ATTRIBUTE_UNIX_GID:
29973 * A key in the "unix" namespace for getting the group ID for the file.
29974 * This attribute is only available for UNIX file systems.
29975 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
29980 * g_main_is_running:
29981 * @loop: a #GMainLoop
29983 * Checks if the main loop is running.
29985 * Returns: %TRUE if the main loop is running
29986 * Deprecated: 2.2: Use g_main_loop_is_running() instead
29992 * @icon1: pointer to the first #GIcon.
29993 * @icon2: pointer to the second #GIcon.
29995 * Checks if two icons are equal.
29997 * Returns: %TRUE if @icon1 is equal to @icon2. %FALSE otherwise.
30002 * g_volume_should_automount:
30003 * @volume: a #GVolume
30005 * Returns whether the volume should be automatically mounted.
30007 * Returns: %TRUE if the volume should be automatically mounted.
30013 * @seekable: a #GSeekable.
30015 * Tells the current position within the stream.
30017 * Returns: the offset from the beginning of the buffer.
30022 * SECTION:gsimpleactio:
30023 * @title: GSimpleAction
30024 * @short_description: A simple GSimpleAction
30026 * A #GSimpleAction is the obvious simple implementation of the #GSimpleAction
30027 * interface. This is the easiest way to create an action for purposes of
30028 * adding it to a #GSimpleActionGroup.
30029 * See also #GtkAction.
30034 * g_socket_listener_add_inet_port:
30035 * @listener: a #GSocketListener
30036 * @port: an IP port number (non-zero)
30037 * @source_object: Optional #GObject identifying this source
30038 * @error: #GError for error reporting, or %NULL to ignore.
30040 * Helper function for g_socket_listener_add_address() that
30041 * creates a TCP/IP socket listening on IPv4 and IPv6 (if
30042 * supported) on the specified port on all interfaces.
30043 * to accept to identify this particular source, which is
30044 * useful if you're listening on multiple addresses and do
30045 * different things depending on what address is connected to.
30047 * Returns: %TRUE on success, %FALSE on error.
30053 * G_VARIANT_TYPE_TUPLE:
30055 * An indefinite type that is a supertype of every tuple type,
30056 * regardless of the number of items in the tuple.
30061 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT:
30063 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is unmountable.
30064 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
30069 * g_tls_client_connection_get_accepted_cas:
30070 * @conn: the #GTlsClientConnection
30072 * Gets the list of distinguished names of the Certificate Authorities
30073 * that the server will accept certificates from. This will be set
30074 * during the TLS handshake if the server requests a certificate.
30075 * Otherwise, it will be %NULL.
30076 * of CA names, which you must free (eg, with g_strfreev()).
30078 * Returns: (transfer full) (array zero-terminated=1): the list
30084 * g_dbus_connection_call_finish:
30085 * @connection: A #GDBusConnection.
30086 * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_call().
30087 * @error: Return location for error or %NULL.
30089 * Finishes an operation started with g_dbus_connection_call().
30090 * return values. Free with g_variant_unref().
30092 * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
30098 * g_proxy_resolver_lookup_async:
30099 * @resolver: a #GProxyResolver
30100 * @uri: a URI representing the destination to connect to
30101 * @cancellable: a #GCancellable, or %NULL
30102 * @callback: callback to call after resolution completes
30103 * @user_data: data for @callback
30105 * Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more
30113 * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC:
30115 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE)
30116 * is automatically polled for media.
30117 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
30124 * g_node_prev_sibling:
30127 * Gets the previous sibling of a #GNode.
30130 * Returns: the previous sibling of @node, or %NULL if @node is the first
30135 * G_IS_PARAM_SPEC_BOOLEAN:
30136 * @pspec: a valid #GParamSpec instance
30138 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN.
30140 * Returns: %TRUE on success.
30145 * G_FILE_ATTRIBUTE_FILESYSTEM_SIZE:
30147 * A key in the "filesystem" namespace for getting the total size (in bytes) of the file system,
30148 * used in g_file_query_filesystem_info(). Corresponding #GFileAttributeType
30149 * is %G_FILE_ATTRIBUTE_TYPE_UINT64.
30154 * SECTION:gsetting:
30155 * @short_description: High-level API for application settings
30157 * The #GSettings class provides a convenient API for storing and retrieving
30158 * application settings.
30159 * When creating a GSettings instance, you have to specify a schema
30160 * that describes the keys in your settings and their types and default
30161 * values, as well as some other information.
30162 * Normally, a schema has as fixed path that determines where the settings
30163 * are stored in the conceptual global tree of settings. However, schemas
30164 * can also be 'relocatable', i.e. not equipped with a fixed path. This is
30165 * useful e.g. when the schema describes an 'account', and you want to be
30166 * able to store a arbitrary number of accounts.
30167 * Unlike other configuration systems (like GConf), GSettings does not
30168 * restrict keys to basic types like strings and numbers. GSettings stores
30169 * values as #GVariant, and allows any #GVariantType for keys. Key names
30170 * are restricted to lowercase characters, numbers and '-'. Furthermore,
30171 * the names must begin with a lowercase character, must not end
30172 * with a '-', and must not contain consecutive dashes. Key names can
30173 * be up to 32 characters long.
30174 * Similar to GConf, the default values in GSettings schemas can be
30175 * localized, but the localized values are stored in gettext catalogs
30176 * and looked up with the domain that is specified in the
30177 * <tag class="attribute">gettext-domain</tag> attribute of the
30178 * <tag class="starttag">schemalist</tag> or <tag class="starttag">schema</tag>
30179 * elements and the category that is specified in the l10n attribute of the
30180 * <tag class="starttag">key</tag> element.
30181 * GSettings uses schemas in a compact binary form that is created
30182 * by the <link linkend="glib-compile-schemas">glib-compile-schemas</link>
30183 * utility. The input is a schema description in an XML format that can be
30184 * described by the following DTD:
30185 * |[<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/gschema.dtd"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include>]|
30186 * At runtime, schemas are identified by their id (as specified
30187 * in the <tag class="attribute">id</tag> attribute of the
30188 * <tag class="starttag">schema</tag> element). The
30189 * convention for schema ids is to use a dotted name, similar in
30190 * style to a DBus bus name, e.g. "org.gnome.font-rendering".
30191 * In addition to #GVariant types, keys can have types that have enumerated
30192 * types. These can be described by a <tag class="starttag">choice</tag>,
30193 * <tag class="starttag">enum</tag> or <tag class="starttag">flags</tag> element, see
30194 * <xref linkend="schema-enumerated"/>. The underlying type of
30195 * such a key is string, but you can use g_settings_get_enum(),
30196 * g_settings_set_enum(), g_settings_get_flags(), g_settings_set_flags()
30197 * access the numeric values corresponding to the string value of enum
30199 * <example id="schema-default-values"><title>Default values</title>
30200 * <programlisting><![CDATA[
30202 * <schema id="org.gtk.test" path="/tests/" gettext-domain="test">
30203 * <key name="greeting" type="s">
30204 * <default l10n="messages">"Hello, earthlings"</default>
30205 * <summary>A greeting</summary>
30207 * Greeting of the invading martians
30210 * <key name="box" type="(ii)">
30211 * <default>(20,30)</default>
30215 * ]]></programlisting></example>
30216 * <example id="schema-enumerated"><title>Ranges, choices and enumerated types</title>
30217 * <programlisting><![CDATA[
30219 * <enum id="myenum">
30220 * <value nick="first" value="1"/>
30221 * <value nick="second" value="2"/>
30223 * <enum id="myflags">
30224 * <value nick="flag1" value="1"/>
30225 * <value nick="flag2" value="2"/>
30226 * <value nick="flag3" value="4"/>
30228 * <schema id="org.gtk.test">
30229 * <key name="key-with-range" type="i">
30230 * <range min="1" max="100"/>
30231 * <default>10</default>
30233 * <key name="key-with-choices" type="s">
30235 * <choice value='Elisabeth'/>
30236 * <choice value='Annabeth'/>
30237 * <choice value='Joe'/>
30240 * <alias value='Anna' target='Annabeth'/>
30241 * <alias value='Beth' target='Elisabeth'/>
30243 * <default>'Joe'</default>
30245 * <key name='enumerated-key' enum='myenum'>
30246 * <default>'first'</default>
30248 * <key name='flags-key' flags='myflags'>
30249 * <default>["flag1",flag2"]</default>
30253 * ]]></programlisting></example>
30255 * <title>Vendor overrides</title>
30257 * Default values are defined in the schemas that get installed by
30258 * an application. Sometimes, it is necessary for a vendor or distributor
30259 * to adjust these defaults. Since patching the XML source for the schema
30260 * is inconvenient and error-prone,
30261 * <link linkend="glib-compile-schemas">glib-compile-schemas</link> reads
30262 * so-called 'vendor override' files. These are keyfiles in the same
30263 * directory as the XML schema sources which can override default values.
30264 * The schema id serves as the group name in the key file, and the values
30265 * are expected in serialized GVariant form, as in the following example:
30266 * <informalexample><programlisting>
30267 * [org.gtk.Example]
30270 * </programlisting></informalexample>
30274 * <title>Binding</title>
30276 * A very convenient feature of GSettings lets you bind #GObject properties
30277 * directly to settings, using g_settings_bind(). Once a GObject property
30278 * has been bound to a setting, changes on either side are automatically
30279 * propagated to the other side. GSettings handles details like
30280 * mapping between GObject and GVariant types, and preventing infinite
30284 * This makes it very easy to hook up a preferences dialog to the
30285 * underlying settings. To make this even more convenient, GSettings
30286 * looks for a boolean property with the name "sensitivity" and
30287 * automatically binds it to the writability of the bound setting.
30288 * If this 'magic' gets in the way, it can be suppressed with the
30289 * #G_SETTINGS_BIND_NO_SENSITIVITY flag.
30296 * g_volume_enumerate_identifiers:
30297 * @volume: a #GVolume
30299 * Gets the kinds of <link linkend="volume-identifier">identifiers</link>
30300 * that @volume has. Use g_volume_get_identifer() to obtain
30301 * the identifiers themselves.
30302 * of strings containing kinds of identifiers. Use g_strfreev() to free.
30304 * Returns: (array zero-terminated=1) (transfer full): a %NULL-terminated array
30309 * g_zlib_decompressor_get_file_info:
30310 * @decompressor: a #GZlibDecompressor
30312 * Retrieves the #GFileInfo constructed from the GZIP header data
30313 * of compressed data processed by @compressor, or %NULL if @decompressor's
30314 * #GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP,
30315 * or the header data was not fully processed yet, or it not present in the
30316 * data stream at all.
30318 * Returns: (transfer none): a #GFileInfo, or %NULL
30324 * SECTION:ginputstrea:
30325 * @short_description: Base class for implementing streaming input
30326 * @include: gio/gio.h
30328 * GInputStream has functions to read from a stream (g_input_stream_read()),
30329 * to close a stream (g_input_stream_close()) and to skip some content
30330 * (g_input_stream_skip()).
30331 * To copy the content of an input stream to an output stream without
30332 * manually handling the reads and writes, use g_output_stream_splice().
30333 * All of these functions have async variants too.
30338 * g_permission_impl_update:
30339 * @permission: a #GPermission instance
30340 * @allowed: the new value for the 'allowed' property
30341 * @can_acquire: the new value for the 'can-acquire' property
30342 * @can_release: the new value for the 'can-release' property
30344 * This function is called by the #GPermission implementation to update
30345 * the properties of the permission. You should never call this
30346 * function except from a #GPermission implementation.
30347 * GObject notify signals are generated, as appropriate.
30354 * GAsyncReadyCallback:
30355 * @source_object: the object the asynchronous operation was started with.
30356 * @res: a #GAsyncResult.
30357 * @user_data: user data passed to the callback.
30359 * Type definition for a function that will be called back when an asynchronous
30360 * operation within GIO has been completed.
30365 * g_dbus_method_invocation_return_gerror:
30366 * @invocation: A #GDBusMethodInvocation.
30367 * @error: A #GError.
30369 * Like g_dbus_method_invocation_return_error() but takes a #GError
30370 * instead of the error domain, error code and message.
30371 * This method will free @invocation, you cannot use it afterwards.
30378 * g_settings_list_children:
30379 * @settings: a #GSettings object
30380 * @returns: (transfer full) (element-type utf8): a list of the children on @settings
30382 * Gets the list of children on @settings.
30383 * The list is exactly the list of strings for which it is not an error
30384 * to call g_settings_get_child().
30385 * For GSettings objects that are lists, this value can change at any
30386 * time and you should connect to the "children-changed" signal to watch
30387 * request a child after listing it only for it to have been destroyed
30388 * in the meantime. For this reason, g_settings_get_child() may return
30389 * %NULL even for a child that was listed by this function.
30390 * For GSettings objects that are not lists, you should probably not be
30391 * calling this function from "normal" code (since you should already
30392 * know what children are in your schema). This function may still be
30393 * useful there for introspection reasons, however.
30394 * You should free the return value with g_strfreev() when you are done
30397 * For those changes. note that there is a race condition here: you may
30402 * g_app_launch_context_get_startup_notify_id:
30403 * @context: a #GAppLaunchContext
30404 * @info: a #GAppInfo
30405 * @files: (element-type GFile): a #GList of of #GFile objects
30407 * Initiates startup notification for the application and returns the
30408 * <envar>DESKTOP_STARTUP_ID</envar> for the launched operation,
30410 * Startup notification IDs are defined in the <ulink
30411 * url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt">
30412 * FreeDesktop.Org Startup Notifications standard</ulink>.
30415 * Returns: a startup notification ID for the application, or %NULL if
30420 * g_dbus_address_get_stream_finish:
30421 * @res: A #GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_address_get_stream().
30422 * @out_guid: %NULL or return location to store the GUID extracted from @address, if any.
30423 * @error: Return location for error or %NULL.
30425 * Finishes an operation started with g_dbus_address_get_stream().
30427 * Returns: (transfer full): A #GIOStream or %NULL if @error is set.
30433 * G_TYPE_BYTE_ARRAY:
30435 * The #GType for a boxed type holding a #GByteArray reference.
30442 * g_file_set_attribute_string:
30443 * @file: input #GFile.
30444 * @attribute: a string containing the attribute's name.
30445 * @value: a string containing the attribute's value.
30446 * @flags: #GFileQueryInfoFlags.
30447 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
30448 * @error: a #GError, or %NULL
30450 * Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_STRING to @value.
30451 * If @attribute is of a different type, this operation will fail.
30452 * If @cancellable is not %NULL, then the operation can be cancelled by
30453 * triggering the cancellable object from another thread. If the operation
30454 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30456 * Returns: %TRUE if the @attribute was successfully set, %FALSE otherwise.
30461 * g_file_read_finish:
30462 * @file: input #GFile.
30463 * @res: a #GAsyncResult.
30464 * @error: a #GError, or %NULL
30466 * Finishes an asynchronous file read operation started with
30467 * g_file_read_async().
30468 * Free the returned object with g_object_unref().
30470 * Returns: (transfer full): a #GFileInputStream or %NULL on error.
30475 * g_socket_client_connect_to_uri_finish:
30476 * @client: a #GSocketClient.
30477 * @result: a #GAsyncResult.
30478 * @error: a #GError location to store the error occuring, or %NULL to ignore.
30480 * Finishes an async connect operation. See g_socket_client_connect_to_uri_async()
30482 * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
30489 * @type: A #GType value.
30491 * Checks whether the passed in type ID can be used for g_value_init().
30492 * That is, this macro checks whether this type provides an implementation
30493 * of the #GTypeValueTable functions required for a type to create a #GValue of.
30495 * Returns: Whether @type is suitable as a #GValue type.
30500 * g_file_load_contents_async:
30501 * @file: input #GFile.
30502 * @cancellable: optional #GCancellable object, %NULL to ignore.
30503 * @callback: a #GAsyncReadyCallback to call when the request is satisfied
30504 * @user_data: the data to pass to callback function
30506 * Starts an asynchronous load of the @file's contents.
30507 * For more details, see g_file_load_contents() which is
30508 * the synchronous version of this call.
30509 * When the load operation has completed, @callback will be called
30510 * with @user data. To finish the operation, call
30511 * g_file_load_contents_finish() with the #GAsyncResult returned by
30513 * If @cancellable is not %NULL, then the operation can be cancelled by
30514 * triggering the cancellable object from another thread. If the operation
30515 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30520 * g_dbus_connection_call_sync:
30521 * @connection: A #GDBusConnection.
30522 * @bus_name: A unique or well-known bus name.
30523 * @object_path: Path of remote object.
30524 * @interface_name: D-Bus interface to invoke method on.
30525 * @method_name: The name of the method to invoke.
30526 * @parameters: A #GVariant tuple with parameters for the method or %NULL if not passing parameters.
30527 * @reply_type: The expected type of the reply, or %NULL.
30528 * @flags: Flags from the #GDBusCallFlags enumeration.
30529 * @timeout_msec: The timeout in milliseconds, -1 to use the default timeout or %G_MAXINT for no timeout.
30530 * @cancellable: A #GCancellable or %NULL.
30531 * @error: Return location for error or %NULL.
30533 * Synchronously invokes the @method_name method on the
30534 * If @connection is closed then the operation will fail with
30535 * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the
30536 * operation will fail with %G_IO_ERROR_CANCELLED. If @parameters
30537 * contains a value not compatible with the D-Bus protocol, the operation
30538 * fails with %G_IO_ERROR_INVALID_ARGUMENT.
30539 * If @reply_type is non-%NULL then the reply will be checked for having
30540 * this type and an error will be raised if it does not match. Said
30541 * another way, if you give a @reply_type then any non-%NULL return
30542 * value will be of this type.
30543 * If the @parameters #GVariant is floating, it is consumed.
30544 * This allows convenient 'inline' use of g_variant_new(), e.g.:
30546 * g_dbus_connection_call_sync (connection,
30547 * "org.freedesktop.StringThings",
30548 * "/org/freedesktop/StringThings",
30549 * "org.freedesktop.StringThings",
30551 * g_variant_new ("(ss)",
30555 * G_DBUS_CALL_FLAGS_NONE,
30560 * The calling thread is blocked until a reply is received. See
30561 * g_dbus_connection_call() for the asynchronous version of
30563 * return values. Free with g_variant_unref().
30565 * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
30571 * g_output_stream_write_all:
30572 * @stream: a #GOutputStream.
30573 * @buffer: (array length=count) (element-type guint8): the buffer containing the data to write.
30574 * @count: the number of bytes to write
30575 * @bytes_written: (out): location to store the number of bytes that was written to the stream
30576 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
30577 * @error: location to store the error occuring, or %NULL to ignore
30579 * Tries to write @count bytes from @buffer into the stream. Will block
30580 * during the operation.
30581 * This function is similar to g_output_stream_write(), except it tries to
30582 * write as many bytes as requested, only stopping on an error.
30583 * On a successful write of @count bytes, %TRUE is returned, and @bytes_written
30584 * is set to @count.
30585 * If there is an error during the operation FALSE is returned and @error
30586 * is set to indicate the error status, @bytes_written is updated to contain
30587 * the number of bytes written into the stream before the error occurred.
30589 * Returns: %TRUE on success, %FALSE if there was an error
30594 * G_TYPE_PARAM_BOXED:
30596 * The #GType of #GParamSpecBoxed.
30601 * g_file_monitor_file:
30602 * @file: input #GFile.
30603 * @flags: a set of #GFileMonitorFlags.
30604 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
30605 * @error: a #GError, or %NULL.
30607 * Obtains a file monitor for the given file. If no file notification
30608 * mechanism exists, then regular polling of the file is used.
30609 * If @cancellable is not %NULL, then the operation can be cancelled by
30610 * triggering the cancellable object from another thread. If the operation
30611 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30612 * Free the returned object with g_object_unref().
30614 * Returns: (transfer full): a #GFileMonitor for the given @file, or %NULL on error.
30619 * SECTION:gapplicationcommandlin:
30620 * @title: GApplicationCommandLine
30621 * @short_description: A command-line invocation of an application
30622 * @see_also: #GApplication
30624 * #GApplicationCommandLine represents a command-line invocation of
30625 * an application. It is created by #GApplication and emitted
30626 * in the #GApplication::command-line signal and virtual function.
30627 * The class contains the list of arguments that the program was invoked
30628 * with. It is also possible to query if the commandline invocation was
30629 * commandline to this process).
30630 * The exit status of the originally-invoked process may be set and
30631 * messages can be printed to stdout or stderr of that process. The
30632 * lifecycle of the originally-invoked process is tied to the lifecycle
30634 * <example id="gapplication-example-cmdline"><title>Handling commandline arguments with GApplication</title>
30636 * <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gapplication-example-cmdline.c">
30637 * <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
30639 * </programlisting>
30641 * <example id="gapplication-example-cmdline2"><title>Complicated commandline handling</title>
30643 * <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../gio/tests/gapplication-example-cmdline2.c">
30644 * <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
30646 * </programlisting>
30649 * Local (ie: the current process is running in direct response to the
30650 * Invocation) or remote (ie: some other process forwarded the
30651 * Of this object (ie: the process exits when the last reference is
30656 * g_async_initable_new_finish:
30657 * @initable: the #GAsyncInitable from the callback
30658 * @res: the #GAsyncResult.from the callback
30659 * @error: a #GError location to store the error occuring, or %NULL to ignore.
30661 * Finishes the async construction for the various g_async_initable_new calls,
30662 * returning the created object or %NULL on error.
30663 * g_object_unref().
30665 * Returns: (transfer full): a newly created #GObject, or %NULL on error. Free with
30671 * g_pollable_input_stream_create_source:
30672 * @stream: a #GPollableInputStream.
30673 * @cancellable: a #GCancellable, or %NULL
30675 * Creates a #GSource that triggers when @stream can be read, or
30676 * source is of the #GPollableSourceFunc type.
30677 * As with g_pollable_input_stream_is_readable(), it is possible that
30678 * the stream may not actually be readable even after the source
30679 * triggers, so you should use g_pollable_input_stream_read_nonblocking()
30680 * rather than g_input_stream_read() from the callback.
30682 * Returns: a new #GSource
30688 * g_file_supports_thread_contexts:
30691 * Checks if @file supports <link
30692 * linkend="g-main-context-push-thread-default-context">thread-default
30693 * contexts</link>. If this returns %FALSE, you cannot perform
30694 * asynchronous operations on @file in a thread that has a
30695 * thread-default context.
30697 * Returns: Whether or not @file supports thread-default contexts.
30704 * @source: #GFile pointing to the source location.
30705 * @destination: #GFile pointing to the destination location.
30706 * @flags: set of #GFileCopyFlags.
30707 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
30708 * @progress_callback: (scope call): #GFileProgressCallback function for updates.
30709 * @progress_callback_data: (closure): gpointer to user data for the callback function.
30710 * @error: #GError for returning error conditions, or %NULL
30712 * Tries to move the file or directory @source to the location specified by @destination.
30713 * If native move operations are supported then this is used, otherwise a copy + delete
30714 * fallback is used. The native implementation may support moving directories (for instance
30715 * on moves inside the same filesystem), but the fallback code does not.
30716 * If the flag #G_FILE_COPY_OVERWRITE is specified an already
30717 * existing @destination file is overwritten.
30718 * If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks
30719 * will be copied as symlinks, otherwise the target of the
30720 * If @cancellable is not %NULL, then the operation can be cancelled by
30721 * triggering the cancellable object from another thread. If the operation
30722 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30723 * If @progress_callback is not %NULL, then the operation can be monitored by
30724 * setting this to a #GFileProgressCallback function. @progress_callback_data
30725 * will be passed to this function. It is guaranteed that this callback will
30726 * be called after all data has been transferred with the total number of bytes
30727 * copied during the operation.
30728 * If the @source file does not exist then the G_IO_ERROR_NOT_FOUND
30729 * error is returned, independent on the status of the @destination.
30730 * If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the
30731 * error G_IO_ERROR_EXISTS is returned.
30732 * If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY
30733 * error is returned. If trying to overwrite a directory with a directory the
30734 * G_IO_ERROR_WOULD_MERGE error is returned.
30735 * If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is
30736 * specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error
30737 * may be returned (if the native move operation isn't available).
30739 * Returns: %TRUE on successful move, %FALSE otherwise.
30744 * g_socket_connection_get_local_address:
30745 * @connection: a #GSocketConnection
30746 * @error: #GError for error reporting, or %NULL to ignore.
30748 * Try to get the local address of a socket connection.
30749 * Free the returned object with g_object_unref().
30751 * Returns: (transfer full): a #GSocketAddress or %NULL on error.
30757 * g_buffered_output_stream_new:
30758 * @base_stream: a #GOutputStream.
30760 * Creates a new buffered output stream for a base stream.
30762 * Returns: a #GOutputStream for the given @base_stream.
30767 * g_dbus_proxy_get_object_path:
30768 * @proxy: A #GDBusProxy.
30770 * Gets the object path @proxy is for.
30772 * Returns: A string owned by @proxy. Do not free.
30778 * G_TYPE_DBUS_ARG_INFO:
30780 * The #GType for a boxed type holding a #GDBusArgInfo.
30787 * g_unix_mount_point_is_readonly:
30788 * @mount_point: a #GUnixMountPoint.
30790 * Checks if a unix mount point is read only.
30792 * Returns: %TRUE if a mount point is read only.
30799 * The timeout in seconds on socket I/O
30806 * g_dbus_message_get_header:
30807 * @message: A #GDBusMessage.
30808 * @header_field: A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration)
30810 * Gets a header field on @message.
30811 * otherwise. Do not free, it is owned by @message.
30813 * Returns: A #GVariant with the value if the header was found, %NULL
30819 * g_socket_receive_message:
30820 * @socket: a #GSocket
30821 * @address: a pointer to a #GSocketAddress pointer, or %NULL
30822 * @vectors: an array of #GInputVector structs
30823 * @num_vectors: the number of elements in @vectors, or -1
30824 * @messages: a pointer which may be filled with an array of #GSocketControlMessages, or %NULL
30825 * @num_messages: a pointer which will be filled with the number of elements in @messages, or %NULL
30826 * @flags: a pointer to an int containing #GSocketMsgFlags flags
30827 * @cancellable: a %GCancellable or %NULL
30828 * @error: a #GError pointer, or %NULL
30830 * Receive data from a socket. This is the most complicated and
30831 * fully-featured version of this call. For easier use, see
30832 * g_socket_receive() and g_socket_receive_from().
30833 * If @address is non-%NULL then @address will be set equal to the
30834 * source address of the received packet.
30835 * describe the buffers that received data will be scattered into.
30836 * If @num_vectors is -1, then @vectors is assumed to be terminated
30837 * by a #GInputVector with a %NULL buffer pointer.
30838 * As a special case, if @num_vectors is 0 (in which case, @vectors
30839 * may of course be %NULL), then a single byte is received and
30840 * discarded. This is to facilitate the common practice of sending a
30841 * single '\0' byte for the purposes of transferring ancillary data.
30842 * array of #GSocketControlMessage instances or %NULL if no such
30843 * messages was received. These correspond to the control messages
30844 * received from the kernel, one #GSocketControlMessage per message
30845 * from the kernel. This array is %NULL-terminated and must be freed
30846 * by the caller using g_free() after calling g_object_unref() on each
30847 * element. If @messages is %NULL, any control messages received will
30849 * messages received.
30850 * If both @messages and @num_messages are non-%NULL, then
30851 * for this are available in the #GSocketMsgFlags enum, but the
30852 * values there are the same as the system values, and the flags
30853 * are passed in as-is, so you can pass in system-specific flags too
30854 * (and g_socket_receive_message() may pass system-specific flags out).
30855 * As with g_socket_receive(), data may be discarded if @socket is
30856 * %G_SOCKET_TYPE_DATAGRAM or %G_SOCKET_TYPE_SEQPACKET and you do not
30857 * provide enough buffer space to read a complete message. You can pass
30858 * %G_SOCKET_MSG_PEEK in @flags to peek at the current message without
30859 * removing it from the receive queue, but there is no portable way to find
30860 * out the length of the message other than by reading it into a
30861 * sufficiently-large buffer.
30862 * If the socket is in blocking mode the call will block until there
30863 * is some data to receive or there is an error. If there is no data
30864 * available and the socket is in non-blocking mode, a
30865 * %G_IO_ERROR_WOULD_BLOCK error will be returned. To be notified when
30866 * data is available, wait for the %G_IO_IN condition.
30867 * On error -1 is returned and @error is set accordingly.
30869 * In @messages (ie: not including the %NULL terminator).
30870 * Returns: Number of bytes read, or -1 on error
30876 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP:
30878 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped.
30879 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
30886 * g_inet_address_get_is_mc_site_local:
30887 * @address: a #GInetAddress
30889 * Tests whether @address is a site-local multicast address.
30891 * Returns: %TRUE if @address is a site-local multicast address.
30897 * G_TYPE_RESERVED_USER_FIRST:
30899 * First available fundamental type number to create new fundamental
30900 * type id with G_TYPE_MAKE_FUNDAMENTAL().
30905 * SECTION:gtlsbacken:
30906 * @title: GTlsBackend
30907 * @short_description: TLS backend implementation
30908 * @include: gio/gio.h
30915 * GRegexCompileFlags:
30916 * @G_REGEX_CASELESS: Letters in the pattern match both upper- and lowercase letters. This option can be changed within a pattern by a "(?i)" option setting.
30917 * @G_REGEX_MULTILINE: By default, GRegex treats the strings as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter ("^") matches only at the start of the string, while the "end of line" metacharacter ("$") matches only at the end of the string, or before a terminating newline (unless #G_REGEX_DOLLAR_ENDONLY is set). When #G_REGEX_MULTILINE is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the string, respectively, as well as at the very start and end. This can be changed within a pattern by a "(?m)" option setting.
30918 * @G_REGEX_DOTALL: A dot metacharater (".") in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option can be changed within a pattern by a ("?s") option setting.
30919 * @G_REGEX_EXTENDED: Whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped "#" outside a character class and the next newline character, inclusive, are also ignored. This can be changed within a pattern by a "(?x)" option setting.
30920 * @G_REGEX_ANCHORED: The pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched. This effect can also be achieved by appropriate constructs in the pattern itself such as the "^" metacharater.
30921 * @G_REGEX_DOLLAR_ENDONLY: A dollar metacharacter ("$") in the pattern matches only at the end of the string. Without this option, a dollar also matches immediately before the final character if it is a newline (but not before any other newlines). This option is ignored if #G_REGEX_MULTILINE is set.
30922 * @G_REGEX_UNGREEDY: Inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It can also be set by a "(?U)" option setting within the pattern.
30923 * @G_REGEX_RAW: Usually strings must be valid UTF-8 strings, using this flag they are considered as a raw sequence of bytes.
30924 * @G_REGEX_NO_AUTO_CAPTURE: Disables the use of numbered capturing parentheses in the pattern. Any opening parenthesis that is not followed by "?" behaves as if it were followed by "?:" but named parentheses can still be used for capturing (and they acquire numbers in the usual way).
30925 * @G_REGEX_OPTIMIZE: Optimize the regular expression. If the pattern will be used many times, then it may be worth the effort to optimize it to improve the speed of matches.
30926 * @G_REGEX_DUPNAMES: Names used to identify capturing subpatterns need not be unique. This can be helpful for certain types of pattern when it is known that only one instance of the named subpattern can ever be matched.
30927 * @G_REGEX_NEWLINE_CR: Usually any newline character is recognized, if this option is set, the only recognized newline character is '\r'.
30928 * @G_REGEX_NEWLINE_LF: Usually any newline character is recognized, if this option is set, the only recognized newline character is '\n'.
30929 * @G_REGEX_NEWLINE_CRLF: Usually any newline character is recognized, if this option is set, the only recognized newline character sequence is '\r\n'.
30931 * Flags specifying compile-time options.
30938 * g_io_modules_scan_all_in_directory:
30939 * @dirname: pathname for a directory containing modules to scan.
30941 * Scans all the modules in the specified directory, ensuring that
30942 * any extension point implemented by a module is registered.
30943 * This may not actually load and initialize all the types in each
30944 * module, some modules may be lazily loaded and initialized when
30945 * an extension point it implementes is used with e.g.
30946 * g_io_extension_point_get_extensions() or
30947 * g_io_extension_point_get_extension_by_name().
30948 * If you need to guarantee that all types are loaded in all the modules,
30949 * use g_io_modules_load_all_in_directory().
30956 * g_socket_service_stop:
30957 * @service: a #GSocketService
30959 * Stops the service, i.e. stops accepting connections
30960 * from the added sockets when the mainloop runs.
30961 * This call is threadsafe, so it may be called from a thread
30962 * handling an incomming client request.
30969 * G_FLAGS_CLASS_TYPE:
30970 * @class: a #GFlagsClass
30972 * Get the type identifier from a given #GFlagsClass structure.
30974 * Returns: the #GType
30979 * g_settings_new_with_backend_and_path:
30980 * @schema: the name of the schema
30981 * @backend: the #GSettingsBackend to use
30982 * @path: the path to use
30983 * @returns: a new #GSettings object
30985 * Creates a new #GSettings object with a given schema, backend and
30987 * This is a mix of g_settings_new_with_backend() and
30988 * g_settings_new_with_path().
30995 * g_bus_own_name_with_closures:
30996 * @bus_type: The type of bus to own a name on.
30997 * @name: The well-known name to own.
30998 * @flags: A set of flags from the #GBusNameOwnerFlags enumeration.
30999 * @bus_acquired_closure: (allow-none): #GClosure to invoke when connected to the bus of type @bus_type or %NULL.
31000 * @name_acquired_closure: (allow-none): #GClosure to invoke when @name is acquired or %NULL.
31001 * @name_lost_closure: (allow-none): #GClosure to invoke when @name is lost or %NULL.
31003 * Version of g_bus_own_name() using closures instead of callbacks for
31004 * easier binding in other languages.
31005 * g_bus_unown_name() to stop owning the name.
31007 * Returns: An identifier (never 0) that an be used with
31008 * Rename to: g_bus_own_name
31017 * Checks if the VFS is active.
31019 * Returns: %TRUE if construction of the @vfs was successful and it is now active.
31024 * g_settings_set_int:
31025 * @settings: a #GSettings object
31026 * @key: the name of the key to set
31027 * @value: the value to set it to
31028 * @returns: %TRUE if setting the key succeeded, %FALSE if the key was not writable
31030 * Sets @key in @settings to @value.
31031 * A convenience variant of g_settings_set() for 32-bit integers.
31032 * It is a programmer error to give a @key that isn't specified as
31033 * having a int32 type in the schema for @settings.
31042 * The fundamental type corresponding to #gdouble.
31047 * G_VARIANT_TYPE_UINT64:
31049 * The type of an integer value that can range from 0 to
31050 * 18446744073709551616. That's a really big number, but a Rubik's
31051 * cube can have a bit more than twice as many possible positions.
31056 * g_file_replace_contents_finish:
31057 * @file: input #GFile.
31058 * @res: a #GAsyncResult.
31059 * @new_etag: (out) (allow-none): a location of a new <link linkend="gfile-etag">entity tag</link> for the document. This should be freed with g_free() when it is no longer needed, or %NULL
31060 * @error: a #GError, or %NULL
31062 * Finishes an asynchronous replace of the given @file. See
31063 * g_file_replace_contents_async(). Sets @new_etag to the new entity
31064 * tag for the document, if present.
31066 * Returns: %TRUE on success, %FALSE on failure.
31071 * GDBusConnectionClass:
31072 * @closed: Signal class handler for the #GDBusConnection::closed signal.
31074 * Class structure for #GDBusConnection.
31081 * G_TYPE_RESERVED_GLIB_FIRST:
31083 * First fundamental type number to create a new fundamental type id with
31084 * G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib.
31090 * @parent_instance: private #GParamSpec portion
31091 * @minimum: minimum value for the property specified
31092 * @maximum: maximum value for the property specified
31093 * @default_value: default value for the property specified
31095 * A #GParamSpec derived structure that contains the meta data for unsigned character properties.
31100 * g_network_address_parse_uri:
31101 * @uri: the hostname and optionally a port
31102 * @default_port: The default port if none is found in the URI
31103 * @error: a pointer to a #GError, or %NULL
31105 * Creates a new #GSocketConnectable for connecting to the given
31106 * Using this rather than g_network_address_new() or
31107 * g_network_address_parse_host() allows #GSocketClient to determine
31108 * when to use application-specific proxy protocols.
31110 * Returns: (transfer full): the new #GNetworkAddress, or %NULL on error
31116 * g_inet_address_get_is_mc_org_local:
31117 * @address: a #GInetAddress
31119 * Tests whether @address is an organization-local multicast address.
31121 * Returns: %TRUE if @address is an organization-local multicast address.
31127 * g_keyfile_settings_backend_new:
31128 * @filename: the filename of the keyfile
31129 * @root_path: the path under which all settings keys appear
31130 * @root_group: (allow-none): the group name corresponding to
31131 * @returns: (transfer full): a keyfile-backed #GSettingsBackend
31133 * Creates a keyfile-backed #GSettingsBackend.
31134 * The filename of the keyfile to use is given by @filename.
31135 * All settings read to or written from the backend must fall under the
31136 * path given in @root_path (which must start and end with a slash and
31137 * not contain two consecutive slashes). @root_path may be "/".
31138 * If @root_group is non-%NULL then it specifies the name of the keyfile
31139 * group used for keys that are written directly below @root_path. For
31140 * example, if @root_path is "/apps/example/" and @root_group is
31141 * "toplevel", then settings the key "/apps/example/enabled" to a value
31142 * of %TRUE will cause the following to appear in the keyfile:
31147 * If @root_group is %NULL then it is not permitted to store keys
31148 * directly below the @root_path.
31149 * the name of the subpath (with the final slash stripped) is used as
31150 * the name of the keyfile group. To continue the example, if
31151 * "/apps/example/profiles/default/font-size" were set to
31152 * 12 then the following would appear in the keyfile:
31154 * [profiles/default]
31157 * The backend will refuse writes (and return writability as being
31158 * %FALSE) for keys outside of @root_path and, in the event that
31159 * Writes will also be refused if the backend detects that it has the
31161 * There is no checking done for your key namespace clashing with the
31162 * syntax of the key file format. For example, if you have '[' or ']'
31163 * characters in your path names or '=' in your key names you may be in
31166 * For keys not stored directly below @root_path (ie: in a sub-path),
31167 * Inability to rewrite the keyfile (ie: the containing directory is not
31172 * G_OBJECT_CLASS_NAME:
31173 * @class: a valid #GObjectClass
31175 * Return the name of a class structure's type.
31176 * should not be freed.
31178 * Returns: Type name of @class. The string is owned by the type system and
31185 * Implementation of the #GMount interface for Unix systems.
31190 * g_socket_client_add_application_proxy:
31191 * @client: a #GSocketClient
31192 * @protocol: The proxy protocol
31194 * Enable proxy protocols to be handled by the application. When the
31195 * indicated proxy protocol is returned by the #GProxyResolver,
31196 * #GSocketClient will consider this protocol as supported but will
31197 * not try find a #GProxy instance to handle handshaking. The
31198 * application must check for this case by calling
31199 * g_socket_connection_get_remote_address() on the returned
31200 * #GSocketConnection, and seeing if it's a #GProxyAddress of the
31201 * appropriate type, to determine whether or not it needs to handle
31202 * the proxy handshaking itself.
31203 * This should be used for proxy protocols that are dialects of
31204 * another protocol such as HTTP proxy. It also allows cohabitation of
31205 * proxy protocols that are reused between protocols. A good example
31206 * is HTTP. It can be used to proxy HTTP, FTP and Gopher and can also
31207 * be use as generic socket proxy through the HTTP CONNECT method.
31213 * @drive: a #GDrive.
31214 * @flags: flags affecting the unmount if required for stopping.
31215 * @mount_operation: a #GMountOperation or %NULL to avoid user interaction.
31216 * @cancellable: optional #GCancellable object, %NULL to ignore.
31217 * @callback: a #GAsyncReadyCallback, or %NULL.
31218 * @user_data: user data to pass to @callback
31220 * Asynchronously stops a drive.
31221 * When the operation is finished, @callback will be called.
31222 * You can then call g_drive_stop_finish() to obtain the
31223 * result of the operation.
31230 * GFileDescriptorBased:
31232 * An interface for file descriptor based io objects.
31237 * g_memory_output_stream_get_data_size:
31238 * @ostream: a #GMemoryOutputStream
31240 * Returns the number of bytes from the start up
31241 * to including the last byte written in the stream
31242 * that has not been truncated away.
31244 * Returns: the number of bytes written to the stream
31250 * GTypePluginUnuse:
31251 * @plugin: the #GTypePlugin whose use count should be decreased
31253 * The type of the @unuse_plugin function of #GTypePluginClass.
31258 * g_file_info_get_is_symlink:
31259 * @info: a #GFileInfo.
31261 * Checks if a file is a symlink.
31263 * Returns: %TRUE if the given @info is a symlink.
31268 * G_PARAM_SPEC_VALUE_TYPE:
31269 * @pspec: a valid #GParamSpec
31271 * Retrieves the #GType to initialize a #GValue for this parameter.
31276 * GDataInputStream:
31278 * An implementation of #GBufferedInputStream that allows for high-level
31279 * data manipulation of arbitrary data (including binary operations).
31284 * g_dbus_message_set_path:
31285 * @message: A #GDBusMessage.
31286 * @value: The value to set.
31288 * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
31295 * g_io_stream_set_pending:
31296 * @stream: a #GIOStream
31297 * @error: a #GError location to store the error occuring, or %NULL to ignore
31299 * Sets @stream to have actions pending. If the pending flag is
31300 * already set or @stream is closed, it will return %FALSE and set
31302 * Returns: %TRUE if pending was previously unset and is now set.
31308 * g_socket_service_start:
31309 * @service: a #GSocketService
31311 * Starts the service, i.e. start accepting connections
31312 * from the added sockets when the mainloop runs.
31313 * This call is threadsafe, so it may be called from a thread
31314 * handling an incomming client request.
31321 * G_IS_PARAM_SPEC_INT64:
31322 * @pspec: a valid #GParamSpec instance
31324 * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64.
31326 * Returns: %TRUE on success.
31331 * G_FILE_ATTRIBUTE_FILESYSTEM_FREE:
31333 * A key in the "filesystem" namespace for getting the number of bytes of free space left on the
31334 * file system. Corresponding #GFileAttributeType is
31335 * %G_FILE_ATTRIBUTE_TYPE_UINT64.
31340 * g_socket_client_get_enable_proxy:
31341 * @client: a #GSocketClient.
31343 * Gets the proxy enable state; see g_socket_client_set_enable_proxy()
31345 * Returns: whether proxying is enabled
31351 * g_io_stream_close:
31352 * @stream: a #GIOStream
31353 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore
31354 * @error: location to store the error occuring, or %NULL to ignore
31356 * Closes the stream, releasing resources related to it. This will also
31357 * closes the individual input and output streams, if they are not already
31359 * Once the stream is closed, all other operations will return
31360 * %G_IO_ERROR_CLOSED. Closing a stream multiple times will not
31362 * Closing a stream will automatically flush any outstanding buffers
31364 * Streams will be automatically closed when the last reference
31365 * is dropped, but you might want to call this function to make sure
31366 * resources are released as early as possible.
31367 * Some streams might keep the backing store of the stream (e.g. a file
31368 * descriptor) open after the stream is closed. See the documentation for
31369 * the individual stream for details.
31370 * On failure the first error that happened will be reported, but the
31371 * close operation will finish as much as possible. A stream that failed
31372 * to close will still return %G_IO_ERROR_CLOSED for all operations.
31373 * Still, it is important to check and report the error to the user,
31374 * otherwise there might be a loss of data as all data might not be written.
31375 * If @cancellable is not NULL, then the operation can be cancelled by
31376 * triggering the cancellable object from another thread. If the operation
31377 * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31378 * Cancelling a close will still leave the stream closed, but some streams
31379 * can use a faster close that doesn't block to e.g. check errors.
31380 * The default implementation of this method just calls close on the
31381 * individual input/output streams.
31383 * Returns: %TRUE on success, %FALSE on failure
31391 * An opaque structure used as the base of all type instances.
31396 * g_tcp_connection_set_graceful_disconnect:
31397 * @connection: a #GTcpConnection
31398 * @graceful_disconnect: Whether to do graceful disconnects or not
31400 * This enabled graceful disconnects on close. A graceful disconnect
31401 * means that we signal the recieving end that the connection is terminated
31402 * and wait for it to close the connection before closing the connection.
31403 * A graceful disconnect means that we can be sure that we successfully sent
31404 * all the outstanding data to the other end, or get an error reported.
31405 * However, it also means we have to wait for all the data to reach the
31406 * other side and for it to acknowledge this by closing the socket, which may
31407 * take a while. For this reason it is disabled by default.
31414 * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE:
31416 * A key in the "standard" namespace for getting the fast content type.
31417 * The fast content type isn't as reliable as the regular one, as it
31418 * only uses the filename to guess it, but it is faster to calculate than the
31419 * regular content type.
31420 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
31425 * g_data_output_stream_put_string:
31426 * @stream: a #GDataOutputStream.
31428 * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
31429 * @error: a #GError, %NULL to ignore.
31431 * Puts a string into the output stream.
31433 * Returns: %TRUE if @string was successfully added to the @stream.
31438 * GBaseFinalizeFunc:
31439 * @g_class: The #GTypeClass structure to finalize.
31441 * A callback function used by the type system to finalize those portions
31442 * of a derived types class structure that were setup from the corresponding
31443 * GBaseInitFunc() function. Class finalization basically works the inverse
31444 * way in which class intialization is performed.
31445 * See GClassInitFunc() for a discussion of the class intialization process.
31451 * @short_description: Error helper functions
31452 * @include: gio/gio.h
31454 * Contains helper functions for reporting errors to the user.
31459 * G_VARIANT_TYPE_HANDLE:
31461 * The type of a 32bit signed integer value, that by convention, is used
31462 * as an index into an array of file descriptors that are sent alongside
31464 * If you are not interacting with DBus, then there is no reason to make
31465 * use of this type.
31470 * g_unix_credentials_message_is_supported:
31472 * Checks if passing a #GCredential on a #GSocket is supported on this platform.
31474 * Returns: %TRUE if supported, %FALSE otherwise
31480 * GParamSpecDouble:
31481 * @parent_instance: private #GParamSpec portion
31482 * @minimum: minimum value for the property specified
31483 * @maximum: maximum value for the property specified
31484 * @default_value: default value for the property specified
31485 * @epsilon: values closer than @epsilon will be considered identical by g_param_values_cmp(); the default value is 1e-90.
31487 * A #GParamSpec derived structure that contains the meta data for double properties.
31492 * GBusNameWatcherFlags:
31493 * @G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set.
31494 * @G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when beginning to watch the name, ask the bus to launch an owner for the name.
31496 * Flags used in g_bus_watch_name().
31503 * g_content_type_is_a:
31504 * @type: a content type string
31505 * @supertype: a content type string
31507 * Determines if @type is a subset of @supertype.
31508 * %FALSE otherwise.
31510 * Returns: %TRUE if @type is a kind of @supertype,
31515 /************************************************************/
31516 /* THIS FILE IS GENERATED DO NOT EDIT */
31517 /************************************************************/