Regenerate gir/gio-2.0.c
[platform/upstream/gobject-introspection.git] / gir / gio-2.0.c
1 /************************************************************/
2 /* THIS FILE IS GENERATED DO NOT EDIT */
3 /************************************************************/
4
5 /**
6  * g_mount_guess_content_type:
7  * @mount: a #GMount
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
12  *
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
21  *
22  * Since: 2.18
23  */
24
25
26 /**
27  * GFileQueryInfoFlags:
28  * @G_FILE_QUERY_INFO_NONE: No flags set.
29  * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks.
30  *
31  * Flags used when querying a #GFileInfo.
32  */
33
34
35 /**
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
42  *
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.
48  */
49
50
51 /**
52  * GZlibDecompressor:file-info:
53  *
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.
58  *
59  * Since: 2.26
60  */
61
62
63 /**
64  * G_VARIANT_TYPE_STRING_ARRAY:
65  *
66  * The type of an array of strings.
67  */
68
69
70 /**
71  * g_file_attribute_info_list_ref:
72  * @list: a #GFileAttributeInfoList to reference.
73  *
74  * References a file attribute info list.
75  *
76  * Returns: #GFileAttributeInfoList or %NULL on error.
77  */
78
79
80 /**
81  * g_drive_is_media_check_automatic:
82  * @drive: a #GDrive.
83  *
84  * Checks if @drive is capabable of automatically detecting media changes.
85  * media changes, %FALSE otherwise.
86  *
87  * Returns: %TRUE if the @drive is capabable of automatically detecting
88  */
89
90
91 /**
92  * GUnixCredentialsMessage:
93  *
94  * The #GUnixCredentialsMessage structure contains only private data
95  * and should only be accessed using the provided API.
96  *
97  * Since: 2.26
98  */
99
100
101 /**
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.
106  *
107  * Sets a header field on @message.
108  * If @value is floating, @message assumes ownership of @value.
109  *
110  * Since: 2.26
111  */
112
113
114 /**
115  * G_FILE_ATTRIBUTE_FILESYSTEM_TYPE:
116  *
117  * A key in the "filesystem" namespace for getting the file system's type.
118  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
119  */
120
121
122 /**
123  * g_app_info_add_supports_type:
124  * @appinfo: a #GAppInfo.
125  * @content_type: a string.
126  * @error: a #GError.
127  *
128  * Adds a content type to the application information to indicate the
129  * application is capable of opening files with the given content type.
130  *
131  * Returns: %TRUE on success, %FALSE on error.
132  */
133
134
135 /**
136  * g_file_info_get_size:
137  * @info: a #GFileInfo.
138  *
139  * Gets the file's size.
140  *
141  * Returns: a #goffset containing the file's size.
142  */
143
144
145 /**
146  * g_dbus_interface_info_lookup_signal:
147  * @info: A #GDBusInterfaceInfo.
148  * @name: A D-Bus signal name (typically in CamelCase)
149  *
150  * Looks up information about a signal.
151  * This cost of this function is O(n) in number of signals.
152  *
153  * Returns: A #GDBusSignalInfo or %NULL if not found. Do not free, it is owned by @info.
154  * Since: 2.26
155  */
156
157
158 /**
159  * g_dbus_connection_flush_sync:
160  * @connection: A #GDBusConnection.
161  * @cancellable: A #GCancellable or %NULL.
162  * @error: Return location for error or %NULL.
163  *
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
167  * does.
168  *
169  * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
170  * Since: 2.26
171  */
172
173
174 /**
175  * g_dbus_message_set_signature:
176  * @message: A #GDBusMessage.
177  * @value: The value to set.
178  *
179  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
180  *
181  * Since: 2.26
182  */
183
184
185 /**
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
191  *
192  * Provides an interface for describing TLS-related types.
193  *
194  * Since: 2.28
195  */
196
197
198 /**
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.
203  * @error: a #GError.
204  *
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.
209  *
210  * Returns: %TRUE on the creation of a new symlink, %FALSE otherwise.
211  */
212
213
214 /**
215  * g_io_stream_has_pending:
216  * @stream: a #GIOStream
217  *
218  * Checks if a stream has pending actions.
219  *
220  * Returns: %TRUE if @stream has pending actions.
221  * Since: 2.22
222  */
223
224
225 /**
226  * G_TYPE_FROM_CLASS:
227  * @g_class: Location of a valid #GTypeClass structure.
228  *
229  * Get the type identifier from a given @class structure.
230  * This macro should only be used in type implementations.
231  *
232  * Returns: the #GType
233  */
234
235
236 /**
237  * GAsyncResultIface:
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.
241  *
242  * Interface definition for #GAsyncResult.
243  */
244
245
246 /**
247  * G_TYPE_UCHAR:
248  *
249  * The fundamental type corresponding to #guchar.
250  */
251
252
253 /**
254  * g_dbus_message_get_message_type:
255  * @message: A #GDBusMessage.
256  *
257  * Gets the type of @message.
258  *
259  * Returns: A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration).
260  * Since: 2.26
261  */
262
263
264 /**
265  * SECTION:gdbusnamewatchin:
266  * @title: Watching Bus Names
267  * @short_description: Simple API for watching bus names
268  * @include: gio/gio.h
269  *
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>
272  */
273
274
275 /**
276  * GDBusProxy:g-flags:
277  *
278  * Flags from the #GDBusProxyFlags enumeration.
279  *
280  * Since: 2.26
281  */
282
283
284 /**
285  * g_socket_listener_new:
286  *
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().
290  *
291  * Returns: a new #GSocketListener.
292  * Since: 2.22
293  */
294
295
296 /**
297  * g_tls_client_connection_set_use_ssl3:
298  * @conn: the #GTlsClientConnection
299  * @use_ssl3: whether to use SSL 3.0
300  *
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.
306  *
307  * Since: 2.28
308  */
309
310
311 /**
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.
318  *
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.
322  *
323  * Returns: An identifier (never 0) that an be used with
324  * Rename to: g_bus_watch_name
325  * Since: 2.26
326  */
327
328
329 /**
330  * g_tls_connection_set_certificate:
331  * @conn: a #GTlsConnection
332  * @certificate: the certificate to use for @conn
333  *
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
337  * time.
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
349  * non-%NULL.)
350  *
351  * Since: 2.28
352  */
353
354
355 /**
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
361  *
362  * The type of the @set_property function of #GObjectClass.
363  */
364
365
366 /**
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.
373  *
374  *
375  */
376
377
378 /**
379  * g_converter_output_stream_new:
380  * @base_stream: a #GOutputStream
381  * @converter: a #GConverter
382  *
383  * Creates a new converter output stream for the @base_stream.
384  *
385  * Returns: a new #GOutputStream.
386  */
387
388
389 /**
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
396  *
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
404  * writable.
405  *
406  * Since: 2.28
407  */
408
409
410 /**
411  * GBaseInitFunc:
412  * @g_class: The #GTypeClass structure to initialize.
413  *
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.
422  */
423
424
425 /**
426  * GUnixMountPoint:
427  *
428  * Defines a Unix mount point (e.g. <filename>/dev</filename>).
429  * This corresponds roughly to a fstab entry.
430  */
431
432
433 /**
434  * g_async_result_get_user_data:
435  * @res: a #GAsyncResult.
436  *
437  * Gets the user data from a #GAsyncResult.
438  *
439  * Returns: (transfer full): the user data for @res.
440  */
441
442
443 /**
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
449  *
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.
456  *
457  * Since: 2.22
458  */
459
460
461 /**
462  * g_socket_check_connect_result:
463  * @socket: a #GSocket
464  * @error: #GError for error reporting, or %NULL to ignore.
465  *
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.
469  *
470  * Returns: %TRUE if no error, %FALSE otherwise, setting @error to the error
471  * Since: 2.22
472  */
473
474
475 /**
476  * g_io_module_new:
477  * @filename: filename of the shared library module.
478  *
479  * Creates a new GIOModule that will load the specific
480  * shared library when in use.
481  * or %NULL on error.
482  *
483  * Returns: a #GIOModule from given @filename,
484  */
485
486
487 /**
488  * GTlsConnection::accept-certificate:
489  * @conn: a #GTlsConnection
490  * @peer_cert: the peer's #GTlsCertificate
491  * @errors: the problems with @peer_cert.
492  *
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
518  * the next time.
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.
525  *
526  * Returns: %TRUE to accept @peer_cert (which will also
527  * Since: 2.28
528  */
529
530
531 /**
532  * GOptionArgFunc:
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.
537  *
538  * The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK
539  * options.
540  * occurred, in which case @error should be set with g_set_error()
541  *
542  * Returns: %TRUE if the option was successfully parsed, %FALSE if an error
543  */
544
545
546 /**
547  * g_application_new:
548  * @application_id: the application id
549  * @flags: the application flags
550  * @returns: a new #GApplication instance
551  *
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().
555  */
556
557
558 /**
559  * g_dbus_connection_get_capabilities:
560  * @connection: A #GDBusConnection.
561  *
562  * Gets the capabilities negotiated with the remote peer
563  *
564  * Returns: Zero or more flags from the #GDBusCapabilityFlags enumeration.
565  * Since: 2.26
566  */
567
568
569 /**
570  * GSrvTarget:
571  *
572  * A single target host/port that a network service is running on.
573  */
574
575
576 /**
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.
582  *
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
601  * version.
602  *
603  * Since: 2.26
604  */
605
606
607 /**
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
613  *
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.
622  *
623  * Returns: a hostname (either ASCII-only, or in ASCII-encoded
624  * Since: 2.22
625  */
626
627
628 /**
629  * GDataStream:newline-type:
630  *
631  * The :newline-type property determines what is considered
632  * as a line ending when reading complete lines from the stream.
633  */
634
635
636 /**
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.
641  *
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.
645  */
646
647
648 /**
649  * GInitiallyUnowned:
650  *
651  * All the fields in the <structname>GInitiallyUnowned</structname> structure
652  * are private to the #GInitiallyUnowned implementation and should never be
653  * accessed directly.
654  */
655
656
657 /**
658  * GApplication:
659  *
660  * The <structname>GApplication</structname> structure contains private
661  * data and should only be accessed using the provided API
662  *
663  * Since: 2.26
664  */
665
666
667 /**
668  * SECTION:gdbusnameownin:
669  * @title: Owning Bus Names
670  * @short_description: Simple API for owning bus names
671  * @include: gio/gio.h
672  *
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>
675  */
676
677
678 /**
679  * GInetAddress:is-loopback:
680  *
681  * Whether this is the loopback address for its family.
682  * See g_inet_address_get_is_loopback().
683  *
684  * Since: 2.22
685  */
686
687
688 /**
689  * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER:
690  *
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
696  * was zero.
697  */
698
699
700 /**
701  * GTypeInterface:
702  *
703  * An opaque structure used as the base of all interface types.
704  */
705
706
707 /**
708  * G_TYPE_VALUE:
709  *
710  * The type ID of the "GValue" type which is a boxed type,
711  * used to pass around pointers to GValues.
712  */
713
714
715 /**
716  * GSettings:path:
717  *
718  * The path within the backend where the settings are stored.
719  */
720
721
722 /**
723  * GDBusMethodInvocationClass:
724  *
725  * Class structure for #GDBusMethodInvocation.
726  *
727  * Since: 2.26
728  */
729
730
731 /**
732  * G_PARAM_SPEC_TYPE_NAME:
733  * @pspec: a valid #GParamSpec
734  *
735  * Retrieves the #GType name of this @pspec.
736  */
737
738
739 /**
740  * g_dbus_method_invocation_get_user_data: (skip)
741  * @invocation: A #GDBusMethodInvocation.
742  *
743  * Gets the @user_data #gpointer passed to g_dbus_connection_register_object().
744  *
745  * Returns: A #gpointer.
746  * Since: 2.26
747  */
748
749
750 /**
751  * g_unix_mount_point_guess_icon:
752  * @mount_point: a #GUnixMountPoint
753  *
754  * Guesses the icon of a Unix mount point.
755  *
756  * Returns: (transfer full): a #GIcon
757  */
758
759
760 /**
761  * g_settings_get:
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
766  *
767  * Gets the value that is stored at @key in @settings.
768  * A convenience function that combines g_settings_get_value() with
769  * g_variant_get().
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.
773  *
774  * Since: 2.26
775  */
776
777
778 /**
779  * g_socket_control_message_get_size:
780  * @message: a #GSocketControlMessage
781  *
782  * Returns the space required for the control message, not including
783  * headers or alignment.
784  *
785  * Returns: The number of bytes required.
786  * Since: 2.22
787  */
788
789
790 /**
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
795  *
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.
799  * That's quite rare.
800  * It is a programmer error to call this function for a schema that
801  * has an explicitly specified path.
802  *
803  * Since: 2.26
804  */
805
806
807 /**
808  * g_file_info_set_edit_name:
809  * @info: a #GFileInfo.
810  * @edit_name: a string containing an edit name.
811  *
812  * Sets the edit name for the current file.
813  * See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME.
814  */
815
816
817 /**
818  * g_drive_can_start:
819  * @drive: a #GDrive.
820  *
821  * Checks if a drive can be started.
822  *
823  * Returns: %TRUE if the @drive can be started, %FALSE otherwise.
824  * Since: 2.22
825  */
826
827
828 /**
829  * g_socket_service_is_active:
830  * @service: a #GSocketService
831  *
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.
836  *
837  * Returns: %TRUE if the service is active, %FALSE otherwise
838  * Since: 2.22
839  */
840
841
842 /**
843  * G_NODE_IS_LEAF:
844  * @node: a #GNode
845  *
846  * Returns %TRUE if a #GNode is a leaf node.
847  * (i.e. it has no children)
848  *
849  * Returns: %TRUE if the #GNode is a leaf node
850  */
851
852
853 /**
854  * GTlsConnection:rehandshake-mode:
855  *
856  * The rehandshaking mode. See
857  * g_tls_connection_set_rehandshake_mode().
858  *
859  * Since: 2.28
860  */
861
862
863 /**
864  * g_proxy_address_get_usernam:
865  * @proxy: a #GProxyAddress
866  *
867  * Gets @proxy's username.
868  *
869  * Returns: the @proxy's username
870  * Since: 2.26
871  */
872
873
874 /**
875  * g_initable_init:
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.
879  *
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.
897  *
898  * Returns: %TRUE if successful. If an error has occurred, this function will
899  * Since: 2.22
900  */
901
902
903 /**
904  * g_drive_enumerate_identifiers:
905  * @drive: a #GDrive
906  *
907  * Gets the kinds of identifiers that @drive has.
908  * Use g_drive_get_identifer() to obtain the identifiers
909  * themselves.
910  * kinds of identifiers. Use g_strfreev() to free.
911  *
912  * Returns: (transfer full): a %NULL-terminated array of strings containing
913  */
914
915
916 /**
917  * g_volume_monitor_get_volumes:
918  * @volume_monitor: a #GVolumeMonitor.
919  *
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().
923  *
924  * Returns: (element-type GVolume) (transfer full): a #GList of #GVolume objects.
925  */
926
927
928 /**
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.
933  *
934  * Creates a new #GDBusMessage for a signal emission.
935  *
936  * Returns: A #GDBusMessage. Free with g_object_unref().
937  * Since: 2.26
938  */
939
940
941 /**
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
948  *
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>
958  * writable.
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.
963  *
964  * Since: 2.26
965  */
966
967
968 /**
969  * g_memory_input_stream_new_from_data:
970  * @data: input 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
973  *
974  * Creates a new #GMemoryInputStream with data in memory of a given size.
975  *
976  * Returns: new #GInputStream read from @data of @len bytes.
977  */
978
979
980 /**
981  * G_ENUM_CLASS_TYPE_NAME:
982  * @class: a #GEnumClass
983  *
984  * Get the static type name from a given #GEnumClass structure.
985  *
986  * Returns: the type name.
987  */
988
989
990 /**
991  * GInputVector:
992  * @buffer: Pointer to a buffer where data will be written.
993  * @size: the available size in @buffer.
994  *
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.
999  *
1000  * Since: 2.22
1001  */
1002
1003
1004 /**
1005  * g_socket_connection_get_socket:
1006  * @connection: a #GSocketConnection
1007  *
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.
1011  *
1012  * Returns: (transfer none): a #GSocketAddress or %NULL on error.
1013  * Since: 2.22
1014  */
1015
1016
1017 /**
1018  * g_input_stream_is_closed:
1019  * @stream: input stream.
1020  *
1021  * Checks if an input stream is closed.
1022  *
1023  * Returns: %TRUE if the stream is closed.
1024  */
1025
1026
1027 /**
1028  * g_credentials_get_native: (skip)
1029  * @credentials: A #GCredentials.
1030  * @native_type: The type of native credentials to get.
1031  *
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.
1038  *
1039  * Returns: The pointer to native credentials or %NULL if the
1040  * Since: 2.26
1041  */
1042
1043
1044 /**
1045  * G_TYPE_PARAM_UCHAR:
1046  *
1047  * The #GType of #GParamSpecUChar.
1048  */
1049
1050
1051 /**
1052  * G_TYPE_PARAM_POINTER:
1053  *
1054  * The #GType of #GParamSpecPointer.
1055  */
1056
1057
1058 /**
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
1069  *
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.
1081  *
1082  * Returns: %TRUE if successful. If an error
1083  */
1084
1085
1086 /**
1087  * g_inet_address_to_bytes:
1088  * @address: a #GInetAddress
1089  *
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().
1093  *
1094  * Returns: a pointer to an internal array of the bytes in @address,
1095  * Since: 2.22
1096  */
1097
1098
1099 /**
1100  * G_TYPE_HASH_TABLE:
1101  *
1102  * The #GType for a boxed type holding a #GHashTable reference.
1103  *
1104  * Since: 2.10
1105  */
1106
1107
1108 /**
1109  * g_file_get_path:
1110  * @file: input #GFile.
1111  *
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.
1116  *
1117  * Returns: string containing the #GFile's path, or %NULL if
1118  */
1119
1120
1121 /**
1122  * GIOErrorEnum:
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
1167  *
1168  * Error codes returned by GIO functions.
1169  */
1170
1171
1172 /**
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.
1178  *
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.
1184  *
1185  * Returns: (transfer full): a #GFileInfo, or %NULL on error.
1186  */
1187
1188
1189 /**
1190  * G_IS_PARAM_SPEC_ENUM:
1191  * @pspec: a valid #GParamSpec instance
1192  *
1193  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM.
1194  *
1195  * Returns: %TRUE on success.
1196  */
1197
1198
1199 /**
1200  * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME:
1201  *
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
1204  * the UI.
1205  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
1206  */
1207
1208
1209 /**
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
1215  *
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().
1220  *
1221  * Since: 2.26
1222  */
1223
1224
1225 /**
1226  * G_TYPE_INTERFACE:
1227  *
1228  * The fundamental type from which all interfaces are derived.
1229  */
1230
1231
1232 /**
1233  * g_file_mount_enclosing_volume_finish:
1234  * @location: input #GFile.
1235  * @result: a #GAsyncResult.
1236  * @error: a #GError, or %NULL
1237  *
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.
1241  *
1242  * Returns: %TRUE if successful. If an error
1243  */
1244
1245
1246 /**
1247  * g_application_id_is_valid:
1248  * @application_id: a potential application identifier
1249  * @returns: %TRUE if @application_id is valid
1250  *
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
1255  * reproduced here:
1256  * <itemizedlist>
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>
1262  * </itemizedlist>
1263  */
1264
1265
1266 /**
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
1275  *
1276  * Begins asynchronously performing a DNS SRV lookup for the given
1277  * get the final result. See g_resolver_lookup_service() for more
1278  * details.
1279  *
1280  * Since: 2.22
1281  */
1282
1283
1284 /**
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
1290  *
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>&lt;protocol&gt;://[user[:password]@]host:port</literal>
1294  * or <literal>direct://</literal>, where &lt;protocol&gt; 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
1300  * (such as http).
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.
1304  * g_strfreev().
1305  *
1306  * Returns: (transfer full) (element-type utf8): A NULL-terminated array of proxy URIs. Must be freed with
1307  * Since: 2.26
1308  */
1309
1310
1311 /**
1312  * g_data_output_stream_new:
1313  * @base_stream: a #GOutputStream.
1314  *
1315  * Creates a new data output stream for @base_stream.
1316  *
1317  * Returns: #GDataOutputStream.
1318  */
1319
1320
1321 /**
1322  * SECTION:gpollableinputstrea:
1323  * @short_description: Interface for pollable input streams
1324  * @include: gio/gio.h
1325  * @see_also: #GInputStream, #GPollableOutputStream, #GFileDescriptorBased
1326  *
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.
1331  *
1332  * Since: 2.28
1333  */
1334
1335
1336 /**
1337  * GParamSpecString:
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
1345  *
1346  * A #GParamSpec derived structure that contains the meta data for string
1347  * properties.
1348  */
1349
1350
1351 /**
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
1356  *
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.
1368  *
1369  * Returns: %TRUE on successful creation, %FALSE otherwise.
1370  */
1371
1372
1373 /**
1374  * g_zlib_compressor_set_file_info:
1375  * @compressor: a #GZlibCompressor
1376  * @file_info: (allow-none): a #GFileInfo
1377  *
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().
1384  *
1385  * Note: it is an error to call this function while a compression is in
1386  * Since: 2.26
1387  */
1388
1389
1390 /**
1391  * g_cancellable_make_pollfd:
1392  * @cancellable: a #GCancellable or %NULL
1393  * @pollfd: a pointer to a #GPollFD
1394  *
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
1398  * windows.
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.
1410  *
1411  * Returns: %TRUE if @pollfd was successfully initialized, %FALSE on
1412  * Since: 2.22
1413  */
1414
1415
1416 /**
1417  * g_file_icon_get_file:
1418  * @icon: a #GIcon.
1419  *
1420  * Gets the #GFile associated with the given @icon.
1421  *
1422  * Returns: (transfer none): a #GFile, or %NULL.
1423  */
1424
1425
1426 /**
1427  * GSocketService:
1428  *
1429  * A helper class for handling accepting incomming connections in the
1430  * glib mainloop.
1431  *
1432  * Since: 2.22
1433  */
1434
1435
1436 /**
1437  * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME:
1438  *
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.
1442  */
1443
1444
1445 /**
1446  * g_seekable_seek:
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.
1452  *
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.
1459  *
1460  * Returns: %TRUE if successful. If an error
1461  */
1462
1463
1464 /**
1465  * G_TYPE_IS_INTERFACE:
1466  * @type: A #GType value.
1467  *
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).
1475  *
1476  * Returns: %TRUE on success.
1477  */
1478
1479
1480 /**
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.
1485  *
1486  * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().
1487  *
1488  * Since: 2.26
1489  */
1490
1491
1492 /**
1493  * SECTION:gcontenttyp:
1494  * @short_description: Platform-specific content typing
1495  * @include: gio/gio.h
1496  *
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.
1501  */
1502
1503
1504 /**
1505  * GDBusConnection:locked:
1506  *
1507  * A boolean specifying whether the message is locked.
1508  *
1509  * Since: 2.26
1510  */
1511
1512
1513 /**
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.
1518  *
1519  * Finishes an operation started with g_dbus_proxy_call().
1520  * return values. Free with g_variant_unref().
1521  *
1522  * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
1523  * Since: 2.26
1524  */
1525
1526
1527 /**
1528  * g_socket_client_get_timeout:
1529  * @client: a #GSocketClient
1530  *
1531  * Gets the I/O timeout time for sockets created by @client.
1532  * See g_socket_client_set_timeout() for details.
1533  *
1534  * Returns: the timeout in seconds
1535  * Since: 2.26
1536  */
1537
1538
1539 /**
1540  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT:
1541  *
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.
1544  */
1545
1546
1547 /**
1548  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT:
1549  *
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.
1552  */
1553
1554
1555 /**
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.
1561  *
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.
1568  *
1569  * Returns: %TRUE if @dest was filled in, %FALSE on error
1570  * Since: 2.22
1571  */
1572
1573
1574 /**
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.
1581  *
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.
1585  *
1586  * Returns: An identifier (never 0) that an be used with
1587  * Rename to: g_bus_own_name_on_connection
1588  * Since: 2.26
1589  */
1590
1591
1592 /**
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.
1598  *
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.
1612  *
1613  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
1614  * Since: 2.22
1615  */
1616
1617
1618 /**
1619  * g_settings_unbind:
1620  * @object: the object
1621  * @property: the property whose binding is removed
1622  *
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
1626  * function.
1627  *
1628  * Since: 2.26
1629  */
1630
1631
1632 /**
1633  * GSeekableIface:
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.
1640  *
1641  * Provides an interface for implementing seekable functionality on I/O Streams.
1642  */
1643
1644
1645 /**
1646  * G_TYPE_PARAM_FLAGS:
1647  *
1648  * The #GType of #GParamSpecFlags.
1649  */
1650
1651
1652 /**
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.
1657  *
1658  * Finishes an asynchronous info query operation.
1659  *
1660  * Returns: (transfer full): #GFileInfo.
1661  */
1662
1663
1664 /**
1665  * GInetAddress:is-mc-link-local:
1666  *
1667  * Whether this is a link-local multicast address.
1668  * See g_inet_address_get_is_mc_link_local().
1669  *
1670  * Since: 2.22
1671  */
1672
1673
1674 /**
1675  * GUnixCredentialsMessage:credentials:
1676  *
1677  * The credentials stored in the message.
1678  *
1679  * Since: 2.26
1680  */
1681
1682
1683 /**
1684  * g_mount_is_shadowed:
1685  * @mount: A #GMount.
1686  *
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.
1707  *
1708  * Returns: %TRUE if @mount is shadowed.
1709  * Since: 2.20
1710  */
1711
1712
1713 /**
1714  * GDBusMethodInfo:
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.
1720  *
1721  * Information about a method on an D-Bus interface.
1722  *
1723  * Since: 2.26
1724  */
1725
1726
1727 /**
1728  * G_TYPE_INITIALLY_UNOWNED:
1729  *
1730  * The type for #GInitiallyUnowned.
1731  */
1732
1733
1734 /**
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.
1741  *
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().
1747  */
1748
1749
1750 /**
1751  * GIOSchedulerJobFunc:
1752  * @job: a #GIOSchedulerJob.
1753  * @cancellable: optional #GCancellable object, %NULL to ignore.
1754  * @user_data: the data to pass to callback function
1755  *
1756  * I/O Job function.
1757  * Note that depending on whether threads are available, the
1758  * #GIOScheduler may run jobs in separate threads or in an idle
1759  * in the mainloop.
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)
1763  *
1764  * Returns: %TRUE if this function should be called again to
1765  */
1766
1767
1768 /**
1769  * g_dbus_message_set_serial:
1770  * @message: A #GDBusMessage.
1771  * @serial: A #guint32.
1772  *
1773  * Sets the serial for @message.
1774  *
1775  * Since: 2.26
1776  */
1777
1778
1779 /**
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.
1784  *
1785  * Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer.
1786  *
1787  * Returns: %TRUE if the peer is authorized, %FALSE if not.
1788  * Since: 2.26
1789  */
1790
1791
1792 /**
1793  * GInterfaceInfo:
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
1797  *
1798  * A structure that provides information to the type system which is
1799  * used specifically for managing interface types.
1800  */
1801
1802
1803 /**
1804  * g_io_stream_get_output_stream:
1805  * @stream: a #GIOStream
1806  *
1807  * Gets the output stream for this object. This is used for
1808  * writing.
1809  * Do not free.
1810  *
1811  * Returns: (transfer none): a #GOutputStream, owned by the #GIOStream.
1812  * Since: 2.22
1813  */
1814
1815
1816 /**
1817  * G_PARAM_READWRITE:
1818  *
1819  * #GParamFlags value alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE.
1820  */
1821
1822
1823 /**
1824  * GVolume:
1825  *
1826  * Opaque mountable volume object.
1827  */
1828
1829
1830 /**
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
1835  *
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()
1845  *
1846  * Returns: a #GFileAttributeInfoList describing the settable attributes.
1847  */
1848
1849
1850 /**
1851  * G_VALUE_HOLDS_POINTER:
1852  * @value: a valid #GValue structure
1853  *
1854  * Checks whether the given #GValue can hold values of type %G_TYPE_POINTER.
1855  *
1856  * Returns: %TRUE on success.
1857  */
1858
1859
1860 /**
1861  * GActionGroup::action-added:
1862  * @action_group: the #GActionGroup that changed
1863  * @action_name: the name of the action in @action_group
1864  *
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.
1867  *
1868  * Since: 2.28
1869  */
1870
1871
1872 /**
1873  * GWin32InputStream:close-handle:
1874  *
1875  * Whether to close the file handle when the stream is closed.
1876  *
1877  * Since: 2.26
1878  */
1879
1880
1881 /**
1882  * GMemVTable:
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.
1889  *
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.
1893  */
1894
1895
1896 /**
1897  * g_socket_listener_set_backlog:
1898  * @listener: a #GSocketListener
1899  * @listen_backlog: an integer
1900  *
1901  * Sets the listen backlog on the sockets in the listener.
1902  * See g_socket_set_listen_backlog() for details
1903  *
1904  * Since: 2.22
1905  */
1906
1907
1908 /**
1909  * GFilenameCompleter::got-completion-data:
1910  *
1911  * Emitted when the file name completion information comes available.
1912  */
1913
1914
1915 /**
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.
1920  *
1921  * Finishes an operation started with g_dbus_connection_flush().
1922  *
1923  * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
1924  * Since: 2.26
1925  */
1926
1927
1928 /**
1929  * g_dbus_method_invocation_get_message:
1930  * @invocation: A #GDBusMethodInvocation.
1931  *
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
1935  * #GVariant API.
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.
1939  *
1940  * Returns: (transfer none): #GDBusMessage. Do not free, it is owned by @invocation.
1941  * Since: 2.26
1942  */
1943
1944
1945 /**
1946  * GParamSpecBoolean:
1947  * @parent_instance: private #GParamSpec portion
1948  * @default_value: default value for the property specified
1949  *
1950  * A #GParamSpec derived structure that contains the meta data for boolean properties.
1951  */
1952
1953
1954 /**
1955  * g_socket_create_source:
1956  * @socket: a #GSocket
1957  * @condition: a #GIOCondition mask to monitor
1958  * @cancellable: a %GCancellable or %NULL
1959  *
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.
1974  *
1975  * Returns: (transfer full): a newly allocated %GSource, free with g_source_unref().
1976  * Since: 2.22
1977  */
1978
1979
1980 /**
1981  * GTlsCertificate:private-key-pem:
1982  *
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.
1987  *
1988  * Since: 2.28
1989  */
1990
1991
1992 /**
1993  * GInitableIface:
1994  * @g_iface: The parent interface.
1995  * @init: Initializes the object.
1996  *
1997  * Provides an interface for initializing object such that initialization
1998  * may fail.
1999  *
2000  * Since: 2.22
2001  */
2002
2003
2004 /**
2005  * GVfs:
2006  *
2007  * Virtual File System object.
2008  */
2009
2010
2011 /**
2012  * G_IS_PARAM_SPEC_INT:
2013  * @pspec: a valid #GParamSpec instance
2014  *
2015  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT.
2016  *
2017  * Returns: %TRUE on success.
2018  */
2019
2020
2021 /**
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.
2027  *
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).
2033  *
2034  * Returns: whether it wants to stay connected. If it returns %FALSE, the signal
2035  */
2036
2037
2038 /**
2039  * GBinding:
2040  *
2041  * <structname>GBinding</structname> is an opaque structure whose members
2042  * cannot be accessed directly.
2043  *
2044  * Since: 2.26
2045  */
2046
2047
2048 /**
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
2054  *
2055  * The type for the function that is used to convert an object property
2056  * value to a #GVariant for storing it in #GSettings.
2057  */
2058
2059
2060 /**
2061  * G_RESOLVER_ERROR:
2062  *
2063  * Error domain for #GResolver. Errors in this domain will be from the
2064  * #GResolverError enumeration. See #GError for more information on
2065  * error domains.
2066  */
2067
2068
2069 /**
2070  * g_file_attribute_matcher_enumerate_namespace:
2071  * @matcher: a #GFileAttributeMatcher.
2072  * @ns: a string containing a file attribute namespace.
2073  *
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.
2079  *
2080  * Todo: this is awkwardly worded.
2081  * Returns: %TRUE if the matcher matches all of the entries
2082  */
2083
2084
2085 /**
2086  * g_simple_async_result_get_op_res_gboolean:
2087  * @simple: a #GSimpleAsyncResult.
2088  *
2089  * Gets the operation result boolean from within the asynchronous result.
2090  * if the operation's result was %FALSE.
2091  *
2092  * Returns: %TRUE if the operation's result was %TRUE, %FALSE
2093  */
2094
2095
2096 /**
2097  * GDBusServerFlags:
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.
2101  *
2102  * Flags used when creating a #GDBusServer.
2103  *
2104  * Since: 2.26
2105  */
2106
2107
2108 /**
2109  * SECTION:gnetworkaddres:
2110  * @short_description: A GSocketConnectable for resolving hostnames
2111  * @include: gio/gio.h
2112  *
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
2117  * interface.
2118  */
2119
2120
2121 /**
2122  * g_application_get_is_remote:
2123  * @application: a #GApplication
2124  * @returns: %TRUE if @application is remote
2125  *
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().
2134  *
2135  * Since: 2.28
2136  */
2137
2138
2139 /**
2140  * g_tls_client_connection_set_server_identity:
2141  * @conn: the #GTlsClientConnection
2142  * @identity: a #GSocketConnectable describing the expected server identity
2143  *
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.
2148  *
2149  * Since: 2.28
2150  */
2151
2152
2153 /**
2154  * G_OPTION_ERROR:
2155  *
2156  * Error domain for option parsing. Errors in this domain will
2157  * be from the #GOptionError enumeration. See #GError for information on
2158  * error domains.
2159  */
2160
2161
2162 /**
2163  * GVolumeMonitor::drive-changed:
2164  * @volume_monitor: The volume monitor emitting the signal.
2165  * @drive: the drive that changed
2166  *
2167  * Emitted when a drive changes.
2168  */
2169
2170
2171 /**
2172  * G_VALUE_HOLDS_BOOLEAN:
2173  * @value: a valid #GValue structure
2174  *
2175  * Checks whether the given #GValue can hold values of type %G_TYPE_BOOLEAN.
2176  *
2177  * Returns: %TRUE on success.
2178  */
2179
2180
2181 /**
2182  * GMount:
2183  *
2184  * A handle to an object implementing the #GMountIface interface.
2185  */
2186
2187
2188 /**
2189  * GDBusCallFlags:
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.
2192  *
2193  * Flags used in g_dbus_connection_call() and similar APIs.
2194  *
2195  * Since: 2.26
2196  */
2197
2198
2199 /**
2200  * G_VARIANT_TYPE_SIGNATURE:
2201  *
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.
2207  */
2208
2209
2210 /**
2211  * g_credentials_get_unix_user:
2212  * @credentials: A #GCredentials
2213  * @error: Return location for error or %NULL.
2214  *
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.
2220  *
2221  * Returns: The UNIX user identifier or -1 if @error is set.
2222  * Since: 2.26
2223  */
2224
2225
2226 /**
2227  * SECTION:gemblemedico:
2228  * @short_description: Icon with emblems
2229  * @include: gio/gio.h
2230  * @see_also: #GIcon, #GLoadableIcon, #GThemedIcon, #GEmblem
2231  *
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.
2237  */
2238
2239
2240 /**
2241  * g_file_enumerator_set_pending:
2242  * @enumerator: a #GFileEnumerator.
2243  * @pending: a boolean value.
2244  *
2245  * Sets the file enumerator as having pending operations.
2246  */
2247
2248
2249 /**
2250  * g_dbus_proxy_get_default_timeout:
2251  * @proxy: A #GDBusProxy.
2252  *
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.
2257  *
2258  * Returns: Timeout to use for @proxy.
2259  * Since: 2.26
2260  */
2261
2262
2263 /**
2264  * g_application_release:
2265  * @application: a #GApplication
2266  *
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().
2271  */
2272
2273
2274 /**
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().
2279  *
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.
2284  *
2285  * Returns: %TRUE to stop other handlers from being called
2286  * Since: 2.22
2287  */
2288
2289
2290 /**
2291  * g_io_error_from_errno:
2292  * @err_no: Error number as defined in errno.h.
2293  *
2294  * Converts errno.h error codes into GIO error codes.
2295  *
2296  * Returns: #GIOErrorEnum value for the given errno.h error number.
2297  */
2298
2299
2300 /**
2301  * g_file_enumerator_get_container:
2302  * @enumerator: a #GFileEnumerator
2303  *
2304  * Get the #GFile container which is being enumerated.
2305  *
2306  * Returns: (transfer full): the #GFile which is being enumerated.
2307  * Since: 2.18
2308  */
2309
2310
2311 /**
2312  * g_volume_monitor_adopt_orphan_mount:
2313  * @mount: a #GMount object to find a parent for
2314  *
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.
2343  *
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
2346  */
2347
2348
2349 /**
2350  * g_action_get_state:
2351  * @action: a #GAction
2352  *
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.
2359  *
2360  * Returns: (transfer full): the current state of the action
2361  * Since: 2.28
2362  */
2363
2364
2365 /**
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.
2374  *
2375  * Emits a signal.
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.
2378  *
2379  * Returns: %TRUE unless @error is set.
2380  * Since: 2.26
2381  */
2382
2383
2384 /**
2385  * G_PARAM_SPEC_BOOLEAN:
2386  * @pspec: a valid #GParamSpec instance
2387  *
2388  * Cast a #GParamSpec instance into a #GParamSpecBoolean.
2389  */
2390
2391
2392 /**
2393  * GParamSpecUnichar:
2394  * @parent_instance: private #GParamSpec portion
2395  * @default_value: default value for the property specified
2396  *
2397  * A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.
2398  */
2399
2400
2401 /**
2402  * g_emblemed_icon_add_emblem:
2403  * @emblemed: a #GEmblemedIcon
2404  * @emblem: a #GEmblem
2405  *
2406  * Adds @emblem to the #GList of #GEmblem <!-- -->s.
2407  *
2408  * Since: 2.18
2409  */
2410
2411
2412 /**
2413  * g_tls_client_connection_get_use_ssl3:
2414  * @conn: the #GTlsClientConnection
2415  *
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().
2419  *
2420  * Returns: whether @conn will use SSL 3.0
2421  * Since: 2.28
2422  */
2423
2424
2425 /**
2426  * g_emblem_get_icon:
2427  * @emblem: a #GEmblem from which the icon should be extracted.
2428  *
2429  * Gives back the icon from @emblem.
2430  * and should not be modified or freed.
2431  *
2432  * Returns: (transfer full): a #GIcon. The returned object belongs to the emblem
2433  * Since: 2.18
2434  */
2435
2436
2437 /**
2438  * SECTION:gfilemonito:
2439  * @short_description: File Monitor
2440  * @include: gio/gio.h
2441  *
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).
2454  */
2455
2456
2457 /**
2458  * GParamSpecPointer:
2459  * @parent_instance: private #GParamSpec portion
2460  *
2461  * A #GParamSpec derived structure that contains the meta data for pointer properties.
2462  */
2463
2464
2465 /**
2466  * g_dbus_node_info_ref:
2467  * @info: A #GDBusNodeInfo
2468  *
2469  * If @info is statically allocated does nothing. Otherwise increases
2470  * the reference count.
2471  *
2472  * Returns: The same @info.
2473  * Since: 2.26
2474  */
2475
2476
2477 /**
2478  * g_action_get_enabled:
2479  * @action: a #GAction
2480  *
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.
2484  *
2485  * Returns: whether the action is enabled
2486  * Since: 2.28
2487  */
2488
2489
2490 /**
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.
2498  *
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
2509  * operation.
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
2514  * version.
2515  *
2516  * Since: 2.26
2517  */
2518
2519
2520 /**
2521  * g_drive_get_identifier:
2522  * @drive: a #GDrive
2523  * @kind: the kind of identifier to return
2524  *
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.
2528  *
2529  * Returns: a newly allocated string containing the
2530  */
2531
2532
2533 /**
2534  * GThreadedSocketService:
2535  *
2536  * A helper class for handling accepting incomming connections in the
2537  * glib mainloop and handling them in a thread.
2538  *
2539  * Since: 2.22
2540  */
2541
2542
2543 /**
2544  * GMountOperation:password:
2545  *
2546  * The password that is used for authentication when carrying out
2547  * the mount operation.
2548  */
2549
2550
2551 /**
2552  * g_network_service_set_scheme:
2553  * @srv: a #GNetworkService
2554  * @scheme: a URI scheme
2555  *
2556  * Set's the URI scheme used to resolve proxies. By default, the service name
2557  * is used as scheme.
2558  *
2559  * Since: 2.26
2560  */
2561
2562
2563 /**
2564  * g_win32_output_stream_new:
2565  * @handle: a Win32 file handle
2566  * @close_handle: %TRUE to close the handle when done
2567  *
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.
2571  *
2572  * Returns: a new #GOutputStream
2573  * Since: 2.26
2574  */
2575
2576
2577 /**
2578  * GSignalMatchType:
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.
2585  *
2586  * The match types specify what g_signal_handlers_block_matched(),
2587  * g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()
2588  * match signals by.
2589  */
2590
2591
2592 /**
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).
2598  *
2599  * Bit masks used to check or determine specific characteristics of a
2600  * fundamental type.
2601  */
2602
2603
2604 /**
2605  * g_volume_get_mount:
2606  * @volume: a #GVolume.
2607  *
2608  * Gets the mount for the @volume.
2609  * The returned object should be unreffed with g_object_unref()
2610  * when no longer needed.
2611  *
2612  * Returns: (transfer full): a #GMount or %NULL if @volume isn't mounted.
2613  */
2614
2615
2616 /**
2617  * GIOModule:
2618  *
2619  * Opaque module base class for extending GIO.
2620  */
2621
2622
2623 /**
2624  * g_unix_socket_address_new:
2625  * @path: the socket path
2626  *
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().
2630  *
2631  * Returns: a new #GUnixSocketAddress
2632  * Since: 2.22
2633  */
2634
2635
2636 /**
2637  * GMountOperation:password-save:
2638  *
2639  * Determines if and how the password information should be saved.
2640  */
2641
2642
2643 /**
2644  * g_pollable_output_stream_can_poll:
2645  * @stream: a #GPollableOutputStream.
2646  *
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.
2653  *
2654  * Returns: %TRUE if @stream is pollable, %FALSE if not.
2655  * Since: 2.28
2656  */
2657
2658
2659 /**
2660  * g_inet_address_get_is_mc_global:
2661  * @address: a #GInetAddress
2662  *
2663  * Tests whether @address is a global multicast address.
2664  *
2665  * Returns: %TRUE if @address is a global multicast address.
2666  * Since: 2.22
2667  */
2668
2669
2670 /**
2671  * GPermission:can-acquire:
2672  *
2673  * %TRUE if it is generally possible to acquire the permission by calling
2674  * g_permission_acquire().
2675  */
2676
2677
2678 /**
2679  * GMemoryOutputStream:realloc-function:
2680  *
2681  * Function with realloc semantics called to enlarge the buffer.
2682  *
2683  * Since: 2.24
2684  */
2685
2686
2687 /**
2688  * g_unix_input_stream_get_close_fd:
2689  * @stream: a #GUnixInputStream
2690  *
2691  * Returns whether the file descriptor of @stream will be
2692  * closed when the stream is closed.
2693  *
2694  * Returns: %TRUE if the file descriptor is closed when done
2695  * Since: 2.20
2696  */
2697
2698
2699 /**
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.
2709  *
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.
2724  *
2725  * Returns: A #GDBusProxy or %NULL if error is set. Free with g_object_unref().
2726  * Since: 2.26
2727  */
2728
2729
2730 /**
2731  * g_try_new0:
2732  * @struct_type: the type of the elements to allocate
2733  * @n_structs: the number of elements to allocate
2734  *
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.
2740  *
2741  * Since: 2.8
2742  * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
2743  */
2744
2745
2746 /**
2747  * SECTION:gdbusconnectio:
2748  * @short_description: D-Bus Connections
2749  * @include: gio/gio.h
2750  *
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>
2762  */
2763
2764
2765 /**
2766  * SECTION:gfileinputstrea:
2767  * @short_description: File input streaming operations
2768  * @include: gio/gio.h
2769  * @see_also: #GInputStream, #GDataInputStream, #GSeekable
2770  *
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().
2779  */
2780
2781
2782 /**
2783  * g_socket_client_new:
2784  *
2785  * Creates a new #GSocketClient with the default options.
2786  * Free the returned object with g_object_unref().
2787  *
2788  * Returns: a #GSocketClient.
2789  * Since: 2.22
2790  */
2791
2792
2793 /**
2794  * GDBusProxy:g-connection:
2795  *
2796  * The #GDBusConnection the proxy is for.
2797  *
2798  * Since: 2.26
2799  */
2800
2801
2802 /**
2803  * g_file_enumerator_has_pending:
2804  * @enumerator: a #GFileEnumerator.
2805  *
2806  * Checks if the file enumerator has pending operations.
2807  *
2808  * Returns: %TRUE if the @enumerator has pending operations.
2809  */
2810
2811
2812 /**
2813  * g_socket_send_to:
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.
2820  *
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.
2825  * on error
2826  *
2827  * Returns: Number of bytes written (which may be less than @size), or -1
2828  * Since: 2.22
2829  */
2830
2831
2832 /**
2833  * g_file_new_for_uri:
2834  * @uri: a UTF8 string containing a URI.
2835  *
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
2839  * not supported.
2840  *
2841  * Returns: (transfer full): a #GFile for the given @uri.
2842  */
2843
2844
2845 /**
2846  * g_mount_operation_set_anonymous:
2847  * @op: a #GMountOperation.
2848  * @anonymous: boolean value.
2849  *
2850  * Sets the mount operation to use an anonymous user if @anonymous is %TRUE.
2851  */
2852
2853
2854 /**
2855  * G_TYPE_PARAM_OBJECT:
2856  *
2857  * The #GType of #GParamSpecObject.
2858  */
2859
2860
2861 /**
2862  * SECTION:
2863  * @title: GUnixFDMessage
2864  * @short_description: A GSocketControlMessage containing a GUnixFDList
2865  * @include: gio/gunixfdmessage.h
2866  * @see_also: #GUnixConnection, #GUnixFDList, #GSocketControlMessage
2867  *
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>&lt;gio/gunixfdmessage.h&gt;</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.
2878  *
2879  * G_socket_receive_message() over unix sockets (ie: sockets in the
2880  */
2881
2882
2883 /**
2884  * SECTION:gdriv:
2885  * @short_description: Drive management
2886  * @include: gio/gio.h
2887  *
2888  * #GDrive - this represent a piece of hardware connected to the machine.
2889  * It's generally only created for removable hardware or hardware with
2890  * removable media.
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.
2910  */
2911
2912
2913 /**
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
2919  *
2920  * The type of the @complete_type_info function of #GTypePluginClass.
2921  */
2922
2923
2924 /**
2925  * g_dbus_message_get_header_fields:
2926  * @message: A #GDBusMessage.
2927  *
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().
2931  *
2932  * Returns: An array of header fields terminated by
2933  * Since: 2.26
2934  */
2935
2936
2937 /**
2938  * g_application_get_application_id:
2939  * @application: a #GApplication
2940  * @returns: the identifier for @application, owned by @application
2941  *
2942  * Gets the unique identifier for @application.
2943  *
2944  * Since: 2.28
2945  */
2946
2947
2948 /**
2949  * g_socket_connection_factory_create_connection:
2950  * @socket: a #GSocket
2951  *
2952  * Creates a #GSocketConnection subclass of the right type for
2953  *
2954  * Returns: (transfer full): a #GSocketConnection
2955  * Since: 2.22
2956  */
2957
2958
2959 /**
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
2965  *
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.
2970  */
2971
2972
2973 /**
2974  * g_file_trash:
2975  * @file: #GFile to send to trash.
2976  * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
2977  * @error: a #GError, or %NULL
2978  *
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.
2986  *
2987  * Returns: %TRUE on successful trash, %FALSE otherwise.
2988  */
2989
2990
2991 /**
2992  * g_unix_mounts_get:
2993  * @time_read: (allow-none): guint64 to contain a timestamp, or %NULL
2994  *
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().
2999  *
3000  * Returns: (element-type utf8) (transfer full): a #GList of the UNIX mounts.
3001  */
3002
3003
3004 /**
3005  * SECTION:gappinf:
3006  * @short_description: Application information and launch contexts
3007  * @include: gio/gio.h
3008  *
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
3032  * illustrates this:
3033  * <programlisting>
3034  * GFile *f;
3035  * char *uri;
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
3039  * g_free (uri);
3040  * if (g_file_has_uri_scheme (file, "cdda"))
3041  * {
3042  * // do something special with uri
3043  * }
3044  * g_object_unref (file);
3045  * </programlisting>
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.
3052  */
3053
3054
3055 /**
3056  * G_PRIORITY_LOW:
3057  *
3058  * Use this for very low priority background tasks.
3059  * It is not used within GLib or GTK+.
3060  */
3061
3062
3063 /**
3064  * g_proxy_address_get_destination_por:
3065  * @proxy: a #GProxyAddress
3066  *
3067  * Gets @proxy's destination port.
3068  *
3069  * Returns: the @proxy's destination port
3070  * Since: 2.26
3071  */
3072
3073
3074 /**
3075  * g_action_group_get_action_state_type:
3076  * @action_group: a #GActionGroup
3077  * @action_name: the name of the action to query
3078  *
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.
3090  *
3091  * Returns: (transfer full): the state type, if the action is stateful
3092  * Since: 2.28
3093  */
3094
3095
3096 /**
3097  * GDriveStartFlags:
3098  * @G_DRIVE_START_NONE: No flags set.
3099  *
3100  * Flags used when starting a drive.
3101  *
3102  * Since: 2.22
3103  */
3104
3105
3106 /**
3107  * g_application_activate:
3108  * @application: a #GApplication
3109  *
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.
3114  *
3115  * Since: 2.28
3116  */
3117
3118
3119 /**
3120  * G_TYPE_PARAM_STRING:
3121  *
3122  * The #GType of #GParamSpecString.
3123  */
3124
3125
3126 /**
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.
3134  *
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.
3138  *
3139  * Since: 2.22
3140  */
3141
3142
3143 /**
3144  * g_io_error_from_win32_error:
3145  * @error_code: Windows error number.
3146  *
3147  * Converts some common error codes into GIO error codes. The
3148  * fallback value G_IO_ERROR_FAILED is returned for error codes not
3149  * handled.
3150  *
3151  * Returns: #GIOErrorEnum value for the given error number.
3152  * Since: 2.26
3153  */
3154
3155
3156 /**
3157  * g_file_stop_mountable_finish:
3158  * @file: input #GFile.
3159  * @result: a #GAsyncResult.
3160  * @error: a #GError, or %NULL
3161  *
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().
3165  * otherwise.
3166  *
3167  * Returns: %TRUE if the operation finished successfully. %FALSE
3168  * Since: 2.22
3169  */
3170
3171
3172 /**
3173  * g_cancellable_get_current:
3174  *
3175  * Gets the top cancellable from the stack.
3176  * if the stack is empty.
3177  *
3178  * Returns: (transfer none): a #GCancellable from the top of the stack, or %NULL
3179  */
3180
3181
3182 /**
3183  * GSimpleAsyncResult:
3184  *
3185  * A simple implementation of #GAsyncResult.
3186  */
3187
3188
3189 /**
3190  * GTypeFundamentalInfo:
3191  * @type_flags: #GTypeFundamentalFlags describing the characteristics of the fundamental type
3192  *
3193  * A structure that provides information to the type system which is
3194  * used specifically for managing fundamental types.
3195  */
3196
3197
3198 /**
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
3208  *
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.
3215  *
3216  * Since: 2.22
3217  */
3218
3219
3220 /**
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.
3228  *
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
3237  * be used.
3238  * This is a synchronous failable constructor. See
3239  * g_dbus_server_new() for the asynchronous version.
3240  * g_object_unref().
3241  *
3242  * Returns: A #GDBusServer or %NULL if @error is set. Free with
3243  * Since: 2.26
3244  */
3245
3246
3247 /**
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
3253  *
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
3259  *
3260  * Since: 2.26
3261  */
3262
3263
3264 /**
3265  * g_poll_file_monitor_new:
3266  * @file: a #GFile.
3267  *
3268  * Polls @file for changes.
3269  *
3270  * Returns: a new #GFileMonitor for the given #GFile.
3271  */
3272
3273
3274 /**
3275  * GInterfaceInitFunc:
3276  * @g_iface: The interface structure to initialize.
3277  * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure.
3278  *
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.
3282  */
3283
3284
3285 /**
3286  * g_filter_output_stream_get_base_stream:
3287  * @stream: a #GFilterOutputStream.
3288  *
3289  * Gets the base stream for the filter stream.
3290  *
3291  * Returns: (transfer none): a #GOutputStream.
3292  */
3293
3294
3295 /**
3296  * g_unix_mount_compare:
3297  * @mount1: first #GUnixMountEntry to compare.
3298  * @mount2: second #GUnixMountEntry to compare.
3299  *
3300  * Compares two unix mounts.
3301  * or less than @mount2, respectively.
3302  *
3303  * Returns: 1, 0 or -1 if @mount1 is greater than, equal to,
3304  */
3305
3306
3307 /**
3308  * g_socket_client_get_tls:
3309  * @client: a #GSocketClient.
3310  *
3311  * Gets whether @client creates TLS connections. See
3312  * g_socket_client_set_tls() for details.
3313  *
3314  * Returns: whether @client uses TLS
3315  * Since: 2.28
3316  */
3317
3318
3319 /**
3320  * g_action_group_get_action_parameter_type:
3321  * @action_group: a #GActionGroup
3322  * @action_name: the name of the action to query
3323  *
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
3328  * function.
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.
3334  *
3335  * Returns: the parameter type
3336  * Since: 2.28
3337  */
3338
3339
3340 /**
3341  * g_dbus_property_info_unref:
3342  * @info: A #GDBusPropertyInfo.
3343  *
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.
3347  *
3348  * Since: 2.26
3349  */
3350
3351
3352 /**
3353  * G_VARIANT_TYPE_DICTIONARY:
3354  *
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.
3358  */
3359
3360
3361 /**
3362  * GParamSpecObject:
3363  * @parent_instance: private #GParamSpec portion
3364  *
3365  * A #GParamSpec derived structure that contains the meta data for object properties.
3366  */
3367
3368
3369 /**
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
3377  *
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.
3384  *
3385  * Since: 2.22
3386  */
3387
3388
3389 /**
3390  * G_TYPE_BOXED:
3391  *
3392  * The fundamental type from which all boxed types are derived.
3393  */
3394
3395
3396 /**
3397  * GTlsCertificate:private-key:
3398  *
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.
3403  *
3404  * Since: 2.28
3405  */
3406
3407
3408 /**
3409  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED:
3410  *
3411  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started
3412  * degraded.
3413  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
3414  *
3415  * Since: 2.22
3416  */
3417
3418
3419 /**
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
3425  *
3426  * Attempts to acquire the permission represented by @permission.
3427  * This is the first half of the asynchronous version of
3428  * g_permission_acquire().
3429  *
3430  * Since: 2.26
3431  */
3432
3433
3434 /**
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
3440  *
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.
3444  */
3445
3446
3447 /**
3448  * SECTION:gdataoutputstrea:
3449  * @short_description: Data Output Stream
3450  * @include: gio/gio.h
3451  * @see_also: #GOutputStream
3452  *
3453  * Data output stream implements #GOutputStream and includes functions for
3454  * writing data directly to an output stream.
3455  */
3456
3457
3458 /**
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.
3467  *
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().
3474  */
3475
3476
3477 /**
3478  * g_file_info_dup:
3479  * @other: a #GFileInfo.
3480  *
3481  * Duplicates a file info structure.
3482  *
3483  * Returns: (transfer full): a duplicate #GFileInfo of @other.
3484  */
3485
3486
3487 /**
3488  * g_simple_action_group_lookup:
3489  * @simple: a #GSimpleActionGroup
3490  * @action_name: the name of an action
3491  *
3492  * Looks up the action with the name @action_name in the group.
3493  * If no such action exists, returns %NULL.
3494  *
3495  * Returns: (transfer none): a #GAction, or %NULL
3496  * Since: 2.28
3497  */
3498
3499
3500 /**
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
3505  *
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.
3512  *
3513  * Returns: %TRUE on success, %FALSE on error
3514  */
3515
3516
3517 /**
3518  * g_dbus_is_guid:
3519  * @string: The string to check.
3520  *
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).
3524  *
3525  * Returns: %TRUE if @string is a guid, %FALSE otherwise.
3526  * Since: 2.26
3527  */
3528
3529
3530 /**
3531  * g_file_io_stream_get_etag:
3532  * @stream: a #GFileIOStream.
3533  *
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.
3537  *
3538  * Returns: the entity tag for the stream.
3539  * Since: 2.22
3540  */
3541
3542
3543 /**
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
3548  *
3549  * Tries to read a single byte from the stream or the buffer. Will block
3550  * during this read.
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.
3559  *
3560  * Returns: the byte read from the @stream, or -1 on end of stream or error.
3561  */
3562
3563
3564 /**
3565  * GSimpleActionGroup:
3566  *
3567  * The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API.
3568  *
3569  * Since: 2.26
3570  */
3571
3572
3573 /**
3574  * g_socket_set_blocking:
3575  * @socket: a #GSocket.
3576  * @blocking: Whether to use blocking I/O or not.
3577  *
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.
3585  *
3586  * Since: 2.22
3587  */
3588
3589
3590 /**
3591  * g_buffered_input_stream_get_buffer_size:
3592  * @stream: a #GBufferedInputStream
3593  *
3594  * Gets the size of the input buffer.
3595  *
3596  * Returns: the current buffer size.
3597  */
3598
3599
3600 /**
3601  * g_unix_fd_list_peek_fds:
3602  * @list: a #GUnixFDList
3603  * @length: pointer to the length of the returned array, or %NULL
3604  *
3605  * Returns the array of file descriptors that is contained in this
3606  * object.
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.
3615  *
3616  * Returns: an array of file descriptors
3617  * Since: 2.24
3618  */
3619
3620
3621 /**
3622  * g_network_address_new:
3623  * @hostname: the hostname
3624  * @port: the port
3625  *
3626  * Creates a new #GSocketConnectable for connecting to the given
3627  *
3628  * Returns: (transfer full): the new #GNetworkAddress
3629  * Since: 2.22
3630  */
3631
3632
3633 /**
3634  * g_file_info_has_namespace:
3635  * @info: a #GFileInfo.
3636  * @name_space: a file attribute namespace.
3637  *
3638  * Checks if a file info structure has an attribute in the
3639  * specified @name_space.
3640  * %FALSE otherwise.
3641  *
3642  * Returns: %TRUE if @Ginfo has an attribute in @name_space,
3643  * Since: 2.22
3644  */
3645
3646
3647 /**
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.
3653  *
3654  * Puts an unsigned 32-bit integer into the stream.
3655  *
3656  * Returns: %TRUE if @data was successfully added to the @stream.
3657  */
3658
3659
3660 /**
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
3669  *
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.
3674  *
3675  * Returns: %TRUE if the attribute was set, %FALSE otherwise.
3676  */
3677
3678
3679 /**
3680  * g_filename_completer_get_completion_suffix:
3681  * @completer: the filename completer.
3682  * @initial_text: text to be completed.
3683  *
3684  * Obtains a completion for @initial_text from @completer.
3685  * This string is not owned by GIO, so remember to g_free() it
3686  * when finished.
3687  *
3688  * Returns: a completed string, or %NULL if no completion exists.
3689  */
3690
3691
3692 /**
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).
3697  *
3698  * Flags used to set what a #GFileMonitor will watch for.
3699  */
3700
3701
3702 /**
3703  * g_file_icon_new:
3704  * @file: a #GFile.
3705  *
3706  * Creates a new icon for a file.
3707  *
3708  * Returns: (transfer full): a #GIcon for the given @file, or %NULL on error.
3709  */
3710
3711
3712 /**
3713  * g_app_info_get_recommended_for_type:
3714  * @content_type: the content type to find a #GAppInfo for
3715  *
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.
3720  *
3721  * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
3722  * Since: 2.28
3723  */
3724
3725
3726 /**
3727  * SECTION:gnetworkservic:
3728  * @short_description: A GSocketConnectable for resolving SRV records
3729  * @include: gio/gio.h
3730  *
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
3735  * address families.
3736  * See #GSrvTarget for more information about SRV records, and see
3737  * #GSocketConnectable for and example of using the connectable
3738  * interface.
3739  */
3740
3741
3742 /**
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
3750  *
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.
3759  *
3760  * Since: 2.22
3761  */
3762
3763
3764 /**
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
3769  *
3770  * This macro should be used to emit a standard warning about unexpected
3771  * properties in set_property() and get_property() implementations.
3772  */
3773
3774
3775 /**
3776  * g_app_info_get_default_for_uri_scheme:
3777  * @uri_scheme: a string containing a URI scheme.
3778  *
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",
3782  * "ftp" or "sip".
3783  *
3784  * Returns: #GAppInfo for given @uri_scheme or %NULL on error.
3785  */
3786
3787
3788 /**
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
3794  *
3795  * Finishes setting an attribute started in g_file_set_attributes_async().
3796  *
3797  * Returns: %TRUE if the attributes were set correctly, %FALSE otherwise.
3798  */
3799
3800
3801 /**
3802  * G_VARIANT_TYPE_ARRAY:
3803  *
3804  * An indefinite type that is a supertype of every array type.
3805  */
3806
3807
3808 /**
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.
3814  *
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
3817  * accepted.
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
3820  * to the listener.
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.
3824  *
3825  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
3826  * Since: 2.22
3827  */
3828
3829
3830 /**
3831  * g_dbus_node_info_unref:
3832  * @info: A #GDBusNodeInfo.
3833  *
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.
3837  *
3838  * Since: 2.26
3839  */
3840
3841
3842 /**
3843  * g_unix_mount_point_guess_can_eject:
3844  * @mount_point: a #GUnixMountPoint
3845  *
3846  * Guesses whether a Unix mount point can be ejected.
3847  *
3848  * Returns: %TRUE if @mount_point is deemed to be ejectable.
3849  */
3850
3851
3852 /**
3853  * GValueArray:
3854  * @n_values: number of values contained in the array
3855  * @values: array of values
3856  *
3857  * A #GValueArray contains an array of #GValue elements.
3858  */
3859
3860
3861 /**
3862  * g_file_enumerate_children_finish:
3863  * @file: input #GFile.
3864  * @res: a #GAsyncResult.
3865  * @error: a #GError.
3866  *
3867  * Finishes an async enumerate children operation.
3868  * See g_file_enumerate_children_async().
3869  * Free the returned object with g_object_unref().
3870  *
3871  * Returns: (transfer full): a #GFileEnumerator or %NULL if an error occurred.
3872  */
3873
3874
3875 /**
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.
3881  *
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
3888  * kernel.
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
3894  * version.
3895  *
3896  * Since: 2.26
3897  */
3898
3899
3900 /**
3901  * g_inet_address_new_any:
3902  * @family: the address family
3903  *
3904  * Creates a #GInetAddress for the "any" address (unassigned/"don't
3905  * care") for @family.
3906  * for @family.
3907  *
3908  * Returns: a new #GInetAddress corresponding to the "any" address
3909  * Since: 2.22
3910  */
3911
3912
3913 /**
3914  * GProxyAddress:
3915  *
3916  * A #GInetSocketAddress representing a connection via a proxy server
3917  *
3918  * Since: 2.26
3919  */
3920
3921
3922 /**
3923  * g_emblemed_icon_get_emblems:
3924  * @emblemed: a #GEmblemedIcon
3925  *
3926  * Gets the list of emblems for the @icon.
3927  * is owned by @emblemed
3928  *
3929  * Returns: (element-type utf8) (transfer none): a #GList of #GEmblem <!-- -->s that
3930  * Since: 2.18
3931  */
3932
3933
3934 /**
3935  * GMainLoop:
3936  *
3937  * The <structname>GMainLoop</structname> struct is an opaque data type
3938  * representing the main event loop of a GLib or GTK+ application.
3939  */
3940
3941
3942 /**
3943  * g_file_io_stream_query_info_finish:
3944  * @stream: a #GFileIOStream.
3945  * @result: a #GAsyncResult.
3946  * @error: a #GError, %NULL to ignore.
3947  *
3948  * Finalizes the asynchronous query started
3949  * by g_file_io_stream_query_info_async().
3950  *
3951  * Returns: (transfer full): A #GFileInfo for the finished query.
3952  * Since: 2.22
3953  */
3954
3955
3956 /**
3957  * g_file_hash:
3958  * @file: #gconstpointer to a #GFile.
3959  *
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.
3965  *
3966  * Virtual: hash
3967  * Returns: 0 if @file is not a valid #GFile, otherwise an
3968  */
3969
3970
3971 /**
3972  * g_inet_address_new_loopback:
3973  * @family: the address family
3974  *
3975  * Creates a #GInetAddress for the loopback address for @family.
3976  * for @family.
3977  *
3978  * Returns: a new #GInetAddress corresponding to the loopback address
3979  * Since: 2.22
3980  */
3981
3982
3983 /**
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.
3987  *
3988  * Sets the rate limit to which the @mount_monitor will report
3989  * consecutive change events to the mount and mount point entry files.
3990  *
3991  * Since: 2.18
3992  */
3993
3994
3995 /**
3996  * g_file_copy:
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
4004  *
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
4028  * is returned.
4029  * If you are interested in copying the #GFile object itself (not the on-disk
4030  * file), see g_file_dup().
4031  *
4032  * Returns: %TRUE on success, %FALSE otherwise.
4033  */
4034
4035
4036 /**
4037  * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE:
4038  *
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.
4043  */
4044
4045
4046 /**
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
4054  *
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.
4060  *
4061  * Returns: %TRUE if the @attribute was successfully set, %FALSE otherwise.
4062  */
4063
4064
4065 /**
4066  * G_FILE_ATTRIBUTE_STANDARD_TYPE:
4067  *
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.
4071  */
4072
4073
4074 /**
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.
4079  *
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
4082  * done with them.
4083  *
4084  * Returns: (transfer full) (element-type Gio.FileInfo): a #GList of #GFileInfo<!---->s. You must free the list with
4085  */
4086
4087
4088 /**
4089  * g_dbus_is_name:
4090  * @string: The string to check.
4091  *
4092  * Checks if @string is a valid D-Bus bus name (either unique or well-known).
4093  *
4094  * Returns: %TRUE if valid, %FALSE otherwise.
4095  * Since: 2.26
4096  */
4097
4098
4099 /**
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.
4105  *
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.
4110  *
4111  * Since: 2.4
4112  */
4113
4114
4115 /**
4116  * g_tls_backend_supports_tls:
4117  * @backend: the #GTlsBackend
4118  *
4119  * Checks if TLS is supported; if this returns %FALSE for the default
4120  * #GTlsBackend, it means no "real" TLS backend is available.
4121  *
4122  * Returns: whether or not TLS is supported
4123  * Since: 2.28
4124  */
4125
4126
4127 /**
4128  * g_unix_fd_message_new_with_fd_list:
4129  * @fd_list: a #GUnixFDList
4130  *
4131  * Creates a new #GUnixFDMessage containing @list.
4132  *
4133  * Returns: a new #GUnixFDMessage
4134  * Since: 2.24
4135  */
4136
4137
4138 /**
4139  * GDBusConnection:flags:
4140  *
4141  * Flags from the #GDBusConnectionFlags enumeration.
4142  *
4143  * Since: 2.26
4144  */
4145
4146
4147 /**
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
4153  *
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
4161  * this instance).
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).
4184  *
4185  * Use count of zero is delayed for a while (ie: the instance stays
4186  * Since: 2.28
4187  */
4188
4189
4190 /**
4191  * g_socket_service_new:
4192  *
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().
4196  *
4197  * Returns: a new #GSocketService.
4198  * Since: 2.22
4199  */
4200
4201
4202 /**
4203  * G_VALUE_HOLDS_GTYPE:
4204  * @value: a valid #GValue structure
4205  *
4206  * Checks whether the given #GValue can hold values of type %G_TYPE_GTYPE.
4207  *
4208  * Since: 2.12
4209  * Returns: %TRUE on success.
4210  */
4211
4212
4213 /**
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
4218  *
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
4221  * to work.
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
4224  * implementations.
4225  *
4226  * Returns: a file descriptor on success, -1 on error.
4227  * Since: 2.22
4228  */
4229
4230
4231 /**
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.
4237  *
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
4244  * the user made).
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.
4248  *
4249  * Since: 2.22
4250  */
4251
4252
4253 /**
4254  * G_OBJECT_CLASS:
4255  * @class: a valid #GObjectClass
4256  *
4257  * Casts a derived #GObjectClass structure into a #GObjectClass structure.
4258  */
4259
4260
4261 /**
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.
4268  *
4269  * Sets an error within the asynchronous result without a #GError.
4270  */
4271
4272
4273 /**
4274  * GBindingFlags:
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().
4279  *
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.
4283  *
4284  * Since: 2.26
4285  */
4286
4287
4288 /**
4289  * G_CLOSURE_N_NOTIFIERS:
4290  * @cl: a #GClosure
4291  *
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().
4297  *
4298  * Returns: number of notifiers
4299  */
4300
4301
4302 /**
4303  * g_file_info_remove_attribute:
4304  * @info: a #GFileInfo.
4305  * @attribute: a file attribute key.
4306  *
4307  * Removes all cases of @attribute from @info if it exists.
4308  */
4309
4310
4311 /**
4312  * g_tcp_wrapper_connection_get_base_io_stream:
4313  * @conn: a #GTcpWrapperConnection
4314  *
4315  * Get's @conn's base #GIOStream
4316  *
4317  * Returns: (transfer none): @conn's base #GIOStream
4318  */
4319
4320
4321 /**
4322  * G_IS_PARAM_SPEC_GTYPE:
4323  * @pspec: a #GParamSpec
4324  *
4325  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_GTYPE.
4326  *
4327  * Since: 2.10
4328  * Returns: %TRUE on success.
4329  */
4330
4331
4332 /**
4333  * g_unix_input_stream_get_fd:
4334  * @stream: a #GUnixInputStream
4335  *
4336  * Return the UNIX file descriptor that the stream reads from.
4337  *
4338  * Returns: The file descriptor of @stream
4339  * Since: 2.20
4340  */
4341
4342
4343 /**
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.
4349  *
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().
4371  *
4372  * Returns: A filter identifier that can be used with
4373  * Since: 2.26
4374  */
4375
4376
4377 /**
4378  * GAppInfo:
4379  *
4380  * Information about an installed application and methods to launch
4381  * it (with file arguments).
4382  */
4383
4384
4385 /**
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.
4390  *
4391  * Finishes handling a D-Bus method call by returning an error.
4392  * This method will free @invocation, you cannot use it afterwards.
4393  *
4394  * Since: 2.26
4395  */
4396
4397
4398 /**
4399  * g_file_info_get_attribute_string:
4400  * @info: a #GFileInfo.
4401  * @attribute: a file attribute key.
4402  *
4403  * Gets the value of a string attribute. If the attribute does
4404  * not contain a string, %NULL will be returned.
4405  * %NULL otherwise.
4406  *
4407  * Returns: the contents of the @attribute value as a string, or
4408  */
4409
4410
4411 /**
4412  * g_content_type_equals:
4413  * @type1: a content type string
4414  * @type2: a content type string
4415  *
4416  * Compares two content types for equality.
4417  * %FALSE otherwise.
4418  *
4419  * Returns: %TRUE if the two strings are identical or equivalent,
4420  */
4421
4422
4423 /**
4424  * g_file_info_set_size:
4425  * @info: a #GFileInfo.
4426  * @size: a #goffset containing the file's size.
4427  *
4428  * Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info
4429  * to the given size.
4430  */
4431
4432
4433 /**
4434  * GApplication::startup:
4435  * @application: the application
4436  *
4437  * The ::startup signal is emitted on the primary instance immediately
4438  * after registration. See g_activation_register().
4439  */
4440
4441
4442 /**
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.
4450  *
4451  * Flags used when creating a new #GDBusConnection.
4452  *
4453  * Since: 2.26
4454  */
4455
4456
4457 /**
4458  * SECTION:gfileinf:
4459  * @short_description: File Information and Attributes
4460  * @include: gio/gio.h
4461  * @see_also: #GFile, <link linkend="gio-GFileAttribute">GFileAttribute</link>
4462  *
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
4481  * attributes.
4482  */
4483
4484
4485 /**
4486  * g_socket_bind:
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.
4491  *
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.)
4506  *
4507  * Returns: %TRUE on success, %FALSE on error.
4508  * Since: 2.22
4509  */
4510
4511
4512 /**
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
4520  *
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.
4530  *
4531  * Returns: %TRUE on success, %FALSE if there was an error
4532  */
4533
4534
4535 /**
4536  * G_VFS_EXTENSION_POINT_NAME:
4537  *
4538  * Extension point for #GVfs functionality.
4539  * See <link linkend="extending-gio">Extending GIO</link>.
4540  */
4541
4542
4543 /**
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().
4553  *
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().
4561  */
4562
4563
4564 /**
4565  * G_TYPE_IS_VALUE_ABSTRACT:
4566  * @type: A #GType value.
4567  *
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.
4571  *
4572  * Returns: %TRUE on success.
4573  */
4574
4575
4576 /**
4577  * g_cancellable_pop_current:
4578  * @cancellable: a #GCancellable object
4579  *
4580  * Pops @cancellable off the cancellable stack (verifying that @cancellable
4581  * is on the top of the stack).
4582  */
4583
4584
4585 /**
4586  * SECTION:gthemedico:
4587  * @short_description: Icon theming support
4588  * @include: gio/gio.h
4589  * @see_also: #GIcon, #GLoadableIcon
4590  *
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.
4598  */
4599
4600
4601 /**
4602  * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN:
4603  *
4604  * A key in the "standard" namespace for checking if a file is hidden.
4605  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
4606  */
4607
4608
4609 /**
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.
4613  *
4614  * Flags used when an unmounting a mount.
4615  */
4616
4617
4618 /**
4619  * GAsyncInitableIface:
4620  * @g_iface: The parent interface.
4621  * @init_async: Starts initialization of the object.
4622  * @init_finish: Finishes initialization of the object.
4623  *
4624  * Provides an interface for asynchronous initializing object such that
4625  * initialization may fail.
4626  *
4627  * Since: 2.22
4628  */
4629
4630
4631 /**
4632  * G_VALUE_HOLDS_UINT64:
4633  * @value: a valid #GValue structure
4634  *
4635  * Checks whether the given #GValue can hold values of type %G_TYPE_UINT64.
4636  *
4637  * Returns: %TRUE on success.
4638  */
4639
4640
4641 /**
4642  * g_file_info_list_attributes:
4643  * @info: a #GFileInfo.
4644  * @name_space: a file attribute key's namespace.
4645  *
4646  * Lists the file info structure's attributes.
4647  * possible attribute types for the given @name_space, or
4648  * %NULL on error.
4649  *
4650  * Returns: (array zero-terminated=1) (transfer full): a null-terminated array of strings of all of the
4651  */
4652
4653
4654 /**
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
4659  *
4660  * Signals that the enabled status of the named action has changed.
4661  *
4662  * Since: 2.28
4663  */
4664
4665
4666 /**
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.
4674  *
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.
4681  *
4682  * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
4683  * Since: 2.26
4684  */
4685
4686
4687 /**
4688  * GSocketListenerClass:
4689  * @changed: virtual method called when the set of socket listened to changes
4690  *
4691  *
4692  */
4693
4694
4695 /**
4696  * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE:
4697  *
4698  * A key in the "mountable" namespace for getting the unix device.
4699  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
4700  */
4701
4702
4703 /**
4704  * GTypeModuleClass:
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
4708  *
4709  * In order to implement dynamic loading of types based on #GTypeModule,
4710  * the @load and @unload functions in #GTypeModuleClass must be implemented.
4711  */
4712
4713
4714 /**
4715  * SECTION:gbufferedinputstrea:
4716  * @short_description: Buffered Input Stream
4717  * @include: gio/gio.h
4718  * @see_also: #GFilterInputStream, #GInputStream
4719  *
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
4725  * construction.
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.
4731  */
4732
4733
4734 /**
4735  * g_proxy_connect_async:
4736  * @proxy: a #GProxy
4737  * @connection: a #GIOStream
4738  * @proxy_address: a #GProxyAddress
4739  * @cancellable: a #GCancellable
4740  * @callback: a #GAsyncReadyCallback
4741  * @user_data: callback data
4742  *
4743  * Asynchronous version of g_proxy_connect().
4744  *
4745  * Since: 2.26
4746  */
4747
4748
4749 /**
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
4757  *
4758  * Synchronously performs a DNS SRV lookup for the given @service and
4759  * include the leading underscore that appears in the actual DNS
4760  * entry.
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
4772  * interface.
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.)
4775  *
4776  * Returns: (element-type GSrvTarget) (transfer full): a #GList of #GSrvTarget,
4777  * Since: 2.22
4778  */
4779
4780
4781 /**
4782  * g_file_create:
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
4787  *
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.
4804  * %NULL on error.
4805  * Free the returned object with g_object_unref().
4806  *
4807  * Returns: (transfer full): a #GFileOutputStream for the newly created file, or
4808  */
4809
4810
4811 /**
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
4817  *
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().
4836  * or -1 on error.
4837  *
4838  * Returns: the number of bytes read into @stream's buffer, up to @count,
4839  */
4840
4841
4842 /**
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.
4847  *
4848  * Virtual table for handling properties and method calls for a D-Bus
4849  * interface.
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().
4853  *
4854  * Since: 2.26
4855  */
4856
4857
4858 /**
4859  * g_settings_backend_writable_changed:
4860  * @backend: a #GSettingsBackend implementation
4861  * @key: the name of the key
4862  *
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.
4866  *
4867  * Since: 2.26
4868  */
4869
4870
4871 /**
4872  * g_dbus_proxy_new:
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.
4882  *
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
4888  * property changes.
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.
4901  *
4902  * Since: 2.26
4903  */
4904
4905
4906 /**
4907  * g_unix_mount_point_free:
4908  * @mount_point: unix mount point to free.
4909  *
4910  * Frees a unix mount point.
4911  */
4912
4913
4914 /**
4915  * GInetSocketAddress:
4916  *
4917  * An IPv4 or IPv6 socket address, corresponding to a <type>struct
4918  * sockaddr_in</type> or <type>struct sockaddr_in6</type>.
4919  */
4920
4921
4922 /**
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.
4929  *
4930  * Like g_dbus_error_set_dbus_error() but intended for language bindings.
4931  *
4932  * Since: 2.26
4933  */
4934
4935
4936 /**
4937  * g_pollable_input_stream_can_poll:
4938  * @stream: a #GPollableInputStream.
4939  *
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.
4946  *
4947  * Returns: %TRUE if @stream is pollable, %FALSE if not.
4948  * Since: 2.28
4949  */
4950
4951
4952 /**
4953  * GDBusSignalFlags:
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).
4956  *
4957  * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
4958  *
4959  * Since: 2.26
4960  */
4961
4962
4963 /**
4964  * g_drive_start:
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
4971  *
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.
4976  *
4977  * Since: 2.22
4978  */
4979
4980
4981 /**
4982  * g_unix_credentials_message_new_with_credentials:
4983  * @credentials: A #GCredentials object.
4984  *
4985  * Creates a new #GUnixCredentialsMessage holding @credentials.
4986  *
4987  * Returns: a new #GUnixCredentialsMessage
4988  * Since: 2.26
4989  */
4990
4991
4992 /**
4993  * g_file_create_readwrite:
4994  * @file: a #GFile
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
4998  *
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().
5017  *
5018  * Returns: (transfer full): a #GFileIOStream for the newly created file, or %NULL on error.
5019  * Since: 2.22
5020  */
5021
5022
5023 /**
5024  * G_PARAM_SPEC_VALUE_ARRAY:
5025  * @pspec: a valid #GParamSpec instance
5026  *
5027  * Cast a #GParamSpec instance into a #GParamSpecValueArray.
5028  */
5029
5030
5031 /**
5032  * g_dbus_message_set_member:
5033  * @message: A #GDBusMessage.
5034  * @value: The value to set.
5035  *
5036  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
5037  *
5038  * Since: 2.26
5039  */
5040
5041
5042 /**
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.
5050  *
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.
5055  *
5056  * Returns: Number of bytes read, or -1 on error
5057  * Since: 2.22
5058  */
5059
5060
5061 /**
5062  * g_seekable_can_seek:
5063  * @seekable: a #GSeekable.
5064  *
5065  * Tests if the stream supports the #GSeekableIface.
5066  *
5067  * Returns: %TRUE if @seekable can be seeked. %FALSE otherwise.
5068  */
5069
5070
5071 /**
5072  * GCredentialsClass:
5073  *
5074  * Class structure for #GCredentials.
5075  *
5076  * Since: 2.26
5077  */
5078
5079
5080 /**
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.
5086  *
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:
5091  * |[
5092  * static GDBusMessage *
5093  * passive_filter (GDBusConnection *connection
5094  * GDBusMessage    *message,
5095  * gboolean         incoming,
5096  * gpointer         user_data)
5097  * {
5098  * /<!-- -->* inspect @message *<!-- -->/
5099  * return message;
5100  * }
5101  * ]|
5102  * Filter functions that wants to drop a message can simply return %NULL:
5103  * |[
5104  * static GDBusMessage *
5105  * drop_filter (GDBusConnection *connection
5106  * GDBusMessage    *message,
5107  * gboolean         incoming,
5108  * gpointer         user_data)
5109  * {
5110  * if (should_drop_message)
5111  * {
5112  * g_object_unref (message);
5113  * message = NULL;
5114  * }
5115  * return message;
5116  * }
5117  * ]|
5118  * Finally, a filter function may modify a message by copying it:
5119  * |[
5120  * static GDBusMessage *
5121  * modifying_filter (GDBusConnection *connection
5122  * GDBusMessage    *message,
5123  * gboolean         incoming,
5124  * gpointer         user_data)
5125  * {
5126  * GDBusMessage *copy;
5127  * GError *error;
5128  * error = NULL;
5129  * copy = g_dbus_message_copy (message, &error);
5130  * /<!-- -->* handle @error being is set *<!-- -->/
5131  * g_object_unref (message);
5132  * /<!-- -->* modify @copy *<!-- -->/
5133  * return copy;
5134  * }
5135  * ]|
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.
5144  *
5145  * Returns: (transfer full) (allow-none): A #GDBusMessage that will be freed with
5146  * Since: 2.26
5147  */
5148
5149
5150 /**
5151  * g_unix_mount_get_fs_type:
5152  * @mount_entry: a #GUnixMount.
5153  *
5154  * Gets the filesystem type for the unix mount.
5155  *
5156  * Returns: a string containing the file system type.
5157  */
5158
5159
5160 /**
5161  * g_file_attribute_matcher_new:
5162  * @attributes: an attribute string to match.
5163  *
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:
5175  * <table>
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>
5179  * <tbody>
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>
5184  * </tbody></tgroup>
5185  * </table>
5186  *
5187  * Returns: a #GFileAttributeMatcher.
5188  */
5189
5190
5191 /**
5192  * GDBusMethodInvocation:
5193  *
5194  * The #GDBusMethodInvocation structure contains only private data and
5195  * should only be accessed using the provided API.
5196  *
5197  * Since: 2.26
5198  */
5199
5200
5201 /**
5202  * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE:
5203  *
5204  * A key in the "mountable" namespace for getting the #GDriveStartStopType.
5205  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
5206  *
5207  * Since: 2.22
5208  */
5209
5210
5211 /**
5212  * GInetAddress:
5213  *
5214  * An IPv4 or IPv6 internet address.
5215  */
5216
5217
5218 /**
5219  * g_tls_connection_set_require_close_notify:
5220  * @conn: a #GTlsConnection
5221  * @require_close_notify: whether or not to require close notification
5222  *
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.
5247  *
5248  * Since: 2.28
5249  */
5250
5251
5252 /**
5253  * g_pollable_input_stream_is_readable:
5254  * @stream: a #GPollableInputStream.
5255  *
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.
5266  *
5267  * Returns: %TRUE if @stream is readable, %FALSE if not. If an error
5268  * Since: 2.28
5269  */
5270
5271
5272 /**
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.
5277  *
5278  * Flags describing the access control of a D-Bus property.
5279  *
5280  * Since: 2.26
5281  */
5282
5283
5284 /**
5285  * g_node_next_sibling:
5286  * @node: a #GNode
5287  *
5288  * Gets the next sibling of a #GNode.
5289  * or %NULL
5290  *
5291  * Returns: the next sibling of @node, or %NULL if @node is the last node
5292  */
5293
5294
5295 /**
5296  * GTlsServerConnection:
5297  *
5298  * TLS server-side connection. This is the server-side implementation
5299  * of a #GTlsConnection.
5300  *
5301  * Since: 2.28
5302  */
5303
5304
5305 /**
5306  * G_PARAM_SPEC_ENUM:
5307  * @pspec: a valid #GParamSpec instance
5308  *
5309  * Cast a #GParamSpec instance into a #GParamSpecEnum.
5310  */
5311
5312
5313 /**
5314  * g_file_info_get_attribute_type:
5315  * @info: a #GFileInfo.
5316  * @attribute: a file attribute key.
5317  *
5318  * Gets the attribute type for an attribute key.
5319  * %G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set.
5320  *
5321  * Returns: a #GFileAttributeType for the given @attribute, or
5322  */
5323
5324
5325 /**
5326  * g_inet_socket_address_get_port:
5327  * @address: a #GInetSocketAddress
5328  *
5329  * Gets @address's port.
5330  *
5331  * Returns: the port for @address
5332  * Since: 2.22
5333  */
5334
5335
5336 /**
5337  * g_dbus_message_get_destination:
5338  * @message: A #GDBusMessage.
5339  *
5340  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
5341  *
5342  * Returns: The value.
5343  * Since: 2.26
5344  */
5345
5346
5347 /**
5348  * GTimeSpan:
5349  *
5350  * A value representing an interval of time, in microseconds.
5351  *
5352  * Since: 2.26
5353  */
5354
5355
5356 /**
5357  * GDBusNodeInfo:
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.
5363  *
5364  * Information about nodes in a remote object hierarchy.
5365  *
5366  * Since: 2.26
5367  */
5368
5369
5370 /**
5371  * G_TYPE_IS_OBJECT:
5372  * @type: Type id to check
5373  *
5374  * Check if the passed in type id is a %G_TYPE_OBJECT or derived from it.
5375  *
5376  * Returns: %FALSE or %TRUE, indicating whether @type is a %G_TYPE_OBJECT.
5377  */
5378
5379
5380 /**
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
5388  *
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
5392  * needed.
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.
5397  *
5398  * Returns: %TRUE if the @file's contents were successfully loaded.
5399  */
5400
5401
5402 /**
5403  * g_inet_address_get_is_multicast:
5404  * @address: a #GInetAddress
5405  *
5406  * Tests whether @address is a multicast address.
5407  *
5408  * Returns: %TRUE if @address is a multicast address.
5409  * Since: 2.22
5410  */
5411
5412
5413 /**
5414  * GDBusServer:flags:
5415  *
5416  * Flags from the #GDBusServerFlags enumeration.
5417  *
5418  * Since: 2.26
5419  */
5420
5421
5422 /**
5423  * GConverterOutputStream:
5424  *
5425  * An implementation of #GFilterOutputStream that allows data
5426  * conversion.
5427  */
5428
5429
5430 /**
5431  * GSettings:schema:
5432  *
5433  * The name of the schema that describes the types of keys
5434  * for this #GSettings object.
5435  */
5436
5437
5438 /**
5439  * G_TYPE_IS_VALUE_TYPE:
5440  * @type: A #GType value.
5441  *
5442  * Checks if @type is a value type and can be used with g_value_init().
5443  *
5444  * Returns: %TRUE on success.
5445  */
5446
5447
5448 /**
5449  * g_volume_monitor_get_volume_for_uuid:
5450  * @volume_monitor: a #GVolumeMonitor.
5451  * @uuid: the UUID to look for
5452  *
5453  * Finds a #GVolume object by its UUID (see g_volume_get_uuid())
5454  * Free the returned object with g_object_unref().
5455  *
5456  * Returns: (transfer full): a #GVolume or %NULL if no such volume is available.
5457  */
5458
5459
5460 /**
5461  * G_SIGNAL_FLAGS_MASK:
5462  *
5463  * A mask for all #GSignalFlags bits.
5464  */
5465
5466
5467 /**
5468  * G_TYPE_DBUS_INTERFACE_INFO:
5469  *
5470  * The #GType for a boxed type holding a #GDBusInterfaceInfo.
5471  *
5472  * Since: 2.26
5473  */
5474
5475
5476 /**
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
5482  *
5483  * Looks up the enumerated type nick for @value and writes it to @key,
5484  * within @settings.
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
5489  */
5490
5491
5492 /**
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
5497  *
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.
5510  *
5511  * Returns: (transfer full): the new #GNetworkAddress, or %NULL on error
5512  * Since: 2.22
5513  */
5514
5515
5516 /**
5517  * g_newa:
5518  * @struct_type: Type of memory chunks to be allocated
5519  * @n_structs: Number of chunks to be allocated
5520  *
5521  * Wraps g_alloca() in a more typesafe manner.
5522  *
5523  * Returns: Pointer to stack space for @n_structs chunks of type @struct_type
5524  */
5525
5526
5527 /**
5528  * G_IMPLEMENT_INTERFACE_DYNAMIC:
5529  * @TYPE_IFACE: The #GType of the interface to add
5530  * @iface_init: The interface init function
5531  *
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()
5534  * for an example.
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.
5538  *
5539  * Since: 2.24
5540  */
5541
5542
5543 /**
5544  * g_settings_backend_path_changed:
5545  * @backend: a #GSettingsBackend implementation
5546  * @path: the path containing the changes
5547  * @origin_tag: the origin tag
5548  *
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
5559  * easily do so.
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.
5564  *
5565  * Be as long as possible (ie: the longest common prefix of all of the
5566  * Since: 2.26
5567  */
5568
5569
5570 /**
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.
5576  *
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()
5581  * instead.
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
5584  * to the listener.
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.
5588  *
5589  * Returns: (transfer full): a #GSocket on success, %NULL on error.
5590  * Since: 2.22
5591  */
5592
5593
5594 /**
5595  * GVolumeMonitor::mount-removed:
5596  * @volume_monitor: The volume monitor emitting the signal.
5597  * @mount: a #GMount that was removed.
5598  *
5599  * Emitted when a mount is removed.
5600  */
5601
5602
5603 /**
5604  * g_socket_address_get_family:
5605  * @address: a #GSocketAddress
5606  *
5607  * Gets the socket family type of @address.
5608  *
5609  * Returns: the socket family type of @address.
5610  * Since: 2.22
5611  */
5612
5613
5614 /**
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.
5621  *
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().
5626  *
5627  * Since: 2.26
5628  */
5629
5630
5631 /**
5632  * g_unix_mount_at:
5633  * @mount_path: path for a possible unix mount.
5634  * @time_read: guint64 to contain a timestamp.
5635  *
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().
5639  *
5640  * Returns: (transfer full): a #GUnixMount.
5641  */
5642
5643
5644 /**
5645  * g_simple_async_result_get_op_res_gssize:
5646  * @simple: a #GSimpleAsyncResult.
5647  *
5648  * Gets a gssize from the asynchronous result.
5649  *
5650  * Returns: a gssize returned from the asynchronous function.
5651  */
5652
5653
5654 /**
5655  * G_TYPE_DBUS_NODE_INFO:
5656  *
5657  * The #GType for a boxed type holding a #GDBusNodeInfo.
5658  *
5659  * Since: 2.26
5660  */
5661
5662
5663 /**
5664  * g_vfs_get_default:
5665  *
5666  * Gets the default #GVfs for the system.
5667  *
5668  * Returns: (transfer none): a #GVfs.
5669  */
5670
5671
5672 /**
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
5677  *
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.
5681  *
5682  * Returns: a new #GSimpleAction
5683  * Since: 2.28
5684  */
5685
5686
5687 /**
5688  * g_file_mount_mountable_finish:
5689  * @file: input #GFile.
5690  * @result: a #GAsyncResult.
5691  * @error: a #GError, or %NULL
5692  *
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().
5697  *
5698  * Returns: (transfer full): a #GFile or %NULL on error.
5699  */
5700
5701
5702 /**
5703  * G_PARAM_SPEC:
5704  * @pspec: a valid #GParamSpec
5705  *
5706  * Casts a derived #GParamSpec object (e.g. of type #GParamSpecInt) into
5707  * a #GParamSpec object.
5708  */
5709
5710
5711 /**
5712  * g_drive_poll_for_media_finish:
5713  * @drive: a #GDrive.
5714  * @result: a #GAsyncResult.
5715  * @error: a #GError, or %NULL
5716  *
5717  * Finishes an operation started with g_drive_poll_for_media() on a drive.
5718  * %FALSE otherwise.
5719  *
5720  * Returns: %TRUE if the drive has been poll_for_mediaed successfully,
5721  */
5722
5723
5724 /**
5725  * G_TYPE_PARAM_UNICHAR:
5726  *
5727  * The #GType of #GParamSpecUnichar.
5728  */
5729
5730
5731 /**
5732  * g_dbus_message_set_reply_serial:
5733  * @message: A #GDBusMessage.
5734  * @value: The value to set.
5735  *
5736  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
5737  *
5738  * Since: 2.26
5739  */
5740
5741
5742 /**
5743  * GParameter:
5744  * @name: the parameter name
5745  * @value: the parameter value
5746  *
5747  * The <structname>GParameter</structname> struct is an auxiliary structure used
5748  * to hand parameter name/value pairs to g_object_newv().
5749  */
5750
5751
5752 /**
5753  * SECTION:gdbusmethodinvocatio:
5754  * @short_description: Object for handling remote calls
5755  * @include: gio/gio.h
5756  *
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().
5763  */
5764
5765
5766 /**
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.
5775  *
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
5780  * for any errors.
5781  *
5782  * Since: 2.22
5783  */
5784
5785
5786 /**
5787  * GFilterOutputStream:
5788  *
5789  * A base class for all output streams that work on an underlying stream.
5790  */
5791
5792
5793 /**
5794  * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC:
5795  *
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.
5800  */
5801
5802
5803 /**
5804  * GWin32OutputStream:handle:
5805  *
5806  * The file handle that the stream writes to.
5807  *
5808  * Since: 2.26
5809  */
5810
5811
5812 /**
5813  * SECTION:gasyncresul:
5814  * @short_description: Asynchronous Function Results
5815  * @include: gio/gio.h
5816  * @see_also: #GSimpleAsyncResult
5817  *
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:
5840  * |[
5841  * void _theoretical_frobnitz_async (Theoretical         *t,
5842  * GCancellable        *c,
5843  * GAsyncReadyCallback *cb,
5844  * gpointer             u);
5845  * gboolean _theoretical_frobnitz_finish (Theoretical   *t,
5846  * GAsyncResult  *res,
5847  * GError       **e);
5848  * static void
5849  * frobnitz_result_func (GObject      *source_object,
5850  * GAsyncResult *res,
5851  * gpointer      user_data)
5852  * {
5853  * gboolean success = FALSE;
5854  * success = _theoretical_frobnitz_finish (source_object, res, NULL);
5855  * if (success)
5856  * g_printf ("Hurray!\n");
5857  * else
5858  * g_printf ("Uh oh!\n");
5859  * /<!-- -->* ... *<!-- -->/
5860  * }
5861  * int main (int argc, void *argv[])
5862  * {
5863  * /<!-- -->* ... *<!-- -->/
5864  * _theoretical_frobnitz_async (theoretical_data,
5865  * NULL,
5866  * frobnitz_result_func,
5867  * NULL);
5868  * /<!-- -->* ... *<!-- -->/
5869  * }
5870  * ]|
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.
5879  */
5880
5881
5882 /**
5883  * g_icon_new_for_string:
5884  * @str: A string obtained via g_icon_to_string().
5885  * @error: Return location for error.
5886  *
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().
5891  *
5892  * Returns: An object implementing the #GIcon interface or %NULL if
5893  * Since: 2.20
5894  */
5895
5896
5897 /**
5898  * g_app_info_supports_files:
5899  * @appinfo: a #GAppInfo.
5900  *
5901  * Checks if the application accepts files as arguments.
5902  *
5903  * Returns: %TRUE if the @appinfo supports files.
5904  */
5905
5906
5907 /**
5908  * g_action_group_get_action_state:
5909  * @action_group: a #GActionGroup
5910  * @action_name: the name of the action to query
5911  *
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.
5918  *
5919  * Returns: (allow-none): the current state of the action
5920  * Since: 2.28
5921  */
5922
5923
5924 /**
5925  * g_drive_can_stop:
5926  * @drive: a #GDrive.
5927  *
5928  * Checks if a drive can be stopped.
5929  *
5930  * Returns: %TRUE if the @drive can be stopped, %FALSE otherwise.
5931  * Since: 2.22
5932  */
5933
5934
5935 /**
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
5943  *
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
5953  */
5954
5955
5956 /**
5957  * GSimplePermission:
5958  *
5959  * #GSimplePermission is an opaque data structure.  There are no methods
5960  * except for those defined by #GPermission.
5961  */
5962
5963
5964 /**
5965  * G_TYPE_RESERVED_GLIB_LAST:
5966  *
5967  * Last fundamental type number reserved for GLib.
5968  */
5969
5970
5971 /**
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.
5978  *
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.
5991  *
5992  * Returns: (transfer full): a string with the data that was read
5993  */
5994
5995
5996 /**
5997  * GInitable:
5998  *
5999  * Interface for initializable objects.
6000  *
6001  * Since: 2.22
6002  */
6003
6004
6005 /**
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.
6011  *
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
6018  * cancelled.
6019  * See #GCancellable::cancelled for details on how to use this.
6020  * been cancelled.
6021  *
6022  * Returns: The id of the signal handler or 0 if @cancellable has already
6023  * Since: 2.22
6024  */
6025
6026
6027 /**
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().
6035  *
6036  * Flags used when creating a binding. These flags determine in which
6037  * direction the binding works. The default is to synchronize in both
6038  * directions.
6039  */
6040
6041
6042 /**
6043  * g_tls_connection_get_require_close_notify:
6044  * @conn: a #GTlsConnection
6045  *
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.
6049  * notification.
6050  *
6051  * Returns: %TRUE if @conn requires a proper TLS close
6052  * Since: 2.28
6053  */
6054
6055
6056 /**
6057  * GTypeInfo:
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).
6068  *
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
6071  * its instances.
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().
6077  */
6078
6079
6080 /**
6081  * GSimpleAction:enabled:
6082  *
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.
6086  *
6087  * Since: 2.28
6088  */
6089
6090
6091 /**
6092  * g_app_launch_context_new:
6093  *
6094  * Creates a new application launch context. This is not normally used,
6095  * instead you instantiate a subclass of this, such as #GdkAppLaunchContext.
6096  *
6097  * Returns: a #GAppLaunchContext.
6098  */
6099
6100
6101 /**
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.
6106  *
6107  * Sets the operation result within the asynchronous result to a pointer.
6108  */
6109
6110
6111 /**
6112  * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE:
6113  *
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.
6117  */
6118
6119
6120 /**
6121  * g_unix_mount_get_device_path:
6122  * @mount_entry: a #GUnixMount.
6123  *
6124  * Gets the device path for a unix mount.
6125  *
6126  * Returns: a string containing the device path.
6127  */
6128
6129
6130 /**
6131  * g_dbus_error_strip_remote_error:
6132  * @error: A #GError.
6133  *
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.
6139  *
6140  * Returns: %TRUE if information was stripped, %FALSE otherwise.
6141  * Since: 2.26
6142  */
6143
6144
6145 /**
6146  * GParamSpecInt:
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
6151  *
6152  * A #GParamSpec derived structure that contains the meta data for integer properties.
6153  */
6154
6155
6156 /**
6157  * G_PARAM_SPEC_ULONG:
6158  * @pspec: a valid #GParamSpec instance
6159  *
6160  * Cast a #GParamSpec instance into a #GParamSpecULong.
6161  */
6162
6163
6164 /**
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
6170  *
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
6175  * will be returned.
6176  *
6177  * Returns: (transfer full): the deserialized message or %NULL
6178  * Since: 2.22
6179  */
6180
6181
6182 /**
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.
6189  *
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().
6207  *
6208  * Returns: (transfer full): A #GFileEnumerator if successful, %NULL on error.
6209  */
6210
6211
6212 /**
6213  * GTlsCertificate:issuer:
6214  *
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
6218  * available.
6219  *
6220  * Since: 2.28
6221  */
6222
6223
6224 /**
6225  * g_output_stream_clear_pending:
6226  * @stream: output stream
6227  *
6228  * Clears the pending flag on @stream.
6229  */
6230
6231
6232 /**
6233  * G_TYPE_GSTRING:
6234  *
6235  * The #GType for #GString.
6236  */
6237
6238
6239 /**
6240  * g_permission_get_can_release:
6241  * @permission: a #GPermission instance
6242  * @returns: the value of the 'can-release' property
6243  *
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().
6247  *
6248  * Since: 2.26
6249  */
6250
6251
6252 /**
6253  * g_mount_get_default_location:
6254  * @mount: a #GMount.
6255  *
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.
6260  *
6261  * Returns: (transfer full): a #GFile.
6262  */
6263
6264
6265 /**
6266  * G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME:
6267  *
6268  * Extension point for default handler to URI association. See
6269  * <link linkend="extending-gio">Extending GIO</link>.
6270  */
6271
6272
6273 /**
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
6279  *
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).
6283  *
6284  * Returns: The return value of @func
6285  */
6286
6287
6288 /**
6289  * G_IS_FLAGS_CLASS:
6290  * @class: a #GFlagsClass
6291  *
6292  * Checks whether @class "is a" valid #GFlagsClass structure of type %G_TYPE_FLAGS
6293  * or derived.
6294  */
6295
6296
6297 /**
6298  * SECTION:gdatainputstrea:
6299  * @short_description: Data Input Stream
6300  * @include: gio/gio.h
6301  * @see_also: #GInputStream
6302  *
6303  * Data input stream implements #GInputStream and includes functions for
6304  * reading structured data directly from a binary input stream.
6305  */
6306
6307
6308 /**
6309  * g_socket_client_get_family:
6310  * @client: a #GSocketClient.
6311  *
6312  * Gets the socket family of the socket client.
6313  * See g_socket_client_set_family() for details.
6314  *
6315  * Returns: a #GSocketFamily
6316  * Since: 2.22
6317  */
6318
6319
6320 /**
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.
6326  *
6327  * Creates a #GSimpleAsyncResult.
6328  *
6329  * Returns: a #GSimpleAsyncResult.
6330  */
6331
6332
6333 /**
6334  * g_content_type_get_mime_type:
6335  * @type: a content type string
6336  *
6337  * Gets the mime type for the content type, if one is registered.
6338  * or %NULL if unknown.
6339  *
6340  * Returns: (allow-none): the registered mime type for the given @type,
6341  */
6342
6343
6344 /**
6345  * G_FILE_ATTRIBUTE_OWNER_GROUP:
6346  *
6347  * A key in the "owner" namespace for getting the file owner's group.
6348  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
6349  */
6350
6351
6352 /**
6353  * g_file_find_enclosing_mount_async:
6354  * @file: a #GFile
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
6359  *
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.
6365  */
6366
6367
6368 /**
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.
6374  *
6375  * Interface for icons that can be loaded as a stream.
6376  */
6377
6378
6379 /**
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
6386  *
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.
6392  *
6393  * Since: 2.22
6394  */
6395
6396
6397 /**
6398  * SECTION:gproxyresolve:
6399  * @short_description: Asynchronous and cancellable network proxy resolver
6400  * @include: gio/gio.h
6401  *
6402  * #GProxyResolver provides synchronous and asynchronous network proxy
6403  * resolution. #GProxyResolver is used within #GClientSocket through
6404  * the method g_socket_connectable_proxy_enumerate().
6405  */
6406
6407
6408 /**
6409  * g_socket_client_set_enable_proxy:
6410  * @client: a #GSocketClient.
6411  * @enable: whether to enable proxies
6412  *
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.
6417  *
6418  * Since: 2.26
6419  */
6420
6421
6422 /**
6423  * GChecksum:
6424  *
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().
6428  *
6429  * Since: 2.16
6430  */
6431
6432
6433 /**
6434  * G_CCLOSURE_SWAP_DATA:
6435  * @cclosure: a #GCClosure
6436  *
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().
6439  *
6440  * Returns: %TRUE if data has to be swapped.
6441  */
6442
6443
6444 /**
6445  * G_TYPE_IS_DEEP_DERIVABLE:
6446  * @type: A #GType value.
6447  *
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.
6450  *
6451  * Returns: %TRUE on success.
6452  */
6453
6454
6455 /**
6456  * g_file_attribute_matcher_matches:
6457  * @matcher: a #GFileAttributeMatcher.
6458  * @attribute: a file attribute key.
6459  *
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.
6463  *
6464  * Returns: %TRUE if @attribute matches @matcher. %FALSE otherwise.
6465  */
6466
6467
6468 /**
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
6473  *
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.
6479  *
6480  * Returns: (element-type GSrvTarget) (transfer full): a #GList of #GSrvTarget,
6481  * Since: 2.22
6482  */
6483
6484
6485 /**
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
6490  *
6491  * Sets the @attribute to contain the given @attr_value,
6492  * if possible.
6493  */
6494
6495
6496 /**
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.
6501  *
6502  * Finishes an async connect operation. See g_socket_client_connect_to_service_async()
6503  *
6504  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
6505  * Since: 2.22
6506  */
6507
6508
6509 /**
6510  * GTranslateFunc:
6511  * @str: the untranslated string
6512  * @data: user data specified when installing the function, e.g. in g_option_group_set_translate_func()
6513  *
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.
6517  *
6518  * Returns: a translation of the string for the current locale.
6519  */
6520
6521
6522 /**
6523  * G_VOLUME_IDENTIFIER_KIND_HAL_UDI:
6524  *
6525  * The string used to obtain a Hal UDI with g_volume_get_identifier().
6526  */
6527
6528
6529 /**
6530  * g_cancellable_cancel:
6531  * @cancellable: a #GCancellable object.
6532  *
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.
6545  */
6546
6547
6548 /**
6549  * g_dbus_arg_info_ref:
6550  * @info: A #GDBusArgInfo
6551  *
6552  * If @info is statically allocated does nothing. Otherwise increases
6553  * the reference count.
6554  *
6555  * Returns: The same @info.
6556  * Since: 2.26
6557  */
6558
6559
6560 /**
6561  * GVolumeIface:
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.
6582  *
6583  * Interface for implementing operations for mountable volumes.
6584  */
6585
6586
6587 /**
6588  * g_file_attribute_matcher_enumerate_next:
6589  * @matcher: a #GFileAttributeMatcher.
6590  *
6591  * Gets the next matched attribute from a #GFileAttributeMatcher.
6592  * no more attribute exist.
6593  *
6594  * Returns: a string containing the next attribute or %NULL if
6595  */
6596
6597
6598 /**
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.
6603  *
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.
6608  *
6609  * Since: 2.4
6610  * Returns: a pointer to the private data structure.
6611  */
6612
6613
6614 /**
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
6619  *
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.
6625  *
6626  * Returns: #TRUE on success or #FALSE on error.
6627  */
6628
6629
6630 /**
6631  * g_socket_control_message_get_msg_type:
6632  * @message: a #GSocketControlMessage
6633  *
6634  * Returns the protocol specific type of the control message.
6635  * For instance, for UNIX fd passing this would be SCM_RIGHTS.
6636  *
6637  * Returns: an integer describing the type of control message
6638  * Since: 2.22
6639  */
6640
6641
6642 /**
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
6650  *
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().
6655  *
6656  * Since: 2.22
6657  */
6658
6659
6660 /**
6661  * GSeekable:
6662  *
6663  * Seek object for streaming operations.
6664  */
6665
6666
6667 /**
6668  * g_memory_output_stream_get_data: (skip)
6669  * @ostream: a #GMemoryOutputStream
6670  *
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.
6674  *
6675  * Returns: pointer to the stream's data
6676  */
6677
6678
6679 /**
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.
6689  *
6690  * Specifies what type of event a monitor event is.
6691  */
6692
6693
6694 /**
6695  * GTlsClientConnection:validation-flags:
6696  *
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.
6701  *
6702  * Since: 2.28
6703  */
6704
6705
6706 /**
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
6712  *
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.
6721  *
6722  * Returns: (transfer full): a string with the data that was read
6723  * Since: 2.24
6724  */
6725
6726
6727 /**
6728  * g_simple_action_group_remove:
6729  * @simple: a #GSimpleActionGroup
6730  * @action_name: the name of the action
6731  *
6732  * Removes the named action from the action group.
6733  * If no action of this name is in the group then nothing happens.
6734  *
6735  * Since: 2.28
6736  */
6737
6738
6739 /**
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.
6746  *
6747  * Splices an input stream into an output stream.
6748  * -1 if an error occurred.
6749  *
6750  * Returns: a #gssize containing the size of the data spliced, or
6751  */
6752
6753
6754 /**
6755  * G_TYPE_FLAG_RESERVED_ID_BIT:
6756  *
6757  * A bit in the type number that's supposed to be left untouched.
6758  */
6759
6760
6761 /**
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.
6767  *
6768  * GIOStreamSpliceFlags determine how streams should be spliced.
6769  *
6770  * Since: 2.28
6771  */
6772
6773
6774 /**
6775  * G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITER:
6776  *
6777  * Subcomponent delimiter characters as defined in RFC 3986. Includes "!$&'()*+,;=".
6778  */
6779
6780
6781 /**
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
6788  *
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
6803  * accordingly.
6804  *
6805  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
6806  * Since: 2.26
6807  */
6808
6809
6810 /**
6811  * g_unix_mount_points_get:
6812  * @time_read: (allow-none): guint64 to contain a timestamp.
6813  *
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().
6818  *
6819  * Returns: (element-type utf8) (transfer full): a #GList of the UNIX mountpoints.
6820  */
6821
6822
6823 /**
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.
6828  *
6829  * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
6830  * across various machine architectures.
6831  */
6832
6833
6834 /**
6835  * g_mount_guess_content_type_sync:
6836  * @mount: a #GMount
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
6840  *
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.
6849  *
6850  * Returns: (transfer full) (element-type utf8): a %NULL-terminated array of content types or %NULL on error.
6851  * Since: 2.18
6852  */
6853
6854
6855 /**
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
6862  *
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
6869  * initialization.
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.
6888  *
6889  * Implementations of this method must be idempotent: i.e. multiple calls
6890  * Since: 2.22
6891  */
6892
6893
6894 /**
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.
6897  *
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.
6901  *
6902  * Returns: (transfer full): a new #GFile for the given @path.
6903  */
6904
6905
6906 /**
6907  * g_new:
6908  * @struct_type: the type of the elements to allocate
6909  * @n_structs: the number of elements to allocate
6910  *
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.
6918  *
6919  * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
6920  */
6921
6922
6923 /**
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.
6930  *
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.
6938  *
6939  * Returns: %TRUE if the attributes were copied successfully, %FALSE otherwise.
6940  */
6941
6942
6943 /**
6944  * G_IS_PARAM_SPEC_CHAR:
6945  * @pspec: a valid #GParamSpec instance
6946  *
6947  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR.
6948  *
6949  * Returns: %TRUE on success.
6950  */
6951
6952
6953 /**
6954  * g_dbus_message_get_byte_order:
6955  * @message: A #GDBusMessage.
6956  *
6957  * Gets the byte order of @message.
6958  *
6959  * Returns: The byte order.
6960  */
6961
6962
6963 /**
6964  * GValueTransform:
6965  * @src_value: Source value.
6966  * @dest_value: Target value.
6967  *
6968  * The type of value transformation functions which can be registered with
6969  * g_value_register_transform_func().
6970  */
6971
6972
6973 /**
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
6977  *
6978  * Gets the #GAppInfo that corresponds to a given content type.
6979  *
6980  * Returns: #GAppInfo for given @content_type or %NULL on error.
6981  */
6982
6983
6984 /**
6985  * G_IS_PARAM_SPEC_UNICHAR:
6986  * @pspec: a valid #GParamSpec instance
6987  *
6988  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR.
6989  *
6990  * Returns: %TRUE on success.
6991  */
6992
6993
6994 /**
6995  * g_settings_apply:
6996  * @settings: a #GSettings instance
6997  *
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.
7002  */
7003
7004
7005 /**
7006  * g_file_info_get_symlink_target:
7007  * @info: a #GFileInfo.
7008  *
7009  * Gets the symlink target for a given #GFileInfo.
7010  *
7011  * Returns: a string containing the symlink target.
7012  */
7013
7014
7015 /**
7016  * G_SIGNAL_TYPE_STATIC_SCOPE:
7017  *
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().
7024  * |[
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),
7029  * NULL, NULL,
7030  * _gtk_marshal_VOID__BOXED,
7031  * G_TYPE_NONE, 1,
7032  * GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE);
7033  * ]|
7034  */
7035
7036
7037 /**
7038  * g_output_stream_is_closed:
7039  * @stream: a #GOutputStream.
7040  *
7041  * Checks if an output stream has already been closed.
7042  *
7043  * Returns: %TRUE if @stream is closed. %FALSE otherwise.
7044  */
7045
7046
7047 /**
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
7055  *
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
7060  * needed.
7061  * present, it will be set appropriately.
7062  *
7063  * Returns: %TRUE if the load was successful. If %FALSE and @error is
7064  */
7065
7066
7067 /**
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.
7076  *
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
7079  * sockets from.
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.
7091  *
7092  * Requesting a binding to port 0 (ie: "any port").  This address, if
7093  * Returns: %TRUE on success, %FALSE on error.
7094  * Since: 2.22
7095  */
7096
7097
7098 /**
7099  * g_socket_get_socket_type:
7100  * @socket: a #GSocket.
7101  *
7102  * Gets the socket type of the socket.
7103  *
7104  * Returns: a #GSocketType
7105  * Since: 2.22
7106  */
7107
7108
7109 /**
7110  * G_VALUE_HOLDS_BOXED:
7111  * @value: a valid #GValue structure
7112  *
7113  * Checks whether the given #GValue can hold values derived from type %G_TYPE_BOXED.
7114  *
7115  * Returns: %TRUE on success.
7116  */
7117
7118
7119 /**
7120  * GFileIOStream:
7121  *
7122  * A subclass of GIOStream for opened files. This adds
7123  * a few file-specific operations and seeking and truncating.
7124  * #GFileIOStream implements GSeekable.
7125  */
7126
7127
7128 /**
7129  * g_vfs_get_supported_uri_schemes:
7130  * @vfs: a #GVfs.
7131  *
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.
7135  *
7136  * Returns: (transfer none): a %NULL-terminated array of strings.
7137  */
7138
7139
7140 /**
7141  * GRegex:
7142  *
7143  * A GRegex is the "compiled" form of a regular expression pattern. This
7144  * structure is opaque and its fields cannot be accessed directly.
7145  *
7146  * Since: 2.14
7147  */
7148
7149
7150 /**
7151  * GFileAttributeInfoList:
7152  * @infos: an array of #GFileAttributeInfo<!-- -->s.
7153  * @n_infos: the number of values in the array.
7154  *
7155  * Acts as a lightweight registry for possible valid file attributes.
7156  * The registry stores Key-Value pair formats as #GFileAttributeInfo<!-- -->s.
7157  */
7158
7159
7160 /**
7161  * GMount::changed:
7162  * @mount: the object on which the signal is emitted
7163  *
7164  * Emitted when the mount has been changed.
7165  */
7166
7167
7168 /**
7169  * g_action_get_state_hint:
7170  * @action: a #GAction
7171  *
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.
7184  *
7185  * Possible value for the state.  if a #gvariant pair (ie: two-tuple) is
7186  * Returns: (transfer full): the state range hint
7187  * Since: 2.28
7188  */
7189
7190
7191 /**
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
7196  *
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().
7202  *
7203  * Since: 2.28
7204  */
7205
7206
7207 /**
7208  * g_main_quit:
7209  * @loop: a #GMainLoop
7210  *
7211  * Stops the #GMainLoop.
7212  * If g_main_run() was called to run the #GMainLoop, it will now return.
7213  *
7214  * Deprecated: 2.2: Use g_main_loop_quit() instead
7215  */
7216
7217
7218 /**
7219  * g_file_info_get_edit_name:
7220  * @info: a #GFileInfo.
7221  *
7222  * Gets the edit name for a file.
7223  *
7224  * Returns: a string containing the edit name.
7225  */
7226
7227
7228 /**
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.
7234  *
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
7240  * the operation.
7241  * This is an asynchronous failable function. See
7242  * g_dbus_address_get_stream_sync() for the synchronous version.
7243  *
7244  * Since: 2.26
7245  */
7246
7247
7248 /**
7249  * G_PARAM_SPEC_PARAM:
7250  * @pspec: a valid #GParamSpec instance
7251  *
7252  * Casts a #GParamSpec instance into a #GParamSpecParam.
7253  */
7254
7255
7256 /**
7257  * G_VALUE_HOLDS_VARIANT:
7258  * @value: a valid #GValue structure
7259  *
7260  * Checks whether the given #GValue can hold values of type %G_TYPE_VARIANT.
7261  *
7262  * Returns: %TRUE on success.
7263  * Since: 2.26
7264  */
7265
7266
7267 /**
7268  * SECTION:gunixsocketaddres:
7269  * @short_description: UNIX GSocketAddress
7270  * @include: gio/gunixsocketaddress.h
7271  *
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>&lt;gio/gunixsocketaddress.h&gt;</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.
7284  */
7285
7286
7287 /**
7288  * g_file_read:
7289  * @file: #GFile to read.
7290  * @cancellable: (allow-none): a #GCancellable
7291  * @error: a #GError, or %NULL
7292  *
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().
7302  *
7303  * Virtual: read_fn
7304  * Returns: (transfer full): #GFileInputStream or %NULL on error.
7305  */
7306
7307
7308 /**
7309  * GVolumeMonitor::volume-added:
7310  * @volume_monitor: The volume monitor emitting the signal.
7311  * @volume: a #GVolume that was added.
7312  *
7313  * Emitted when a mountable volume is added to the system.
7314  */
7315
7316
7317 /**
7318  * GSource:
7319  *
7320  * The <structname>GSource</structname> struct is an opaque data type
7321  * representing an event source.
7322  */
7323
7324
7325 /**
7326  * g_volume_monitor_get_connected_drives:
7327  * @volume_monitor: a #GVolumeMonitor.
7328  *
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().
7332  *
7333  * Returns: (element-type GDrive) (transfer full): a #GList of connected #GDrive objects.
7334  */
7335
7336
7337 /**
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
7342  *
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.
7350  *
7351  * Since: 2.26
7352  */
7353
7354
7355 /**
7356  * g_simple_async_result_propagate_error:
7357  * @simple: a #GSimpleAsyncResult.
7358  * @dest: (out): a location to propagate the error to.
7359  *
7360  * Propagates an error from within the simple asynchronous result to
7361  * a given destination.
7362  *
7363  * Returns: %TRUE if the error was propagated to @dest. %FALSE otherwise.
7364  */
7365
7366
7367 /**
7368  * g_file_replace_readwrite_finish:
7369  * @file: input #GFile.
7370  * @res: a #GAsyncResult.
7371  * @error: a #GError, or %NULL
7372  *
7373  * Finishes an asynchronous file replace operation started with
7374  * g_file_replace_readwrite_async().
7375  * Free the returned object with g_object_unref().
7376  *
7377  * Returns: (transfer full): a #GFileIOStream, or %NULL on error.
7378  * Since: 2.22
7379  */
7380
7381
7382 /**
7383  * G_FILE_ATTRIBUTE_FILESYSTEM_READONLY:
7384  *
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.
7388  */
7389
7390
7391 /**
7392  * g_settings_new:
7393  * @schema: the name of the schema
7394  * @returns: a new #GSettings object
7395  *
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().
7401  *
7402  * Since: 2.26
7403  */
7404
7405
7406 /**
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
7413  *
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
7421  * readable.
7422  *
7423  * Since: 2.28
7424  */
7425
7426
7427 /**
7428  * GUnixInputStream:fd:
7429  *
7430  * The file descriptor that the stream reads from.
7431  *
7432  * Since: 2.20
7433  */
7434
7435
7436 /**
7437  * g_io_module_query:
7438  *
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
7455  * lazy loading.
7456  * extension points of the module. The array must be suitable for
7457  * freeing with g_strfreev().
7458  *
7459  * Returns: (transfer full): A %NULL-terminated array of strings, listing the supported
7460  * Since: 2.24
7461  */
7462
7463
7464 /**
7465  * GThemedIcon:names:
7466  *
7467  * A %NULL-terminated array of icon names.
7468  */
7469
7470
7471 /**
7472  * g_io_extension_point_register:
7473  * @name: The name of the extension point
7474  *
7475  * Registers an extension point.
7476  * and should not be freed
7477  *
7478  * Returns: the new #GIOExtensionPoint. This object is owned by GIO
7479  */
7480
7481
7482 /**
7483  * g_vfs_get_file_for_uri:
7484  * @vfs: a#GVfs.
7485  * @uri: a string containing a URI
7486  *
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().
7492  *
7493  * Returns: (transfer full): a #GFile.
7494  */
7495
7496
7497 /**
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.
7502  * @error: a #GError
7503  *
7504  * Creates a #GSimpleAsyncResult from an error condition.
7505  *
7506  * Returns: a #GSimpleAsyncResult.
7507  */
7508
7509
7510 /**
7511  * g_main_iteration:
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.
7513  *
7514  * Runs a single iteration for the default #GMainContext.
7515  *
7516  * Returns: %TRUE if more events are pending.
7517  * Deprecated: 2.2: Use g_main_context_iteration() instead.
7518  */
7519
7520
7521 /**
7522  * G_TYPE_PARAM_GTYPE:
7523  *
7524  * The #GType of #GParamSpecGType.
7525  *
7526  * Since: 2.10
7527  */
7528
7529
7530 /**
7531  * g_file_info_get_sort_order:
7532  * @info: a #GFileInfo.
7533  *
7534  * Gets the value of the sort_order attribute from the #GFileInfo.
7535  * See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.
7536  *
7537  * Returns: a #gint32 containing the value of the "standard::sort_order" attribute.
7538  */
7539
7540
7541 /**
7542  * g_themed_icon_new:
7543  * @iconname: a string containing an icon name.
7544  *
7545  * Creates a new themed icon for @iconname.
7546  *
7547  * Returns: (transfer full): a new #GThemedIcon.
7548  */
7549
7550
7551 /**
7552  * GVariantType:
7553  *
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().
7558  */
7559
7560
7561 /**
7562  * g_dbus_message_get_unix_fd_list:
7563  * @message: A #GDBusMessage.
7564  *
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.
7568  *
7569  * Returns: (transfer none): A #GUnixFDList or %NULL if no file descriptors are
7570  * Since: 2.26
7571  */
7572
7573
7574 /**
7575  * g_action_get_state_type:
7576  * @action: a #GAction
7577  *
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
7583  * same type.
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().
7586  *
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
7590  * Since: 2.28
7591  */
7592
7593
7594 /**
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.
7598  *
7599  * Finishes creating a #GDBusProxy.
7600  *
7601  * Returns: A #GDBusProxy or %NULL if @error is set. Free with g_object_unref().
7602  * Since: 2.26
7603  */
7604
7605
7606 /**
7607  * g_unix_mount_guess_can_eject:
7608  * @mount_entry: a #GUnixMountEntry
7609  *
7610  * Guesses whether a Unix mount can be ejected.
7611  *
7612  * Returns: %TRUE if @mount_entry is deemed to be ejectable.
7613  */
7614
7615
7616 /**
7617  * g_drive_stop_finish:
7618  * @drive: a #GDrive.
7619  * @result: a #GAsyncResult.
7620  * @error: a #GError, or %NULL
7621  *
7622  * Finishes stopping a drive.
7623  * %FALSE otherwise.
7624  *
7625  * Returns: %TRUE if the drive has been stopped successfully,
7626  * Since: 2.22
7627  */
7628
7629
7630 /**
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
7636  *
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.
7642  * |[
7643  * /&ast; a stream that can grow &ast;/
7644  * stream = g_memory_output_stream_new (NULL, 0, realloc, free);
7645  * /&ast; another stream that can grow &ast;/
7646  * stream2 = g_memory_output_stream_new (NULL, 0, g_realloc, g_free);
7647  * /&ast; a fixed-size stream &ast;/
7648  * data = malloc (200);
7649  * stream3 = g_memory_output_stream_new (data, 200, NULL, free);
7650  * ]|
7651  *
7652  * Returns: A newly created #GMemoryOutputStream object.
7653  */
7654
7655
7656 /**
7657  * g_buffered_output_stream_set_buffer_size:
7658  * @stream: a #GBufferedOutputStream.
7659  * @size: a #gsize.
7660  *
7661  * Sets the size of the internal buffer to @size.
7662  */
7663
7664
7665 /**
7666  * GDBusConnection:
7667  *
7668  * The #GDBusConnection structure contains only private data and
7669  * should only be accessed using the provided API.
7670  *
7671  * Since: 2.26
7672  */
7673
7674
7675 /**
7676  * g_proxy_address_get_passwor:
7677  * @proxy: a #GProxyAddress
7678  *
7679  * Gets @proxy's password.
7680  *
7681  * Returns: the @proxy's password
7682  * Since: 2.26
7683  */
7684
7685
7686 /**
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
7697  *
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.
7707  */
7708
7709
7710 /**
7711  * GDBusProxyFlags:
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.
7716  *
7717  * Flags used when constructing an instance of a #GDBusProxy derived class.
7718  *
7719  * Since: 2.26
7720  */
7721
7722
7723 /**
7724  * g_file_info_get_attribute_object:
7725  * @info: a #GFileInfo.
7726  * @attribute: a file attribute key.
7727  *
7728  * Gets the value of a #GObject attribute. If the attribute does
7729  * not contain a #GObject, %NULL will be returned.
7730  * %NULL otherwise.
7731  *
7732  * Returns: (transfer none): a #GObject associated with the given @attribute, or
7733  */
7734
7735
7736 /**
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
7746  *
7747  * Error codes returned by bookmark file parsing.
7748  */
7749
7750
7751 /**
7752  * GSocketProtocol:
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
7758  *
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.
7765  *
7766  * Since: 2.22
7767  */
7768
7769
7770 /**
7771  * g_action_set_state:
7772  * @action: a #GAction
7773  * @value: the new state
7774  *
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.
7782  *
7783  * Since: 2.28
7784  */
7785
7786
7787 /**
7788  * g_file_replace_finish:
7789  * @file: input #GFile.
7790  * @res: a #GAsyncResult.
7791  * @error: a #GError, or %NULL
7792  *
7793  * Finishes an asynchronous file replace operation started with
7794  * g_file_replace_async().
7795  * Free the returned object with g_object_unref().
7796  *
7797  * Returns: (transfer full): a #GFileOutputStream, or %NULL on error.
7798  */
7799
7800
7801 /**
7802  * g_file_has_parent:
7803  * @file: input #GFile
7804  * @parent: the parent to check for, or %NULL
7805  *
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).
7811  *
7812  * Returns: %TRUE if @file is a child of @parent (or any parent in the
7813  * Since: 2.24
7814  */
7815
7816
7817 /**
7818  * g_dbus_is_supported_address:
7819  * @string: A string.
7820  * @error: Return location for error or %NULL.
7821  *
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
7824  * are valid.
7825  * supported by this library, %FALSE if @error is set.
7826  *
7827  * Returns: %TRUE if @string is a valid D-Bus address that is
7828  * Since: 2.26
7829  */
7830
7831
7832 /**
7833  * g_socket_connection_get_remote_address:
7834  * @connection: a #GSocketConnection
7835  * @error: #GError for error reporting, or %NULL to ignore.
7836  *
7837  * Try to get the remote address of a socket connection.
7838  * Free the returned object with g_object_unref().
7839  *
7840  * Returns: (transfer full): a #GSocketAddress or %NULL on error.
7841  * Since: 2.22
7842  */
7843
7844
7845 /**
7846  * GParamSpecUInt64:
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
7851  *
7852  * A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.
7853  */
7854
7855
7856 /**
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.
7862  *
7863  * Creates a new #GDBusMessage for a method call.
7864  *
7865  * Returns: A #GDBusMessage. Free with g_object_unref().
7866  * Since: 2.26
7867  */
7868
7869
7870 /**
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.
7879  *
7880  * Creates a new #GSimpleAsyncResult with a set error.
7881  *
7882  * Returns: a #GSimpleAsyncResult.
7883  */
7884
7885
7886 /**
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
7892  *
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.
7896  *
7897  * Since: 2.28
7898  */
7899
7900
7901 /**
7902  * g_file_unmount_mountable_finish:
7903  * @file: input #GFile.
7904  * @result: a #GAsyncResult.
7905  * @error: a #GError, or %NULL
7906  *
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().
7910  * otherwise.
7911  *
7912  * Returns: %TRUE if the operation finished successfully. %FALSE
7913  * Deprecated: 2.22: Use g_file_unmount_mountable_with_operation_finish() instead.
7914  */
7915
7916
7917 /**
7918  * G_TYPE_IS_DERIVED:
7919  * @type: A #GType value.
7920  *
7921  * Checks if @type is derived (or in object-oriented terminology:
7922  * inherited) from another type (this holds true for all non-fundamental
7923  * types).
7924  *
7925  * Returns: %TRUE on success.
7926  */
7927
7928
7929 /**
7930  * GTypePluginUse:
7931  * @plugin: the #GTypePlugin whose use count should be increased
7932  *
7933  * The type of the @use_plugin function of #GTypePluginClass, which gets called
7934  * to increase the use count of @plugin.
7935  */
7936
7937
7938 /**
7939  * G_OBJECT_GET_CLASS:
7940  * @object: a #GObject instance.
7941  *
7942  * Get the class structure associated to a #GObject instance.
7943  *
7944  * Returns: pointer to object class structure.
7945  */
7946
7947
7948 /**
7949  * G_TYPE_IS_DERIVABLE:
7950  * @type: A #GType value.
7951  *
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.
7954  *
7955  * Returns: %TRUE on success.
7956  */
7957
7958
7959 /**
7960  * g_app_info_can_remove_supports_type:
7961  * @appinfo: a #GAppInfo.
7962  *
7963  * Checks if a supported content type can be removed from an application.
7964  * content types from a given @appinfo, %FALSE if not.
7965  *
7966  * Returns: %TRUE if it is possible to remove supported
7967  */
7968
7969
7970 /**
7971  * G_PARAM_SPEC_INT:
7972  * @pspec: a valid #GParamSpec instance
7973  *
7974  * Cast a #GParamSpec instance into a #GParamSpecInt.
7975  */
7976
7977
7978 /**
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.
7983  *
7984  * Finishes an asynchronous stream read operation.
7985  *
7986  * Returns: number of bytes read in, or -1 on error.
7987  */
7988
7989
7990 /**
7991  * g_tls_connection_get_rehandshake_mode:
7992  * @conn: a #GTlsConnection
7993  *
7994  * Gets @conn rehandshaking mode. See
7995  * g_tls_connection_set_rehandshake() for details.
7996  *
7997  * Returns: @conn's rehandshaking mode
7998  * Since: 2.28
7999  */
8000
8001
8002 /**
8003  * G_TYPE_RESERVED_BSE_FIRST:
8004  *
8005  * First fundamental type number to create a new fundamental type id with
8006  * G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE.
8007  */
8008
8009
8010 /**
8011  * g_node_first_child:
8012  * @node: a #GNode
8013  *
8014  * Gets the first child of a #GNode.
8015  * or has no children
8016  *
8017  * Returns: the first child of @node, or %NULL if @node is %NULL
8018  */
8019
8020
8021 /**
8022  * g_dbus_signal_info_ref:
8023  * @info: A #GDBusSignalInfo
8024  *
8025  * If @info is statically allocated does nothing. Otherwise increases
8026  * the reference count.
8027  *
8028  * Returns: The same @info.
8029  * Since: 2.26
8030  */
8031
8032
8033 /**
8034  * g_main_set_poll_func:
8035  * @func: the function to call to poll all file descriptors
8036  *
8037  * Sets the function to use for the handle polling of file descriptors
8038  * for the default main context.
8039  *
8040  * Deprecated: 2.2: Use g_main_context_set_poll_func() again
8041  */
8042
8043
8044 /**
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.
8051  *
8052  * Loads a loadable icon. For the asynchronous version of this function,
8053  * see g_loadable_icon_load_async().
8054  *
8055  * Returns: (transfer full): a #GInputStream to read the icon from.
8056  */
8057
8058
8059 /**
8060  * G_PRIORITY_DEFAULT_IDLE:
8061  *
8062  * Use this for default priority idle functions.
8063  * In GLib this priority is used when adding idle functions with
8064  * g_idle_add().
8065  */
8066
8067
8068 /**
8069  * GMountOperation:domain:
8070  *
8071  * The domain to use for the mount operation.
8072  */
8073
8074
8075 /**
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
8083  *
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.
8088  *
8089  * Since: 2.26
8090  */
8091
8092
8093 /**
8094  * g_app_info_delete:
8095  * @appinfo: a #GAppInfo
8096  *
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().
8101  *
8102  * Virtual: do_delete
8103  * Returns: %TRUE if @appinfo has been deleted
8104  * Since: 2.20
8105  */
8106
8107
8108 /**
8109  * g_socket_client_get_tls_validation_flags:
8110  * @client: a #GSocketClient.
8111  *
8112  * Gets the TLS validation flags used creating TLS connections via
8113  *
8114  * Returns: the TLS validation flags
8115  * Since: 2.28
8116  */
8117
8118
8119 /**
8120  * GTlsConnection:require-close-notify:
8121  *
8122  * Whether or not proper TLS close notification is required.
8123  * See g_tls_connection_set_require_close_notify().
8124  *
8125  * Since: 2.28
8126  */
8127
8128
8129 /**
8130  * g_socket_control_message_get_level:
8131  * @message: a #GSocketControlMessage
8132  *
8133  * Returns the "level" (i.e. the originating protocol) of the control message.
8134  * This is often SOL_SOCKET.
8135  *
8136  * Returns: an integer describing the level
8137  * Since: 2.22
8138  */
8139
8140
8141 /**
8142  * G_TYPE_VARIANT_TYPE:
8143  *
8144  * The #GType for a boxed type holding a #GVariantType.
8145  *
8146  * Since: 2.24
8147  */
8148
8149
8150 /**
8151  * GObjectClass:
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.
8161  *
8162  * The class structure for the <structname>GObject</structname> type.
8163  * <example>
8164  * <title>Implementing singletons using a constructor</title>
8165  * <programlisting>
8166  * static MySingleton *the_singleton = NULL;
8167  * static GObject*
8168  * my_singleton_constructor (GType                  type,
8169  * guint                  n_construct_params,
8170  * GObjectConstructParam *construct_params)
8171  * {
8172  * GObject *object;
8173  * if (!the_singleton)
8174  * {
8175  * object = G_OBJECT_CLASS (parent_class)->constructor (type,
8176  * n_construct_params,
8177  * construct_params);
8178  * the_singleton = MY_SINGLETON (object);
8179  * }
8180  * else
8181  * object = g_object_ref (G_OBJECT (the_singleton));
8182  * return object;
8183  * }
8184  * </programlisting></example>
8185  */
8186
8187
8188 /**
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()
8193  *
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
8197  *
8198  * Returns: %FALSE to continue the replacement process, %TRUE to stop it
8199  * Since: 2.14
8200  */
8201
8202
8203 /**
8204  * SECTION:gdbusutil:
8205  * @title: D-Bus Utilities
8206  * @short_description: Various utilities related to D-Bus.
8207  * @include: gio/gio.h
8208  *
8209  * Various utility routines related to D-Bus.
8210  */
8211
8212
8213 /**
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
8218  *
8219  * Inserts a new #GNode before the given sibling.
8220  *
8221  * Returns: the new #GNode
8222  */
8223
8224
8225 /**
8226  * g_file_info_get_attribute_boolean:
8227  * @info: a #GFileInfo.
8228  * @attribute: a file attribute key.
8229  *
8230  * Gets the value of a boolean attribute. If the attribute does not
8231  * contain a boolean value, %FALSE will be returned.
8232  *
8233  * Returns: the boolean value contained within the attribute.
8234  */
8235
8236
8237 /**
8238  * g_mount_operation_set_domain:
8239  * @op: a #GMountOperation.
8240  * @domain: the domain to set.
8241  *
8242  * Sets the mount operation's domain.
8243  */
8244
8245
8246 /**
8247  * GTypeValueTable:
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; ]|
8256  *
8257  * The #GTypeValueTable provides the functions required by the #GValue implementation,
8258  * to serve as a container for values of a type.
8259  */
8260
8261
8262 /**
8263  * g_try_renew:
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
8267  *
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.
8273  *
8274  * Since: 2.8
8275  * Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type
8276  */
8277
8278
8279 /**
8280  * g_unix_mount_point_is_loopback:
8281  * @mount_point: a #GUnixMountPoint.
8282  *
8283  * Checks if a unix mount point is a loopback device.
8284  *
8285  * Returns: %TRUE if the mount point is a loopback. %FALSE otherwise.
8286  */
8287
8288
8289 /**
8290  * g_mount_operation_get_password:
8291  * @op: a #GMountOperation.
8292  *
8293  * Gets a password from the mount operation.
8294  *
8295  * Returns: a string containing the password within @op.
8296  */
8297
8298
8299 /**
8300  * SECTION:gfilenamecomplete:
8301  * @short_description: Filename Completer
8302  * @include: gio/gio.h
8303  *
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.
8307  */
8308
8309
8310 /**
8311  * G_TYPE_PARAM_CHAR:
8312  *
8313  * The #GType of #GParamSpecChar.
8314  */
8315
8316
8317 /**
8318  * g_dbus_message_get_interface:
8319  * @message: A #GDBusMessage.
8320  *
8321  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
8322  *
8323  * Returns: The value.
8324  * Since: 2.26
8325  */
8326
8327
8328 /**
8329  * g_content_types_get_registered:
8330  *
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
8333  * <programlisting>
8334  * g_list_foreach (list, g_free, NULL);
8335  * g_list_free (list);
8336  * </programlisting>
8337  *
8338  * Returns: (element-type utf8) (transfer full): #GList of the registered content types
8339  */
8340
8341
8342 /**
8343  * g_dbus_interface_info_ref:
8344  * @info: A #GDBusInterfaceInfo
8345  *
8346  * If @info is statically allocated does nothing. Otherwise increases
8347  * the reference count.
8348  *
8349  * Returns: The same @info.
8350  * Since: 2.26
8351  */
8352
8353
8354 /**
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
8358  *
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.
8368  *
8369  * Returns: %TRUE to stop further #GTypeClassCacheFunc<!-- -->s from being
8370  */
8371
8372
8373 /**
8374  * GTimeType:
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
8378  *
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).
8385  */
8386
8387
8388 /**
8389  * g_file_info_clear_status:
8390  * @info: a #GFileInfo.
8391  *
8392  * Clears the status information from @info.
8393  */
8394
8395
8396 /**
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
8403  *
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.
8410  *
8411  * Deprecated: 2.22: Use g_file_eject_mountable_with_operation() instead.
8412  */
8413
8414
8415 /**
8416  * g_dbus_message_get_member:
8417  * @message: A #GDBusMessage.
8418  *
8419  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
8420  *
8421  * Returns: The value.
8422  * Since: 2.26
8423  */
8424
8425
8426 /**
8427  * GParamSpecULong:
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
8432  *
8433  * A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.
8434  */
8435
8436
8437 /**
8438  * SECTION:gfilterinputstrea:
8439  * @short_description: Filter Input Stream
8440  * @include: gio/gio.h
8441  *
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.
8446  */
8447
8448
8449 /**
8450  * G_OBJECT_TYPE:
8451  * @object: Object to return the type id for.
8452  *
8453  * Get the type id of an object.
8454  *
8455  * Returns: Type id of @object.
8456  */
8457
8458
8459 /**
8460  * G_VALUE_HOLDS:
8461  * @value: A #GValue structure.
8462  * @type: A #GType value.
8463  *
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.
8467  *
8468  * Returns: %TRUE if @value holds the @type.
8469  */
8470
8471
8472 /**
8473  * g_dbus_server_stop:
8474  * @server: A #GDBusServer.
8475  *
8476  * Stops @server.
8477  *
8478  * Since: 2.26
8479  */
8480
8481
8482 /**
8483  * GFileMonitor:
8484  *
8485  * Watches for changes to a file.
8486  */
8487
8488
8489 /**
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
8494  *
8495  * Used by #GTlsConnection implementations to emit the
8496  * #GTlsConnection::accept-certificate signal.
8497  * %TRUE to accept @peer_cert
8498  *
8499  * Returns: %TRUE if one of the signal handlers has returned
8500  * Since: 2.28
8501  */
8502
8503
8504 /**
8505  * g_file_replace_readwrite:
8506  * @file: a #GFile
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
8512  *
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().
8522  *
8523  * Returns: (transfer full): a #GFileIOStream or %NULL on error.
8524  * Since: 2.22
8525  */
8526
8527
8528 /**
8529  * g_simple_permission_new:
8530  * @allowed: %TRUE if the action is allowed
8531  * @returns: the #GSimplePermission, as a #GPermission
8532  *
8533  * Creates a new #GPermission instance that represents an action that is
8534  * either always or never allowed.
8535  *
8536  * Since: 2.26
8537  */
8538
8539
8540 /**
8541  * GOptionErrorFunc:
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
8546  *
8547  * The type of function to be used as callback when a parse error occurs.
8548  */
8549
8550
8551 /**
8552  * g_file_query_filesystem_info_finish:
8553  * @file: input #GFile.
8554  * @res: a #GAsyncResult.
8555  * @error: a #GError.
8556  *
8557  * Finishes an asynchronous filesystem info query.  See
8558  * g_file_query_filesystem_info_async().
8559  * Free the returned object with g_object_unref().
8560  *
8561  * Returns: (transfer full): #GFileInfo for given @file or %NULL on error.
8562  */
8563
8564
8565 /**
8566  * G_TYPE_FUNDAMENTAL:
8567  * @type: A #GType value.
8568  *
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.
8572  */
8573
8574
8575 /**
8576  * GVolumeMonitor::mount-changed:
8577  * @volume_monitor: The volume monitor emitting the signal.
8578  * @mount: a #GMount that changed.
8579  *
8580  * Emitted when a mount changes.
8581  */
8582
8583
8584 /**
8585  * g_volume_get_identifier:
8586  * @volume: a #GVolume
8587  * @kind: the kind of identifier to return
8588  *
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
8594  *
8595  * Returns: a newly allocated string containing the
8596  */
8597
8598
8599 /**
8600  * g_tcp_connection_get_graceful_disconnect:
8601  * @connection: a #GTcpConnection
8602  *
8603  * Checks if graceful disconnects are used. See
8604  * g_tcp_connection_set_graceful_disconnect().
8605  *
8606  * Returns: %TRUE if graceful disconnect is used on close, %FALSE otherwise
8607  * Since: 2.22
8608  */
8609
8610
8611 /**
8612  * G_IS_PARAM_SPEC_OBJECT:
8613  * @pspec: a valid #GParamSpec instance
8614  *
8615  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
8616  *
8617  * Returns: %TRUE on success.
8618  */
8619
8620
8621 /**
8622  * SECTION:gzdecompresso:
8623  * @short_description: Zlib decompressor
8624  * @include: gio/gio.h
8625  *
8626  * #GZlibDecompressor is an implementation of #GConverter that
8627  * decompresses data compressed with zlib.
8628  */
8629
8630
8631 /**
8632  * G_IS_PARAM_SPEC_VALUE_ARRAY:
8633  * @pspec: a valid #GParamSpec instance
8634  *
8635  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY.
8636  *
8637  * Returns: %TRUE on success.
8638  */
8639
8640
8641 /**
8642  * G_TYPE_ENUM:
8643  *
8644  * The fundamental type from which all enumeration types are derived.
8645  */
8646
8647
8648 /**
8649  * G_IS_PARAM_SPEC_BOXED:
8650  * @pspec: a valid #GParamSpec instance
8651  *
8652  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED.
8653  *
8654  * Returns: %TRUE on success.
8655  */
8656
8657
8658 /**
8659  * g_dbus_message_get_reply_serial:
8660  * @message: A #GDBusMessage.
8661  *
8662  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
8663  *
8664  * Returns: The value.
8665  * Since: 2.26
8666  */
8667
8668
8669 /**
8670  * g_tls_connection_get_use_system_certdb:
8671  * @conn: a #GTlsConnection
8672  *
8673  * Gets whether @conn uses the system certificate database to verify
8674  * peer certificates. See g_tls_connection_set_use_system_certdb().
8675  *
8676  * Returns: whether @conn uses the system certificate database
8677  * Since: 2.28
8678  */
8679
8680
8681 /**
8682  * g_emblem_get_origin:
8683  * @emblem: a #GEmblem
8684  *
8685  * Gets the origin of the emblem.
8686  *
8687  * Returns: the origin of the emblem
8688  * Since: 2.18
8689  */
8690
8691
8692 /**
8693  * GMemoryInputStream:
8694  *
8695  * Implements #GInputStream for arbitrary memory chunks.
8696  */
8697
8698
8699 /**
8700  * SECTION:gfiledescriptorbase:
8701  * @short_description: Interface for file descriptor based IO
8702  * @include: gio/gfiledescriptorbased.h
8703  * @see_also: #GInputStream, #GOutputStream
8704  *
8705  * #GFileDescriptorBased is implemented by streams (implementations of
8706  * #GInputStream or #GOutputStream) that are based on file descriptors.
8707  * Note that <filename>&lt;gio/gfiledescriptorbased.h&gt;</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.
8710  *
8711  * Since: 2.24
8712  */
8713
8714
8715 /**
8716  * g_file_find_enclosing_mount_finish:
8717  * @file: a #GFile
8718  * @res: a #GAsyncResult
8719  * @error: a #GError
8720  *
8721  * Finishes an asynchronous find mount request.
8722  * See g_file_find_enclosing_mount_async().
8723  * Free the returned object with g_object_unref().
8724  *
8725  * Returns: (transfer full): #GMount for given @file or %NULL on error.
8726  */
8727
8728
8729 /**
8730  * g_inet_address_get_is_site_local:
8731  * @address: a #GInetAddress
8732  *
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).
8737  *
8738  * Returns: %TRUE if @address is a site-local address.
8739  * Since: 2.22
8740  */
8741
8742
8743 /**
8744  * GCancellable:
8745  *
8746  * Allows actions to be cancelled.
8747  */
8748
8749
8750 /**
8751  * g_dbus_message_set_num_unix_fds:
8752  * @message: A #GDBusMessage.
8753  * @value: The value to set.
8754  *
8755  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
8756  *
8757  * Since: 2.26
8758  */
8759
8760
8761 /**
8762  * GWin32Mount:
8763  *
8764  * Implementation of the #GMount interface for Win32 systems.
8765  */
8766
8767
8768 /**
8769  * G_TYPE_ARRAY:
8770  *
8771  * The #GType for a boxed type holding a #GArray reference.
8772  *
8773  * Since: 2.22
8774  */
8775
8776
8777 /**
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
8788  *
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.
8796  */
8797
8798
8799 /**
8800  * G_FILE_ATTRIBUTE_UNIX_DEVICE:
8801  *
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.
8806  */
8807
8808
8809 /**
8810  * G_TYPE_CHECK_VALUE:
8811  * @value: a #GValue
8812  *
8813  * Checks if @value has been initialized to hold values
8814  * of a value type.
8815  * This macro should only be used in type implementations.
8816  *
8817  * Returns: %TRUE on success.
8818  */
8819
8820
8821 /**
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 '_'.
8825  *
8826  * A convenience macro for pointer type implementations, which defines a
8827  * type_name_get_type() function registering the pointer type.
8828  *
8829  * Since: 2.26
8830  */
8831
8832
8833 /**
8834  * g_dbus_method_invocation_get_method_name:
8835  * @invocation: A #GDBusMethodInvocation.
8836  *
8837  * Gets the name of the method that was invoked.
8838  *
8839  * Returns: A string. Do not free, it is owned by @invocation.
8840  * Since: 2.26
8841  */
8842
8843
8844 /**
8845  * g_io_extension_ref_class:
8846  * @extension: a #GIOExtension
8847  *
8848  * Gets a reference to the class for the type that is
8849  * associated with @extension.
8850  *
8851  * Returns: (transfer full): the #GTypeClass for the type of @extension
8852  */
8853
8854
8855 /**
8856  * GVolumeMonitor::mount-pre-unmount:
8857  * @volume_monitor: The volume monitor emitting the signal.
8858  * @mount: a #GMount that is being unmounted.
8859  *
8860  * Emitted when a mount is about to be removed.
8861  */
8862
8863
8864 /**
8865  * GBoxedFreeFunc:
8866  * @boxed: The boxed structure to be freed.
8867  *
8868  * This function is provided by the user and should free the boxed
8869  * structure passed.
8870  */
8871
8872
8873 /**
8874  * g_desktop_app_info_new_from_keyfile:
8875  * @key_file: an opened #GKeyFile
8876  *
8877  * Creates a new #GDesktopAppInfo.
8878  *
8879  * Returns: a new #GDesktopAppInfo or %NULL on error.
8880  * Since: 2.18
8881  */
8882
8883
8884 /**
8885  * g_file_info_get_attribute_uint32:
8886  * @info: a #GFileInfo.
8887  * @attribute: a file attribute key.
8888  *
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.
8892  *
8893  * Returns: an unsigned 32-bit integer from the attribute.
8894  */
8895
8896
8897 /**
8898  * GSocket:
8899  *
8900  * A lowlevel network socket object.
8901  *
8902  * Since: 2.22
8903  */
8904
8905
8906 /**
8907  * g_dbus_server_is_active:
8908  * @server: A #GDBusServer.
8909  *
8910  * Gets whether @server is active.
8911  *
8912  * Returns: %TRUE if server is active, %FALSE otherwise.
8913  * Since: 2.26
8914  */
8915
8916
8917 /**
8918  * g_application_set_inactivity_timeout:
8919  * @application: a #GApplication
8920  * @inactivity_timeout: the timeout, in milliseconds
8921  *
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.
8928  *
8929  * Returns: the timeout, in milliseconds
8930  * Since: 2.28
8931  */
8932
8933
8934 /**
8935  * GVolume::removed:
8936  *
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.
8940  */
8941
8942
8943 /**
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
8949  *
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
8957  * bit in @value.
8958  */
8959
8960
8961 /**
8962  * g_drive_has_volumes:
8963  * @drive: a #GDrive.
8964  *
8965  * Check if @drive has any mountable volumes.
8966  *
8967  * Returns: %TRUE if the @drive contains volumes, %FALSE otherwise.
8968  */
8969
8970
8971 /**
8972  * g_app_info_get_description:
8973  * @appinfo: a #GAppInfo.
8974  *
8975  * Gets a human-readable description of an installed application.
8976  * application @appinfo, or %NULL if none.
8977  *
8978  * Returns: a string containing a description of the
8979  */
8980
8981
8982 /**
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
8989  *
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
8993  * operation.
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.
8998  */
8999
9000
9001 /**
9002  * g_file_descriptor_based_get_fd:
9003  * @fd_based: a #GFileDescriptorBased.
9004  *
9005  * Gets the underlying file descriptor.
9006  *
9007  * Returns: The file descriptor
9008  * Since: 2.24
9009  */
9010
9011
9012 /**
9013  * g_file_append_to:
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
9018  *
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().
9034  *
9035  * Returns: (transfer full): a #GFileOutputStream, or %NULL on error.
9036  */
9037
9038
9039 /**
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.
9045  *
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.
9051  *
9052  * Since: 2.20
9053  * Returns: (transfer full): a string with the data that was read
9054  */
9055
9056
9057 /**
9058  * GType:
9059  *
9060  * A numerical value which represents the unique identifier of a registered
9061  * type.
9062  */
9063
9064
9065 /**
9066  * GDrive:
9067  *
9068  * Opaque drive object.
9069  */
9070
9071
9072 /**
9073  * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP:
9074  *
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.
9077  */
9078
9079
9080 /**
9081  * g_proxy_address_get_protocol:
9082  * @proxy: a #GProxyAddress
9083  *
9084  * Gets @proxy's protocol.
9085  *
9086  * Returns: the @proxy's protocol
9087  * Since: 2.26
9088  */
9089
9090
9091 /**
9092  * g_input_stream_set_pending:
9093  * @stream: input stream
9094  * @error: a #GError location to store the error occuring, or %NULL to ignore.
9095  *
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
9098  *
9099  * Returns: %TRUE if pending was previously unset and is now set.
9100  */
9101
9102
9103 /**
9104  * g_main_pending:
9105  *
9106  * Checks if any events are pending for the default #GMainContext
9107  * (i.e. ready to be processed).
9108  *
9109  * Returns: %TRUE if any events are pending.
9110  * Deprected: 2.2: Use g_main_context_pending() instead.
9111  */
9112
9113
9114 /**
9115  * GIconv:
9116  *
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.
9120  */
9121
9122
9123 /**
9124  * g_application_command_line_get_is_remote:
9125  * @cmdline: a #GApplicationCommandLine
9126  *
9127  * Determines if @cmdline represents a remote invocation.
9128  *
9129  * Returns: %TRUE if the invocation was remote
9130  * Since: 2.28
9131  */
9132
9133
9134 /**
9135  * g_dbus_error_new_for_dbus_error:
9136  * @dbus_error_name: D-Bus error name.
9137  * @dbus_error_message: D-Bus error message.
9138  *
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
9158  * it.
9159  *
9160  * Returns: An allocated #GError. Free with g_error_free().
9161  * Since: 2.26
9162  */
9163
9164
9165 /**
9166  * GTlsCertificate:certificate-pem:
9167  *
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.
9171  *
9172  * Since: 2.28
9173  */
9174
9175
9176 /**
9177  * g_try_new:
9178  * @struct_type: the type of the elements to allocate
9179  * @n_structs: the number of elements to allocate
9180  *
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.
9185  *
9186  * Since: 2.8
9187  * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
9188  */
9189
9190
9191 /**
9192  * GSignalCMarshaller:
9193  *
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
9198  * signal system.
9199  */
9200
9201
9202 /**
9203  * G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT:
9204  *
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.
9208  */
9209
9210
9211 /**
9212  * g_dbus_proxy_get_cached_property_names:
9213  * @proxy: A #GDBusProxy.
9214  *
9215  * Gets the names of all cached properties on @proxy.
9216  * no cached properties. Free the returned array with g_strfreev().
9217  *
9218  * Returns: A %NULL-terminated array of strings or %NULL if @proxy has
9219  * Since: 2.26
9220  */
9221
9222
9223 /**
9224  * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE:
9225  *
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.
9229  */
9230
9231
9232 /**
9233  * GZlibDecompressor:
9234  *
9235  * Zlib decompression
9236  */
9237
9238
9239 /**
9240  * GDrive::eject-button:
9241  * @drive: a #GDrive.
9242  *
9243  * Emitted when the physical eject button (if any) of a drive has
9244  * been pressed.
9245  */
9246
9247
9248 /**
9249  * g_application_set_flags:
9250  * @application: a #GApplication
9251  * @flags: the flags for @application
9252  *
9253  * Sets the flags for @application.
9254  * The flags can only be modified if @application has not yet been
9255  * registered.
9256  * See #GApplicationFlags.
9257  *
9258  * Since: 2.28
9259  */
9260
9261
9262 /**
9263  * GSettings::changed:
9264  * @settings: the object on which the signal was emitted
9265  * @key: the name of the key that changed
9266  *
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
9269  * value.
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.
9273  */
9274
9275
9276 /**
9277  * g_file_delete:
9278  * @file: input #GFile.
9279  * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
9280  * @error: a #GError, or %NULL
9281  *
9282  * Deletes a file. If the @file is a directory, it will only be deleted if it
9283  * is empty.
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.
9287  *
9288  * Virtual: delete_file
9289  * Returns: %TRUE if the file was deleted. %FALSE otherwise.
9290  */
9291
9292
9293 /**
9294  * GSettings:context:
9295  *
9296  * The name of the context that the settings are stored in.
9297  */
9298
9299
9300 /**
9301  * G_REGEX_ERROR:
9302  *
9303  * Error domain for regular expressions. Errors in this domain will be
9304  * from the #GRegexError enumeration. See #GError for information on
9305  * error domains.
9306  *
9307  * Since: 2.14
9308  */
9309
9310
9311 /**
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.
9317  *
9318  * Information about an annotation.
9319  *
9320  * Since: 2.26
9321  */
9322
9323
9324 /**
9325  * g_output_stream_is_closing:
9326  * @stream: a #GOutputStream.
9327  *
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.
9332  *
9333  * Returns: %TRUE if @stream is being closed. %FALSE otherwise.
9334  * Since: 2.24
9335  */
9336
9337
9338 /**
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.
9345  *
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.
9351  *
9352  * Since: 2.20
9353  */
9354
9355
9356 /**
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.
9361  *
9362  * Finishes a stream write operation.
9363  *
9364  * Returns: a #gssize containing the number of bytes written to the stream.
9365  */
9366
9367
9368 /**
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
9376  *
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.
9383  *
9384  * Since: 2.22
9385  */
9386
9387
9388 /**
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.
9393  *
9394  * Emitted to check if a peer that is successfully authenticated
9395  * is authorized.
9396  *
9397  * Returns: %TRUE if the peer is authorized, %FALSE if not.
9398  * Since: 2.26
9399  */
9400
9401
9402 /**
9403  * GPollFunc:
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.
9407  *
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.
9411  *
9412  * Returns: the number of #GPollFD elements which have events or errors
9413  */
9414
9415
9416 /**
9417  * GSimpleAction::activate:
9418  * @simple: the #GSimpleAction
9419  * @parameter: (allow-none): the parameter to the activation
9420  *
9421  * Indicates that the action was just activated.
9422  * an incorrect type was given, no signal will be emitted.
9423  *
9424  * Since: 2.28
9425  */
9426
9427
9428 /**
9429  * g_cancellable_source_new:
9430  * @cancellable: a #GCancellable, or %NULL
9431  *
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.
9438  *
9439  * Returns: the new #GSource.
9440  * Since: 2.28
9441  */
9442
9443
9444 /**
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.
9449  *
9450  * Reads an unsigned 8-bit/1-byte value from @stream.
9451  * if an error occurred.
9452  *
9453  * Returns: an unsigned 8-bit/1-byte value read from the @stream or %0
9454  */
9455
9456
9457 /**
9458  * GConverter:
9459  *
9460  * Seek object for streaming operations.
9461  *
9462  * Since: 2.24
9463  */
9464
9465
9466 /**
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.
9471  *
9472  * Finishes an async connect operation. See g_socket_client_connect_to_host_async()
9473  *
9474  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
9475  * Since: 2.22
9476  */
9477
9478
9479 /**
9480  * G_FILE_ATTRIBUTE_TIME_CREATED:
9481  *
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.
9486  */
9487
9488
9489 /**
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.
9494  *
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.
9500  */
9501
9502
9503 /**
9504  * G_IS_INITIALLY_UNOWNED_CLASS:
9505  * @class: a #GInitiallyUnownedClass
9506  *
9507  * Checks whether @class "is a" valid #GInitiallyUnownedClass structure of type
9508  * %G_TYPE_INITIALLY_UNOWNED or derived.
9509  */
9510
9511
9512 /**
9513  * GUnixOutputStream:
9514  *
9515  * Implements #GOutputStream for outputting to selectable unix file descriptors
9516  */
9517
9518
9519 /**
9520  * SECTION:extensionpoint:
9521  * @short_description: Extension Points
9522  * @include: gio.h
9523  * @see_also: <link linkend="extending-gio">Extending GIO</link>
9524  *
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.
9537  * |[
9538  * GIOExtensionPoint *ep;
9539  * /&ast; Register an extension point &ast;/
9540  * ep = g_io_extension_point_register ("my-extension-point");
9541  * g_io_extension_point_set_required_type (ep, MY_TYPE_EXAMPLE);
9542  * ]|
9543  * |[
9544  * /&ast; Implement an extension point &ast;/
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 (),
9548  * "my-example",
9549  * 10);
9550  * ]|
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
9555  * one by name.
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
9560  * GIO module.
9561  */
9562
9563
9564 /**
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.
9571  *
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).
9583  *
9584  * Returns: the number of bytes written, or -1 on error (including
9585  */
9586
9587
9588 /**
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
9595  *
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.
9611  *
9612  * Returns: Number of bytes written, or -1 on error
9613  */
9614
9615
9616 /**
9617  * g_main_destroy:
9618  * @loop: a #GMainLoop
9619  *
9620  * Frees the memory allocated for the #GMainLoop.
9621  *
9622  * Deprecated: 2.2: Use g_main_loop_unref() instead
9623  */
9624
9625
9626 /**
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.
9635  *
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
9642  * operation.
9643  * This is a asynchronous failable constructor. See
9644  * g_dbus_connection_new_sync() for the synchronous
9645  * version.
9646  *
9647  * Since: 2.26
9648  */
9649
9650
9651 /**
9652  * GPasswordSave:
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.
9656  *
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.
9660  */
9661
9662
9663 /**
9664  * G_FILE_ATTRIBUTE_TIME_CREATED_USEC:
9665  *
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.
9670  */
9671
9672
9673 /**
9674  * G_BOOKMARK_FILE_ERROR:
9675  *
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.
9679  */
9680
9681
9682 /**
9683  * g_unix_credentials_message_get_credentials:
9684  * @message: A #GUnixCredentialsMessage.
9685  *
9686  * Gets the credentials stored in @message.
9687  *
9688  * Returns: (transfer none): A #GCredentials instance. Do not free, it is owned by @message.
9689  * Since: 2.26
9690  */
9691
9692
9693 /**
9694  * SECTION:gfileenumerato:
9695  * @short_description: Enumerated Files Routines
9696  * @include: gio/gio.h
9697  *
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().
9711  */
9712
9713
9714 /**
9715  * GThemedIcon:use-default-fallbacks:
9716  *
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
9721  * would become
9722  * |[
9723  * {
9724  * "gnome-dev-cdrom-audio",
9725  * "gnome-dev-cdrom",
9726  * "gnome-dev",
9727  * "gnome",
9728  * NULL
9729  * };
9730  * ]|
9731  */
9732
9733
9734 /**
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.
9739  *
9740  * Finishes remounting a mount. If any errors occurred during the operation,
9741  *
9742  * Returns: %TRUE if the mount was successfully remounted. %FALSE otherwise.
9743  */
9744
9745
9746 /**
9747  * g_settings_sync:
9748  *
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).
9758  */
9759
9760
9761 /**
9762  * GNetworkAddress:
9763  *
9764  * A #GSocketConnectable for resolving a hostname and connecting to
9765  * that host.
9766  */
9767
9768
9769 /**
9770  * G_VARIANT_TYPE_INT64:
9771  *
9772  * The type of an integer value that can range from
9773  * -9223372036854775808 to 9223372036854775807.
9774  */
9775
9776
9777 /**
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
9783  *
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.
9787  */
9788
9789
9790 /**
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
9795  *
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.
9800  *
9801  * Since: 2.26
9802  */
9803
9804
9805 /**
9806  * g_unix_output_stream_set_close_fd:
9807  * @stream: a #GUnixOutputStream
9808  * @close_fd: %TRUE to close the file descriptor when done
9809  *
9810  * Sets whether the file descriptor of @stream shall be closed
9811  * when the stream is closed.
9812  *
9813  * Since: 2.20
9814  */
9815
9816
9817 /**
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.
9822  *
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
9827  * parsed.
9828  *
9829  * Returns: the new certificate, or %NULL if @data is invalid
9830  * Since: 2.28
9831  */
9832
9833
9834 /**
9835  * g_dbus_message_set_interface:
9836  * @message: A #GDBusMessage.
9837  * @value: The value to set.
9838  *
9839  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
9840  *
9841  * Since: 2.26
9842  */
9843
9844
9845 /**
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.
9850  *
9851  * Creates a new #GCharsetConverter.
9852  *
9853  * Returns: a new #GCharsetConverter or %NULL on error.
9854  * Since: 2.24
9855  */
9856
9857
9858 /**
9859  * GParamSpecUInt:
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
9864  *
9865  * A #GParamSpec derived structure that contains the meta data for unsigned integer properties.
9866  */
9867
9868
9869 /**
9870  * g_simple_async_result_set_op_res_gboolean:
9871  * @simple: a #GSimpleAsyncResult.
9872  * @op_res: a #gboolean.
9873  *
9874  * Sets the operation result to a boolean within the asynchronous result.
9875  */
9876
9877
9878 /**
9879  * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL:
9880  *
9881  * A key in the "standard" namespace for checking if a file is virtual.
9882  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9883  */
9884
9885
9886 /**
9887  * g_unix_fd_list_get:
9888  * @list: a #GUnixFDList
9889  * @index_: the index into the list
9890  * @error: a #GError pointer
9891  *
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.
9900  *
9901  * Returns: the file descriptor, or -1 in case of error
9902  * Since: 2.24
9903  */
9904
9905
9906 /**
9907  * G_TYPE_DBUS_PROPERTY_INFO:
9908  *
9909  * The #GType for a boxed type holding a #GDBusPropertyInfo.
9910  *
9911  * Since: 2.26
9912  */
9913
9914
9915 /**
9916  * G_TYPE_DATE:
9917  *
9918  * The #GType for #GDate.
9919  */
9920
9921
9922 /**
9923  * GEmblemOrigin:
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)
9928  *
9929  * GEmblemOrigin is used to add information about the origin of the emblem
9930  * to #GEmblem.
9931  *
9932  * Since: 2.18
9933  */
9934
9935
9936 /**
9937  * GAppLaunchContext:
9938  *
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.
9942  */
9943
9944
9945 /**
9946  * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED:
9947  *
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.
9951  */
9952
9953
9954 /**
9955  * G_FILE_ATTRIBUTE_ETAG_VALUE:
9956  *
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.
9960  */
9961
9962
9963 /**
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.
9968  *
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.
9972  */
9973
9974
9975 /**
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
9979  *
9980  * Creates a new action.
9981  * The created action is stateless.  See g_simple_action_new_stateful().
9982  *
9983  * Returns: a new #GSimpleAction
9984  * Since: 2.28
9985  */
9986
9987
9988 /**
9989  * g_inet_address_get_is_link_local:
9990  * @address: a #GInetAddress
9991  *
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
9994  * Internet).
9995  *
9996  * Returns: %TRUE if @address is a link-local address.
9997  * Since: 2.22
9998  */
9999
10000
10001 /**
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.
10007  *
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.
10010  *
10011  * Returns: the handler id
10012  */
10013
10014
10015 /**
10016  * g_drive_has_media:
10017  * @drive: a #GDrive.
10018  *
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.
10022  *
10023  * Returns: %TRUE if @drive has media, %FALSE otherwise.
10024  */
10025
10026
10027 /**
10028  * g_simple_async_result_set_op_res_gssize:
10029  * @simple: a #GSimpleAsyncResult.
10030  * @op_res: a #gssize.
10031  *
10032  * Sets the operation result within the asynchronous result to
10033  * the given @op_res.
10034  */
10035
10036
10037 /**
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.
10043  *
10044  * Finishes an asynchronous icon load started in g_loadable_icon_load_async().
10045  *
10046  * Returns: (transfer full): a #GInputStream to read the icon from.
10047  */
10048
10049
10050 /**
10051  * GOptionEntry:
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().
10059  *
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().
10063  */
10064
10065
10066 /**
10067  * g_resolver_get_default:
10068  *
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
10072  * resolutions.
10073  *
10074  * Returns: (transfer full): the default #GResolver.
10075  * Since: 2.22
10076  */
10077
10078
10079 /**
10080  * g_application_command_line_print:
10081  * @cmdline: a #GApplicationCommandLine
10082  * @format: a printf-style format string
10083  * @...: arguments, as per @format
10084  *
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.
10090  *
10091  * Since: 2.28
10092  */
10093
10094
10095 /**
10096  * G_PARAM_SPEC_CHAR:
10097  * @pspec: a valid #GParamSpec instance
10098  *
10099  * Cast a #GParamSpec instance into a #GParamSpecChar.
10100  */
10101
10102
10103 /**
10104  * g_file_info_has_attribute:
10105  * @info: a #GFileInfo.
10106  * @attribute: a file attribute key.
10107  *
10108  * Checks if a file info structure has an attribute named @attribute.
10109  * %FALSE otherwise.
10110  *
10111  * Returns: %TRUE if @Ginfo has an attribute named @attribute,
10112  */
10113
10114
10115 /**
10116  * g_drive_get_volumes:
10117  * @drive: a #GDrive.
10118  *
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().
10122  *
10123  * Returns: (element-type GVolume) (transfer full): #GList containing any #GVolume objects on the given @drive.
10124  */
10125
10126
10127 /**
10128  * g_dbus_connection_start_message_processing:
10129  * @connection: A #GDBusConnection.
10130  *
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.
10135  *
10136  * Since: 2.26
10137  */
10138
10139
10140 /**
10141  * g_desktop_app_info_set_desktop_env:
10142  * @desktop_env: a string specifying what desktop this is
10143  *
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:
10150  * <simplelist>
10151  * <member>GNOME</member>
10152  * <member>KDE</member>
10153  * <member>ROX</member>
10154  * <member>XFCE</member>
10155  * <member>Old</member>
10156  * </simplelist>
10157  * Should be called only once; subsequent calls are ignored.
10158  */
10159
10160
10161 /**
10162  * GValue:
10163  *
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
10167  * types.
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.
10171  *
10172  * The data within the structure has protected scope: it is accessible only
10173  */
10174
10175
10176 /**
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
10181  *
10182  * Flags used when an operation may create a file.
10183  */
10184
10185
10186 /**
10187  * g_cancellable_new:
10188  *
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.
10195  *
10196  * Returns: a #GCancellable.
10197  */
10198
10199
10200 /**
10201  * G_TYPE_PARAM_ENUM:
10202  *
10203  * The #GType of #GParamSpecEnum.
10204  */
10205
10206
10207 /**
10208  * g_io_extension_get_priority:
10209  * @extension: a #GIOExtension
10210  *
10211  * Gets the priority with which @extension was registered.
10212  *
10213  * Returns: the priority of @extension
10214  */
10215
10216
10217 /**
10218  * g_file_new_for_commandline_arg:
10219  * @arg: a command line string.
10220  *
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.
10225  *
10226  * Returns: (transfer full): a new #GFile.
10227  */
10228
10229
10230 /**
10231  * g_app_info_get_display_name:
10232  * @appinfo: a #GAppInfo.
10233  *
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.
10237  *
10238  * Returns: the display name of the application for @appinfo, or the name if
10239  * Since: 2.24
10240  */
10241
10242
10243 /**
10244  * GApplication::activate:
10245  * @application: the application
10246  *
10247  * The ::activate signal is emitted on the primary instance when an
10248  * activation occurs. See g_application_activate().
10249  */
10250
10251
10252 /**
10253  * g_proxy_connect_finish:
10254  * @proxy: a #GProxy
10255  * @result: a #GAsyncRetult
10256  * @error: return #GError
10257  *
10258  * See g_proxy_connect().
10259  *
10260  * Returns: (transfer full): a #GIOStream.
10261  * Since: 2.26
10262  */
10263
10264
10265 /**
10266  * g_dbus_node_info_new_for_xml:
10267  * @xml_data: Valid D-Bus introspection XML.
10268  * @error: Return location for error.
10269  *
10270  * Parses @xml_data and returns a #GDBusNodeInfo representing the data.
10271  * with g_dbus_node_info_unref().
10272  *
10273  * Returns: A #GDBusNodeInfo structure or %NULL if @error is set. Free
10274  * Since: 2.26
10275  */
10276
10277
10278 /**
10279  * g_mount_get_icon:
10280  * @mount: a #GMount.
10281  *
10282  * Gets the icon for @mount.
10283  * The returned object should be unreffed with
10284  * g_object_unref() when no longer needed.
10285  *
10286  * Returns: (transfer full): a #GIcon.
10287  */
10288
10289
10290 /**
10291  * g_mount_operation_reply:
10292  * @op: a #GMountOperation
10293  * @result: a #GMountOperationResult
10294  *
10295  * Emits the #GMountOperation::reply signal.
10296  */
10297
10298
10299 /**
10300  * g_dbus_property_info_ref:
10301  * @info: A #GDBusPropertyInfo
10302  *
10303  * If @info is statically allocated does nothing. Otherwise increases
10304  * the reference count.
10305  *
10306  * Returns: The same @info.
10307  * Since: 2.26
10308  */
10309
10310
10311 /**
10312  * GDBusProxyClass:
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.
10315  *
10316  * Class structure for #GDBusProxy.
10317  *
10318  * Since: 2.26
10319  */
10320
10321
10322 /**
10323  * g_themed_icon_new_with_default_fallbacks:
10324  * @iconname: a string containing an icon name
10325  *
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:
10329  * |[
10330  * const char *names[] = {
10331  * "gnome-dev-cdrom-audio",
10332  * "gnome-dev-cdrom",
10333  * "gnome-dev",
10334  * "gnome"
10335  * };
10336  * icon1 = g_themed_icon_new_from_names (names, 4);
10337  * icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio");
10338  * ]|
10339  *
10340  * Returns: (transfer full): a new #GThemedIcon.
10341  */
10342
10343
10344 /**
10345  * GDataOutputStream:
10346  *
10347  * An implementation of #GBufferedOutputStream that allows for high-level
10348  * data manipulation of arbitrary data (including binary operations).
10349  */
10350
10351
10352 /**
10353  * g_action_group_has_action:
10354  * @action_group: a #GActionGroup
10355  * @action_name: the name of the action to check for
10356  *
10357  * Checks if the named action exists within @action_group.
10358  *
10359  * Returns: whether the named action exists
10360  * Since: 2.28
10361  */
10362
10363
10364 /**
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
10372  *
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.
10377  */
10378
10379
10380 /**
10381  * g_inet_address_get_is_mc_node_local:
10382  * @address: a #GInetAddress
10383  *
10384  * Tests whether @address is a node-local multicast address.
10385  *
10386  * Returns: %TRUE if @address is a node-local multicast address.
10387  * Since: 2.22
10388  */
10389
10390
10391 /**
10392  * SECTION:gvolum:
10393  * @short_description: Volume management
10394  * @include: gio/gio.h
10395  *
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
10407  * for credentials.
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.
10425  * </para>
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().
10431  *
10432  * Of identifiers: #G_VOLUME_IDENTIFIER_KIND_HAL_UDI,
10433  */
10434
10435
10436 /**
10437  * GLoadableIcon:
10438  *
10439  * Generic type for all kinds of icons that can be loaded
10440  * as a stream.
10441  */
10442
10443
10444 /**
10445  * GBufferedInputStream:
10446  *
10447  * Implements #GFilterInputStream with a sized input buffer.
10448  */
10449
10450
10451 /**
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
10460  *
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
10464  * operation.
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().
10483  */
10484
10485
10486 /**
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.
10490  *
10491  * Creates a #GTlsCertificate from the PEM-encoded data in @file. If
10492  * set @error. Otherwise, this behaves like g_tls_certificate_new().
10493  *
10494  * Returns: the new certificate, or %NULL on error
10495  * Since: 2.28
10496  */
10497
10498
10499 /**
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
10505  *
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).
10513  *
10514  * Returns: %TRUE if the condition was met, %FALSE otherwise
10515  * Since: 2.22
10516  */
10517
10518
10519 /**
10520  * g_dbus_message_to_gerror:
10521  * @message: A #GDBusMessage.
10522  * @error: The #GError to set.
10523  *
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.
10530  *
10531  * Returns: %TRUE if @error was set, %FALSE otherwise.
10532  * Since: 2.26
10533  */
10534
10535
10536 /**
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.
10541  *
10542  * Blocks all handlers on an instance that match @func and @data.
10543  *
10544  * Returns: The number of handlers that matched.
10545  */
10546
10547
10548 /**
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
10556  *
10557  * This is the asynchronous version of
10558  * g_socket_client_connect_to_service().
10559  *
10560  * Since: 2.22
10561  */
10562
10563
10564 /**
10565  * g_mount_operation_get_domain:
10566  * @op: a #GMountOperation.
10567  *
10568  * Gets the domain of the mount operation.
10569  *
10570  * Returns: a string set to the domain.
10571  */
10572
10573
10574 /**
10575  * g_file_info_get_display_name:
10576  * @info: a #GFileInfo.
10577  *
10578  * Gets a display name for a file.
10579  *
10580  * Returns: a string containing the display name.
10581  */
10582
10583
10584 /**
10585  * g_dbus_server_get_client_address:
10586  * @server: A #GDBusServer.
10587  *
10588  * Gets a D-Bus address string that can be used by clients to connect
10589  * to @server.
10590  * by @server.
10591  *
10592  * Returns: A D-Bus address string. Do not free, the string is owned
10593  * Since: 2.26
10594  */
10595
10596
10597 /**
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
10605  *
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
10616  * accordingly.
10617  */
10618
10619
10620 /**
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.
10629  *
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
10633  * by @object_path.
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
10640  * the request.
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
10654  * registration.
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() .
10657  *
10658  * Returns: 0 if @error is set, otherwise a subtree registration id (never 0)
10659  * Since: 2.26
10660  */
10661
10662
10663 /**
10664  * G_VARIANT_TYPE_INT32:
10665  *
10666  * The type of an integer value that can range from -2147483648 to
10667  * 2147483647.
10668  */
10669
10670
10671 /**
10672  * SECTION:gseekabl:
10673  * @short_description: Stream seeking interface
10674  * @include: gio/gio.h
10675  * @see_also: #GInputStream, #GOutputStream
10676  *
10677  * #GSeekable is implemented by streams (implementations of
10678  * #GInputStream or #GOutputStream) that support seeking.
10679  */
10680
10681
10682 /**
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
10688  *
10689  * The type of the @get_property function of #GObjectClass.
10690  */
10691
10692
10693 /**
10694  * g_mount_get_drive:
10695  * @mount: a #GMount.
10696  *
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.
10702  *
10703  * Returns: (transfer full): a #GDrive or %NULL if @mount is not associated with a volume or a drive.
10704  */
10705
10706
10707 /**
10708  * g_file_get_parse_name:
10709  * @file: input #GFile.
10710  *
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.
10723  *
10724  * Returns: a string containing the #GFile's parse name. The returned
10725  */
10726
10727
10728 /**
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
10735  *
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.
10740  *
10741  * Since: 2.22
10742  */
10743
10744
10745 /**
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().
10750  *
10751  * Invoked when the name being watched is known not to have to have a owner.
10752  *
10753  * Since: 2.26
10754  */
10755
10756
10757 /**
10758  * SECTION:gfilteroutputstrea:
10759  * @short_description: Filter Output Stream
10760  * @include: gio/gio.h
10761  *
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.
10766  */
10767
10768
10769 /**
10770  * GEnumValue:
10771  * @value: the enum value
10772  * @value_name: the name of the value
10773  * @value_nick: the nickname of the value
10774  *
10775  * A structure which contains a single enum value, its name, and its
10776  * nickname.
10777  */
10778
10779
10780 /**
10781  * g_file_equal:
10782  * @file1: the first #GFile.
10783  * @file2: the second #GFile.
10784  *
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
10788  * aliasing.
10789  * This call does no blocking i/o.
10790  * %FALSE if either is not a #GFile.
10791  *
10792  * Returns: %TRUE if @file1 and @file2 are equal.
10793  */
10794
10795
10796 /**
10797  * GOptionArg:
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
10807  *
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>
10812  *
10813  * Or combined in a single argument: <option>--name=arg</option>.
10814  */
10815
10816
10817 /**
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.
10826  *
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.
10832  */
10833
10834
10835 /**
10836  * SECTION:gcharsetconverte:
10837  * @short_description: Convert between charsets
10838  * @include: gio/gio.h
10839  *
10840  * #GCharsetConverter is an implementation of #GConverter based on
10841  * GIConv.
10842  */
10843
10844
10845 /**
10846  * G_VALUE_HOLDS_INT:
10847  * @value: a valid #GValue structure
10848  *
10849  * Checks whether the given #GValue can hold values of type %G_TYPE_INT.
10850  *
10851  * Returns: %TRUE on success.
10852  */
10853
10854
10855 /**
10856  * g_dbus_method_invocation_get_parameters:
10857  * @invocation: A #GDBusMethodInvocation.
10858  *
10859  * Gets the parameters of the method invocation.
10860  *
10861  * Returns: A #GVariant. Do not free, it is owned by @invocation.
10862  * Since: 2.26
10863  */
10864
10865
10866 /**
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
10873  *
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.
10882  */
10883
10884
10885 /**
10886  * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT:
10887  *
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.
10892  */
10893
10894
10895 /**
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.
10901  *
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().
10905  *
10906  * Returns: A pointer to a valid binary D-Bus message of @out_size bytes
10907  * Since: 2.26
10908  */
10909
10910
10911 /**
10912  * SECTION:giostrea:
10913  * @short_description: Base class for implementing read/write streams
10914  * @include: gio/gio.h
10915  * @see_also: #GInputStream, #GOutputStream
10916  *
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.
10937  *
10938  * Since: 2.22
10939  */
10940
10941
10942 /**
10943  * g_socket_client_get_local_address:
10944  * @client: a #GSocketClient.
10945  *
10946  * Gets the local address of the socket client.
10947  * See g_socket_client_set_local_address() for details.
10948  *
10949  * Returns: (transfer none): a #GSocketAddres or %NULL. don't free
10950  * Since: 2.22
10951  */
10952
10953
10954 /**
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.
10959  *
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.
10967  *
10968  * Returns: an unsigned 64-bit/8-byte read from @stream or %0 if
10969  */
10970
10971
10972 /**
10973  * g_proxy_connect:
10974  * @proxy: a #GProxy
10975  * @connection: a #GIOStream
10976  * @proxy_address: a #GProxyAddress
10977  * @cancellable: a #GCancellable
10978  * @error: return #GError
10979  *
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
10985  * will be added.
10986  *
10987  * Returns: (transfer full): a #GIOStream that will replace @connection. This might
10988  * Since: 2.26
10989  */
10990
10991
10992 /**
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
10998  *
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()
11004  *
11005  * Returns: a string indicating a guessed content type for the
11006  */
11007
11008
11009 /**
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
11015  *
11016  * Signals that a list of keys have possibly changed.  Backend
11017  * implementations should call this if keys have possibly changed their
11018  * values.
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
11023  * changed.
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.
11030  *
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
11033  * Since: 2.26
11034  */
11035
11036
11037 /**
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.
11043  *
11044  * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
11045  */
11046
11047
11048 /**
11049  * GOutputVector:
11050  * @buffer: Pointer to a buffer of data to read.
11051  * @size: the size of @buffer.
11052  *
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
11056  * one buffer.
11057  *
11058  * Since: 2.22
11059  */
11060
11061
11062 /**
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
11067  *
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()
11075  *
11076  * Returns: a #GFileAttributeInfoList describing the writable namespaces.
11077  */
11078
11079
11080 /**
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
11088  *
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.
11095  *
11096  * Since: 2.22
11097  */
11098
11099
11100 /**
11101  * G_TYPE_PTR_ARRAY:
11102  *
11103  * The #GType for a boxed type holding a #GPtrArray reference.
11104  *
11105  * Since: 2.22
11106  */
11107
11108
11109 /**
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.
11115  *
11116  * Like g_dbus_message_new_method_error() but intended for language bindings.
11117  *
11118  * Returns: (transfer full): A #GDBusMessage. Free with g_object_unref().
11119  * Since: 2.26
11120  */
11121
11122
11123 /**
11124  * g_socket_set_listen_backlog:
11125  * @socket: a #GSocket.
11126  * @backlog: the maximum number of pending connections.
11127  *
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.
11134  *
11135  * Since: 2.22
11136  */
11137
11138
11139 /**
11140  * G_IS_PARAM_SPEC_POINTER:
11141  * @pspec: a valid #GParamSpec instance
11142  *
11143  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER.
11144  *
11145  * Returns: %TRUE on success.
11146  */
11147
11148
11149 /**
11150  * GUnixCredentialsMessageClass:
11151  *
11152  * Class structure for #GUnixCredentialsMessage.
11153  *
11154  * Since: 2.26
11155  */
11156
11157
11158 /**
11159  * g_proxy_resolver_get_default:
11160  *
11161  * Gets the default #GProxyResolver for the system.
11162  *
11163  * Returns: (transfer none): the default #GProxyResolver.
11164  * Since: 2.26
11165  */
11166
11167
11168 /**
11169  * g_settings_delay:
11170  * @settings: a #GSettings object
11171  *
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.
11175  *
11176  * Since: 2.26
11177  */
11178
11179
11180 /**
11181  * GMemoryOutputStream:destroy-function:
11182  *
11183  * Function called with the buffer as argument when the stream is destroyed.
11184  *
11185  * Since: 2.24
11186  */
11187
11188
11189 /**
11190  * GFileInputStream:
11191  *
11192  * A subclass of GInputStream for opened files. This adds
11193  * a few file-specific operations and seeking.
11194  * #GFileInputStream implements #GSeekable.
11195  */
11196
11197
11198 /**
11199  * SECTION:gwin32outputstrea:
11200  * @short_description: Streaming output operations for Windows file handles
11201  * @include: gio/gwin32outputstream.h
11202  * @see_also: #GOutputStream
11203  *
11204  * #GWin32OutputStream implements #GOutputStream for writing to a
11205  * Windows file handle.
11206  * Note that <filename>&lt;gio/gwin32outputstream.h&gt;</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.
11209  */
11210
11211
11212 /**
11213  * g_file_monitor_is_cancelled:
11214  * @monitor: a #GFileMonitor
11215  *
11216  * Returns whether the monitor is canceled.
11217  *
11218  * Returns: %TRUE if monitor is canceled. %FALSE otherwise.
11219  */
11220
11221
11222 /**
11223  * G_PARAM_SPEC_CLASS:
11224  * @pclass: a valid #GParamSpecClass
11225  *
11226  * Casts a derived #GParamSpecClass structure into a #GParamSpecClass structure.
11227  */
11228
11229
11230 /**
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
11237  *
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
11244  * further errors.
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.
11248  *
11249  * Returns: %TRUE if there was any error, %FALSE otherwise.
11250  */
11251
11252
11253 /**
11254  * G_TYPE_IS_ABSTRACT:
11255  * @type: A #GType value.
11256  *
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
11259  * derived classes.
11260  *
11261  * Returns: %TRUE on success.
11262  */
11263
11264
11265 /**
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
11270  *
11271  * Finds out if a key can be written or not
11272  *
11273  * Since: 2.26
11274  */
11275
11276
11277 /**
11278  * GCallback:
11279  *
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.
11285  */
11286
11287
11288 /**
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
11296  *
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.
11303  */
11304
11305
11306 /**
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.
11311  *
11312  * Finishes an asynchronous stream splice operation.
11313  *
11314  * Returns: a #gssize of the number of bytes spliced.
11315  */
11316
11317
11318 /**
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.
11324  *
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.
11334  *
11335  * Returns: %TRUE on success, %FALSE on error
11336  * Since: 2.22
11337  */
11338
11339
11340 /**
11341  * G_PARAM_SPEC_DOUBLE:
11342  * @pspec: a valid #GParamSpec instance
11343  *
11344  * Cast a #GParamSpec instance into a #GParamSpecDouble.
11345  */
11346
11347
11348 /**
11349  * g_file_get_relative_path:
11350  * @parent: input #GFile.
11351  * @descendant: input #GFile.
11352  *
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.
11357  *
11358  * Returns: string with the relative path from @descendant
11359  */
11360
11361
11362 /**
11363  * g_simple_async_result_take_error: (skip)
11364  * @simple: a #GSimpleAsyncResult
11365  * @error: a #GError
11366  *
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.
11369  *
11370  * Since: 2.28
11371  */
11372
11373
11374 /**
11375  * GClosureNotify:
11376  * @data: data specified when registering the notification callback
11377  * @closure: the #GClosure on which the notification is emitted
11378  *
11379  * The type used for the various notification callbacks which can be registered
11380  * on closures.
11381  */
11382
11383
11384 /**
11385  * g_unix_is_mount_path_system_internal:
11386  * @mount_path: a mount path, e.g. <filename>/media/disk</filename> or <filename>/usr</filename>
11387  *
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
11391  * casual user.
11392  * of the OS.
11393  *
11394  * Returns: %TRUE if @mount_path is considered an implementation detail
11395  */
11396
11397
11398 /**
11399  * g_emblemed_icon_new:
11400  * @icon: a #GIcon
11401  * @emblem: (allow-none): a #GEmblem, or %NULL
11402  *
11403  * Creates a new emblemed icon for @icon with the emblem @emblem.
11404  *
11405  * Returns: (transfer full): a new #GIcon
11406  * Since: 2.18
11407  */
11408
11409
11410 /**
11411  * G_TYPE_DBUS_ANNOTATION_INFO:
11412  *
11413  * The #GType for a boxed type holding a #GDBusAnnotationInfo.
11414  *
11415  * Since: 2.26
11416  */
11417
11418
11419 /**
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.
11424  *
11425  * The #GSignalInvocationHint structure is used to pass on additional information
11426  * to callbacks during a signal emission.
11427  */
11428
11429
11430 /**
11431  * g_tls_connection_get_peer_certificate:
11432  * @conn: a #GTlsConnection
11433  *
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.)
11437  *
11438  * Returns: (transfer none): @conn's peer's certificate, or %NULL
11439  * Since: 2.28
11440  */
11441
11442
11443 /**
11444  * g_file_eject_mountable_finish:
11445  * @file: input #GFile.
11446  * @result: a #GAsyncResult.
11447  * @error: a #GError, or %NULL
11448  *
11449  * Finishes an asynchronous eject operation started by
11450  * g_file_eject_mountable().
11451  * otherwise.
11452  *
11453  * Returns: %TRUE if the @file was ejected successfully. %FALSE
11454  * Deprecated: 2.22: Use g_file_eject_mountable_with_operation_finish() instead.
11455  */
11456
11457
11458 /**
11459  * g_local_vfs_new:
11460  *
11461  * Returns a new #GVfs handle for a local vfs.
11462  *
11463  * Returns: a new #GVfs handle.
11464  */
11465
11466
11467 /**
11468  * GDBusServer::new-connection:
11469  * @server: The #GDBusServer emitting the signal.
11470  * @connection: A #GDBusConnection for the new connection.
11471  *
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.
11489  * run.
11490  *
11491  * Returns: %TRUE to claim @connection, %FALSE to let other handlers
11492  * Since: 2.26
11493  */
11494
11495
11496 /**
11497  * g_tls_backend_get_certificate_type:
11498  * @backend: the #GTlsBackend
11499  *
11500  * Gets the #GType of @backend's #GTlsCertificate implementation.
11501  * implementation.
11502  *
11503  * Returns: the #GType of @backend's #GTlsCertificate
11504  * Since: 2.28
11505  */
11506
11507
11508 /**
11509  * g_action_group_action_added:
11510  * @action_group: a #GActionGroup
11511  * @action_name: the name of an action in the group
11512  *
11513  * Emits the #GActionGroup::action-added signal on @action_group.
11514  * This function should only be called by #GActionGroup implementations.
11515  *
11516  * Since: 2.28
11517  */
11518
11519
11520 /**
11521  * g_output_stream_has_pending:
11522  * @stream: a #GOutputStream.
11523  *
11524  * Checks if an ouput stream has pending actions.
11525  *
11526  * Returns: %TRUE if @stream has pending actions.
11527  */
11528
11529
11530 /**
11531  * GDBusConnection:capabilities:
11532  *
11533  * Flags from the #GDBusCapabilityFlags enumeration
11534  * representing connection features negotiated with the other peer.
11535  *
11536  * Since: 2.26
11537  */
11538
11539
11540 /**
11541  * GReallocFunc:
11542  * @data: memory block to reallocate
11543  * @size: size to reallocate @data to
11544  *
11545  * Changes the size of the memory block pointed to by @data to
11546  * The function should have the same semantics as realloc().
11547  *
11548  * Returns: a pointer to the reallocated memory
11549  */
11550
11551
11552 /**
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.
11557  *
11558  * Destroys an association previously set up with g_dbus_error_register_error().
11559  *
11560  * Returns: %TRUE if the association was destroyed, %FALSE if it wasn't found.
11561  * Since: 2.26
11562  */
11563
11564
11565 /**
11566  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START:
11567  *
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.
11570  *
11571  * Since: 2.22
11572  */
11573
11574
11575 /**
11576  * SECTION:gcancellabl:
11577  * @short_description: Thread-safe Operation Cancellation Stack
11578  * @include: gio/gio.h
11579  *
11580  * GCancellable is a thread-safe operation cancellation stack used
11581  * throughout GIO to allow for cancellation of synchronous and
11582  * asynchronous operations.
11583  */
11584
11585
11586 /**
11587  * g_buffered_input_stream_peek:
11588  * @stream: a #GBufferedInputStream
11589  * @buffer: a pointer to an allocated chunk of memory
11590  * @offset: a #gsize
11591  * @count: a #gsize
11592  *
11593  * Peeks in the buffer, copying data of size @count into @buffer,
11594  * offset @offset bytes.
11595  *
11596  * Returns: a #gsize of the number of bytes peeked, or -1 on error.
11597  */
11598
11599
11600 /**
11601  * g_file_is_native:
11602  * @file: input #GFile.
11603  *
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.
11613  *
11614  * Returns: %TRUE if file is native.
11615  */
11616
11617
11618 /**
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
11626  *
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.
11633  *
11634  * Returns: %TRUE if the @attribute was successfully set to @value
11635  */
11636
11637
11638 /**
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.
11643  *
11644  * Finishes flushing an output stream.
11645  *
11646  * Returns: %TRUE if flush operation suceeded, %FALSE otherwise.
11647  */
11648
11649
11650 /**
11651  * g_volume_get_icon:
11652  * @volume: a #GVolume.
11653  *
11654  * Gets the icon for @volume.
11655  * The returned object should be unreffed with g_object_unref()
11656  * when no longer needed.
11657  *
11658  * Returns: (transfer full): a #GIcon.
11659  */
11660
11661
11662 /**
11663  * GMountOperation::aborted:
11664  *
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.
11669  *
11670  * Since: 2.20
11671  */
11672
11673
11674 /**
11675  * g_charset_converter_get_use_fallback:
11676  * @converter: a #GCharsetConverter
11677  *
11678  * Gets the #GCharsetConverter:use-fallback property.
11679  *
11680  * Returns: %TRUE if fallbacks are used by @converter
11681  * Since: 2.24
11682  */
11683
11684
11685 /**
11686  * g_win32_output_stream_set_close_handle:
11687  * @stream: a #GWin32OutputStream
11688  * @close_handle: %TRUE to close the handle when done
11689  *
11690  * Sets whether the handle of @stream shall be closed when the stream
11691  * is closed.
11692  *
11693  * Since: 2.26
11694  */
11695
11696
11697 /**
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
11708  *
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
11718  * next call.
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
11757  * initial state.
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).
11779  *
11780  * Returns: a #GConverterResult, %G_CONVERTER_ERROR on error.
11781  * Since: 2.24
11782  */
11783
11784
11785 /**
11786  * G_INITIALLY_UNOWNED:
11787  * @object: Object which is subject to casting.
11788  *
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.
11792  */
11793
11794
11795 /**
11796  * g_unix_mounts_changed_since:
11797  * @time: guint64 to contain a timestamp.
11798  *
11799  * Checks if the unix mounts have changed since a given unix time.
11800  *
11801  * Returns: %TRUE if the mounts have changed since @time.
11802  */
11803
11804
11805 /**
11806  * GAction:state:
11807  *
11808  * The state of the action, or %NULL if the action is stateless.
11809  *
11810  * Since: 2.28
11811  */
11812
11813
11814 /**
11815  * g_file_info_get_attribute_int64:
11816  * @info: a #GFileInfo.
11817  * @attribute: a file attribute key.
11818  *
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.
11822  *
11823  * Returns: a signed 64-bit integer from the attribute.
11824  */
11825
11826
11827 /**
11828  * g_unix_socket_address_get_is_abstract:
11829  * @address: a #GInetSocketAddress
11830  *
11831  * Tests if @address is abstract.
11832  *
11833  * Returns: %TRUE if the address is abstract, %FALSE otherwise
11834  * Since: 2.22
11835  * Deprecated: Use g_unix_socket_address_get_address_type()
11836  */
11837
11838
11839 /**
11840  * g_io_extension_get_name:
11841  * @extension: a #GIOExtension
11842  *
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.
11846  *
11847  * Returns: the name of @extension.
11848  */
11849
11850
11851 /**
11852  * GTcpConnection:
11853  *
11854  * A #GSocketConnection for UNIX domain socket connections.
11855  *
11856  * Since: 2.22
11857  */
11858
11859
11860 /**
11861  * g_settings_backend_changed_tree:
11862  * @backend: a #GSettingsBackend implementation
11863  * @tree: a #GTree containing the changes
11864  * @origin_tag: the origin tag
11865  *
11866  * This call is a convenience wrapper.  It gets the list of changes from
11867  * g_settings_backend_changed().
11868  *
11869  * Since: 2.26
11870  */
11871
11872
11873 /**
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
11880  *
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
11901  * accordingly.
11902  *
11903  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
11904  * Since: 2.22
11905  */
11906
11907
11908 /**
11909  * SECTION:gtl:
11910  * @title: TLS Overview
11911  * @short_description: TLS (aka SSL) support for GSocketConnection
11912  * @include: gio/gio.h
11913  *
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
11929  * handshake.
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
11933  * connections.
11934  */
11935
11936
11937 /**
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().
11943  *
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().
11951  *
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.
11954  * Since: 2.26
11955  */
11956
11957
11958 /**
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
11964  *
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.
11968  *
11969  * Returns: a new #GSrvTarget.
11970  * Since: 2.22
11971  */
11972
11973
11974 /**
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.
11983  *
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
11986  * information.
11987  */
11988
11989
11990 /**
11991  * G_ENUM_CLASS_TYPE:
11992  * @class: a #GEnumClass
11993  *
11994  * Get the type identifier from a given #GEnumClass structure.
11995  *
11996  * Returns: the #GType
11997  */
11998
11999
12000 /**
12001  * G_TYPE_FLOAT:
12002  *
12003  * The fundamental type corresponding to #gfloat.
12004  */
12005
12006
12007 /**
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
12016  *
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
12021  * for any errors.
12022  *
12023  * Since: 2.22
12024  */
12025
12026
12027 /**
12028  * G_VALUE_HOLDS_UCHAR:
12029  * @value: a valid #GValue structure
12030  *
12031  * Checks whether the given #GValue can hold values of type %G_TYPE_UCHAR.
12032  *
12033  * Returns: %TRUE on success.
12034  */
12035
12036
12037 /**
12038  * SECTION:gbufferedoutputstrea:
12039  * @short_description: Buffered Output Stream
12040  * @include: gio/gio.h
12041  * @see_also: #GFilterOutputStream, #GOutputStream
12042  *
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
12048  * at construction.
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.
12054  */
12055
12056
12057 /**
12058  * G_SETTINGS_BACKEND_EXTENSION_POINT_NAME:
12059  *
12060  * Extension point for #GSettingsBackend functionality.
12061  */
12062
12063
12064 /**
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
12069  *
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.
12078  *
12079  * Since: 2.28
12080  */
12081
12082
12083 /**
12084  * GMemoryOutputStream:
12085  *
12086  * Implements #GOutputStream for arbitrary memory chunks.
12087  */
12088
12089
12090 /**
12091  * g_bus_get_sync:
12092  * @bus_type: A #GBusType.
12093  * @cancellable: A #GCancellable or %NULL.
12094  * @error: Return location for error or %NULL.
12095  *
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.
12109  *
12110  * Returns: (transfer full): A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
12111  * Since: 2.26
12112  */
12113
12114
12115 /**
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
12122  *
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.
12129  *
12130  * Deprecated: 2.22: Use g_file_unmount_mountable_with_operation() instead.
12131  */
12132
12133
12134 /**
12135  * g_network_address_get_port:
12136  * @addr: a #GNetworkAddress
12137  *
12138  * Gets @addr's port number
12139  *
12140  * Returns: @addr's port (which may be 0)
12141  * Since: 2.22
12142  */
12143
12144
12145 /**
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.
12155  *
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.:
12167  * |[
12168  * g_dbus_proxy_call (proxy,
12169  * "TwoStrings",
12170  * g_variant_new ("(ss)",
12171  * "Thing One",
12172  * "Thing Two"),
12173  * G_DBUS_CALL_FLAGS_NONE,
12174  * -1,
12175  * NULL,
12176  * (GAsyncReadyCallback) two_strings_done,
12177  * &amp;data);
12178  * ]|
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.
12185  *
12186  * Since: 2.26
12187  */
12188
12189
12190 /**
12191  * G_TYPE_OBJECT:
12192  *
12193  * The fundamental type for #GObject.
12194  */
12195
12196
12197 /**
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
12203  *
12204  * The ::open signal is emitted on the primary instance when there are
12205  * files to open. See g_application_open() for more information.
12206  */
12207
12208
12209 /**
12210  * g_tcp_wrapper_connection_new:
12211  * @base_io_stream: the #GIOStream to wrap
12212  * @socket: the #GSocket associated with @base_io_stream
12213  *
12214  * Wraps @base_io_stream and @socket together as a #GSocketConnection.
12215  *
12216  * Returns: the new #GSocketConnection.
12217  * Since: 2.28
12218  */
12219
12220
12221 /**
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.
12225  *
12226  * Finishes creating a #GDBusProxy.
12227  *
12228  * Returns: A #GDBusProxy or %NULL if @error is set. Free with g_object_unref().
12229  * Since: 2.26
12230  */
12231
12232
12233 /**
12234  * g_socket_client_set_local_address:
12235  * @client: a #GSocketClient.
12236  * @address: a #GSocketAddress, or %NULL
12237  *
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.
12244  *
12245  * Since: 2.22
12246  */
12247
12248
12249 /**
12250  * g_input_stream_has_pending:
12251  * @stream: input stream.
12252  *
12253  * Checks if an input stream has pending actions.
12254  *
12255  * Returns: %TRUE if @stream has pending actions.
12256  */
12257
12258
12259 /**
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.
12271  *
12272  * Header fields used in #GDBusMessage.
12273  *
12274  * Since: 2.26
12275  */
12276
12277
12278 /**
12279  * G_PARAM_SPEC_TYPE:
12280  * @pspec: a valid #GParamSpec
12281  *
12282  * Retrieves the #GType of this @pspec.
12283  */
12284
12285
12286 /**
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.
12296  *
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.
12318  *
12319  * Since: 2.26
12320  */
12321
12322
12323 /**
12324  * g_file_info_get_attribute_byte_string:
12325  * @info: a #GFileInfo.
12326  * @attribute: a file attribute key.
12327  *
12328  * Gets the value of a byte string attribute. If the attribute does
12329  * not contain a byte string, %NULL will be returned.
12330  * %NULL otherwise.
12331  *
12332  * Returns: the contents of the @attribute value as a byte string, or
12333  */
12334
12335
12336 /**
12337  * g_socket_get_credentials:
12338  * @socket: a #GSocket.
12339  * @error: #GError for error reporting, or %NULL to ignore.
12340  *
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
12343  * sockets).
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().
12352  *
12353  * Returns: (transfer full): %NULL if @error is set, otherwise a #GCredentials object
12354  * Since: 2.26
12355  */
12356
12357
12358 /**
12359  * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE:
12360  *
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.
12366  *
12367  * Since: 2.20
12368  */
12369
12370
12371 /**
12372  * g_node_prepend_data:
12373  * @parent: the #GNode to place the new #GNode under
12374  * @data: the data for the new #GNode
12375  *
12376  * Inserts a new #GNode as the first child of the given parent.
12377  *
12378  * Returns: the new #GNode
12379  */
12380
12381
12382 /**
12383  * GVolumeMonitor::volume-changed:
12384  * @volume_monitor: The volume monitor emitting the signal.
12385  * @volume: a #GVolume that changed.
12386  *
12387  * Emitted when mountable volume is changed.
12388  */
12389
12390
12391 /**
12392  * GSignalQuery:
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>
12400  *
12401  * A structure holding in-depth information for a specific signal. It is
12402  * filled in by the g_signal_query() function.
12403  */
12404
12405
12406 /**
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.
12411  *
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.
12415  *
12416  * Since: 2.4
12417  */
12418
12419
12420 /**
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.
12430  *
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.
12433  *
12434  * Returns: A #GDBusProxy or %NULL if error is set. Free with g_object_unref().
12435  * Since: 2.26
12436  */
12437
12438
12439 /**
12440  * GVolume::changed:
12441  *
12442  * Emitted when the volume has been changed.
12443  */
12444
12445
12446 /**
12447  * G_TYPE_CHAR:
12448  *
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".
12452  */
12453
12454
12455 /**
12456  * g_buffered_output_stream_set_auto_grow:
12457  * @stream: a #GBufferedOutputStream.
12458  * @auto_grow: a #gboolean.
12459  *
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.
12464  */
12465
12466
12467 /**
12468  * g_memory_output_stream_get_size:
12469  * @ostream: a #GMemoryOutputStream
12470  *
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().
12480  *
12481  * Returns: the number of bytes allocated for the data buffer
12482  */
12483
12484
12485 /**
12486  * GMount::unmounted:
12487  * @mount: the object on which the signal is emitted
12488  *
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
12492  * finalized.
12493  */
12494
12495
12496 /**
12497  * GBusType:
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.
12502  *
12503  * An enumeration for well-known message buses.
12504  *
12505  * Since: 2.26
12506  */
12507
12508
12509 /**
12510  * GMount::pre-unmount:
12511  * @mount: the object on which the signal is emitted
12512  *
12513  * This signal is emitted when the #GMount is about to be
12514  * unmounted.
12515  *
12516  * Since: 2.22
12517  */
12518
12519
12520 /**
12521  * g_dbus_connection_get_guid:
12522  * @connection: A #GDBusConnection.
12523  *
12524  * The GUID of the peer performing the role of server when
12525  * authenticating. See #GDBusConnection:guid for more details.
12526  *
12527  * Returns: The GUID. Do not free this string, it is owned by
12528  * Since: 2.26
12529  */
12530
12531
12532 /**
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
12538  *
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.
12542  *
12543  * Since: 2.22
12544  */
12545
12546
12547 /**
12548  * g_volume_mount:
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
12555  *
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.
12559  *
12560  * Virtual: mount_fn
12561  */
12562
12563
12564 /**
12565  * g_unix_mount_point_get_device_path:
12566  * @mount_point: a #GUnixMountPoint.
12567  *
12568  * Gets the device path for a unix mount point.
12569  *
12570  * Returns: a string containing the device path.
12571  */
12572
12573
12574 /**
12575  * g_socket_get_family:
12576  * @socket: a #GSocket.
12577  *
12578  * Gets the socket family of the socket.
12579  *
12580  * Returns: a #GSocketFamily
12581  * Since: 2.22
12582  */
12583
12584
12585 /**
12586  * GConverterIface:
12587  * @g_iface: The parent interface.
12588  * @convert: Converts data.
12589  * @reset: Reverts the internal state of the converter to its initial state.
12590  *
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.
12594  *
12595  * Since: 2.24
12596  */
12597
12598
12599 /**
12600  * G_FILE_ATTRIBUTE_STANDARD_SIZE:
12601  *
12602  * A key in the "standard" namespace for getting the file's size (in bytes).
12603  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
12604  */
12605
12606
12607 /**
12608  * g_app_info_get_executable:
12609  * @appinfo: a #GAppInfo
12610  *
12611  * Gets the executable's name for the installed application.
12612  * binaries name
12613  *
12614  * Returns: a string containing the @appinfo's application
12615  */
12616
12617
12618 /**
12619  * GDBusAuthObserver:
12620  *
12621  * The #GDBusAuthObserver structure contains only private data and
12622  * should only be accessed using the provided API.
12623  *
12624  * Since: 2.26
12625  */
12626
12627
12628 /**
12629  * g_settings_get_value:
12630  * @settings: a #GSettings object
12631  * @key: the key to get the value for
12632  * @returns: a new #GVariant
12633  *
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.
12637  *
12638  * Since: 2.26
12639  */
12640
12641
12642 /**
12643  * GParamSpecFlags:
12644  * @parent_instance: private #GParamSpec portion
12645  * @flags_class: the #GFlagsClass for the flags
12646  * @default_value: default value for the property specified
12647  *
12648  * A #GParamSpec derived structure that contains the meta data for flags
12649  * properties.
12650  */
12651
12652
12653 /**
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
12658  *
12659  * The client authentication mode for a #GTlsServerConnection.
12660  *
12661  * Since: 2.28
12662  */
12663
12664
12665 /**
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.
12670  *
12671  * Finishes an operation started with g_dbus_connection_close().
12672  *
12673  * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
12674  * Since: 2.26
12675  */
12676
12677
12678 /**
12679  * G_URI_RESERVED_CHARS_GENERIC_DELIMITERS:
12680  *
12681  * Generic delimiters characters as defined in RFC 3986. Includes ":/?#[]@".
12682  */
12683
12684
12685 /**
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
12691  *
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
12695  * the schema.
12696  * If @value is floating then this function consumes the reference.
12697  *
12698  * Since: 2.26
12699  */
12700
12701
12702 /**
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.
12713  *
12714  * Flags specifying match-time options.
12715  *
12716  * Since: 2.14
12717  */
12718
12719
12720 /**
12721  * GSocketFamily:
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
12726  *
12727  * The protocol family of a #GSocketAddress. (These values are
12728  * identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX,
12729  * if available.)
12730  *
12731  * Since: 2.22
12732  */
12733
12734
12735 /**
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.
12740  *
12741  * Finishes closing a stream asynchronously, started from g_input_stream_close_async().
12742  *
12743  * Returns: %TRUE if the stream was closed successfully.
12744  */
12745
12746
12747 /**
12748  * G_TYPE_IS_CLASSED:
12749  * @type: A #GType value.
12750  *
12751  * Checks if @type is a classed type.
12752  *
12753  * Returns: %TRUE on success.
12754  */
12755
12756
12757 /**
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
12762  *
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.
12768  *
12769  * Returns: a hostname (either ASCII-only, or in ASCII-encoded
12770  * Since: 2.22
12771  */
12772
12773
12774 /**
12775  * G_TYPE_PARAM_OVERRIDE:
12776  *
12777  * The #GType of #GParamSpecOverride.
12778  *
12779  * Since: 2.4
12780  */
12781
12782
12783 /**
12784  * mime_info_cache_reload:
12785  * @dir: directory path which needs reloading.
12786  *
12787  * Reload the mime information for the @dir.
12788  */
12789
12790
12791 /**
12792  * g_socket_get_fd:
12793  * @socket: a #GSocket.
12794  *
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
12799  * on the socket.
12800  *
12801  * Returns: the file descriptor of the socket.
12802  * Since: 2.22
12803  */
12804
12805
12806 /**
12807  * GTypeClass:
12808  *
12809  * An opaque structure used as the base of all classes.
12810  */
12811
12812
12813 /**
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
12819  *
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.
12823  * otherwise
12824  *
12825  * Returns: %TRUE if the transformation was successful, and %FALSE
12826  * Since: 2.26
12827  */
12828
12829
12830 /**
12831  * G_PARAM_SPEC_OVERRIDE:
12832  * @pspec: a #GParamSpec
12833  *
12834  * Casts a #GParamSpec into a #GParamSpecOverride.
12835  *
12836  * Since: 2.4
12837  */
12838
12839
12840 /**
12841  * GEmblemedIcon:
12842  *
12843  * An implementation of #GIcon for icons with emblems.
12844  */
12845
12846
12847 /**
12848  * GDBusConnection:address:
12849  *
12850  * A D-Bus address specifying potential endpoints that can be used
12851  * when establishing the connection.
12852  *
12853  * Since: 2.26
12854  */
12855
12856
12857 /**
12858  * g_mount_operation_set_choice:
12859  * @op: a #GMountOperation.
12860  * @choice: an integer.
12861  *
12862  * Sets a default choice for the mount operation.
12863  */
12864
12865
12866 /**
12867  * g_dbus_message_set_body:
12868  * @message: A #GDBusMessage.
12869  * @body: Either %NULL or a #GVariant that is a tuple.
12870  *
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.
12875  *
12876  * Since: 2.26
12877  */
12878
12879
12880 /**
12881  * G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT:
12882  *
12883  * The string used to obtain a NFS mount with g_volume_get_identifier().
12884  */
12885
12886
12887 /**
12888  * GFlagsValue:
12889  * @value: the flags value
12890  * @value_name: the name of the value
12891  * @value_nick: the nickname of the value
12892  *
12893  * A structure which contains a single flags value, its name, and its
12894  * nickname.
12895  */
12896
12897
12898 /**
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
12907  *
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
12915  * specified.
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.
12919  *
12920  * Since: 2.24
12921  */
12922
12923
12924 /**
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
12929  *
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
12934  * CA database.
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
12942  * value.
12943  * (All other #GTlsCertificateFlags values will always be set or unset
12944  * as appropriate.)
12945  *
12946  * Returns: the appropriate #GTlsCertificateFlags
12947  * Since: 2.28
12948  */
12949
12950
12951 /**
12952  * g_application_set_application_id:
12953  * @application: a #GApplication
12954  * @application_id: the identifier for @application
12955  *
12956  * Sets the unique identifier for @application.
12957  * The application id can only be modified if @application has not yet
12958  * been registered.
12959  * The application id must be valid.  See g_application_id_is_valid().
12960  *
12961  * Since: 2.28
12962  */
12963
12964
12965 /**
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>.
12970  *
12971  * Enumeration describing different kinds of native credential types.
12972  *
12973  * Since: 2.26
12974  */
12975
12976
12977 /**
12978  * GSocketClient:
12979  *
12980  * A helper class for network servers to listen for and accept connections.
12981  *
12982  * Since: 2.22
12983  */
12984
12985
12986 /**
12987  * g_dbus_method_invocation_get_object_path:
12988  * @invocation: A #GDBusMethodInvocation.
12989  *
12990  * Gets the object path the method was invoked on.
12991  *
12992  * Returns: A string. Do not free, it is owned by @invocation.
12993  * Since: 2.26
12994  */
12995
12996
12997 /**
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
13003  *
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.
13011  *
13012  * Opening files (eg: "view" vs "edit", etc).  Unless you have a need
13013  * Since: 2.28
13014  */
13015
13016
13017 /**
13018  * G_CONVERT_ERROR:
13019  *
13020  * Error domain for character set conversions. Errors in this domain will
13021  * be from the #GConvertError enumeration. See #GError for information on
13022  * error domains.
13023  */
13024
13025
13026 /**
13027  * g_file_append_to_finish:
13028  * @file: input #GFile.
13029  * @res: #GAsyncResult
13030  * @error: a #GError, or %NULL
13031  *
13032  * Finishes an asynchronous file append operation started with
13033  * g_file_append_to_async().
13034  * Free the returned object with g_object_unref().
13035  *
13036  * Returns: (transfer full): a valid #GFileOutputStream or %NULL on error.
13037  */
13038
13039
13040 /**
13041  * g_dbus_is_address:
13042  * @string: A string.
13043  *
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
13047  * checks.
13048  *
13049  * Returns: %TRUE if @string is a valid D-Bus address, %FALSE otherwise.
13050  * Since: 2.26
13051  */
13052
13053
13054 /**
13055  * g_dbus_message_get_flags:
13056  * @message: A #GDBusMessage.
13057  *
13058  * Gets the flags for @message.
13059  *
13060  * Returns: Flags that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together).
13061  * Since: 2.26
13062  */
13063
13064
13065 /**
13066  * g_dbus_arg_info_unref:
13067  * @info: A #GDBusArgInfo.
13068  *
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.
13072  *
13073  * Since: 2.26
13074  */
13075
13076
13077 /**
13078  * g_mount_operation_new:
13079  *
13080  * Creates a new mount operation.
13081  *
13082  * Returns: a #GMountOperation.
13083  */
13084
13085
13086 /**
13087  * GSimpleAction:state-type:
13088  *
13089  * The #GVariantType of the state that the action has, or %NULL if the
13090  * action is stateless.
13091  *
13092  * Since: 2.28
13093  */
13094
13095
13096 /**
13097  * G_TYPE_CHECK_CLASS_TYPE:
13098  * @g_class: Location of a #GTypeClass structure.
13099  * @g_type: The type to be checked.
13100  *
13101  * Checks if @g_class is a class structure of the type identified by
13102  * This macro should only be used in type implementations.
13103  *
13104  * Returns: %TRUE on success.
13105  */
13106
13107
13108 /**
13109  * g_io_modules_load_all_in_directory:
13110  * @dirname: pathname for a directory containing modules to load.
13111  *
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().
13121  *
13122  * Returns: (element-type GIOModule) (transfer full): a list of #GIOModules loaded
13123  */
13124
13125
13126 /**
13127  * g_unix_connection_receive_credentials:
13128  * @connection: A #GUnixConnection.
13129  * @cancellable: A #GCancellable or %NULL.
13130  * @error: Return location for error or %NULL.
13131  *
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.
13141  *
13142  * Returns: (transfer full): Received credentials on success (free with
13143  * Since: 2.26
13144  */
13145
13146
13147 /**
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
13152  *
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.
13156  * g_strfreev().
13157  *
13158  * Returns: (transfer full) (element-type utf8): A NULL-terminated array of proxy URIs. Must be freed with
13159  * Since: 2.26
13160  */
13161
13162
13163 /**
13164  * g_dbus_message_set_error_name:
13165  * @message: A #GDBusMessage.
13166  * @value: The value to set.
13167  *
13168  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
13169  *
13170  * Since: 2.26
13171  */
13172
13173
13174 /**
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
13181  *
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.
13186  *
13187  * Since: 2.22
13188  */
13189
13190
13191 /**
13192  * g_io_module_unload:
13193  * @module: a #GIOModule.
13194  *
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.
13198  */
13199
13200
13201 /**
13202  * GResolver:
13203  *
13204  * The object that handles DNS resolution. Use g_resolver_get_default()
13205  * to get the default resolver.
13206  */
13207
13208
13209 /**
13210  * GDBusConnection:guid:
13211  *
13212  * The GUID of the peer performing the role of server when
13213  * authenticating.
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
13222  * initialized.
13223  *
13224  * Since: 2.26
13225  */
13226
13227
13228 /**
13229  * g_inet_address_new_from_string:
13230  * @string: a string representation of an IP address
13231  *
13232  * Parses @string as an IP address and creates a new #GInetAddress.
13233  *
13234  * Returns: a new #GInetAddress corresponding to @string, or %NULL if
13235  * Since: 2.22
13236  */
13237
13238
13239 /**
13240  * g_app_info_get_id:
13241  * @appinfo: a #GAppInfo.
13242  *
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.
13249  *
13250  * Returns: a string containing the application's ID.
13251  */
13252
13253
13254 /**
13255  * GMountOperation:
13256  *
13257  * Class for providing authentication methods for mounting operations,
13258  * such as mounting a file locally, or authenticating with a server.
13259  */
13260
13261
13262 /**
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.
13267  *
13268  * Creates a new #GDBusMessage that is an error reply to @method_call_message.
13269  *
13270  * Returns: (transfer full): A #GDBusMessage. Free with g_object_unref().
13271  * Since: 2.26
13272  */
13273
13274
13275 /**
13276  * GTlsCertificate:certificate:
13277  *
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.
13282  *
13283  * Since: 2.28
13284  */
13285
13286
13287 /**
13288  * G_VALUE_HOLDS_FLOAT:
13289  * @value: a valid #GValue structure
13290  *
13291  * Checks whether the given #GValue can hold values of type %G_TYPE_FLOAT.
13292  *
13293  * Returns: %TRUE on success.
13294  */
13295
13296
13297 /**
13298  * g_dbus_node_info_lookup_interface:
13299  * @info: A #GDBusNodeInfo.
13300  * @name: A D-Bus interface name.
13301  *
13302  * Looks up information about an interface.
13303  * This cost of this function is O(n) in number of interfaces.
13304  *
13305  * Returns: A #GDBusInterfaceInfo or %NULL if not found. Do not free, it is owned by @info.
13306  * Since: 2.26
13307  */
13308
13309
13310 /**
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.
13316  *
13317  * Puts a signed 64-bit integer into the stream.
13318  *
13319  * Returns: %TRUE if @data was successfully added to the @stream.
13320  */
13321
13322
13323 /**
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
13328  *
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
13333  * stream.
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.
13352  *
13353  * Returns: %TRUE on success, %FALSE on failure
13354  */
13355
13356
13357 /**
13358  * g_win32_output_stream_get_handle:
13359  * @stream: a #GWin32OutputStream
13360  *
13361  * Return the Windows handle that the stream writes to.
13362  *
13363  * Returns: The handle descriptor of @stream
13364  * Since: 2.26
13365  */
13366
13367
13368 /**
13369  * g_socket_connectable_enumerate:
13370  * @connectable: a #GSocketConnectable
13371  *
13372  * Creates a #GSocketAddressEnumerator for @connectable.
13373  *
13374  * Returns: (transfer full): a new #GSocketAddressEnumerator.
13375  * Since: 2.22
13376  */
13377
13378
13379 /**
13380  * The string info map is an efficient data structure designed to b:
13381  *
13382  * used with a small set of items.  It is used by GSettings schemas for
13383  * three purposes:
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
13387  * (and back).
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
13404  * endian.
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'
13407  * x00 x00 x00 xff
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
13416  * look for "foo":
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
13431  * string.
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
13440  * sequence:
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.
13445  *
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
13448  */
13449
13450
13451 /**
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
13456  *
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.
13461  *
13462  * Since: 2.26
13463  */
13464
13465
13466 /**
13467  * GCClosure:
13468  * @closure: the #GClosure
13469  * @callback: the callback function
13470  *
13471  * A #GCClosure is a specialization of #GClosure for C function callbacks.
13472  */
13473
13474
13475 /**
13476  * GWin32InputStream:
13477  *
13478  * Implements #GInputStream for reading from selectable Windows file handles
13479  */
13480
13481
13482 /**
13483  * g_settings_get_boolean:
13484  * @settings: a #GSettings object
13485  * @key: the key to get the value for
13486  * @returns: a boolean
13487  *
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.
13492  *
13493  * Since: 2.26
13494  */
13495
13496
13497 /**
13498  * g_settings_list_schemas:
13499  *
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
13507  * freed.
13508  *
13509  * Paths (ie: schemas for which you must use
13510  * Returns: (element-type utf8) (transfer none): a list of #GSettings
13511  * Since: 2.26
13512  */
13513
13514
13515 /**
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.
13521  *
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.
13525  *
13526  * Returns: the handler id
13527  */
13528
13529
13530 /**
13531  * g_dbus_connection_signal_unsubscribe:
13532  * @connection: A #GDBusConnection.
13533  * @subscription_id: A subscription id obtained from g_dbus_connection_signal_subscribe().
13534  *
13535  * Unsubscribes from signals.
13536  *
13537  * Since: 2.26
13538  */
13539
13540
13541 /**
13542  * g_emblemed_icon_clear_emblems:
13543  * @emblemed: a #GEmblemedIcon
13544  *
13545  * Removes all the emblems from @icon.
13546  *
13547  * Since: 2.28
13548  */
13549
13550
13551 /**
13552  * G_DBUS_ERROR:
13553  *
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.
13561  *
13562  * Since: 2.26
13563  */
13564
13565
13566 /**
13567  * GSocketControlMessage:
13568  *
13569  * Base class for socket-type specific control messages that can be sent and
13570  * received over #GSocket.
13571  */
13572
13573
13574 /**
13575  * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK:
13576  *
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
13579  * to get the type.
13580  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
13581  */
13582
13583
13584 /**
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).
13588  *
13589  * Sets the flags to set on @message.
13590  *
13591  * Since: 2.26
13592  */
13593
13594
13595 /**
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
13603  *
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.
13609  */
13610
13611
13612 /**
13613  * GUnixMountEntry:
13614  *
13615  * Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
13616  * This corresponds roughly to a mtab entry.
13617  */
13618
13619
13620 /**
13621  * g_dbus_message_set_sender:
13622  * @message: A #GDBusMessage.
13623  * @value: The value to set.
13624  *
13625  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
13626  *
13627  * Since: 2.26
13628  */
13629
13630
13631 /**
13632  * SECTION:gtlsserverconnectio:
13633  * @short_description: TLS server-side connection
13634  * @include: gio/gio.h
13635  *
13636  * #GTlsServerConnection is the server-side subclass of #GTlsConnection,
13637  * representing a server-side TLS connection.
13638  *
13639  * Since: 2.28
13640  */
13641
13642
13643 /**
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.
13652  *
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.:
13664  * |[
13665  * g_dbus_proxy_call_sync (proxy,
13666  * "TwoStrings",
13667  * g_variant_new ("(ss)",
13668  * "Thing One",
13669  * "Thing Two"),
13670  * G_DBUS_CALL_FLAGS_NONE,
13671  * -1,
13672  * NULL,
13673  * &amp;error);
13674  * ]|
13675  * The calling thread is blocked until a reply is received. See
13676  * g_dbus_proxy_call() for the asynchronous version of this
13677  * method.
13678  * return values. Free with g_variant_unref().
13679  *
13680  * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
13681  * Since: 2.26
13682  */
13683
13684
13685 /**
13686  * GDBusProxy:g-object-path:
13687  *
13688  * The object path the proxy is for.
13689  *
13690  * Since: 2.26
13691  */
13692
13693
13694 /**
13695  * g_file_info_set_is_symlink:
13696  * @info: a #GFileInfo.
13697  * @is_symlink: a #gboolean.
13698  *
13699  * Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink.
13700  * See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK.
13701  */
13702
13703
13704 /**
13705  * G_IS_PARAM_SPEC_DOUBLE:
13706  * @pspec: a valid #GParamSpec instance
13707  *
13708  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE.
13709  *
13710  * Returns: %TRUE on success.
13711  */
13712
13713
13714 /**
13715  * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE:
13716  *
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.
13720  */
13721
13722
13723 /**
13724  * g_file_info_set_attribute_mask:
13725  * @info: a #GFileInfo.
13726  * @mask: a #GFileAttributeMatcher.
13727  *
13728  * Sets @mask on @info to match specific attribute types.
13729  */
13730
13731
13732 /**
13733  * GIOStream:
13734  *
13735  * Base class for read-write streams.
13736  */
13737
13738
13739 /**
13740  * GSocketMsgFlags:
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.
13745  *
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.
13751  *
13752  * Since: 2.22
13753  */
13754
13755
13756 /**
13757  * g_dbus_is_member_name:
13758  * @string: The string to check.
13759  *
13760  * Checks if @string is a valid D-Bus member (e.g. signal or method) name.
13761  *
13762  * Returns: %TRUE if valid, %FALSE otherwise.
13763  * Since: 2.26
13764  */
13765
13766
13767 /**
13768  * G_TYPE_PARAM_ULONG:
13769  *
13770  * The #GType of #GParamSpecULong.
13771  */
13772
13773
13774 /**
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
13779  *
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()
13786  *
13787  * Returns: (transfer full): a #GAppInfo if the handle was found, %NULL if there were errors.
13788  */
13789
13790
13791 /**
13792  * GDBusProxy:g-bus-type:
13793  *
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.
13798  *
13799  * Since: 2.26
13800  */
13801
13802
13803 /**
13804  * g_dbus_connection_get_peer_credentials:
13805  * @connection: A #GDBusConnection.
13806  *
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.
13816  *
13817  * Returns: (transfer none): A #GCredentials or %NULL if not available. Do not free
13818  * Since: 2.26
13819  */
13820
13821
13822 /**
13823  * G_FILE_ATTRIBUTE_UNIX_INODE:
13824  *
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.
13828  */
13829
13830
13831 /**
13832  * g_file_info_set_icon:
13833  * @info: a #GFileInfo.
13834  * @icon: a #GIcon.
13835  *
13836  * Sets the icon for a given #GFileInfo.
13837  * See %G_FILE_ATTRIBUTE_STANDARD_ICON.
13838  */
13839
13840
13841 /**
13842  * g_socket_new_from_fd:
13843  * @fd: a native socket file descriptor.
13844  * @error: #GError for error reporting, or %NULL to ignore.
13845  *
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().
13853  *
13854  * Returns: a #GSocket or %NULL on error.
13855  * Since: 2.22
13856  */
13857
13858
13859 /**
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().
13863  *
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().
13866  */
13867
13868
13869 /**
13870  * G_VARIANT_TYPE_MAYBE:
13871  *
13872  * An indefinite type that is a supertype of every maybe type.
13873  */
13874
13875
13876 /**
13877  * g_socket_get_blocking:
13878  * @socket: a #GSocket.
13879  *
13880  * Gets the blocking mode of the socket. For details on blocking I/O,
13881  * see g_socket_set_blocking().
13882  *
13883  * Returns: %TRUE if blocking I/O is used, %FALSE otherwise.
13884  * Since: 2.22
13885  */
13886
13887
13888 /**
13889  * G_FILE_ATTRIBUTE_THUMBNAIL_PATH:
13890  *
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.
13894  */
13895
13896
13897 /**
13898  * g_buffered_input_stream_set_buffer_size:
13899  * @stream: a #GBufferedInputStream
13900  * @size: a #gsize
13901  *
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.
13905  */
13906
13907
13908 /**
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
13913  *
13914  * Emits the #GActionGroup::action-enabled-changed signal on @action_group.
13915  * This function should only be called by #GActionGroup implementations.
13916  *
13917  * Since: 2.28
13918  */
13919
13920
13921 /**
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
13928  *
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.
13942  *
13943  * Returns: Number of bytes read, or -1 on error
13944  */
13945
13946
13947 /**
13948  * g_themed_icon_prepend_name:
13949  * @icon: a #GThemedIcon
13950  * @iconname: name of icon to prepend to list of icons from within @icon.
13951  *
13952  * Prepend a name to the list of icons from within @icon.
13953  * <note><para>
13954  * Note that doing so invalidates the hash computed by prior calls
13955  * to g_icon_hash().
13956  * </para></note>
13957  *
13958  * Since: 2.18
13959  */
13960
13961
13962 /**
13963  * SECTION:gconverte:
13964  * @short_description: Data conversion interface
13965  * @include: gio/gio.h
13966  * @see_also: #GInputStream, #GOutputStream
13967  *
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
13972  * replace.
13973  *
13974  * Some example conversions are: character set conversion,
13975  * Since: 2.24
13976  */
13977
13978
13979 /**
13980  * G_TYPE_CHECK_VALUE_TYPE:
13981  * @value: a #GValue
13982  * @g_type: The type to be checked.
13983  *
13984  * Checks if @value has been initialized to hold values
13985  * of type @g_type.
13986  * This macro should only be used in type implementations.
13987  *
13988  * Returns: %TRUE on success.
13989  */
13990
13991
13992 /**
13993  * g_settings_get_enum:
13994  * @settings: a #GSettings object
13995  * @key: the key to get the value for
13996  * @returns: the enum value
13997  *
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
14006  * default value.
14007  *
14008  * Since: 2.26
14009  */
14010
14011
14012 /**
14013  * G_VOLUME_MONITOR_EXTENSION_POINT_NAME:
14014  *
14015  * Extension point for volume monitor functionality.
14016  * See <link linkend="extending-gio">Extending GIO</link>.
14017  */
14018
14019
14020 /**
14021  * g_app_info_reset_type_associations:
14022  * @content_type: a content type
14023  *
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().
14028  *
14029  * Since: 2.20
14030  */
14031
14032
14033 /**
14034  * g_dbus_proxy_get_name:
14035  * @proxy: A #GDBusProxy.
14036  *
14037  * Gets the name that @proxy was constructed for.
14038  *
14039  * Returns: A string owned by @proxy. Do not free.
14040  * Since: 2.26
14041  */
14042
14043
14044 /**
14045  * g_file_info_get_name:
14046  * @info: a #GFileInfo.
14047  *
14048  * Gets the name for a file.
14049  *
14050  * Returns: a string containing the file name.
14051  */
14052
14053
14054 /**
14055  * g_mount_operation_get_anonymous:
14056  * @op: a #GMountOperation.
14057  *
14058  * Check to see whether the mount operation is being used
14059  * for an anonymous user.
14060  *
14061  * Returns: %TRUE if mount operation is anonymous.
14062  */
14063
14064
14065 /**
14066  * g_socket_is_connected:
14067  * @socket: a #GSocket.
14068  *
14069  * Check whether the socket is connected. This is only useful for
14070  * connection-oriented sockets.
14071  *
14072  * Returns: %TRUE if socket is connected, %FALSE otherwise.
14073  * Since: 2.22
14074  */
14075
14076
14077 /**
14078  * g_application_hold:
14079  * @application: a #GApplication
14080  *
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().
14086  */
14087
14088
14089 /**
14090  * GParamSpecClass:
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().
14097  *
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().
14101  */
14102
14103
14104 /**
14105  * g_socket_get_remote_address:
14106  * @socket: a #GSocket.
14107  * @error: #GError for error reporting, or %NULL to ignore.
14108  *
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().
14112  *
14113  * Returns: (transfer full): a #GSocketAddress or %NULL on error.
14114  * Since: 2.22
14115  */
14116
14117
14118 /**
14119  * GParamSpecGType:
14120  * @parent_instance: private #GParamSpec portion
14121  * @is_a_type: a #GType whose subtypes can occur as values
14122  *
14123  * A #GParamSpec derived structure that contains the meta data for #GType properties.
14124  *
14125  * Since: 2.10
14126  */
14127
14128
14129 /**
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.
14132  *
14133  * Creates a new #GDBusMessage that is a reply to @method_call_message.
14134  *
14135  * Returns: (transfer full): #GDBusMessage. Free with g_object_unref().
14136  * Since: 2.26
14137  */
14138
14139
14140 /**
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
14146  *
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.
14160  *
14161  * Note: the return value of this function is not an indicator that this
14162  * Since: 2.28
14163  */
14164
14165
14166 /**
14167  * g_emblemed_icon_get_icon:
14168  * @emblemed: a #GEmblemedIcon
14169  *
14170  * Gets the main icon for @emblemed.
14171  *
14172  * Returns: (transfer full): a #GIcon that is owned by @emblemed
14173  * Since: 2.18
14174  */
14175
14176
14177 /**
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.
14183  *
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.
14186  *
14187  * Returns: the handler id
14188  */
14189
14190
14191 /**
14192  * g_file_info_set_attribute_object:
14193  * @info: a #GFileInfo.
14194  * @attribute: a file attribute key.
14195  * @attr_value: a #GObject.
14196  *
14197  * Sets the @attribute to contain the given @attr_value,
14198  * if possible.
14199  */
14200
14201
14202 /**
14203  * GToggleNotify:
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.
14207  *
14208  * A callback function used for notification when the state
14209  * of a toggle reference changes. See g_object_add_toggle_ref().
14210  */
14211
14212
14213 /**
14214  * G_TYPE_PARAM_INT64:
14215  *
14216  * The #GType of #GParamSpecInt64.
14217  */
14218
14219
14220 /**
14221  * GDBusServer:authentication-observer:
14222  *
14223  * A #GDBusAuthObserver object to assist in the authentication process or %NULL.
14224  *
14225  * Since: 2.26
14226  */
14227
14228
14229 /**
14230  * GTlsConnection:certificate:
14231  *
14232  * The connection's certificate; see
14233  * g_tls_connection_set_certificate().
14234  *
14235  * Since: 2.28
14236  */
14237
14238
14239 /**
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.
14248  *
14249  * Like g_bus_watch_name() but takes a #GDBusConnection instead of a
14250  * #GBusType.
14251  * g_bus_unwatch_name() to stop watching the name.
14252  *
14253  * Returns: An identifier (never 0) that an be used with
14254  * Since: 2.26
14255  */
14256
14257
14258 /**
14259  * g_tls_client_connection_get_server_identity:
14260  * @conn: the #GTlsClientConnection
14261  *
14262  * Gets @conn's expected server identity
14263  * expected server identity, or %NULL if the expected identity is not
14264  * known.
14265  *
14266  * Returns: a #GSocketConnectable describing the
14267  * Since: 2.28
14268  */
14269
14270
14271 /**
14272  * g_action_group_get_action_enabled:
14273  * @action_group: a #GActionGroup
14274  * @action_name: the name of the action to query
14275  *
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.
14279  *
14280  * Returns: whether or not the action is currently enabled
14281  * Since: 2.28
14282  */
14283
14284
14285 /**
14286  * g_app_info_should_show:
14287  * @appinfo: a #GAppInfo.
14288  *
14289  * Checks if the application info should be shown in menus that
14290  * list available applications.
14291  *
14292  * Returns: %TRUE if the @appinfo should be shown, %FALSE otherwise.
14293  */
14294
14295
14296 /**
14297  * g_proxy_get_default_for_protocol:
14298  * @protocol: the proxy protocol name (e.g. http, socks, etc)
14299  *
14300  * Lookup "gio-proxy" extension point for a proxy implementation that supports
14301  * specified protocol.
14302  *
14303  * Returns: return a #GProxy or NULL if protocol is not supported.
14304  * Since: 2.26
14305  */
14306
14307
14308 /**
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.
14313  *
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.
14322  *
14323  * Returns: (transfer full): A locked #GDBusMessage or %NULL if @error is set.
14324  * Since: 2.26
14325  */
14326
14327
14328 /**
14329  * SECTION:gunixinputstrea:
14330  * @short_description: Streaming input operations for UNIX file descriptors
14331  * @include: gio/gunixinputstream.h
14332  * @see_also: #GInputStream
14333  *
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>&lt;gio/gunixinputstream.h&gt;</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.
14340  */
14341
14342
14343 /**
14344  * GZlibCompressor:
14345  *
14346  * Zlib decompression
14347  */
14348
14349
14350 /**
14351  * g_dbus_server_get_guid:
14352  * @server: A #GDBusServer.
14353  *
14354  * Gets the GUID for @server.
14355  *
14356  * Returns: A D-Bus GUID. Do not free this string, it is owned by @server.
14357  * Since: 2.26
14358  */
14359
14360
14361 /**
14362  * g_file_get_basename:
14363  * @file: input #GFile.
14364  *
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.
14377  *
14378  * Returns: string containing the #GFile's base name, or %NULL
14379  */
14380
14381
14382 /**
14383  * g_volume_get_drive:
14384  * @volume: a #GVolume.
14385  *
14386  * Gets the drive for the @volume.
14387  * The returned object should be unreffed with g_object_unref()
14388  * when no longer needed.
14389  *
14390  * Returns: (transfer full): a #GDrive or %NULL if @volume is not associated with a drive.
14391  */
14392
14393
14394 /**
14395  * GUnixMountMonitor::mountpoints-changed:
14396  * @monitor: the object on which the signal is emitted
14397  *
14398  * Emitted when the unix mount points have changed.
14399  */
14400
14401
14402 /**
14403  * GFileAttributeInfo:
14404  * @name: the name of the attribute.
14405  * @type: the #GFileAttributeType type of the attribute.
14406  * @flags: a set of #GFileAttributeInfoFlags.
14407  *
14408  * Information about a specific attribute.
14409  */
14410
14411
14412 /**
14413  * GOptionFlags:
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.
14421  *
14422  * Flags which modify individual options.
14423  */
14424
14425
14426 /**
14427  * GDBusProxy:g-interface-name:
14428  *
14429  * The D-Bus interface name the proxy is for.
14430  *
14431  * Since: 2.26
14432  */
14433
14434
14435 /**
14436  * g_icon_to_string:
14437  * @icon: a #GIcon.
14438  *
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
14445  * <itemizedlist>
14446  * <listitem><para>
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>
14453  * <listitem><para>
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>
14457  * </itemizedlist>
14458  * be serialized. Use g_free() to free.
14459  *
14460  * Virtual: to_tokens
14461  * Returns: An allocated NUL-terminated UTF8 string or %NULL if @icon can't
14462  * Since: 2.20
14463  */
14464
14465
14466 /**
14467  * g_dbus_connection_unregister_subtree:
14468  * @connection: A #GDBusConnection.
14469  * @registration_id: A subtree registration id obtained from g_dbus_connection_register_subtree().
14470  *
14471  * Unregisters a subtree.
14472  *
14473  * Returns: %TRUE if the subtree was unregistered, %FALSE otherwise.
14474  * Since: 2.26
14475  */
14476
14477
14478 /**
14479  * GPollableOutputStream:
14480  *
14481  * An interface for a #GOutputStream that can be polled for readability.
14482  *
14483  * Since: 2.28
14484  */
14485
14486
14487 /**
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.
14493  *
14494  * Finishes an async accept operation. See g_socket_listener_accept_socket_async()
14495  *
14496  * Returns: (transfer full): a #GSocket on success, %NULL on error.
14497  * Since: 2.22
14498  */
14499
14500
14501 /**
14502  * G_FILE_ATTRIBUTE_SELINUX_CONTEXT:
14503  *
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.
14508  */
14509
14510
14511 /**
14512  * g_io_extension_point_get_required_type:
14513  * @extension_point: a #GIOExtensionPoint
14514  *
14515  * Gets the required type for @extension_point.
14516  * or #G_TYPE_INVALID if the extension point has no required type
14517  *
14518  * Returns: the #GType that all implementations must have,
14519  */
14520
14521
14522 /**
14523  * GDBusProxy:g-default-timeout:
14524  *
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.
14532  *
14533  * Since: 2.26
14534  */
14535
14536
14537 /**
14538  * GConnectFlags:
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.
14541  *
14542  * The connection flags are used to specify the behaviour of a signal's
14543  * connection.
14544  */
14545
14546
14547 /**
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.
14552  *
14553  * Sets the @attribute to contain the given @attr_value,
14554  * if possible.
14555  */
14556
14557
14558 /**
14559  * G_VARIANT_TYPE_BYTE:
14560  *
14561  * The type of an integer value that can range from 0 to 255.
14562  */
14563
14564
14565 /**
14566  * g_socket_get_timeout:
14567  * @socket: a #GSocket.
14568  *
14569  * Gets the timeout setting of the socket. For details on this, see
14570  * g_socket_set_timeout().
14571  *
14572  * Returns: the timeout in seconds
14573  * Since: 2.26
14574  */
14575
14576
14577 /**
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.
14581  *
14582  * Sets whether the process should be terminated when @connection is
14583  * closed by the remote peer. See #GDBusConnection:exit-on-close for
14584  * more details.
14585  *
14586  * Since: 2.26
14587  */
14588
14589
14590 /**
14591  * GFileDescriptorBasedIface:
14592  * @g_iface: The parent interface.
14593  *
14594  *
14595  */
14596
14597
14598 /**
14599  * G_IS_PARAM_SPEC_UCHAR:
14600  * @pspec: a valid #GParamSpec instance
14601  *
14602  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR.
14603  *
14604  * Returns: %TRUE on success.
14605  */
14606
14607
14608 /**
14609  * SECTION:gsimpleasyncresul:
14610  * @short_description: Simple asynchronous results implementation
14611  * @include: gio/gio.h
14612  * @see_also: #GAsyncResult
14613  *
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
14625  * are covered.
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:
14674  * |[
14675  * static void
14676  * baked_cb (Cake    *cake,
14677  * gpointer user_data)
14678  * {
14679  * /&ast; In this example, this callback is not given a reference to the cake, so
14680  * &ast; the GSimpleAsyncResult has to take a reference to it.
14681  * &ast;/
14682  * GSimpleAsyncResult *result = user_data;
14683  * if (cake == NULL)
14684  * g_simple_async_result_set_error (result,
14685  * BAKER_ERRORS,
14686  * BAKER_ERROR_NO_FLOUR,
14687  * "Go to the supermarket");
14688  * else
14689  * g_simple_async_result_set_op_res_gpointer (result,
14690  * g_object_ref (cake),
14691  * g_object_unref);
14692  * /&ast; In this example, we assume that baked_cb is called as a callback from
14693  * &ast; the mainloop, so it's safe to complete the operation synchronously here.
14694  * &ast; If, however, _baker_prepare_cake () might call its callback without
14695  * &ast; first returning to the mainloop â€” inadvisable, but some APIs do so â€”
14696  * &ast; we would need to use g_simple_async_result_complete_in_idle().
14697  * &ast;/
14698  * g_simple_async_result_complete (result);
14699  * g_object_unref (result);
14700  * }
14701  * void
14702  * baker_bake_cake_async (Baker              *self,
14703  * guint               radius,
14704  * GAsyncReadyCallback callback,
14705  * gpointer            user_data)
14706  * {
14707  * GSimpleAsyncResult *simple;
14708  * Cake               *cake;
14709  * if (radius < 3)
14710  * {
14711  * g_simple_async_report_error_in_idle (G_OBJECT (self),
14712  * callback,
14713  * user_data,
14714  * BAKER_ERRORS,
14715  * BAKER_ERROR_TOO_SMALL,
14716  * "%ucm radius cakes are silly",
14717  * radius);
14718  * return;
14719  * }
14720  * simple = g_simple_async_result_new (G_OBJECT (self),
14721  * callback,
14722  * user_data,
14723  * baker_bake_cake_async);
14724  * cake = _baker_get_cached_cake (self, radius);
14725  * if (cake != NULL)
14726  * {
14727  * g_simple_async_result_set_op_res_gpointer (simple,
14728  * g_object_ref (cake),
14729  * g_object_unref);
14730  * g_simple_async_result_complete_in_idle (simple);
14731  * g_object_unref (simple);
14732  * /&ast; Drop the reference returned by _baker_get_cached_cake(); the
14733  * &ast; GSimpleAsyncResult has taken its own reference.
14734  * &ast;/
14735  * g_object_unref (cake);
14736  * return;
14737  * }
14738  * _baker_prepare_cake (self, radius, baked_cb, simple);
14739  * }
14740  * Cake *
14741  * baker_bake_cake_finish (Baker        *self,
14742  * GAsyncResult *result,
14743  * GError      **error)
14744  * {
14745  * GSimpleAsyncResult *simple;
14746  * Cake               *cake;
14747  * g_return_val_if_fail (g_simple_async_result_is_valid (result,
14748  * G_OBJECT (self),
14749  * baker_bake_cake_async),
14750  * NULL);
14751  * simple = (GSimpleAsyncResult *) result;
14752  * if (g_simple_async_result_propagate_error (simple, error))
14753  * return NULL;
14754  * cake = CAKE (g_simple_async_result_get_op_res_gpointer (simple));
14755  * return g_object_ref (cake);
14756  * }
14757  * ]|
14758  */
14759
14760
14761 /**
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.
14766  *
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.
14770  *
14771  * Returns: %TRUE if successful. If an error has occurred, this function
14772  * Since: 2.22
14773  */
14774
14775
14776 /**
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
14784  *
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.
14803  */
14804
14805
14806 /**
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
14811  *
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
14816  * guessing.
14817  * Caller should free this array with g_strfreev() when done with it.
14818  *
14819  * Returns: (transfer full) (element-type utf8): a %NULL-terminated array of content types or %NULL on error.
14820  * Since: 2.18
14821  */
14822
14823
14824 /**
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
14839  *
14840  * The virtual function table for #GActionGroup.
14841  *
14842  * Since: 2.26
14843  */
14844
14845
14846 /**
14847  * g_cancellable_push_current:
14848  * @cancellable: a #GCancellable object
14849  *
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.
14856  */
14857
14858
14859 /**
14860  * g_file_query_exists:
14861  * @file: input #GFile.
14862  * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
14863  *
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.
14881  *
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).
14885  */
14886
14887
14888 /**
14889  * g_inet_address_get_is_any:
14890  * @address: a #GInetAddress
14891  *
14892  * Tests whether @address is the "any" address for its family.
14893  *
14894  * Returns: %TRUE if @address is the "any" address for its family.
14895  * Since: 2.22
14896  */
14897
14898
14899 /**
14900  * g_unix_socket_address_get_path:
14901  * @address: a #GInetSocketAddress
14902  *
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
14907  * of this string.
14908  *
14909  * Returns: the path for @address
14910  * Since: 2.22
14911  */
14912
14913
14914 /**
14915  * SECTION:gdbusserve:
14916  * @short_description: Helper for accepting connections
14917  * @include: gio/gio.h
14918  *
14919  * #GDBusServer is a helper for listening to and accepting D-Bus
14920  * connections.
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>
14922  */
14923
14924
14925 /**
14926  * G_TYPE_ULONG:
14927  *
14928  * The fundamental type corresponding to #gulong.
14929  */
14930
14931
14932 /**
14933  * SECTION:gdbusmessag:
14934  * @short_description: D-Bus Message
14935  * @include: gio/gio.h
14936  *
14937  * A type for representing D-Bus messages that can be sent or received
14938  * on a #GDBusConnection.
14939  */
14940
14941
14942 /**
14943  * GParamSpecEnum:
14944  * @parent_instance: private #GParamSpec portion
14945  * @enum_class: the #GEnumClass for the enum
14946  * @default_value: default value for the property specified
14947  *
14948  * A #GParamSpec derived structure that contains the meta data for enum
14949  * properties.
14950  */
14951
14952
14953 /**
14954  * G_PARAM_USER_SHIFT:
14955  *
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.
14958  */
14959
14960
14961 /**
14962  * GStrv:
14963  *
14964  * A C representable type name for #G_TYPE_STRV.
14965  */
14966
14967
14968 /**
14969  * G_TYPE_FROM_INTERFACE:
14970  * @g_iface: Location of a valid #GTypeInterface structure.
14971  *
14972  * Get the type identifier from a given @interface structure.
14973  * This macro should only be used in type implementations.
14974  *
14975  * Returns: the #GType
14976  */
14977
14978
14979 /**
14980  * g_inet_address_get_is_mc_link_local:
14981  * @address: a #GInetAddress
14982  *
14983  * Tests whether @address is a link-local multicast address.
14984  *
14985  * Returns: %TRUE if @address is a link-local multicast address.
14986  * Since: 2.22
14987  */
14988
14989
14990 /**
14991  * GDBusMessage:
14992  *
14993  * The #GDBusMessage structure contains only private data and should
14994  * only be accessed using the provided API.
14995  *
14996  * Since: 2.26
14997  */
14998
14999
15000 /**
15001  * GClosureMarshal:
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()
15008  *
15009  * The type used for marshaller functions.
15010  */
15011
15012
15013 /**
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
15020  *
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().
15026  */
15027
15028
15029 /**
15030  * G_IS_PARAM_SPEC_OVERRIDE:
15031  * @pspec: a #GParamSpec
15032  *
15033  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OVERRIDE.
15034  *
15035  * Since: 2.4
15036  * Returns: %TRUE on success.
15037  */
15038
15039
15040 /**
15041  * SECTION:gactiongrou:
15042  * @title: GActionGroup
15043  * @short_description: A group of actions
15044  *
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.
15056  *
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
15059  */
15060
15061
15062 /**
15063  * SECTION:gpollableoutputstrea:
15064  * @short_description: Interface for pollable output streams
15065  * @include: gio/gio.h
15066  * @see_also: #GOutputStream, #GFileDescriptorBased, #GPollableInputStream
15067  *
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.
15072  *
15073  * Since: 2.28
15074  */
15075
15076
15077 /**
15078  * GUnixOutputStream:close-fd:
15079  *
15080  * Whether to close the file descriptor when the stream is closed.
15081  *
15082  * Since: 2.20
15083  */
15084
15085
15086 /**
15087  * g_app_info_dup:
15088  * @appinfo: a #GAppInfo.
15089  *
15090  * Creates a duplicate of a #GAppInfo.
15091  *
15092  * Returns: (transfer full): a duplicate of @appinfo.
15093  */
15094
15095
15096 /**
15097  * g_srv_target_copy:
15098  * @target: a #GSrvTarget
15099  *
15100  * Copies @target
15101  *
15102  * Returns: a copy of @target
15103  * Since: 2.22
15104  */
15105
15106
15107 /**
15108  * G_OBJECT_CLASS_TYPE:
15109  * @class: a valid #GObjectClass
15110  *
15111  * Get the type id of a class structure.
15112  *
15113  * Returns: Type id of @class.
15114  */
15115
15116
15117 /**
15118  * G_PRIORITY_HIGH:
15119  *
15120  * Use this for high priority event sources.
15121  * It is not used within GLib or GTK+.
15122  */
15123
15124
15125 /**
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
15130  *
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.
15134  *
15135  * Returns: a display string for the display.
15136  */
15137
15138
15139 /**
15140  * g_desktop_app_info_get_is_hidden:
15141  * @info: a #GDesktopAppInfo.
15142  *
15143  * A desktop file is hidden if the Hidden key in it is
15144  * set to True.
15145  *
15146  * Returns: %TRUE if hidden, %FALSE otherwise.
15147  */
15148
15149
15150 /**
15151  * g_pollable_output_stream_is_writable:
15152  * @stream: a #GPollableOutputStream.
15153  *
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.
15164  *
15165  * Returns: %TRUE if @stream is writable, %FALSE if not. If an error
15166  * Since: 2.28
15167  */
15168
15169
15170 /**
15171  * g_node_append_data:
15172  * @parent: the #GNode to place the new #GNode under
15173  * @data: the data for the new #GNode
15174  *
15175  * Inserts a new #GNode as the last child of the given parent.
15176  *
15177  * Returns: the new #GNode
15178  */
15179
15180
15181 /**
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.
15192  *
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
15207  * array.
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.
15220  * on error
15221  *
15222  * Returns: Number of bytes written (which may be less than @size), or -1
15223  * Since: 2.22
15224  */
15225
15226
15227 /**
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.
15235  *
15236  * Information about a D-Bus interface.
15237  *
15238  * Since: 2.26
15239  */
15240
15241
15242 /**
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
15248  *
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
15254  * this function.
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.
15260  *
15261  * Since: 2.26
15262  */
15263
15264
15265 /**
15266  * G_VARIANT_TYPE_UINT16:
15267  *
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.
15270  */
15271
15272
15273 /**
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.
15279  *
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.
15292  *
15293  * Whole (ie: potentially every key has been changed) then @keys will
15294  */
15295
15296
15297 /**
15298  * GInetAddress:is-mc-org-local:
15299  *
15300  * Whether this is an organization-local multicast address.
15301  * See g_inet_address_get_is_mc_org_local().
15302  *
15303  * Since: 2.22
15304  */
15305
15306
15307 /**
15308  * g_file_start_mountable_finish:
15309  * @file: input #GFile.
15310  * @result: a #GAsyncResult.
15311  * @error: a #GError, or %NULL
15312  *
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().
15316  * otherwise.
15317  *
15318  * Returns: %TRUE if the operation finished successfully. %FALSE
15319  * Since: 2.22
15320  */
15321
15322
15323 /**
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
15332  *
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
15336  * operation.
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.
15351  */
15352
15353
15354 /**
15355  * g_data_input_stream_new:
15356  * @base_stream: a #GInputStream.
15357  *
15358  * Creates a new data input stream for the @base_stream.
15359  *
15360  * Returns: a new #GDataInputStream.
15361  */
15362
15363
15364 /**
15365  * g_file_get_uri:
15366  * @file: input #GFile.
15367  *
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.
15371  *
15372  * Returns: a string containing the #GFile's URI.
15373  */
15374
15375
15376 /**
15377  * g_mount_get_volume:
15378  * @mount: a #GMount.
15379  *
15380  * Gets the volume for the @mount.
15381  * The returned object should be unreffed with
15382  * g_object_unref() when no longer needed.
15383  *
15384  * Returns: (transfer full): a #GVolume or %NULL if @mount is not associated with a volume.
15385  */
15386
15387
15388 /**
15389  * g_buffered_input_stream_get_available:
15390  * @stream: #GBufferedInputStream
15391  *
15392  * Gets the size of the available data within the stream.
15393  *
15394  * Returns: size of the available stream.
15395  */
15396
15397
15398 /**
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.
15402  *
15403  * Flags used when sending #GDBusMessage<!-- -->s on a #GDBusConnection.
15404  *
15405  * Since: 2.26
15406  */
15407
15408
15409 /**
15410  * g_settings_reset:
15411  * @settings: a #GSettings object
15412  * @key: the name of a key
15413  *
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
15417  * administrator.
15418  */
15419
15420
15421 /**
15422  * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION:
15423  *
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.
15431  */
15432
15433
15434 /**
15435  * SECTION:gdbusaddres:
15436  * @title: D-Bus Addresses
15437  * @short_description: D-Bus connection endpoints
15438  * @include: gio/gio.h
15439  *
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&num;addresses">D-Bus specification</link>.
15443  */
15444
15445
15446 /**
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
15451  *
15452  * Finishes ejecting a volume. If any errors occured during the operation,
15453  *
15454  * Returns: %TRUE, %FALSE if operation failed.
15455  * Deprecated: 2.22: Use g_volume_eject_with_operation_finish() instead.
15456  */
15457
15458
15459 /**
15460  * g_file_dup:
15461  * @file: input #GFile.
15462  *
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.
15467  *
15468  * Returns: (transfer full): a new #GFile that is a duplicate of the given #GFile.
15469  */
15470
15471
15472 /**
15473  * g_unix_mount_points_changed_since:
15474  * @time: guint64 to contain a timestamp.
15475  *
15476  * Checks if the unix mount points have changed since a given unix time.
15477  *
15478  * Returns: %TRUE if the mount points have changed since @time.
15479  */
15480
15481
15482 /**
15483  * SECTION:gdbusauthobserve:
15484  * @short_description: Object used for authenticating connections
15485  * @include: gio/gio.h
15486  *
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
15491  * in the future
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>
15496  * static gboolean
15497  * on_authorize_authenticated_peer (GDBusAuthObserver *observer,
15498  * GIOStream         *stream,
15499  * GCredentials      *credentials,
15500  * gpointer           user_data)
15501  * {
15502  * gboolean authorized;
15503  * authorized = FALSE;
15504  * if (credentials != NULL)
15505  * {
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);
15511  * }
15512  * return authorized;
15513  * }
15514  * </programlisting></example>
15515  */
15516
15517
15518 /**
15519  * G_TYPE_PARAM_VARIANT:
15520  *
15521  * The #GType of #GParamSpecVariant.
15522  *
15523  * Since: 2.26
15524  */
15525
15526
15527 /**
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
15533  *
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.
15538  *
15539  * Since: 2.26
15540  */
15541
15542
15543 /**
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().
15549  *
15550  * Invoked when the name being watched is known to have to have a owner.
15551  *
15552  * Since: 2.26
15553  */
15554
15555
15556 /**
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.
15561  *
15562  * Finishes unmounting a mount. If any errors occurred during the operation,
15563  *
15564  * Returns: %TRUE if the mount was successfully unmounted. %FALSE otherwise.
15565  * Deprecated: 2.22: Use g_mount_unmount_with_operation_finish() instead.
15566  */
15567
15568
15569 /**
15570  * g_buffered_output_stream_get_buffer_size:
15571  * @stream: a #GBufferedOutputStream.
15572  *
15573  * Gets the size of the buffer in the @stream.
15574  *
15575  * Returns: the current size of the buffer.
15576  */
15577
15578
15579 /**
15580  * g_action_group_list_actions:
15581  * @action_group: a #GActionGroup
15582  *
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
15587  *
15588  * Returns: (transfer full): a %NULL-terminated array of the names of the
15589  * Since: 2.28
15590  */
15591
15592
15593 /**
15594  * GUserDirectory:
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
15604  *
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
15610  * enumeration.
15611  *
15612  * Since: 2.14
15613  */
15614
15615
15616 /**
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.
15622  *
15623  * Like g_dbus_method_invocation_return_error() but without printf()-style formatting.
15624  * This method will free @invocation, you cannot use it afterwards.
15625  *
15626  * Since: 2.26
15627  */
15628
15629
15630 /**
15631  * g_dbus_message_get_serial:
15632  * @message: A #GDBusMessage.
15633  *
15634  * Gets the serial for @message.
15635  *
15636  * Returns: A #guint32.
15637  * Since: 2.26
15638  */
15639
15640
15641 /**
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
15646  *
15647  * When to allow rehandshaking. See
15648  * g_tls_connection_set_rehandshake_mode().
15649  *
15650  * Since: 2.28
15651  */
15652
15653
15654 /**
15655  * g_file_attribute_matcher_ref:
15656  * @matcher: a #GFileAttributeMatcher.
15657  *
15658  * References a file attribute matcher.
15659  *
15660  * Returns: a #GFileAttributeMatcher.
15661  */
15662
15663
15664 /**
15665  * GFilenameCompleter:
15666  *
15667  * Completes filenames based on files that exist within the file system.
15668  */
15669
15670
15671 /**
15672  * GDBusSignalInfo:
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.
15677  *
15678  * Information about a signal on a D-Bus interface.
15679  *
15680  * Since: 2.26
15681  */
15682
15683
15684 /**
15685  * G_SIGNAL_MATCH_MASK:
15686  *
15687  * A mask for all #GSignalMatchType bits.
15688  */
15689
15690
15691 /**
15692  * g_file_info_new:
15693  *
15694  * Creates a new file info structure.
15695  *
15696  * Returns: a #GFileInfo.
15697  */
15698
15699
15700 /**
15701  * g_unix_output_stream_new:
15702  * @fd: a UNIX file descriptor
15703  * @close_fd: %TRUE to close the file descriptor when done
15704  *
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.
15708  *
15709  * Returns: a new #GOutputStream
15710  */
15711
15712
15713 /**
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
15718  *
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.
15737  *
15738  * Returns: %TRUE on success, %FALSE on failure
15739  */
15740
15741
15742 /**
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.
15746  *
15747  * Looks up the value of an annotation.
15748  * This cost of this function is O(n) in number of annotations.
15749  *
15750  * Returns: The value or %NULL if not found. Do not free, it is owned by @annotations.
15751  * Since: 2.26
15752  */
15753
15754
15755 /**
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
15763  *
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.
15769  */
15770
15771
15772 /**
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.
15778  *
15779  * Finishes an async accept operation. See g_socket_listener_accept_async()
15780  *
15781  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
15782  * Since: 2.22
15783  */
15784
15785
15786 /**
15787  * GSimpleAction:parameter-type:
15788  *
15789  * The type of the parameter that must be given when activating the
15790  * action.
15791  *
15792  * Since: 2.28
15793  */
15794
15795
15796 /**
15797  * g_proxy_supports_hostname:
15798  * @proxy: a #GProxy
15799  *
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().
15807  *
15808  * Returns: %TRUE if hostname resolution is supported.
15809  * Since: 2.26
15810  */
15811
15812
15813 /**
15814  * g_file_info_get_attribute_uint64:
15815  * @info: a #GFileInfo.
15816  * @attribute: a file attribute key.
15817  *
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.
15821  *
15822  * Returns: a unsigned 64-bit integer from the attribute.
15823  */
15824
15825
15826 /**
15827  * g_dbus_message_get_sender:
15828  * @message: A #GDBusMessage.
15829  *
15830  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
15831  *
15832  * Returns: The value.
15833  * Since: 2.26
15834  */
15835
15836
15837 /**
15838  * g_tls_connection_handshake:
15839  * @conn: a #GTlsConnection
15840  * @cancellable: a #GCancellable, or %NULL
15841  * @error: a #GError, or %NULL
15842  *
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
15861  * handshake.
15862  *
15863  * Returns: success or failure
15864  * Since: 2.28
15865  */
15866
15867
15868 /**
15869  * G_TYPE_IS_ENUM:
15870  * @type: a #GType ID.
15871  *
15872  * Checks whether @type "is a" %G_TYPE_ENUM.
15873  *
15874  * Returns: %TRUE if @type "is a" %G_TYPE_ENUM.
15875  */
15876
15877
15878 /**
15879  * g_mount_operation_set_username:
15880  * @op: a #GMountOperation.
15881  * @username: input username.
15882  *
15883  * Sets the user name within @op to @username.
15884  */
15885
15886
15887 /**
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.
15892  *
15893  * The <structname>GSourceCallbackFuncs</structname> struct contains
15894  * functions for managing callback objects.
15895  */
15896
15897
15898 /**
15899  * GDBusProxy:g-name:
15900  *
15901  * The well-known or unique name that the proxy is for.
15902  *
15903  * Since: 2.26
15904  */
15905
15906
15907 /**
15908  * g_mount_shadow:
15909  * @mount: A #GMount.
15910  *
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.
15914  *
15915  * Since: 2.20
15916  */
15917
15918
15919 /**
15920  * GFileInfo:
15921  *
15922  * Stores information about a file system object referenced by a #GFile.
15923  */
15924
15925
15926 /**
15927  * G_OBJECT:
15928  * @object: Object which is subject to casting.
15929  *
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.
15933  */
15934
15935
15936 /**
15937  * GTlsConnection:peer-certificate:
15938  *
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.)
15945  *
15946  * Since: 2.28
15947  */
15948
15949
15950 /**
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
15958  *
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
15962  * file).
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
15967  * operation.
15968  */
15969
15970
15971 /**
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.
15977  *
15978  * Adds a new attribute with @name to the @list, setting
15979  * its @type and @flags.
15980  */
15981
15982
15983 /**
15984  * G_NODE_IS_ROOT:
15985  * @node: a #GNode
15986  *
15987  * Returns %TRUE if a #GNode is the root of a tree.
15988  * (i.e. it has no parent or siblings)
15989  *
15990  * Returns: %TRUE if the #GNode is the root of a tree
15991  */
15992
15993
15994 /**
15995  * GUnixInputStream:close-fd:
15996  *
15997  * Whether to close the file descriptor when the stream is closed.
15998  *
15999  * Since: 2.20
16000  */
16001
16002
16003 /**
16004  * g_content_type_from_mime_type:
16005  * @mime_type: a mime type string
16006  *
16007  * Tries to find a content type based on the mime type name.
16008  * or %NULL. Free with g_free()
16009  *
16010  * Returns: (allow-none): Newly allocated string with content type
16011  * Since: 2.18
16012  */
16013
16014
16015 /**
16016  * g_srv_target_get_port:
16017  * @target: a #GSrvTarget
16018  *
16019  * Gets @target's port
16020  *
16021  * Returns: @target's port
16022  * Since: 2.22
16023  */
16024
16025
16026 /**
16027  * g_mount_eject:
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.
16033  *
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.
16037  *
16038  * Deprecated: 2.22: Use g_mount_eject_with_operation() instead.
16039  */
16040
16041
16042 /**
16043  * G_VALUE_HOLDS_CHAR:
16044  * @value: a valid #GValue structure
16045  *
16046  * Checks whether the given #GValue can hold values of type %G_TYPE_CHAR.
16047  *
16048  * Returns: %TRUE on success.
16049  */
16050
16051
16052 /**
16053  * G_TYPE_IS_FUNDAMENTAL:
16054  * @type: A #GType value.
16055  *
16056  * Checks if @type is a fundamental type.
16057  *
16058  * Returns: %TRUE on success.
16059  */
16060
16061
16062 /**
16063  * g_dbus_error_get_remote_error:
16064  * @error: A #GError.
16065  *
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.
16071  *
16072  * Returns: An allocated string or %NULL if the D-Bus error name could not be found. Free with g_free().
16073  * Since: 2.26
16074  */
16075
16076
16077 /**
16078  * SECTION:gsettingsbacken:
16079  * @title: GSettingsBackend
16080  * @short_description: Interface for settings backend implementations
16081  * @include: gio/gsettingsbackend.h
16082  * @see_also: #GSettings, #GIOExtensionPoint
16083  *
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
16098  * suitable trees.
16099  * <note><para>
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>
16105  * </para></note>
16106  */
16107
16108
16109 /**
16110  * g_dbus_interface_info_lookup_method:
16111  * @info: A #GDBusInterfaceInfo.
16112  * @name: A D-Bus method name (typically in CamelCase)
16113  *
16114  * Looks up information about a method.
16115  * This cost of this function is O(n) in number of methods.
16116  *
16117  * Returns: A #GDBusMethodInfo or %NULL if not found. Do not free, it is owned by @info.
16118  * Since: 2.26
16119  */
16120
16121
16122 /**
16123  * GDBusConnection:closed:
16124  *
16125  * A boolean specifying whether the connection has been closed.
16126  *
16127  * Since: 2.26
16128  */
16129
16130
16131 /**
16132  * GProxyInterface:
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()
16137  *
16138  * Provides an interface for handling proxy connection and payload.
16139  *
16140  * Since: 2.26
16141  */
16142
16143
16144 /**
16145  * g_zlib_compressor_new:
16146  * @format: The format to use for the compressed data
16147  * @level: compression level (0-9), -1 for default
16148  *
16149  * Creates a new #GZlibCompressor.
16150  *
16151  * Returns: a new #GZlibCompressor
16152  * Since: 2.24
16153  */
16154
16155
16156 /**
16157  * g_cancellable_disconnect:
16158  * @cancellable: A #GCancellable or %NULL.
16159  * @handler_id: Handler id of the handler to be disconnected, or %0.
16160  *
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
16166  * deadlock.
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
16172  * nothing.
16173  *
16174  * Since: 2.22
16175  */
16176
16177
16178 /**
16179  * GTlsClientConnection:server-identity:
16180  *
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
16192  * virtual hosts.
16193  *
16194  * Since: 2.28
16195  */
16196
16197
16198 /**
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.
16203  *
16204  * Finishes a stream skip operation.
16205  *
16206  * Returns: the size of the bytes skipped, or %-1 on error.
16207  */
16208
16209
16210 /**
16211  * GFileEnumerator:
16212  *
16213  * A per matched file iterator.
16214  */
16215
16216
16217 /**
16218  * g_resolver_set_default:
16219  * @resolver: the new default #GResolver
16220  *
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.
16228  *
16229  * Since: 2.22
16230  */
16231
16232
16233 /**
16234  * g_dbus_annotation_info_unref:
16235  * @info: A #GDBusAnnotationInfo.
16236  *
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.
16240  *
16241  * Since: 2.26
16242  */
16243
16244
16245 /**
16246  * g_file_info_set_sort_order:
16247  * @info: a #GFileInfo.
16248  * @sort_order: a sort order integer.
16249  *
16250  * Sets the sort order attribute in the file info structure. See
16251  * %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.
16252  */
16253
16254
16255 /**
16256  * SECTION:goutputstrea:
16257  * @short_description: Base class for implementing streaming output
16258  * @include: gio/gio.h
16259  *
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.
16266  */
16267
16268
16269 /**
16270  * SECTION:gmemoryinputstrea:
16271  * @short_description: Streaming input operations on memory chunks
16272  * @include: gio/gio.h
16273  * @see_also: #GMemoryOutputStream
16274  *
16275  * #GMemoryInputStream is a class for using arbitrary
16276  * memory chunks as input for GIO streaming input operations.
16277  */
16278
16279
16280 /**
16281  * G_VALUE_HOLDS_UINT:
16282  * @value: a valid #GValue structure
16283  *
16284  * Checks whether the given #GValue can hold values of type %G_TYPE_UINT.
16285  *
16286  * Returns: %TRUE on success.
16287  */
16288
16289
16290 /**
16291  * g_action_get_name:
16292  * @action: a #GAction
16293  *
16294  * Queries the name of @action.
16295  *
16296  * Returns: the name of the action
16297  * Since: 2.28
16298  */
16299
16300
16301 /**
16302  * SECTION:gvf:
16303  * @short_description: Virtual File System
16304  * @include: gio/gio.h
16305  *
16306  * Entry point for using GIO functionality.
16307  */
16308
16309
16310 /**
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
16318  *
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().
16323  */
16324
16325
16326 /**
16327  * g_dbus_connection_remove_filter:
16328  * @connection: a #GDBusConnection
16329  * @filter_id: an identifier obtained from g_dbus_connection_add_filter()
16330  *
16331  * Removes a filter.
16332  *
16333  * Since: 2.26
16334  */
16335
16336
16337 /**
16338  * G_PARAM_SPEC_GTYPE:
16339  * @pspec: a #GParamSpec
16340  *
16341  * Casts a #GParamSpec into a #GParamSpecGType.
16342  *
16343  * Since: 2.10
16344  */
16345
16346
16347 /**
16348  * G_TYPE_ERROR:
16349  *
16350  * The #GType for a boxed type holding a #GError.
16351  *
16352  * Since: 2.26
16353  */
16354
16355
16356 /**
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
16362  *
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.)
16382  *
16383  * Returns: (element-type GInetAddress) (transfer full): a #GList
16384  * Since: 2.22
16385  */
16386
16387
16388 /**
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
16394  *
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.
16399  *
16400  * Since: 2.22
16401  */
16402
16403
16404 /**
16405  * g_mount_unshadow:
16406  * @mount: A #GMount.
16407  *
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.
16411  *
16412  * Since: 2.20
16413  */
16414
16415
16416 /**
16417  * g_file_info_get_is_backup:
16418  * @info: a #GFileInfo.
16419  *
16420  * Checks if a file is a backup file.
16421  *
16422  * Returns: %TRUE if file is a backup file, %FALSE otherwise.
16423  */
16424
16425
16426 /**
16427  * G_VARIANT_TYPE_BASIC:
16428  *
16429  * An indefinite type that is a supertype of every basic (ie:
16430  * non-container) type.
16431  */
16432
16433
16434 /**
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.
16448  *
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.:
16460  * |[
16461  * g_dbus_connection_call (connection,
16462  * "org.freedesktop.StringThings",
16463  * "/org/freedesktop/StringThings",
16464  * "org.freedesktop.StringThings",
16465  * "TwoStrings",
16466  * g_variant_new ("(ss)",
16467  * "Thing One",
16468  * "Thing Two"),
16469  * NULL,
16470  * G_DBUS_CALL_FLAGS_NONE,
16471  * -1,
16472  * NULL,
16473  * (GAsyncReadyCallback) two_strings_done,
16474  * NULL);
16475  * ]|
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
16481  * function.
16482  *
16483  * Since: 2.26
16484  */
16485
16486
16487 /**
16488  * g_unix_fd_message_get_fd_list:
16489  * @message: a #GUnixFDMessage
16490  *
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.
16494  *
16495  * Returns: (transfer none): the #GUnixFDList from @message
16496  * Since: 2.24
16497  */
16498
16499
16500 /**
16501  * GPid:
16502  *
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).
16506  */
16507
16508
16509 /**
16510  * g_filter_input_stream_get_base_stream:
16511  * @stream: a #GFilterInputStream.
16512  *
16513  * Gets the base stream for the filter stream.
16514  *
16515  * Returns: (transfer none): a #GInputStream.
16516  */
16517
16518
16519 /**
16520  * g_data_input_stream_get_byte_order:
16521  * @stream: a given #GDataInputStream.
16522  *
16523  * Gets the byte order for the data input stream.
16524  *
16525  * Returns: the @stream's current #GDataStreamByteOrder.
16526  */
16527
16528
16529 /**
16530  * G_IS_OBJECT_CLASS:
16531  * @class: a #GObjectClass
16532  *
16533  * Checks whether @class "is a" valid #GObjectClass structure of type
16534  * %G_TYPE_OBJECT or derived.
16535  */
16536
16537
16538 /**
16539  * GProxyResolver:
16540  *
16541  * Interface that can be used to resolve proxy address.
16542  */
16543
16544
16545 /**
16546  * G_TLS_BACKEND_EXTENSION_POINT_NAME:
16547  *
16548  * Extension point for TLS functionality via #GTlsBackend.
16549  * See <link linkend="extending-gio">Extending GIO</link>.
16550  */
16551
16552
16553 /**
16554  * SECTION:gdbuserro:
16555  * @title: GDBusError
16556  * @short_description: Mapping D-Bus errors to and from GError
16557  * @include: gio/gio.h
16558  *
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
16573  * error domain:
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);
16578  * typedef enum
16579  * {
16580  * FOO_BAR_ERROR_FAILED,
16581  * FOO_BAR_ERROR_ANOTHER_ERROR,
16582  * FOO_BAR_ERROR_SOME_THIRD_ERROR,
16583  * } FooBarError;
16584  * /<!-- -->* foo-bar-error.c: *<!-- -->/
16585  * static const GDBusErrorEntry foo_bar_error_entries[] =
16586  * {
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"},
16590  * };
16591  * GQuark
16592  * foo_bar_error_quark (void)
16593  * {
16594  * static volatile gsize quark_volatile = 0;
16595  * g_dbus_error_register_error_domain ("foo-bar-error-quark",
16596  * &quark_volatile,
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;
16601  * }
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.
16612  */
16613
16614
16615 /**
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.
16621  *
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.
16630  *
16631  * Virtual: truncate_fn
16632  * Returns: %TRUE if successful. If an error
16633  */
16634
16635
16636 /**
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.
16642  *
16643  * Creates a new #GDBusMessage that is an error reply to @method_call_message.
16644  *
16645  * Returns: (transfer full): A #GDBusMessage. Free with g_object_unref().
16646  * Since: 2.26
16647  */
16648
16649
16650 /**
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.
16658  *
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.
16662  *
16663  * Since: 2.22
16664  */
16665
16666
16667 /**
16668  * g_settings_bind:
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
16674  *
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.
16691  *
16692  * Since: 2.26
16693  */
16694
16695
16696 /**
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
16704  *
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.
16709  *
16710  * Since: 2.22
16711  */
16712
16713
16714 /**
16715  * GInitiallyUnownedClass:
16716  *
16717  * The class structure for the <structname>GInitiallyUnowned</structname> type.
16718  */
16719
16720
16721 /**
16722  * g_file_info_set_content_type:
16723  * @info: a #GFileInfo.
16724  * @content_type: a content type. See #GContentType.
16725  *
16726  * Sets the content type attribute for a given #GFileInfo.
16727  * See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE.
16728  */
16729
16730
16731 /**
16732  * g_dbus_proxy_get_flags:
16733  * @proxy: A #GDBusProxy.
16734  *
16735  * Gets the flags that @proxy was constructed with.
16736  *
16737  * Returns: Flags from the #GDBusProxyFlags enumeration.
16738  * Since: 2.26
16739  */
16740
16741
16742 /**
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
16748  *
16749  * Flags used when creating a #GAppInfo.
16750  */
16751
16752
16753 /**
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
16757  *
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
16760  * the caller.
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.
16763  *
16764  * Returns: a new #GUnixFDList
16765  * Since: 2.24
16766  */
16767
16768
16769 /**
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
16776  *
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().
16780  */
16781
16782
16783 /**
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.
16789  *
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().
16794  *
16795  * Returns: A new #GDBusMessage or %NULL if @error is set. Free with
16796  * Since: 2.26
16797  */
16798
16799
16800 /**
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.
16805  *
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.
16810  *
16811  * Since: 2.24
16812  * Returns: a pointer to the private data structure.
16813  */
16814
16815
16816 /**
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.
16823  *
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).
16827  *
16828  * Since: 2.26
16829  */
16830
16831
16832 /**
16833  * g_file_query_info_finish:
16834  * @file: input #GFile.
16835  * @res: a #GAsyncResult.
16836  * @error: a #GError.
16837  *
16838  * Finishes an asynchronous file info query.
16839  * See g_file_query_info_async().
16840  * Free the returned object with g_object_unref().
16841  *
16842  * Returns: (transfer full): #GFileInfo for given @file or %NULL on error.
16843  */
16844
16845
16846 /**
16847  * GDBusConnection:unique-name:
16848  *
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.
16851  *
16852  * Since: 2.26
16853  */
16854
16855
16856 /**
16857  * g_file_attribute_info_list_lookup:
16858  * @list: a #GFileAttributeInfoList.
16859  * @name: the name of the attribute to lookup.
16860  *
16861  * Gets the file attribute with the name @name from @list.
16862  * attribute isn't found.
16863  *
16864  * Returns: a #GFileAttributeInfo for the @name, or %NULL if an
16865  */
16866
16867
16868 /**
16869  * G_PARAM_SPEC_POINTER:
16870  * @pspec: a valid #GParamSpec instance
16871  *
16872  * Casts a #GParamSpec instance into a #GParamSpecPointer.
16873  */
16874
16875
16876 /**
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.
16881  *
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
16890  * returned.
16891  *
16892  * Returns: %TRUE if the close operation has finished successfully.
16893  */
16894
16895
16896 /**
16897  * GSimpleAction:name:
16898  *
16899  * The name of the action.  This is mostly meaningful for identifying
16900  * the action once it has been added to a #GSimpleActionGroup.
16901  *
16902  * Since: 2.28
16903  */
16904
16905
16906 /**
16907  * g_app_info_set_as_default_for_type:
16908  * @appinfo: a #GAppInfo.
16909  * @content_type: the content type.
16910  * @error: a #GError.
16911  *
16912  * Sets the application as the default handler for a given type.
16913  *
16914  * Returns: %TRUE on success, %FALSE on error.
16915  */
16916
16917
16918 /**
16919  * GSimpleAsyncThreadFunc:
16920  * @res: a #GSimpleAsyncResult.
16921  * @object: a #GObject.
16922  * @cancellable: optional #GCancellable object, %NULL to ignore.
16923  *
16924  * Simple thread function that runs an asynchronous operation and
16925  * checks for cancellation.
16926  */
16927
16928
16929 /**
16930  * g_filter_input_stream_get_close_base_stream:
16931  * @stream: a #GFilterInputStream.
16932  *
16933  * Returns whether the base stream will be closed when @stream is
16934  * closed.
16935  *
16936  * Returns: %TRUE if the base stream will be closed.
16937  */
16938
16939
16940 /**
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.
16947  *
16948  * Message types used in #GDBusMessage.
16949  *
16950  * Since: 2.26
16951  */
16952
16953
16954 /**
16955  * GBookmarkFile:
16956  *
16957  * The <structname>GBookmarkFile</structname> struct contains only
16958  * private data and should not be directly accessed.
16959  */
16960
16961
16962 /**
16963  * G_VARIANT_TYPE_INT16:
16964  *
16965  * The type of an integer value that can range from -32768 to 32767.
16966  */
16967
16968
16969 /**
16970  * g_io_stream_clear_pending:
16971  * @stream: a #GIOStream
16972  *
16973  * Clears the pending flag on @stream.
16974  *
16975  * Since: 2.22
16976  */
16977
16978
16979 /**
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
16985  *
16986  * Attempts to release the permission represented by @permission.
16987  * This is the first half of the asynchronous version of
16988  * g_permission_release().
16989  *
16990  * Since: 2.26
16991  */
16992
16993
16994 /**
16995  * g_tls_connection_get_certificate:
16996  * @conn: a #GTlsConnection
16997  *
16998  * Gets @conn's certificate, as set by
16999  * g_tls_connection_set_certificate().
17000  *
17001  * Returns: (transfer none): @conn's certificate, or %NULL
17002  * Since: 2.28
17003  */
17004
17005
17006 /**
17007  * g_unix_mount_guess_name:
17008  * @mount_entry: a #GUnixMountEntry
17009  *
17010  * Guesses the name of a Unix mount.
17011  * The result is a translated string.
17012  * be freed with g_free()
17013  *
17014  * Returns: A newly allocated string that must
17015  */
17016
17017
17018 /**
17019  * GDBusConnection:exit-on-close:
17020  *
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.
17024  *
17025  * Since: 2.26
17026  */
17027
17028
17029 /**
17030  * g_hash_table_freeze:
17031  * @hash_table: a #GHashTable
17032  *
17033  * This function is deprecated and will be removed in the next major
17034  * release of GLib. It does nothing.
17035  */
17036
17037
17038 /**
17039  * G_VARIANT_TYPE_OBJECT_PATH:
17040  *
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
17043  * the bus.
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.
17047  */
17048
17049
17050 /**
17051  * g_simple_async_result_get_source_tag: (skip)
17052  * @simple: a #GSimpleAsyncResult.
17053  *
17054  * Gets the source tag for the #GSimpleAsyncResult.
17055  *
17056  * Returns: a #gpointer to the source object for the #GSimpleAsyncResult.
17057  */
17058
17059
17060 /**
17061  * G_FILE_ATTRIBUTE_OWNER_USER_REAL:
17062  *
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.
17066  */
17067
17068
17069 /**
17070  * GObject:
17071  *
17072  * All the fields in the <structname>GObject</structname> structure are private
17073  * to the #GObject implementation and should never be accessed directly.
17074  */
17075
17076
17077 /**
17078  * SECTION:gemble:
17079  * @short_description: An object for emblems
17080  * @include: gio/gio.h
17081  * @see_also: #GIcon, #GEmblemedIcon, #GLoadableIcon, #GThemedIcon
17082  *
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.
17088  */
17089
17090
17091 /**
17092  * g_threaded_socket_service_new:
17093  * @max_threads: the maximal number of threads to execute concurrently handling incoming clients, -1 means no limit
17094  *
17095  * Creates a new #GThreadedSocketService with no listeners. Listeners
17096  * must be added with g_socket_service_add_listeners().
17097  *
17098  * Returns: a new #GSocketService.
17099  * Since: 2.22
17100  */
17101
17102
17103 /**
17104  * g_pollable_source_new:
17105  * @pollable_stream: the stream associated with the new source
17106  *
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.
17112  *
17113  * Returns: the new #GSource.
17114  * Since: 2.28
17115  */
17116
17117
17118 /**
17119  * G_IMPLEMENT_INTERFACE:
17120  * @TYPE_IFACE: The #GType of the interface to add
17121  * @iface_init: The interface init function
17122  *
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.
17128  *
17129  * Since: 2.4
17130  */
17131
17132
17133 /**
17134  * g_file_monitor_cancel:
17135  * @monitor: a #GFileMonitor.
17136  *
17137  * Cancels a file monitor.
17138  *
17139  * Returns: %TRUE if monitor was cancelled.
17140  */
17141
17142
17143 /**
17144  * SECTION:gfileiostrea:
17145  * @short_description: File read and write streaming operations
17146  * @include: gio/gio.h
17147  * @see_also: #GIOStream, #GFileInputStream, #GFileOutputStream, #GSeekable
17148  *
17149  * GFileIOStream provides io streams that both read and write to the same
17150  * file handle.
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
17154  * operations.
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.
17165  *
17166  * Since: 2.22
17167  */
17168
17169
17170 /**
17171  * g_mount_get_root:
17172  * @mount: a #GMount.
17173  *
17174  * Gets the root directory on @mount.
17175  * The returned object should be unreffed with
17176  * g_object_unref() when no longer needed.
17177  *
17178  * Returns: (transfer full): a #GFile.
17179  */
17180
17181
17182 /**
17183  * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE:
17184  *
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.
17188  */
17189
17190
17191 /**
17192  * SECTION:gunixmount:
17193  * @include: gio/gunixmounts.h
17194  * @short_description: UNIX mounts
17195  *
17196  * Routines for managing mounted UNIX mount points and paths.
17197  * Note that <filename>&lt;gio/gunixmounts.h&gt;</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.
17200  */
17201
17202
17203 /**
17204  * GParamSpecParam:
17205  * @parent_instance: private #GParamSpec portion
17206  *
17207  * A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
17208  * properties.
17209  */
17210
17211
17212 /**
17213  * GPollFD:
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.
17217  *
17218  *
17219  */
17220
17221
17222 /**
17223  * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC:
17224  *
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.
17229  */
17230
17231
17232 /**
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.
17237  *
17238  * Finishes unmounting a mount. If any errors occurred during the operation,
17239  *
17240  * Returns: %TRUE if the mount was successfully unmounted. %FALSE otherwise.
17241  * Since: 2.22
17242  */
17243
17244
17245 /**
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.
17249  *
17250  * Enumeration used to describe the byte order of a D-Bus message.
17251  *
17252  * Since: 2.26
17253  */
17254
17255
17256 /**
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
17262  *
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.
17283  *
17284  * Returns: %TRUE on successful launch, %FALSE otherwise.
17285  */
17286
17287
17288 /**
17289  * GParamSpecChar:
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
17294  *
17295  * A #GParamSpec derived structure that contains the meta data for character properties.
17296  */
17297
17298
17299 /**
17300  * GVolumeMonitor::drive-disconnected:
17301  * @volume_monitor: The volume monitor emitting the signal.
17302  * @drive: a #GDrive that was disconnected.
17303  *
17304  * Emitted when a drive is disconnected from the system.
17305  */
17306
17307
17308 /**
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().
17317  *
17318  * The type of the @dispatch function in #GDBusSubtreeVTable.
17319  * Subtrees are flat.  @node, if non-%NULL, is always exactly one
17320  *
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.
17323  * Since: 2.26
17324  */
17325
17326
17327 /**
17328  * GFileCopyFlags:
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.
17336  *
17337  * Flags used when copying or moving files.
17338  */
17339
17340
17341 /**
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.
17350  *
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
17359  * returns.
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.
17375  *
17376  * Returns: An identifier (never 0) that an be used with
17377  * Since: 2.26
17378  */
17379
17380
17381 /**
17382  * g_desktop_app_info_new_from_filename:
17383  * @filename: the path of a desktop file, in the GLib filename encoding
17384  *
17385  * Creates a new #GDesktopAppInfo.
17386  *
17387  * Returns: a new #GDesktopAppInfo or %NULL on error.
17388  */
17389
17390
17391 /**
17392  * g_io_extension_point_get_extension_by_name:
17393  * @extension_point: a #GIOExtensionPoint
17394  * @name: the name of the extension to get
17395  *
17396  * Finds a #GIOExtension for an extension point by name.
17397  * given name, or %NULL if there is no extension with that name
17398  *
17399  * Returns: (transfer none): the #GIOExtension for @extension_point that has the
17400  */
17401
17402
17403 /**
17404  * G_FILE_ATTRIBUTE_UNIX_NLINK:
17405  *
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.
17410  */
17411
17412
17413 /**
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
17420  *
17421  * Asynchronously performs a TLS handshake on @conn. See
17422  * g_tls_connection_handshake() for more information.
17423  *
17424  * Since: 2.28
17425  */
17426
17427
17428 /**
17429  * G_TYPE_INVALID:
17430  *
17431  * An invalid #GType used as error return value in some functions which return
17432  * a #GType.
17433  */
17434
17435
17436 /**
17437  * g_volume_can_eject:
17438  * @volume: a #GVolume.
17439  *
17440  * Checks if a volume can be ejected.
17441  *
17442  * Returns: %TRUE if the @volume can be ejected. %FALSE otherwise.
17443  */
17444
17445
17446 /**
17447  * G_IS_PARAM_SPEC_FLOAT:
17448  * @pspec: a valid #GParamSpec instance
17449  *
17450  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT.
17451  *
17452  * Returns: %TRUE on success.
17453  */
17454
17455
17456 /**
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.
17462  *
17463  * Creates a new #GAppInfo from the given information.
17464  *
17465  * Returns: (transfer full): new #GAppInfo for given command.
17466  */
17467
17468
17469 /**
17470  * g_socket_client_get_protocol:
17471  * @client: a #GSocketClient
17472  *
17473  * Gets the protocol name type of the socket client.
17474  * See g_socket_client_set_protocol() for details.
17475  *
17476  * Returns: a #GSocketProtocol
17477  * Since: 2.22
17478  */
17479
17480
17481 /**
17482  * G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO:
17483  *
17484  * Allowed characters in userinfo as defined in RFC 3986. Includes "!$&'()*+,;=:".
17485  */
17486
17487
17488 /**
17489  * g_dbus_message_get_body:
17490  * @message: A #GDBusMessage.
17491  *
17492  * Gets the body of a message.
17493  *
17494  * Returns: A #GVariant or %NULL if the body is empty. Do not free, it is owned by @message.
17495  * Since: 2.26
17496  */
17497
17498
17499 /**
17500  * g_permission_get_can_acquire:
17501  * @permission: a #GPermission instance
17502  * @returns: the value of the 'can-acquire' property
17503  *
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().
17507  *
17508  * Since: 2.26
17509  */
17510
17511
17512 /**
17513  * G_TYPE_PARAM_INT:
17514  *
17515  * The #GType of #GParamSpecInt.
17516  */
17517
17518
17519 /**
17520  * g_desktop_app_info_new:
17521  * @desktop_id: the desktop file id
17522  *
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>).
17533  *
17534  * Returns: a new #GDesktopAppInfo, or %NULL if no desktop file with that id
17535  */
17536
17537
17538 /**
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
17544  *
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.
17552  */
17553
17554
17555 /**
17556  * G_IS_INITIALLY_UNOWNED:
17557  * @object: Instance to check for being a %G_TYPE_INITIALLY_UNOWNED.
17558  *
17559  * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_INITIALLY_UNOWNED.
17560  */
17561
17562
17563 /**
17564  * G_IS_VALUE:
17565  * @value: A #GValue structure.
17566  *
17567  * Checks if @value is a valid and initialized #GValue structure.
17568  *
17569  * Returns: %TRUE on success.
17570  */
17571
17572
17573 /**
17574  * g_application_command_line_getenv:
17575  * @cmdline: a #GApplicationCommandLine
17576  * @name: the environment variable to get
17577  *
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.
17587  *
17588  * Returns: the value of the variable, or %NULL if unset or unsent
17589  * Since: 2.28
17590  */
17591
17592
17593 /**
17594  * g_simple_async_result_set_from_error:
17595  * @simple: a #GSimpleAsyncResult.
17596  * @error: #GError.
17597  *
17598  * Sets the result from a #GError.
17599  */
17600
17601
17602 /**
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.
17607  *
17608  * Sets the @attribute to contain the given @attr_value,
17609  * if possible.
17610  */
17611
17612
17613 /**
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.
17618  *
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.
17623  *
17624  * Returns: an unsigned 16-bit/2-byte value read from the @stream or %0 if
17625  */
17626
17627
17628 /**
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.
17637  *
17638  * Signature for callback function used in g_dbus_connection_signal_subscribe().
17639  *
17640  * Since: 2.26
17641  */
17642
17643
17644 /**
17645  * g_socket_client_set_socket_type:
17646  * @client: a #GSocketClient.
17647  * @type: a #GSocketType
17648  *
17649  * Sets the socket type of the socket client.
17650  * The sockets created by this object will be of the specified
17651  * type.
17652  * It doesn't make sense to specify a type of %G_SOCKET_TYPE_DATAGRAM,
17653  * as GSocketClient is used for connection oriented services.
17654  *
17655  * Since: 2.22
17656  */
17657
17658
17659 /**
17660  * GDBusAuthMechanism:credentials:
17661  *
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.
17666  */
17667
17668
17669 /**
17670  * G_TYPE_PARAM_PARAM:
17671  *
17672  * The #GType of #GParamSpecParam.
17673  */
17674
17675
17676 /**
17677  * G_PARAM_SPEC_UCHAR:
17678  * @pspec: a valid #GParamSpec instance
17679  *
17680  * Cast a #GParamSpec instance into a #GParamSpecUChar.
17681  */
17682
17683
17684 /**
17685  * GWeakNotify:
17686  * @data: data that was provided when the weak reference was established
17687  * @where_the_object_was: the object being finalized
17688  *
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.
17693  */
17694
17695
17696 /**
17697  * g_socket_client_set_tls_validation_flags:
17698  * @client: a #GSocketClient.
17699  * @flags: the validation flags
17700  *
17701  * Sets the TLS validation flags used when creating TLS connections
17702  * via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL.
17703  *
17704  * Since: 2.28
17705  */
17706
17707
17708 /**
17709  * GChildWatchFunc:
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()
17713  *
17714  * The type of functions to be called when a child exists.
17715  */
17716
17717
17718 /**
17719  * g_io_extension_point_set_required_type:
17720  * @extension_point: a #GIOExtensionPoint
17721  * @type: the #GType to require
17722  *
17723  * Sets the required type for @extension_point to @type.
17724  * All implementations must henceforth have this type.
17725  */
17726
17727
17728 /**
17729  * GSettingsBackend:
17730  *
17731  * An implementation of a settings storage repository.
17732  */
17733
17734
17735 /**
17736  * g_converter_reset:
17737  * @converter: a #GConverter.
17738  *
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.
17742  *
17743  * Since: 2.24
17744  */
17745
17746
17747 /**
17748  * g_buffered_output_stream_new_sized:
17749  * @base_stream: a #GOutputStream.
17750  * @size: a #gsize.
17751  *
17752  * Creates a new buffered output stream with a given buffer size.
17753  *
17754  * Returns: a #GOutputStream with an internal buffer set to @size.
17755  */
17756
17757
17758 /**
17759  * GDBusServer:active:
17760  *
17761  * Whether the server is currently active.
17762  *
17763  * Since: 2.26
17764  */
17765
17766
17767 /**
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.
17774  *
17775  * Information about a D-Bus property on a D-Bus interface.
17776  *
17777  * Since: 2.26
17778  */
17779
17780
17781 /**
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
17789  *
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.
17797  *
17798  * Returns: %TRUE if the @attribute was successfully set to @value
17799  */
17800
17801
17802 /**
17803  * g_tls_connection_set_rehandshake_mode:
17804  * @conn: a #GTlsConnection
17805  * @mode: the rehandshaking mode
17806  *
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.
17824  *
17825  * Since: 2.28
17826  */
17827
17828
17829 /**
17830  * G_VALUE_HOLDS_ENUM:
17831  * @value: a valid #GValue structure
17832  *
17833  * Checks whether the given #GValue can hold values derived from type %G_TYPE_ENUM.
17834  *
17835  * Returns: %TRUE on success.
17836  */
17837
17838
17839 /**
17840  * G_PARAM_SPEC_UINT64:
17841  * @pspec: a valid #GParamSpec instance
17842  *
17843  * Cast a #GParamSpec instance into a #GParamSpecUInt64.
17844  */
17845
17846
17847 /**
17848  * g_socket_listen:
17849  * @socket: a #GSocket.
17850  * @error: #GError for error reporting, or %NULL to ignore.
17851  *
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
17855  * g_socket_bind().
17856  * To set the maximum amount of outstanding clients, use
17857  * g_socket_set_listen_backlog().
17858  *
17859  * Returns: %TRUE on success, %FALSE on error.
17860  * Since: 2.22
17861  */
17862
17863
17864 /**
17865  * g_simple_async_result_complete_in_idle:
17866  * @simple: a #GSimpleAsyncResult.
17867  *
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.
17873  */
17874
17875
17876 /**
17877  * G_VARIANT_TYPE_BOOLEAN:
17878  *
17879  * The type of a value that can be either %TRUE or %FALSE.
17880  */
17881
17882
17883 /**
17884  * g_file_info_set_attribute_byte_string:
17885  * @info: a #GFileInfo.
17886  * @attribute: a file attribute key.
17887  * @attr_value: a byte string.
17888  *
17889  * Sets the @attribute to contain the given @attr_value,
17890  * if possible.
17891  */
17892
17893
17894 /**
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.
17900  *
17901  * Puts an unsigned 64-bit integer into the stream.
17902  *
17903  * Returns: %TRUE if @data was successfully added to the @stream.
17904  */
17905
17906
17907 /**
17908  * SECTION:gdbusprox:
17909  * @short_description: Client-side proxies
17910  * @include: gio/gio.h
17911  *
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>
17938  */
17939
17940
17941 /**
17942  * GSimpleAction:
17943  *
17944  * The <structname>GSimpleAction</structname> structure contains private
17945  * data and should only be accessed using the provided API
17946  *
17947  * Since: 2.26
17948  */
17949
17950
17951 /**
17952  * g_socket_get_local_address:
17953  * @socket: a #GSocket.
17954  * @error: #GError for error reporting, or %NULL to ignore.
17955  *
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().
17960  *
17961  * Returns: (transfer full): a #GSocketAddress or %NULL on error.
17962  * Since: 2.22
17963  */
17964
17965
17966 /**
17967  * GDriveIface:
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.
17998  *
17999  * Interface for creating #GDrive implementations.
18000  */
18001
18002
18003 /**
18004  * g_unix_output_stream_get_fd:
18005  * @stream: a #GUnixOutputStream
18006  *
18007  * Return the UNIX file descriptor that the stream writes to.
18008  *
18009  * Returns: The file descriptor of @stream
18010  * Since: 2.20
18011  */
18012
18013
18014 /**
18015  * g_dbus_is_unique_name:
18016  * @string: The string to check.
18017  *
18018  * Checks if @string is a valid D-Bus unique bus name.
18019  *
18020  * Returns: %TRUE if valid, %FALSE otherwise.
18021  * Since: 2.26
18022  */
18023
18024
18025 /**
18026  * G_FILE_ATTRIBUTE_UNIX_UID:
18027  *
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.
18031  */
18032
18033
18034 /**
18035  * g_inet_address_get_native_size:
18036  * @address: a #GInetAddress
18037  *
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().
18040  *
18041  * Returns: the number of bytes used for the native version of @address.
18042  * Since: 2.22
18043  */
18044
18045
18046 /**
18047  * G_IS_OBJECT:
18048  * @object: Instance to check for being a %G_TYPE_OBJECT.
18049  *
18050  * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT.
18051  */
18052
18053
18054 /**
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.
18061  *
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().
18084  *
18085  * Returns: (transfer full): a #GFileInfo for the given @file, or %NULL on error.
18086  */
18087
18088
18089 /**
18090  * GAsyncResult:
18091  *
18092  * Holds results information for an asynchronous operation,
18093  * usually passed directly to a asynchronous _finish() operation.
18094  */
18095
18096
18097 /**
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
18103  *
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.
18107  *
18108  * Returns: a #GIOExtension object for #GType
18109  */
18110
18111
18112 /**
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.
18117  *
18118  * Finishes ejecting a mount. If any errors occurred during the operation,
18119  *
18120  * Returns: %TRUE if the mount was successfully ejected. %FALSE otherwise.
18121  * Deprecated: 2.22: Use g_mount_eject_with_operation_finish() instead.
18122  */
18123
18124
18125 /**
18126  * GUnixSocketAddress:
18127  *
18128  * A UNIX-domain (local) socket address, corresponding to a
18129  * <type>struct sockaddr_un</type>.
18130  */
18131
18132
18133 /**
18134  * g_file_info_get_attribute_status:
18135  * @info: a #GFileInfo
18136  * @attribute: a file attribute key
18137  *
18138  * Gets the attribute status for an attribute key.
18139  * %G_FILE_ATTRIBUTE_STATUS_UNSET if the key is invalid.
18140  *
18141  * Returns: a #GFileAttributeStatus for the given @attribute, or
18142  */
18143
18144
18145 /**
18146  * GMountIface:
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.
18173  *
18174  * Interface for implementing operations for mounts.
18175  */
18176
18177
18178 /**
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.
18183  *
18184  * GOutputStreamSpliceFlags determine how streams should be spliced.
18185  */
18186
18187
18188 /**
18189  * g_cancellable_get_fd:
18190  * @cancellable: a #GCancellable.
18191  *
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.
18203  *
18204  * Returns: A valid file descriptor. %-1 if the file descriptor
18205  */
18206
18207
18208 /**
18209  * GNetworkService:
18210  *
18211  * A #GSocketConnectable for resolving a SRV record and connecting to
18212  * that service.
18213  */
18214
18215
18216 /**
18217  * g_dbus_message_get_path:
18218  * @message: A #GDBusMessage.
18219  *
18220  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
18221  *
18222  * Returns: The value.
18223  * Since: 2.26
18224  */
18225
18226
18227 /**
18228  * G_VALUE_HOLDS_DOUBLE:
18229  * @value: a valid #GValue structure
18230  *
18231  * Checks whether the given #GValue can hold values of type %G_TYPE_DOUBLE.
18232  *
18233  * Returns: %TRUE on success.
18234  */
18235
18236
18237 /**
18238  * g_file_attribute_matcher_matches_only:
18239  * @matcher: a #GFileAttributeMatcher.
18240  * @attribute: a file attribute key.
18241  *
18242  * Checks if a attribute matcher only matches a given attribute. Always
18243  * returns %FALSE if "*" was used when creating the matcher.
18244  *
18245  * Returns: %TRUE if the matcher only matches @attribute. %FALSE otherwise.
18246  */
18247
18248
18249 /**
18250  * g_drive_can_eject:
18251  * @drive: a #GDrive.
18252  *
18253  * Checks if a drive can be ejected.
18254  *
18255  * Returns: %TRUE if the @drive can be ejected, %FALSE otherwise.
18256  */
18257
18258
18259 /**
18260  * SECTION:ginetaddres:
18261  * @short_description: An IPv4/IPv6 address
18262  *
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
18268  * #GInetAddress.
18269  * To actually connect to a remote host, you will need a
18270  * #GInetSocketAddress (which includes a #GInetAddress as well as a
18271  * port number).
18272  */
18273
18274
18275 /**
18276  * g_hash_table_thaw:
18277  * @hash_table: a #GHashTable
18278  *
18279  * This function is deprecated and will be removed in the next major
18280  * release of GLib. It does nothing.
18281  */
18282
18283
18284 /**
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.
18289  *
18290  * Closes an output stream.
18291  *
18292  * Returns: %TRUE if stream was successfully closed, %FALSE otherwise.
18293  */
18294
18295
18296 /**
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.
18301  *
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).
18305  *
18306  * Returns: Number of bytes needed or -1 if @error is set (e.g. if
18307  * Since: 2.26
18308  */
18309
18310
18311 /**
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
18317  *
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.
18322  *
18323  * Since: 2.22
18324  */
18325
18326
18327 /**
18328  * g_unix_credentials_message_new:
18329  *
18330  * Creates a new #GUnixCredentialsMessage with credentials matching the current processes.
18331  *
18332  * Returns: a new #GUnixCredentialsMessage
18333  * Since: 2.26
18334  */
18335
18336
18337 /**
18338  * get_all_desktop_entries_for_mime_type:
18339  * @mime_type: a mime type.
18340  * @except: NULL or a strv list
18341  *
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.
18348  *
18349  * Returns: a #GList containing the desktop ids which claim
18350  */
18351
18352
18353 /**
18354  * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI:
18355  *
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.
18358  */
18359
18360
18361 /**
18362  * G_VARIANT_TYPE_BYTESTRING_ARRAY:
18363  *
18364  * The type of an array of byte strings (an array of arrays of bytes).
18365  */
18366
18367
18368 /**
18369  * GPermission:allowed:
18370  *
18371  * %TRUE if the caller currently has permission to perform the action that
18372  */
18373
18374
18375 /**
18376  * g_application_command_line_get_platform_data:
18377  * @cmdline: #GApplicationCommandLine
18378  *
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
18383  * notification ID.
18384  * For local invocation, it will be %NULL.
18385  *
18386  * Returns: the platform data, or %NULL
18387  * Since: 2.28
18388  */
18389
18390
18391 /**
18392  * g_file_info_set_symlink_target:
18393  * @info: a #GFileInfo.
18394  * @symlink_target: a static string containing a path to a symlink target.
18395  *
18396  * Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info
18397  * to the given symlink target.
18398  */
18399
18400
18401 /**
18402  * g_unix_mount_point_compare:
18403  * @mount1: a #GUnixMount.
18404  * @mount2: a #GUnixMount.
18405  *
18406  * Compares two unix mount points.
18407  * or less than @mount2, respectively.
18408  *
18409  * Returns: 1, 0 or -1 if @mount1 is greater than, equal to,
18410  */
18411
18412
18413 /**
18414  * g_file_info_get_attribute_int32:
18415  * @info: a #GFileInfo.
18416  * @attribute: a file attribute key.
18417  *
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.
18421  *
18422  * Returns: a signed 32-bit integer from the attribute.
18423  */
18424
18425
18426 /**
18427  * g_unix_fd_list_steal_fds:
18428  * @list: a #GUnixFDList
18429  * @length: pointer to the length of the returned array, or %NULL
18430  *
18431  * Returns the array of file descriptors that is contained in this
18432  * object.
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
18438  * close-on-exec.
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.
18444  *
18445  * Returns: an array of file descriptors
18446  * Since: 2.24
18447  */
18448
18449
18450 /**
18451  * GVolumeMonitor:
18452  *
18453  * A Volume Monitor that watches for volume events.
18454  */
18455
18456
18457 /**
18458  * G_TIME_SPAN_HOUR:
18459  *
18460  * Evaluates to a time span of one hour.
18461  *
18462  * Since: 2.26
18463  */
18464
18465
18466 /**
18467  * g_dbus_message_set_byte_order:
18468  * @message: A #GDBusMessage.
18469  * @byte_order: The byte order.
18470  *
18471  * Sets the byte order of @message.
18472  */
18473
18474
18475 /**
18476  * G_TYPE_STRV:
18477  *
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().
18482  * |[
18483  * g_object_class_install_property (object_class,
18484  * PROP_AUTHORS,
18485  * g_param_spec_boxed ("authors",
18486  * _("Authors"),
18487  * _("List of authors"),
18488  * G_TYPE_STRV,
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);
18496  * ]|
18497  *
18498  * Since: 2.4
18499  */
18500
18501
18502 /**
18503  * GDrive::disconnected:
18504  * @drive: a #GDrive.
18505  *
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
18509  * finalized.
18510  */
18511
18512
18513 /**
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
18521  *
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.
18528  *
18529  * Returns: %TRUE if the @attribute was successfully set to @value
18530  */
18531
18532
18533 /**
18534  * g_file_has_prefix:
18535  * @file: input #GFile.
18536  * @prefix: input #GFile.
18537  *
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
18545  * of @prefix.
18546  * %FALSE otherwise.
18547  *
18548  * Virtual: prefix_matches
18549  * Returns: %TRUE if the @files's parent, grandparent, etc is @prefix.
18550  */
18551
18552
18553 /**
18554  * SECTION:gfileattribut:
18555  * @short_description: Key-Value Paired File Attributes
18556  * @include: gio/gio.h
18557  * @see_also: #GFile, #GFileInfo
18558  *
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).
18576  * <para>
18577  * <table>
18578  * <title>GFileAttributes Default Namespaces</title>
18579  * <tgroup cols='2' align='left'><thead>
18580  * <row><entry>Namspace</entry><entry>Description</entry></row>
18581  * </thead>
18582  * <tbody>
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>
18636  * </tbody>
18637  * </tgroup>
18638  * </table>
18639  * </para>
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
18644  * file systems -->
18645  * <para><table>
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>
18649  * </thead><tbody>
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>.
18722  */
18723
18724
18725 /**
18726  * GUnixMountMonitor:
18727  *
18728  * Watches #GUnixMount<!-- -->s for changes.
18729  */
18730
18731
18732 /**
18733  * g_drive_eject:
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
18739  *
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.
18744  *
18745  * Deprecated: 2.22: Use g_drive_eject_with_operation() instead.
18746  */
18747
18748
18749 /**
18750  * G_TYPE_CLOSURE:
18751  *
18752  * The #GType for #GClosure.
18753  */
18754
18755
18756 /**
18757  * GVolumeMonitor::drive-stop-button:
18758  * @volume_monitor: The volume monitor emitting the signal.
18759  * @drive: the drive where the stop button was pressed
18760  *
18761  * Emitted when the stop button is pressed on @drive.
18762  *
18763  * Since: 2.22
18764  */
18765
18766
18767 /**
18768  * SECTION:gasynchelpe:
18769  * @short_description: Asynchronous Helper Functions
18770  * @include: gio/gio.h
18771  * @see_also: #GAsyncReady
18772  *
18773  * Provides helper functions for asynchronous operations.
18774  */
18775
18776
18777 /**
18778  * g_drive_get_start_stop_type:
18779  * @drive: a #GDrive.
18780  *
18781  * Gets a hint about how a drive can be started/stopped.
18782  *
18783  * Returns: A value from the #GDriveStartStopType enumeration.
18784  * Since: 2.22
18785  */
18786
18787
18788 /**
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.
18792  *
18793  * Finishes an operation started with g_dbus_connection_new().
18794  *
18795  * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
18796  * Since: 2.26
18797  */
18798
18799
18800 /**
18801  * g_bus_own_name:
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.
18810  *
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
18817  * possible cases:
18818  * <itemizedlist>
18819  * <listitem><para>
18820  * </para></listitem>
18821  * <listitem><para>
18822  * </para></listitem>
18823  * <listitem><para>
18824  * </para></listitem>
18825  * </itemizedlist>
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
18836  * will work.
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.
18852  *
18853  * Returns: An identifier (never 0) that an be used with
18854  * Since: 2.26
18855  */
18856
18857
18858 /**
18859  * g_dbus_message_get_error_name:
18860  * @message: A #GDBusMessage.
18861  *
18862  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
18863  *
18864  * Returns: The value.
18865  * Since: 2.26
18866  */
18867
18868
18869 /**
18870  * GDBusProxy:g-name-owner:
18871  *
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.
18875  *
18876  * Since: 2.26
18877  */
18878
18879
18880 /**
18881  * g_socket_close:
18882  * @socket: a #GSocket
18883  * @error: #GError for error reporting, or %NULL to ignore.
18884  *
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
18891  * return an error.
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
18909  * does.)
18910  *
18911  * Returns: %TRUE on success, %FALSE on error
18912  * Since: 2.22
18913  */
18914
18915
18916 /**
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.
18921  *
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.
18929  *
18930  * Since: 2.14
18931  */
18932
18933
18934 /**
18935  * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM:
18936  *
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.
18941  */
18942
18943
18944 /**
18945  * GOptionGroup:
18946  *
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.
18953  */
18954
18955
18956 /**
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.
18967  *
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.
18970  *
18971  * Since: 2.26
18972  */
18973
18974
18975 /**
18976  * g_dbus_message_print:
18977  * @message: A #GDBusMessage.
18978  * @indent: Indentation level.
18979  *
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:
18984  * <programlisting>
18985  * Headers:
18986  * path -> objectpath '/org/gtk/GDBus/TestObject'
18987  * interface -> 'org.gtk.GDBus.TestInterface'
18988  * member -> 'GimmeStdout'
18989  * destination -> ':1.146'
18990  * UNIX File Descriptors:
18991  * (none)
18992  * </programlisting>
18993  * or
18994  * <programlisting>
18995  * Headers:
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>
19002  *
19003  * Type:    method-return
19004  * Flags:   no-reply-expected
19005  * Version: 0
19006  * Serial:  477
19007  * Body: ()
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().
19010  * Since: 2.26
19011  */
19012
19013
19014 /**
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.
19021  *
19022  * Sets an error within the asynchronous result without a #GError.
19023  * Unless writing a binding, see g_simple_async_result_set_error().
19024  */
19025
19026
19027 /**
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().
19032  *
19033  * Invoked when a connection to a message bus has been obtained.
19034  *
19035  * Since: 2.26
19036  */
19037
19038
19039 /**
19040  * g_permission_get_allowed:
19041  * @permission: a #GPermission instance
19042  * @returns: the value of the 'allowed' property
19043  *
19044  * Gets the value of the 'allowed' property.  This property is %TRUE if
19045  * the caller currently has permission to perform the action that
19046  *
19047  * Since: 2.26
19048  */
19049
19050
19051 /**
19052  * G_VALUE_HOLDS_STRING:
19053  * @value: a valid #GValue structure
19054  *
19055  * Checks whether the given #GValue can hold values of type %G_TYPE_STRING.
19056  *
19057  * Returns: %TRUE on success.
19058  */
19059
19060
19061 /**
19062  * g_app_info_get_fallback_for_type:
19063  * @content_type: the content type to find a #GAppInfo for
19064  *
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.
19069  *
19070  * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
19071  * Since: 2.28
19072  */
19073
19074
19075 /**
19076  * G_VARIANT_TYPE_STRING:
19077  *
19078  * The type of a string.  "" is a string.  %NULL is not a string.
19079  */
19080
19081
19082 /**
19083  * G_FILE_ATTRIBUTE_UNIX_RDEV:
19084  *
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.
19089  */
19090
19091
19092 /**
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
19099  *
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.
19120  *
19121  * Attempt is made: the mapping function is called with a %NULL value.
19122  */
19123
19124
19125 /**
19126  * g_srv_target_get_priority:
19127  * @target: a #GSrvTarget
19128  *
19129  * Gets @target's priority. You should not need to look at this;
19130  * #GResolver already sorts the targets according to the algorithm in
19131  * RFC 2782.
19132  *
19133  * Returns: @target's priority
19134  * Since: 2.22
19135  */
19136
19137
19138 /**
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
19143  *
19144  * Signals that the state of the named action has changed.
19145  *
19146  * Since: 2.28
19147  */
19148
19149
19150 /**
19151  * GAppInfoIface:
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
19174  *
19175  * Application Information interface, for operating system portability.
19176  */
19177
19178
19179 /**
19180  * g_mount_operation_get_choice:
19181  * @op: a #GMountOperation.
19182  *
19183  * Gets a choice from the mount operation.
19184  * the choice's list, or %0.
19185  *
19186  * Returns: an integer containing an index of the user's choice from
19187  */
19188
19189
19190 /**
19191  * g_zlib_decompressor_new:
19192  * @format: The format to use for the compressed data
19193  *
19194  * Creates a new #GZlibDecompressor.
19195  *
19196  * Returns: a new #GZlibDecompressor
19197  * Since: 2.24
19198  */
19199
19200
19201 /**
19202  * g_network_service_get_scheme:
19203  * @srv: a #GNetworkService
19204  *
19205  * Get's the URI scheme used to resolve proxies. By default, the service name
19206  * is used as scheme.
19207  *
19208  * Returns: @srv's scheme name
19209  * Since: 2.26
19210  */
19211
19212
19213 /**
19214  * g_tls_certificate_get_issuer:
19215  * @cert: a #GTlsCertificate
19216  *
19217  * Gets the #GTlsCertificate representing @cert's issuer, if known
19218  * or %NULL if @cert is self-signed or signed with an unknown
19219  * certificate.
19220  *
19221  * Returns: (transfer none): The certificate of @cert's issuer,
19222  * Since: 2.28
19223  */
19224
19225
19226 /**
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.
19231  *
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
19235  * property cache.
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.
19241  * |[
19242  * g_dbus_proxy_set_cached_property (proxy,
19243  * "SomeProperty",
19244  * g_variant_new ("(si)",
19245  * "A String",
19246  * 42));
19247  * ]|
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
19260  * name)</literal>.
19261  *
19262  * Since: 2.26
19263  */
19264
19265
19266 /**
19267  * g_simple_async_result_set_handle_cancellation:
19268  * @simple: a #GSimpleAsyncResult.
19269  * @handle_cancellation: a #gboolean.
19270  *
19271  * Sets whether to handle cancellation within the asynchronous operation.
19272  */
19273
19274
19275 /**
19276  * g_file_unmount_mountable_with_operation_finish:
19277  * @file: input #GFile.
19278  * @result: a #GAsyncResult.
19279  * @error: a #GError, or %NULL
19280  *
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().
19284  * otherwise.
19285  *
19286  * Returns: %TRUE if the operation finished successfully. %FALSE
19287  * Since: 2.22
19288  */
19289
19290
19291 /**
19292  * g_unix_fd_message_append_fd:
19293  * @message: a #GUnixFDMessage
19294  * @fd: a valid open file descriptor
19295  * @error: a #GError pointer
19296  *
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.
19303  *
19304  * Returns: %TRUE in case of success, else %FALSE (and @error is set)
19305  * Since: 2.22
19306  */
19307
19308
19309 /**
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.
19313  *
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.
19318  *
19319  * Since: 2.26
19320  */
19321
19322
19323 /**
19324  * GSocketAddress:
19325  *
19326  * A socket endpoint address, corresponding to <type>struct sockaddr</type>
19327  * or one of its subtypes.
19328  */
19329
19330
19331 /**
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
19336  *
19337  * Closes a stream.
19338  *
19339  * Returns: %TRUE if stream was successfully closed, %FALSE otherwise.
19340  * Since: 2.22
19341  */
19342
19343
19344 /**
19345  * g_socket_connection_factory_lookup_type:
19346  * @family: a #GSocketFamily
19347  * @type: a #GSocketType
19348  * @protocol_id: a protocol id
19349  *
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.
19353  *
19354  * Returns: a #GType
19355  * Since: 2.22
19356  */
19357
19358
19359 /**
19360  * g_tls_connection_get_peer_certificate_errors:
19361  * @conn: a #GTlsConnection
19362  *
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.)
19366  *
19367  * Returns: @conn's peer's certificate errors
19368  * Since: 2.28
19369  */
19370
19371
19372 /**
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.
19379  *
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.
19389  */
19390
19391
19392 /**
19393  * g_io_stream_is_closed:
19394  * @stream: a #GIOStream
19395  *
19396  * Checks if a stream is closed.
19397  *
19398  * Returns: %TRUE if the stream is closed.
19399  * Since: 2.22
19400  */
19401
19402
19403 /**
19404  * g_inet_address_get_is_loopback:
19405  * @address: a #GInetAddress
19406  *
19407  * Tests whether @address is the loopback address for its family.
19408  *
19409  * Returns: %TRUE if @address is the loopback address for its family.
19410  * Since: 2.22
19411  */
19412
19413
19414 /**
19415  * g_file_get_parent:
19416  * @file: input #GFile.
19417  *
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().
19424  *
19425  * Returns: (transfer full): a #GFile structure to the parent of the given
19426  */
19427
19428
19429 /**
19430  * g_application_get_is_registered:
19431  * @application: a #GApplication
19432  * @returns: %TRUE if @application is registered
19433  *
19434  * Checks if @application is registered.
19435  * An application is registered if g_application_register() has been
19436  * successfully called.
19437  *
19438  * Since: 2.28
19439  */
19440
19441
19442 /**
19443  * G_TYPE_MAKE_FUNDAMENTAL:
19444  * @x: the fundamental type number.
19445  *
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
19448  * types.
19449  *
19450  * Returns: the GType
19451  */
19452
19453
19454 /**
19455  * GSocketSourceFunc:
19456  * @socket: the #GSocket
19457  * @condition: the current condition at the source fired.
19458  * @user_data: data passed in by the user.
19459  *
19460  * This is the function type of the callback used for the #GSource
19461  * returned by g_socket_create_source().
19462  *
19463  * Returns: it should return %FALSE if the source should be removed.
19464  * Since: 2.22
19465  */
19466
19467
19468 /**
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.
19475  *
19476  * A more general version of G_DEFINE_DYNAMIC_TYPE() which
19477  * allows to specify #GTypeFlags and custom code.
19478  * |[
19479  * G_DEFINE_DYNAMIC_TYPE_EXTENDED (GtkGadget,
19480  * gtk_gadget,
19481  * GTK_TYPE_THING,
19482  * 0,
19483  * G_IMPLEMENT_INTERFACE_DYNAMIC (TYPE_GIZMO,
19484  * gtk_gadget_gizmo_init));
19485  * ]|
19486  * expands to
19487  * |[
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)
19494  * {
19495  * gtk_gadget_parent_class = g_type_class_peek_parent (klass);
19496  * gtk_gadget_class_init ((GtkGadgetClass*) klass);
19497  * }
19498  * GType
19499  * gtk_gadget_get_type (void)
19500  * {
19501  * return gtk_gadget_type_id;
19502  * }
19503  * static void
19504  * gtk_gadget_register_type (GTypeModule *type_module)
19505  * {
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
19517  * };
19518  * gtk_gadget_type_id = g_type_module_register_type (type_module,
19519  * GTK_TYPE_THING,
19520  * GtkGadget,
19521  * &g_define_type_info,
19522  * (GTypeFlags) flags);
19523  * {
19524  * const GInterfaceInfo g_implement_interface_info = {
19525  * (GInterfaceInitFunc) gtk_gadget_gizmo_init
19526  * };
19527  * g_type_module_add_interface (type_module, g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
19528  * }
19529  * }
19530  * ]|
19531  *
19532  * Since: 2.14
19533  */
19534
19535
19536 /**
19537  * g_file_parse_name:
19538  * @parse_name: a file name or path to be parsed.
19539  *
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.
19543  *
19544  * Returns: (transfer full): a new #GFile.
19545  */
19546
19547
19548 /**
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.
19553  *
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).
19564  *
19565  * Returns: #TRUE if all checks passed or #FALSE if any failed.
19566  * Since: 2.20
19567  */
19568
19569
19570 /**
19571  * GTlsClientConnection:
19572  *
19573  * TLS client-side connection; the client-side implementation of a
19574  * #GTlsConnection
19575  *
19576  * Since: 2.28
19577  */
19578
19579
19580 /**
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().
19589  *
19590  * The type of the @get_property function in #GDBusInterfaceVTable.
19591  * consumed - otherwise its reference count is decreased by one.
19592  *
19593  * Returns: A #GVariant with the value for @property_name or %NULL if
19594  * Since: 2.26
19595  */
19596
19597
19598 /**
19599  * g_action_get_parameter_type:
19600  * @action: a #GAction
19601  *
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.
19607  *
19608  * Returns: (allow-none): the parameter type
19609  * Since: 2.28
19610  */
19611
19612
19613 /**
19614  * g_dbus_connection_get_exit_on_close:
19615  * @connection: A #GDBusConnection.
19616  *
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.
19621  *
19622  * Returns: Whether the process is terminated when @connection is
19623  * Since: 2.26
19624  */
19625
19626
19627 /**
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
19637  *
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).
19643  *
19644  * Since: 2.28
19645  */
19646
19647
19648 /**
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.
19658  *
19659  *
19660  *
19661  * Since: 2.26
19662  */
19663
19664
19665 /**
19666  * g_vfs_get_local:
19667  *
19668  * Gets the local #GVfs for the system.
19669  *
19670  * Returns: (transfer none): a #GVfs.
19671  */
19672
19673
19674 /**
19675  * GParamSpecBoxed:
19676  * @parent_instance: private #GParamSpec portion
19677  *
19678  * A #GParamSpec derived structure that contains the meta data for boxed properties.
19679  */
19680
19681
19682 /**
19683  * g_atomic_int_dec_and_test:
19684  * @atomic: a pointer to an integer
19685  *
19686  * Atomically decrements the integer pointed to by @atomic by 1.
19687  * after decrementing it
19688  *
19689  * Returns: %TRUE if the integer pointed to by @atomic is 0
19690  * Since: 2.4
19691  */
19692
19693
19694 /**
19695  * g_dbus_message_get_signature:
19696  * @message: A #GDBusMessage.
19697  *
19698  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
19699  *
19700  * Returns: The value.
19701  * Since: 2.26
19702  */
19703
19704
19705 /**
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
19712  *
19713  * Gets the attribute type, value and status for an attribute key.
19714  * %FALSE otherwise.
19715  *
19716  * Returns: (transfer none): %TRUE if @info has an attribute named @attribute,
19717  */
19718
19719
19720 /**
19721  * SECTION:gsrvtarge:
19722  * @short_description: DNS SRV record target
19723  * @include: gio/gio.h
19724  *
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.
19738  */
19739
19740
19741 /**
19742  * g_proxy_resolver_is_supported:
19743  * @resolver: a #GProxyResolver
19744  *
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.)
19748  *
19749  * Returns: %TRUE if @resolver is supported.
19750  * Since: 2.26
19751  */
19752
19753
19754 /**
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.
19759  *
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.
19775  */
19776
19777
19778 /**
19779  * GDBusError:
19780  *
19781  * A generic error; "something went wrong" - see the error message for
19782  * more.
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
19785  * you wanted.
19786  * The bus name you referenced doesn't exist (i.e. no application owns
19787  * it).
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
19796  * socket).
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
19801  * careful.
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.
19806  * Missing file.
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.
19832  *
19833  * Certain timeout errors, e.g. while starting a service. warning: this is
19834  * Since: 2.26
19835  */
19836
19837
19838 /**
19839  * g_socket_get_keepalive:
19840  * @socket: a #GSocket.
19841  *
19842  * Gets the keepalive mode of the socket. For details on this,
19843  * see g_socket_set_keepalive().
19844  *
19845  * Returns: %TRUE if keepalive is active, %FALSE otherwise.
19846  * Since: 2.22
19847  */
19848
19849
19850 /**
19851  * g_dbus_generate_guid:
19852  *
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).
19857  *
19858  * Returns: A valid D-Bus GUID. Free with g_free().
19859  * Since: 2.26
19860  */
19861
19862
19863 /**
19864  * SECTION:gico:
19865  * @short_description: Interface for icons
19866  * @include: gio/gio.h
19867  *
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().
19881  */
19882
19883
19884 /**
19885  * GSignalFlags:
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.
19893  *
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.
19897  */
19898
19899
19900 /**
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.
19907  *
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.
19926  *
19927  * Returns: Number of bytes read, or -1 on error
19928  * Since: 2.22
19929  */
19930
19931
19932 /**
19933  * g_dbus_message_set_unix_fd_list:
19934  * @message: A #GDBusMessage.
19935  * @fd_list: (allow-none): A #GUnixFDList or %NULL.
19936  *
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.
19941  *
19942  * Since: 2.26
19943  */
19944
19945
19946 /**
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.
19952  *
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
19960  * default address.
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().
19966  *
19967  * Returns: %TRUE if connected, %FALSE on error.
19968  * Since: 2.22
19969  */
19970
19971
19972 /**
19973  * GDBusProxy:
19974  *
19975  * The #GDBusProxy structure contains only private data and
19976  * should only be accessed using the provided API.
19977  *
19978  * Since: 2.26
19979  */
19980
19981
19982 /**
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
19989  *
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.
19995  */
19996
19997
19998 /**
19999  * g_dbus_server_get_flags:
20000  * @server: A #GDBusServer.
20001  *
20002  * Gets the flags for @server.
20003  *
20004  * Returns: A set of flags from the #GDBusServerFlags enumeration.
20005  * Since: 2.26
20006  */
20007
20008
20009 /**
20010  * GMemoryOutputStream:data:
20011  *
20012  * Pointer to buffer where data will be written.
20013  *
20014  * Since: 2.24
20015  */
20016
20017
20018 /**
20019  * g_settings_list_relocatable_schemas:
20020  *
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.
20030  *
20031  * Returns: (element-type utf8) (transfer none): a list of relocatable
20032  * Since: 2.28
20033  */
20034
20035
20036 /**
20037  * G_VARIANT_TYPE_UINT32:
20038  *
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.
20041  */
20042
20043
20044 /**
20045  * SECTION:gmoun:
20046  * @short_description: Mount management
20047  * @include: gio/gio.h
20048  * @see_also: GVolume, GUnixMount
20049  *
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.
20067  */
20068
20069
20070 /**
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.
20078  *
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.
20082  *
20083  * Since: 2.22
20084  */
20085
20086
20087 /**
20088  * g_renew:
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
20092  *
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.
20096  *
20097  * Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type
20098  */
20099
20100
20101 /**
20102  * g_mount_can_unmount:
20103  * @mount: a #GMount.
20104  *
20105  * Checks if @mount can be mounted.
20106  *
20107  * Returns: %TRUE if the @mount can be unmounted.
20108  */
20109
20110
20111 /**
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
20116  *
20117  * A #GParamSpec derived structure that contains the meta data for #GValueArray properties.
20118  */
20119
20120
20121 /**
20122  * GCopyFunc:
20123  * @src: A pointer to the data which should be copied
20124  * @data: Additional data
20125  *
20126  * A function of this signature is used to copy the node data
20127  * when doing a deep-copy of a tree.
20128  *
20129  * Returns: A pointer to the copy
20130  * Since: 2.4
20131  */
20132
20133
20134 /**
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.
20143  *
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() .
20174  *
20175  * Returns: 0 if @error is set, otherwise a registration id (never 0)
20176  * Since: 2.26
20177  */
20178
20179
20180 /**
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.
20187  *
20188  * #GAskPasswordFlags are used to request specific information from the
20189  * user, or to notify the user of their choices in an authentication
20190  * situation.
20191  */
20192
20193
20194 /**
20195  * g_icon_hash:
20196  * @icon: #gconstpointer to an icon object.
20197  *
20198  * Gets a hash for an icon.
20199  * use in a #GHashTable or similar data structure.
20200  *
20201  * Virtual: hash
20202  * Returns: a #guint containing a hash for the @icon, suitable for
20203  */
20204
20205
20206 /**
20207  * g_application_command_line_get_exit_status:
20208  * @cmdline: a #GApplicationCommandLine
20209  *
20210  * Gets the exit status of @cmdline.  See
20211  * g_application_command_line_set_exit_status() for more information.
20212  *
20213  * Returns: the exit status
20214  * Since: 2.28
20215  */
20216
20217
20218 /**
20219  * g_socket_get_listen_backlog:
20220  * @socket: a #GSocket.
20221  *
20222  * Gets the listen backlog setting of the socket. For details on this,
20223  * see g_socket_set_listen_backlog().
20224  *
20225  * Returns: the maximum number of pending connections.
20226  * Since: 2.22
20227  */
20228
20229
20230 /**
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
20239  *
20240  * Helper function for constructing #GAsyncInitiable object. This is
20241  * similar to g_object_new_valist() but also initializes the object
20242  * asynchronously.
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
20245  * for any errors.
20246  *
20247  * Since: 2.22
20248  */
20249
20250
20251 /**
20252  * g_network_service_get_protocol:
20253  * @srv: a #GNetworkService
20254  *
20255  * Gets @srv's protocol name (eg, "tcp").
20256  *
20257  * Returns: @srv's protocol name
20258  * Since: 2.22
20259  */
20260
20261
20262 /**
20263  * g_unix_fd_message_new:
20264  *
20265  * Creates a new #GUnixFDMessage containing an empty file descriptor
20266  * list.
20267  *
20268  * Returns: a new #GUnixFDMessage
20269  * Since: 2.22
20270  */
20271
20272
20273 /**
20274  * GIOSchedulerJob:
20275  *
20276  * Opaque class for definining and scheduling IO jobs.
20277  */
20278
20279
20280 /**
20281  * G_VARIANT_TYPE_DOUBLE:
20282  *
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
20287  * universe.
20288  */
20289
20290
20291 /**
20292  * GTypeInterfaceCheckFunc:
20293  * @check_data: data passed to g_type_add_interface_check().
20294  * @g_iface: the interface that has been initialized
20295  *
20296  * A callback called after an interface vtable is initialized.
20297  * See g_type_add_interface_check().
20298  *
20299  * Since: 2.4
20300  */
20301
20302
20303 /**
20304  * G_TYPE_FLAGS:
20305  *
20306  * The fundamental type from which all flags types are derived.
20307  */
20308
20309
20310 /**
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
20315  *
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.
20321  *
20322  * Since: 2.26
20323  */
20324
20325
20326 /**
20327  * GFlagsClass:
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.
20332  *
20333  * The class of a flags type holds information about its
20334  * possible values.
20335  */
20336
20337
20338 /**
20339  * g_simple_action_group_new:
20340  *
20341  * Creates a new, empty, #GSimpleActionGroup.
20342  *
20343  * Returns: a new #GSimpleActionGroup
20344  * Since: 2.28
20345  */
20346
20347
20348 /**
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
20355  *
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.
20359  *
20360  * Since: 2.22
20361  */
20362
20363
20364 /**
20365  * g_dbus_method_info_ref:
20366  * @info: A #GDBusMethodInfo
20367  *
20368  * If @info is statically allocated does nothing. Otherwise increases
20369  * the reference count.
20370  *
20371  * Returns: The same @info.
20372  * Since: 2.26
20373  */
20374
20375
20376 /**
20377  * G_TYPE_DBUS_SIGNAL_INFO:
20378  *
20379  * The #GType for a boxed type holding a #GDBusSignalInfo.
20380  *
20381  * Since: 2.26
20382  */
20383
20384
20385 /**
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.
20397  *
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
20404  * %NULL.
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.
20411  *
20412  * Returns: A subscription identifier that can be used with g_dbus_connection_signal_unsubscribe().
20413  * Since: 2.26
20414  */
20415
20416
20417 /**
20418  * g_themed_icon_append_name:
20419  * @icon: a #GThemedIcon
20420  * @iconname: name of icon to append to list of icons from within @icon.
20421  *
20422  * Append a name to the list of icons from within @icon.
20423  * <note><para>
20424  * Note that doing so invalidates the hash computed by prior calls
20425  * to g_icon_hash().
20426  * </para></note>
20427  */
20428
20429
20430 /**
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.
20436  *
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.
20443  *
20444  * Returns: %TRUE on success, %FALSE on error.
20445  * Since: 2.22
20446  */
20447
20448
20449 /**
20450  * g_file_info_set_is_hidden:
20451  * @info: a #GFileInfo.
20452  * @is_hidden: a #gboolean.
20453  *
20454  * Sets the "is_hidden" attribute in a #GFileInfo according to @is_symlink.
20455  * See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN.
20456  */
20457
20458
20459 /**
20460  * g_main_new:
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.
20462  *
20463  * Creates a new #GMainLoop for th default main context.
20464  *
20465  * Returns: a new #GMainLoop
20466  * Deprecated: 2.2: Use g_main_loop_new() instead
20467  */
20468
20469
20470 /**
20471  * G_VARIANT_TYPE_VARIANT:
20472  *
20473  * The type of a box that contains any other value (including another
20474  * variant).
20475  */
20476
20477
20478 /**
20479  * GUnixSocketAddress:abstract:
20480  *
20481  * Whether or not this is an abstract address
20482  * distinguishes between zero-padded and non-zero-padded
20483  * abstract addresses.
20484  *
20485  * Deprecated: Use #GUnixSocketAddress:address-type, which
20486  */
20487
20488
20489 /**
20490  * G_TIME_SPAN_DAY:
20491  *
20492  * Evaluates to a time span of one day.
20493  *
20494  * Since: 2.26
20495  */
20496
20497
20498 /**
20499  * g_io_extension_get_type:
20500  * @extension: a #GIOExtension
20501  *
20502  * Gets the type associated with @extension.
20503  *
20504  * Returns: the type of @extension
20505  */
20506
20507
20508 /**
20509  * GFile:
20510  *
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.
20514  */
20515
20516
20517 /**
20518  * G_TYPE_CHECK_INSTANCE:
20519  * @instance: Location of a #GTypeInstance structure.
20520  *
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.
20524  *
20525  * Returns: %TRUE on success.
20526  */
20527
20528
20529 /**
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.
20535  *
20536  * Puts a signed 32-bit integer into the output stream.
20537  *
20538  * Returns: %TRUE if @data was successfully added to the @stream.
20539  */
20540
20541
20542 /**
20543  * GConverterInputStream:
20544  *
20545  * An implementation of #GFilterInputStream that allows data
20546  * conversion.
20547  */
20548
20549
20550 /**
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()
20556  *
20557  * Specifies the prototype of fatal log handler functions.
20558  *
20559  * Returns: %TRUE if the program should abort, %FALSE otherwise
20560  * Since: 2.22
20561  */
20562
20563
20564 /**
20565  * g_buffered_input_stream_new_sized:
20566  * @base_stream: a #GInputStream
20567  * @size: a #gsize
20568  *
20569  * Creates a new #GBufferedInputStream from the given @base_stream,
20570  * with a buffer set to @size.
20571  *
20572  * Returns: a #GInputStream.
20573  */
20574
20575
20576 /**
20577  * g_socket_is_closed:
20578  * @socket: a #GSocket
20579  *
20580  * Checks whether a socket is closed.
20581  *
20582  * Returns: %TRUE if socket is closed, %FALSE otherwise
20583  * Since: 2.22
20584  */
20585
20586
20587 /**
20588  * g_filter_output_stream_get_close_base_stream:
20589  * @stream: a #GFilterOutputStream.
20590  *
20591  * Returns whether the base stream will be closed when @stream is
20592  * closed.
20593  *
20594  * Returns: %TRUE if the base stream will be closed.
20595  */
20596
20597
20598 /**
20599  * GDBusMessageClass:
20600  *
20601  * Class structure for #GDBusMessage.
20602  *
20603  * Since: 2.26
20604  */
20605
20606
20607 /**
20608  * GSourceFuncs:
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.
20613  *
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.
20631  */
20632
20633
20634 /**
20635  * g_dbus_auth_observer_new:
20636  *
20637  * Creates a new #GDBusAuthObserver object.
20638  *
20639  * Returns: A #GDBusAuthObserver. Free with g_object_unref().
20640  * Since: 2.26
20641  */
20642
20643
20644 /**
20645  * g_file_info_copy_into:
20646  * @src_info: source to copy attributes from.
20647  * @dest_info: destination to copy attributes to.
20648  *
20649  * Copies all of the #GFileAttribute<!-- -->s from @src_info to @dest_info.
20650  */
20651
20652
20653 /**
20654  * GFileAttributeMatcher:
20655  *
20656  * Determines if a string matches a file attribute.
20657  */
20658
20659
20660 /**
20661  * G_IO_ERROR:
20662  *
20663  * Error domain for GIO. Errors in this domain will be from the #GIOErrorEnum enumeration.
20664  * See #GError for more information on error domains.
20665  */
20666
20667
20668 /**
20669  * GVolumeMonitor::drive-connected:
20670  * @volume_monitor: The volume monitor emitting the signal.
20671  * @drive: a #GDrive that was connected.
20672  *
20673  * Emitted when a drive is connected to the system.
20674  */
20675
20676
20677 /**
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
20688  *
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.
20697  *
20698  * Since: 2.26
20699  */
20700
20701
20702 /**
20703  * g_socket_client_get_socket_type:
20704  * @client: a #GSocketClient.
20705  *
20706  * Gets the socket type of the socket client.
20707  * See g_socket_client_set_socket_type() for details.
20708  *
20709  * Returns: a #GSocketFamily
20710  * Since: 2.22
20711  */
20712
20713
20714 /**
20715  * SECTION:gfil:
20716  * @short_description: File and Directory Handling
20717  * @include: gio/gio.h
20718  * @see_also: #GFileInfo, #GFileEnumerator
20719  *
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
20725  * #GOutputStream).
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
20740  * files.
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.
20778  * </para>
20779  *
20780  * To construct a #gfile, you can use:
20781  * Other possible causes for aliases are: case insensitive filesystems, short
20782  */
20783
20784
20785 /**
20786  * GBufferedOutputStream:
20787  *
20788  * An implementation of #GFilterOutputStream with a sized buffer.
20789  */
20790
20791
20792 /**
20793  * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME:
20794  *
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.
20802  */
20803
20804
20805 /**
20806  * g_desktop_app_info_get_filename:
20807  * @info: a #GDesktopAppInfo
20808  *
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.
20812  *
20813  * Returns: The full path to the file for @info, or %NULL if not known.
20814  * Since: 2.24
20815  */
20816
20817
20818 /**
20819  * g_settings_backend_path_writable_changed:
20820  * @backend: a #GSettingsBackend implementation
20821  * @path: the name of the path
20822  *
20823  * Signals that the writability of all keys below a given path may have
20824  * changed.
20825  * Since GSettings performs no locking operations for itself, this call
20826  * will always be made in response to external events.
20827  *
20828  * Since: 2.26
20829  */
20830
20831
20832 /**
20833  * GActionGroup::action-removed:
20834  * @action_group: the #GActionGroup that changed
20835  * @action_name: the name of the action in @action_group
20836  *
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.
20840  *
20841  * Since: 2.28
20842  */
20843
20844
20845 /**
20846  * GFileIcon:
20847  *
20848  * Gets an icon for a #GFile. Implements #GLoadableIcon.
20849  */
20850
20851
20852 /**
20853  * g_socket_set_timeout:
20854  * @socket: a #GSocket.
20855  * @timeout: the timeout for @socket, in seconds, or 0 for none
20856  *
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
20869  * on their own.
20870  * Note that if an I/O operation is interrupted by a signal, this may
20871  * cause the timeout to be reset.
20872  *
20873  * Since: 2.26
20874  */
20875
20876
20877 /**
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.
20882  *
20883  * Sets the application as the default handler for the given file extension.
20884  *
20885  * Returns: %TRUE on success, %FALSE on error.
20886  */
20887
20888
20889 /**
20890  * G_CLOSURE_NEEDS_MARSHAL:
20891  * @closure: a #GClosure
20892  *
20893  * Check if the closure still needs a marshaller. See g_closure_set_marshal().
20894  *
20895  * Returns: %TRUE if a #GClosureMarshal marshaller has not yet been set on
20896  */
20897
20898
20899 /**
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.
20905  *
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
20911  * implementations.
20912  *
20913  * Returns: a %TRUE on success, %NULL on error.
20914  * Since: 2.22
20915  */
20916
20917
20918 /**
20919  * G_FILE_ATTRIBUTE_TRASH_DELETION_DATE:
20920  *
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.
20925  *
20926  * Since: 2.24.
20927  */
20928
20929
20930 /**
20931  * GProxy:
20932  *
20933  * Interface that handles proxy connection and payload.
20934  *
20935  * Since: 2.26
20936  */
20937
20938
20939 /**
20940  * g_content_type_is_unknown:
20941  * @type: a content type string
20942  *
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 "*".
20946  *
20947  * Returns: %TRUE if the type is the unknown type.
20948  */
20949
20950
20951 /**
20952  * GMountMountFlags:
20953  * @G_MOUNT_MOUNT_NONE: No flags set.
20954  *
20955  * Flags used when mounting a mount.
20956  */
20957
20958
20959 /**
20960  * GZlibCompressor:file-info:
20961  *
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.
20965  *
20966  * Since: 2.26
20967  */
20968
20969
20970 /**
20971  * g_async_result_get_source_object:
20972  * @res: a #GAsyncResult
20973  *
20974  * Gets the source object from a #GAsyncResult.
20975  * or %NULL if there is none.
20976  *
20977  * Returns: (transfer full): a new reference to the source object for the @res,
20978  */
20979
20980
20981 /**
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
20991  *
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.
20998  */
20999
21000
21001 /**
21002  * g_file_set_display_name_finish:
21003  * @file: input #GFile.
21004  * @res: a #GAsyncResult.
21005  * @error: a #GError, or %NULL
21006  *
21007  * Finishes setting a display name started with
21008  * g_file_set_display_name_async().
21009  * Free the returned object with g_object_unref().
21010  *
21011  * Returns: (transfer full): a #GFile or %NULL on error.
21012  */
21013
21014
21015 /**
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().
21020  *
21021  * Invoked when the name is lost or @connection has been closed.
21022  *
21023  * Since: 2.26
21024  */
21025
21026
21027 /**
21028  * g_unix_mount_point_get_mount_path:
21029  * @mount_point: a #GUnixMountPoint.
21030  *
21031  * Gets the mount path for a unix mount point.
21032  *
21033  * Returns: a string containing the mount path.
21034  */
21035
21036
21037 /**
21038  * g_mount_get_uuid:
21039  * @mount: a #GMount.
21040  *
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
21044  * available.
21045  * The returned string should be freed with g_free()
21046  * when no longer needed.
21047  *
21048  * Returns: the UUID for @mount or %NULL if no UUID can be computed.
21049  */
21050
21051
21052 /**
21053  * g_settings_revert:
21054  * @settings: a #GSettings instance
21055  *
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
21059  * immediately.
21060  * Change notifications will be emitted for affected keys.
21061  */
21062
21063
21064 /**
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.
21069  *
21070  * Flags used in g_bus_own_name().
21071  *
21072  * Since: 2.26
21073  */
21074
21075
21076 /**
21077  * G_IS_PARAM_SPEC_ULONG:
21078  * @pspec: a valid #GParamSpec instance
21079  *
21080  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG.
21081  *
21082  * Returns: %TRUE on success.
21083  */
21084
21085
21086 /**
21087  * g_file_resolve_relative_path:
21088  * @file: input #GFile.
21089  * @relative_path: a given relative path string.
21090  *
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().
21095  *
21096  * Returns: (transfer full): #GFile to the resolved path. %NULL if @relative_path
21097  */
21098
21099
21100 /**
21101  * g_application_get_flags:
21102  * @application: a #GApplication
21103  * @returns: the flags for @application
21104  *
21105  * Gets the flags for @application.
21106  * See #GApplicationFlags.
21107  *
21108  * Since: 2.28
21109  */
21110
21111
21112 /**
21113  * G_VARIANT_TYPE_ANY:
21114  *
21115  * An indefinite type that is a supertype of every type (including
21116  * itself).
21117  */
21118
21119
21120 /**
21121  * GPollableSourceFunc:
21122  * @pollable_stream: the #GPollableInputStream or #GPollableOutputStream
21123  * @user_data: data passed in by the user.
21124  *
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().
21128  *
21129  * Returns: it should return %FALSE if the source should be removed.
21130  * Since: 2.28
21131  */
21132
21133
21134 /**
21135  * g_file_info_set_display_name:
21136  * @info: a #GFileInfo.
21137  * @display_name: a string containing a display name.
21138  *
21139  * Sets the display name for the current #GFileInfo.
21140  * See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.
21141  */
21142
21143
21144 /**
21145  * SECTION:gloadableico:
21146  * @short_description: Loadable Icons
21147  * @include: gio/gio.h
21148  * @see_also: #GIcon, #GThemedIcon
21149  *
21150  * Extends the #GIcon interface and adds the ability to
21151  * load icons from streams.
21152  */
21153
21154
21155 /**
21156  * GDateTime:
21157  *
21158  * <structname>GDateTime</structname> is an opaque structure whose members
21159  * cannot be accessed directly.
21160  *
21161  * Since: 2.26
21162  */
21163
21164
21165 /**
21166  * g_file_replace:
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
21173  *
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().
21209  *
21210  * Returns: (transfer full): a #GFileOutputStream or %NULL on error.
21211  */
21212
21213
21214 /**
21215  * G_FILE_ATTRIBUTE_OWNER_USER:
21216  *
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.
21220  */
21221
21222
21223 /**
21224  * g_dbus_message_copy:
21225  * @message: A #GDBusMessage.
21226  * @error: Return location for error or %NULL.
21227  *
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().
21234  *
21235  * Returns: (transfer full): A new #GDBusMessage or %NULL if @error is set. Free with
21236  * Since: 2.26
21237  */
21238
21239
21240 /**
21241  * g_alloca:
21242  * @size: number of bytes to allocate.
21243  *
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():
21248  * <variablelist>
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>
21274  * </variablelist>
21275  *
21276  * Returns: space for @size bytes, allocated on the stack
21277  */
21278
21279
21280 /**
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.
21286  *
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.
21291  *
21292  * Since: 2.4
21293  */
21294
21295
21296 /**
21297  * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
21298  *
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.
21302  */
21303
21304
21305 /**
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.
21312  *
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.
21325  *
21326  * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
21327  * Since: 2.26
21328  */
21329
21330
21331 /**
21332  * g_resolver_free_addresses: (skip)
21333  * @addresses: a #GList of #GInetAddress
21334  *
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
21338  * by hand.)
21339  *
21340  * Since: 2.22
21341  */
21342
21343
21344 /**
21345  * GMountOperation:anonymous:
21346  *
21347  * Whether to use an anonymous user when authenticating.
21348  */
21349
21350
21351 /**
21352  * g_socket_condition_check:
21353  * @socket: a #GSocket
21354  * @condition: a #GIOCondition mask to check
21355  *
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
21359  * is returned.
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.
21370  *
21371  * Returns: the @GIOCondition mask of the current state
21372  * Since: 2.22
21373  */
21374
21375
21376 /**
21377  * g_bus_unown_name:
21378  * @owner_id: An identifier obtained from g_bus_own_name()
21379  *
21380  * Stops owning a name.
21381  *
21382  * Since: 2.26
21383  */
21384
21385
21386 /**
21387  * g_dbus_proxy_get_interface_info:
21388  * @proxy: A #GDBusProxy
21389  *
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.
21394  *
21395  * Returns: A #GDBusInterfaceInfo or %NULL. Do not unref the returned
21396  * Since: 2.26
21397  */
21398
21399
21400 /**
21401  * g_proxy_address_get_destination_hostnam:
21402  * @proxy: a #GProxyAddress
21403  *
21404  * Gets @proxy's destination hostname.
21405  *
21406  * Returns: the @proxy's destination hostname
21407  * Since: 2.26
21408  */
21409
21410
21411 /**
21412  * g_dbus_method_invocation_get_connection:
21413  * @invocation: A #GDBusMethodInvocation.
21414  *
21415  * Gets the #GDBusConnection the method was invoked on.
21416  *
21417  * Returns: (transfer none): A #GDBusConnection. Do not free, it is owned by @invocation.
21418  * Since: 2.26
21419  */
21420
21421
21422 /**
21423  * g_srv_target_get_hostname:
21424  * @target: a #GSrvTarget
21425  *
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.)
21430  *
21431  * Returns: @target's hostname
21432  * Since: 2.22
21433  */
21434
21435
21436 /**
21437  * g_io_extension_point_get_extensions:
21438  * @extension_point: a #GIOExtensionPoint
21439  *
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
21443  * modified.
21444  *
21445  * Returns: (element-type GIOExtension) (transfer none): a #GList of
21446  */
21447
21448
21449 /**
21450  * GSettings:has-unapplied:
21451  *
21452  * If this property is %TRUE, the #GSettings object has outstanding
21453  * changes that will be applied when g_settings_apply() is called.
21454  */
21455
21456
21457 /**
21458  * g_dbus_proxy_set_interface_info:
21459  * @proxy: A #GDBusProxy
21460  * @info: Minimum interface this proxy conforms to or %NULL to unset.
21461  *
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
21466  * dropped.
21467  * See the #GDBusProxy:g-interface-info property for more details.
21468  *
21469  * Since: 2.26
21470  */
21471
21472
21473 /**
21474  * g_node_append:
21475  * @parent: the #GNode to place the new #GNode under
21476  * @node: the #GNode to insert
21477  *
21478  * Inserts a #GNode as the last child of the given parent.
21479  *
21480  * Returns: the inserted #GNode
21481  */
21482
21483
21484 /**
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
21490  *
21491  * Appends @data to data that can be read from the input stream
21492  */
21493
21494
21495 /**
21496  * g_content_type_get_description:
21497  * @type: a content type string
21498  *
21499  * Gets the human readable description of the content type.
21500  * returned string with g_free()
21501  *
21502  * Returns: a short description of the content type @type. Free the
21503  */
21504
21505
21506 /**
21507  * G_PARAM_SPEC_INT64:
21508  * @pspec: a valid #GParamSpec instance
21509  *
21510  * Cast a #GParamSpec instance into a #GParamSpecInt64.
21511  */
21512
21513
21514 /**
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
21520  *
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().
21525  *
21526  * Since: 2.26
21527  */
21528
21529
21530 /**
21531  * G_TYPE_RESERVED_BSE_LAST:
21532  *
21533  * Last fundamental type number reserved for BSE.
21534  */
21535
21536
21537 /**
21538  * g_dbus_message_get_num_unix_fds:
21539  * @message: A #GDBusMessage.
21540  *
21541  * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
21542  *
21543  * Returns: The value.
21544  * Since: 2.26
21545  */
21546
21547
21548 /**
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.
21552  *
21553  * Flags passed to g_dbus_connection_register_subtree().
21554  *
21555  * Since: 2.26
21556  */
21557
21558
21559 /**
21560  * g_dbus_connection_unregister_object:
21561  * @connection: A #GDBusConnection.
21562  * @registration_id: A registration id obtained from g_dbus_connection_register_object().
21563  *
21564  * Unregisters an object.
21565  *
21566  * Returns: %TRUE if the object was unregistered, %FALSE otherwise.
21567  * Since: 2.26
21568  */
21569
21570
21571 /**
21572  * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI:
21573  *
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.
21577  */
21578
21579
21580 /**
21581  * SECTION:gmemoryoutputstrea:
21582  * @short_description: Streaming output operations on memory chunks
21583  * @include: gio/gio.h
21584  * @see_also: #GMemoryInputStream
21585  *
21586  * #GMemoryOutputStream is a class for using arbitrary
21587  * memory chunks as output for GIO streaming output operations.
21588  */
21589
21590
21591 /**
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.
21596  *
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.
21600  *
21601  * Returns: the new #GTlsClientConnection, or %NULL on error
21602  * Since: 2.28
21603  */
21604
21605
21606 /**
21607  * g_network_address_get_scheme:
21608  * @addr: a #GNetworkAddress
21609  *
21610  * Gets @addr's scheme
21611  *
21612  * Returns: @addr's scheme (%NULL if not built from URI)
21613  * Since: 2.26
21614  */
21615
21616
21617 /**
21618  * G_FILE_ATTRIBUTE_TIME_ACCESS:
21619  *
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.
21624  */
21625
21626
21627 /**
21628  * g_unix_mount_guess_icon:
21629  * @mount_entry: a #GUnixMountEntry
21630  *
21631  * Guesses the icon of a Unix mount.
21632  *
21633  * Returns: (transfer full): a #GIcon
21634  */
21635
21636
21637 /**
21638  * GDrive::changed:
21639  * @drive: a #GDrive.
21640  *
21641  * Emitted when the drive's state has changed.
21642  */
21643
21644
21645 /**
21646  * g_file_info_unset_attribute_mask:
21647  * @info: #GFileInfo.
21648  *
21649  * Unsets a mask set by g_file_info_set_attribute_mask(), if one
21650  * is set.
21651  */
21652
21653
21654 /**
21655  * GAction:parameter-type:
21656  *
21657  * The type of the parameter that must be given when activating the
21658  * action.
21659  *
21660  * Since: 2.28
21661  */
21662
21663
21664 /**
21665  * g_file_monitor:
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
21670  *
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().
21677  *
21678  * Returns: (transfer full): a #GFileMonitor for the given @file, or %NULL on error.
21679  * Since: 2.18
21680  */
21681
21682
21683 /**
21684  * GTlsConnection:peer-certificate-errors:
21685  *
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
21691  * behavior.
21692  *
21693  * Since: 2.28
21694  */
21695
21696
21697 /**
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.
21702  *
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.
21708  *
21709  * Returns: %TRUE if @uid was set, %FALSE if error is set.
21710  * Since: 2.26
21711  */
21712
21713
21714 /**
21715  * GClosure:
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()
21718  *
21719  * A #GClosure represents a callback supplied by the programmer.
21720  */
21721
21722
21723 /**
21724  * SECTION:gsocketaddres:
21725  * @short_description: Abstract base class representing endpoints for socket communication
21726  *
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.
21731  */
21732
21733
21734 /**
21735  * G_TIME_SPAN_MINUTE:
21736  *
21737  * Evaluates to a time span of one minute.
21738  *
21739  * Since: 2.26
21740  */
21741
21742
21743 /**
21744  * g_drive_can_start_degraded:
21745  * @drive: a #GDrive.
21746  *
21747  * Checks if a drive can be started degraded.
21748  *
21749  * Returns: %TRUE if the @drive can be started degraded, %FALSE otherwise.
21750  * Since: 2.22
21751  */
21752
21753
21754 /**
21755  * g_content_type_can_be_executable:
21756  * @type: a content type string
21757  *
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.
21761  *
21762  * Returns: %TRUE if the file type corresponds to a type that
21763  */
21764
21765
21766 /**
21767  * GSimpleActionClass:
21768  * @activate: the class closure for the activate signal
21769  *
21770  *
21771  *
21772  * Since: 2.26
21773  */
21774
21775
21776 /**
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.
21781  *
21782  * Get the interface structure for interface @g_type of a given @instance.
21783  * This macro should only be used in type implementations.
21784  *
21785  * Returns: a pointer to the interface structure
21786  */
21787
21788
21789 /**
21790  * g_file_info_get_attribute_as_string:
21791  * @info: a #GFileInfo.
21792  * @attribute: a file attribute key.
21793  *
21794  * Gets the value of a attribute, formated as a string.
21795  * This escapes things as needed to make the string valid
21796  * utf8.
21797  * When you're done with the string it must be freed with g_free().
21798  *
21799  * Returns: a UTF-8 string associated with the given @attribute.
21800  */
21801
21802
21803 /**
21804  * GResolver::reload:
21805  * @resolver: a #GResolver
21806  *
21807  * Emitted when the resolver notices that the system resolver
21808  * configuration has changed.
21809  */
21810
21811
21812 /**
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
21817  *
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
21824  * string.
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.
21851  *
21852  * Since: 2.28
21853  */
21854
21855
21856 /**
21857  * g_socket_client_set_protocol:
21858  * @client: a #GSocketClient.
21859  * @protocol: a #GSocketProtocol
21860  *
21861  * Sets the protocol of the socket client.
21862  * The sockets created by this object will use of the specified
21863  * protocol.
21864  * If @protocol is %0 that means to use the default
21865  * protocol for the socket family and type.
21866  *
21867  * Since: 2.22
21868  */
21869
21870
21871 /**
21872  * G_TYPE_IO_CONDITION:
21873  *
21874  * The #GType for #GIOCondition.
21875  */
21876
21877
21878 /**
21879  * g_mount_unmount:
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.
21885  *
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.
21889  *
21890  * Deprecated: 2.22: Use g_mount_unmount_with_operation() instead.
21891  */
21892
21893
21894 /**
21895  * g_io_module_load:
21896  * @module: a #GIOModule.
21897  *
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.
21901  */
21902
21903
21904 /**
21905  * g_unix_mount_point_is_user_mountable:
21906  * @mount_point: a #GUnixMountPoint.
21907  *
21908  * Checks if a unix mount point is mountable by the user.
21909  *
21910  * Returns: %TRUE if the mount point is user mountable.
21911  */
21912
21913
21914 /**
21915  * g_app_info_supports_uris:
21916  * @appinfo: a #GAppInfo.
21917  *
21918  * Checks if the application supports reading files and directories from URIs.
21919  *
21920  * Returns: %TRUE if the @appinfo supports URIs.
21921  */
21922
21923
21924 /**
21925  * g_seekable_can_truncate:
21926  * @seekable: a #GSeekable.
21927  *
21928  * Tests if the stream can be truncated.
21929  *
21930  * Returns: %TRUE if the stream can be truncated, %FALSE otherwise.
21931  */
21932
21933
21934 /**
21935  * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH:
21936  *
21937  * Allowed characters in a path. Includes "!$&'()*+,;=:@/".
21938  */
21939
21940
21941 /**
21942  * GDesktopAppInfoLookup:
21943  *
21944  * Interface that is used by backends to associate default
21945  * handlers with URI schemes.
21946  */
21947
21948
21949 /**
21950  * GTlsClientConnection:use-ssl3:
21951  *
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.
21957  *
21958  * Since: 2.28
21959  */
21960
21961
21962 /**
21963  * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE:
21964  *
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.
21968  */
21969
21970
21971 /**
21972  * g_dbus_interface_info_lookup_property:
21973  * @info: A #GDBusInterfaceInfo.
21974  * @name: A D-Bus property name (typically in CamelCase).
21975  *
21976  * Looks up information about a property.
21977  * This cost of this function is O(n) in number of properties.
21978  *
21979  * Returns: A #GDBusPropertyInfo or %NULL if not found. Do not free, it is owned by @info.
21980  * Since: 2.26
21981  */
21982
21983
21984 /**
21985  * G_TYPE_PARAM_UINT64:
21986  *
21987  * The #GType of #GParamSpecUInt64.
21988  */
21989
21990
21991 /**
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().
21996  *
21997  * Invoked when the name is acquired.
21998  *
21999  * Since: 2.26
22000  */
22001
22002
22003 /**
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)
22008  *
22009  * #GMountOperationResult is returned as a result when a request for
22010  * information is send by the mounting operation.
22011  */
22012
22013
22014 /**
22015  * g_mount_can_eject:
22016  * @mount: a #GMount.
22017  *
22018  * Checks if @mount can be eject.
22019  *
22020  * Returns: %TRUE if the @mount can be ejected.
22021  */
22022
22023
22024 /**
22025  * SECTION:gmountoperatio:
22026  * @short_description: Object used for authentication and user interaction
22027  * @include: gio/gio.h
22028  *
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
22036  * g_drive_stop().
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.
22042  */
22043
22044
22045 /**
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.
22050  *
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.
22058  *
22059  * Returns: a signed 64-bit/8-byte value read from @stream or %0 if
22060  */
22061
22062
22063 /**
22064  * SECTION:gunixoutputstrea:
22065  * @short_description: Streaming output operations for UNIX file descriptors
22066  * @include: gio/gunixoutputstream.h
22067  * @see_also: #GOutputStream
22068  *
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>&lt;gio/gunixoutputstream.h&gt;</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.
22075  */
22076
22077
22078 /**
22079  * g_simple_async_result_get_op_res_gpointer: (skip)
22080  * @simple: a #GSimpleAsyncResult.
22081  *
22082  * Gets a pointer result as returned by the asynchronous function.
22083  *
22084  * Returns: a pointer from the result.
22085  */
22086
22087
22088 /**
22089  * g_memory_output_stream_steal_data:
22090  * @ostream: a #GMemoryOutputStream
22091  *
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.
22096  *
22097  * Returns: (transfer full): the stream's data
22098  * Since: 2.26
22099  */
22100
22101
22102 /**
22103  * G_PARAM_SPEC_VARIANT:
22104  * @pspec: a #GParamSpec
22105  *
22106  * Casts a #GParamSpec into a #GParamSpecVariant.
22107  *
22108  * Since: 2.26
22109  */
22110
22111
22112 /**
22113  * SECTION:gactio:
22114  * @title: GAction
22115  * @short_description: An action
22116  *
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
22128  * range.
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.
22140  */
22141
22142
22143 /**
22144  * GTlsConnection:use-system-certdb:
22145  *
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().
22149  *
22150  * Since: 2.28
22151  */
22152
22153
22154 /**
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.
22159  *
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.
22167  *
22168  * Returns: an unsigned 32-bit/4-byte value read from the @stream or %0 if
22169  */
22170
22171
22172 /**
22173  * GInetAddress:is-any:
22174  *
22175  * Whether this is the "any" address for its family.
22176  * See g_inet_address_get_is_any().
22177  *
22178  * Since: 2.22
22179  */
22180
22181
22182 /**
22183  * g_volume_get_uuid:
22184  * @volume: a #GVolume.
22185  *
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
22189  * available.
22190  * The returned string should be freed with g_free()
22191  * when no longer needed.
22192  *
22193  * Returns: the UUID for @volume or %NULL if no UUID can be computed.
22194  */
22195
22196
22197 /**
22198  * GDataStream:byte-order:
22199  *
22200  * The ::byte-order property determines the byte ordering that
22201  * is used when reading multi-byte entities (such as integers)
22202  * from the stream.
22203  */
22204
22205
22206 /**
22207  * g_resolver_error_quark:
22208  *
22209  * Gets the #GResolver Error Quark.
22210  *
22211  * Returns: a #GQuark.
22212  * Since: 2.22
22213  */
22214
22215
22216 /**
22217  * g_input_stream_clear_pending:
22218  * @stream: input stream
22219  *
22220  * Clears the pending flag on @stream.
22221  */
22222
22223
22224 /**
22225  * g_file_copy_finish:
22226  * @file: input #GFile.
22227  * @res: a #GAsyncResult.
22228  * @error: a #GError, or %NULL
22229  *
22230  * Finishes copying the file started with
22231  * g_file_copy_async().
22232  *
22233  * Returns: a %TRUE on success, %FALSE on error.
22234  */
22235
22236
22237 /**
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.
22242  *
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.
22247  */
22248
22249
22250 /**
22251  * G_IS_PARAM_SPEC_PARAM:
22252  * @pspec: a valid #GParamSpec instance
22253  *
22254  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM.
22255  *
22256  * Returns: %TRUE on success.
22257  */
22258
22259
22260 /**
22261  * g_file_get_uri_scheme:
22262  * @file: input #GFile.
22263  *
22264  * Gets the URI scheme for a #GFile.
22265  * RFC 3986 decodes the scheme as:
22266  * <programlisting>
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.
22273  *
22274  * Returns: a string containing the URI scheme for the given
22275  */
22276
22277
22278 /**
22279  * GAsyncInitable:
22280  *
22281  * Interface for asynchronously initializable objects.
22282  *
22283  * Since: 2.22
22284  */
22285
22286
22287 /**
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
22293  *
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.
22298  *
22299  * Since: 2.26
22300  */
22301
22302
22303 /**
22304  * SECTION:gsocketclien:
22305  * @short_description: Helper for connecting to a network service
22306  * @include: gio/gio.h
22307  * @see_also: #GSocketConnection, #GSocketListener
22308  *
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.
22317  *
22318  * Since: 2.22
22319  */
22320
22321
22322 /**
22323  * G_TYPE_FUNDAMENTAL_SHIFT:
22324  *
22325  * Shift value used in converting numbers to type IDs.
22326  */
22327
22328
22329 /**
22330  * g_app_info_get_all:
22331  *
22332  * Gets a list of all of the applications currently registered
22333  * on this system.
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.
22340  *
22341  * Returns: (element-type GAppInfo) (transfer full): a newly allocated #GList of references to #GAppInfo<!---->s.
22342  */
22343
22344
22345 /**
22346  * g_socket_send:
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.
22352  *
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.
22365  * on error
22366  *
22367  * Returns: Number of bytes written (which may be less than @size), or -1
22368  * Since: 2.22
22369  */
22370
22371
22372 /**
22373  * g_socket_client_set_timeout:
22374  * @client: a #GSocketClient.
22375  * @timeout: the timeout
22376  *
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.
22382  *
22383  * Since: 2.26
22384  */
22385
22386
22387 /**
22388  * g_new0:
22389  * @struct_type: the type of the elements to allocate.
22390  * @n_structs: the number of elements to allocate.
22391  *
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.
22399  *
22400  * Returns: a pointer to the allocated memory, cast to a pointer to @struct_type.
22401  */
22402
22403
22404 /**
22405  * g_file_open_readwrite_finish:
22406  * @file: input #GFile.
22407  * @res: a #GAsyncResult.
22408  * @error: a #GError, or %NULL
22409  *
22410  * Finishes an asynchronous file read operation started with
22411  * g_file_open_readwrite_async().
22412  * Free the returned object with g_object_unref().
22413  *
22414  * Returns: (transfer full): a #GFileIOStream or %NULL on error.
22415  * Since: 2.22
22416  */
22417
22418
22419 /**
22420  * GMountOperation:choice:
22421  *
22422  * The index of the user's choice when a question is asked during the
22423  * mount operation. See the #GMountOperation::ask-question signal.
22424  */
22425
22426
22427 /**
22428  * g_buffered_output_stream_get_auto_grow:
22429  * @stream: a #GBufferedOutputStream.
22430  *
22431  * Checks if the buffer automatically grows as data is added.
22432  * %FALSE otherwise.
22433  *
22434  * Returns: %TRUE if the @stream's buffer automatically grows,
22435  */
22436
22437
22438 /**
22439  * g_socket_new:
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.
22444  *
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().
22457  *
22458  * Returns: a #GSocket or %NULL on error.
22459  * Since: 2.22
22460  */
22461
22462
22463 /**
22464  * g_converter_input_stream_get_converter:
22465  * @converter_stream: a #GConverterInputStream
22466  *
22467  * Gets the #GConverter that is used by @converter_stream.
22468  *
22469  * Returns: (transfer none): the converter of the converter input stream
22470  * Since: 2.24
22471  */
22472
22473
22474 /**
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
22479  *
22480  * Sets the @attribute to contain the given @attr_value,
22481  * if possible.
22482  *
22483  * Sinze: 2.22
22484  */
22485
22486
22487 /**
22488  * g_themed_icon_get_names:
22489  * @icon: a #GThemedIcon.
22490  *
22491  * Gets the names of icons from within @icon.
22492  *
22493  * Returns: (transfer none): a list of icon names.
22494  */
22495
22496
22497 /**
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
22505  *
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.
22514  */
22515
22516
22517 /**
22518  * GCredentials:
22519  *
22520  * The #GCredentials structure contains only private data and
22521  * should only be accessed using the provided API.
22522  *
22523  * Since: 2.26
22524  */
22525
22526
22527 /**
22528  * g_desktop_app_info_lookup_get_default_for_uri_scheme:
22529  * @lookup: a #GDesktopAppInfoLookup
22530  * @uri_scheme: a string containing a URI scheme.
22531  *
22532  * Gets the default application for launching applications
22533  * using this URI scheme for a particular GDesktopAppInfoLookup
22534  * implementation.
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().
22539  *
22540  * Returns: (transfer full): #GAppInfo for given @uri_scheme or %NULL on error.
22541  * Deprecated: The #GDesktopAppInfoLookup interface is deprecated and unused by gio.
22542  */
22543
22544
22545 /**
22546  * G_TYPE_PARAM:
22547  *
22548  * The fundamental type from which all #GParamSpec types are derived.
22549  */
22550
22551
22552 /**
22553  * GTypePlugin:
22554  *
22555  * The <structname>GTypePlugin</structname> typedef is used as a placeholder
22556  * for objects that implement the <structname>GTypePlugin</structname>
22557  * interface.
22558  */
22559
22560
22561 /**
22562  * G_FILE_ATTRIBUTE_STANDARD_ICON:
22563  *
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.
22567  */
22568
22569
22570 /**
22571  * g_application_get_inactivity_timeout:
22572  * @application: a #GApplication
22573  *
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.
22577  *
22578  * Returns: the timeout, in milliseconds
22579  * Since: 2.28
22580  */
22581
22582
22583 /**
22584  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL:
22585  *
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.
22588  *
22589  * Since: 2.22
22590  */
22591
22592
22593 /**
22594  * g_unix_mount_get_mount_path:
22595  * @mount_entry: input #GUnixMountEntry to get the mount path for.
22596  *
22597  * Gets the mount path for a unix mount.
22598  *
22599  * Returns: the mount path for @mount_entry.
22600  */
22601
22602
22603 /**
22604  * g_app_info_get_all_for_type:
22605  * @content_type: the content type to find a #GAppInfo for
22606  *
22607  * Gets a list of all #GAppInfos for a given content type.
22608  * for given @content_type or %NULL on error.
22609  *
22610  * Returns: (element-type GAppInfo) (transfer full): #GList of #GAppInfos
22611  */
22612
22613
22614 /**
22615  * g_win32_input_stream_get_handle:
22616  * @stream: a #GWin32InputStream
22617  *
22618  * Return the Windows file handle that the stream reads from.
22619  *
22620  * Returns: The file handle of @stream
22621  * Since: 2.26
22622  */
22623
22624
22625 /**
22626  * G_TYPE_PARAM_BOOLEAN:
22627  *
22628  * The #GType of #GParamSpecBoolean.
22629  */
22630
22631
22632 /**
22633  * GDataOutputStream:byte-order:
22634  *
22635  * Determines the byte ordering that is used when writing
22636  * multi-byte entities (such as integers) to the stream.
22637  */
22638
22639
22640 /**
22641  * g_dbus_method_invocation_get_method_info:
22642  * @invocation: A #GDBusMethodInvocation.
22643  *
22644  * Gets information about the method call, if any.
22645  *
22646  * Returns: A #GDBusMethodInfo or %NULL. Do not free, it is owned by @invocation.
22647  * Since: 2.26
22648  */
22649
22650
22651 /**
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.
22655  *
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
22660  * set @error.
22661  * #GList containing #GTlsCertificate objects. You must free the list
22662  * and its contents when you are done with it.
22663  *
22664  * Returns: (element-type Gio.TlsCertificate) (transfer full): a
22665  * Since: 2.28
22666  */
22667
22668
22669 /**
22670  * g_inet_address_new_from_bytes:
22671  * @bytes: raw address data
22672  * @family: the address family of @bytes
22673  *
22674  * Creates a new #GInetAddress from the given @family and @bytes.
22675  * %G_INET_ADDRESS_IPV6.
22676  *
22677  * Returns: a new #GInetAddress corresponding to @family and @bytes.
22678  * Since: 2.22
22679  */
22680
22681
22682 /**
22683  * g_io_stream_splice_finish:
22684  * @result: a #GAsyncResult.
22685  * @error: a #GError location to store the error occuring, or %NULL to ignore.
22686  *
22687  * Finishes an asynchronous io stream splice operation.
22688  *
22689  * Returns: %TRUE on success, %FALSE otherwise.
22690  * Since: 2.28
22691  */
22692
22693
22694 /**
22695  * g_file_attribute_info_list_unref:
22696  * @list: The #GFileAttributeInfoList to unreference.
22697  *
22698  * Removes a reference from the given @list. If the reference count
22699  * falls to zero, the @list is deleted.
22700  */
22701
22702
22703 /**
22704  * G_VALUE_HOLDS_OBJECT:
22705  * @value: a valid #GValue structure
22706  *
22707  * Checks whether the given #GValue can hold values derived from type %G_TYPE_OBJECT.
22708  *
22709  * Returns: %TRUE on success.
22710  */
22711
22712
22713 /**
22714  * GTypeQuery:
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.
22719  *
22720  * A structure holding information for a specific type. It is
22721  * filled in by the g_type_query() function.
22722  */
22723
22724
22725 /**
22726  * GTlsBackend:
22727  *
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.
22731  *
22732  * Since: 2.28
22733  */
22734
22735
22736 /**
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.
22745  *
22746  * Like g_bus_own_name() but takes a #GDBusConnection instead of a
22747  * #GBusType.
22748  * g_bus_unown_name() to stop owning the name.
22749  *
22750  * Returns: An identifier (never 0) that an be used with
22751  * Since: 2.26
22752  */
22753
22754
22755 /**
22756  * g_unix_input_stream_set_close_fd:
22757  * @stream: a #GUnixInputStream
22758  * @close_fd: %TRUE to close the file descriptor when done
22759  *
22760  * Sets whether the file descriptor of @stream shall be closed
22761  * when the stream is closed.
22762  *
22763  * Since: 2.20
22764  */
22765
22766
22767 /**
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.
22774  *
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.
22779  */
22780
22781
22782 /**
22783  * G_TYPE_STRING:
22784  *
22785  * The fundamental type corresponding to nul-terminated C strings.
22786  */
22787
22788
22789 /**
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.
22795  *
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
22799  * the filesystem.
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().
22815  *
22816  * Returns: (transfer full): a #GFileInfo or %NULL if there was an error.
22817  */
22818
22819
22820 /**
22821  * g_socket_control_message_serialize:
22822  * @message: a #GSocketControlMessage
22823  * @data: A buffer to write data to
22824  *
22825  * Converts the data in the message to bytes placed in the
22826  * message.
22827  * returned by g_socket_control_message_get_size() on this
22828  * object.
22829  *
22830  * Since: 2.22
22831  */
22832
22833
22834 /**
22835  * g_dbus_connection_get_unique_name:
22836  * @connection: A #GDBusConnection.
22837  *
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
22842  *
22843  * Returns: The unique name or %NULL if @connection is not a message
22844  * Since: 2.26
22845  */
22846
22847
22848 /**
22849  * g_unix_input_stream_new:
22850  * @fd: a UNIX file descriptor
22851  * @close_fd: %TRUE to close the file descriptor when done
22852  *
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.
22856  *
22857  * Returns: a new #GUnixInputStream
22858  */
22859
22860
22861 /**
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.
22867  *
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.
22873  */
22874
22875
22876 /**
22877  * g_dbus_proxy_get_cached_property:
22878  * @proxy: A #GDBusProxy.
22879  * @property_name: Property name.
22880  *
22881  * Looks up the value for a property from the cache. This call does no
22882  * blocking IO.
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().
22888  *
22889  * Returns: A reference to the #GVariant instance that holds the value
22890  * Since: 2.26
22891  */
22892
22893
22894 /**
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.
22900  *
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
22915  * be returned.
22916  *
22917  * Returns: (transfer full): a #GFileInfo for the @stream, or %NULL on error.
22918  * Since: 2.22
22919  */
22920
22921
22922 /**
22923  * G_PARAM_SPEC_OBJECT:
22924  * @pspec: a valid #GParamSpec instance
22925  *
22926  * Casts a #GParamSpec instance into a #GParamSpecObject.
22927  */
22928
22929
22930 /**
22931  * GSocketAddressEnumerator:
22932  *
22933  * Enumerator type for objects that contain or generate
22934  * #GSocketAddress<!-- -->es.
22935  */
22936
22937
22938 /**
22939  * g_mount_operation_get_usernam:
22940  * @op: a #GMountOperation.
22941  *
22942  * Get the user name from the mount operation.
22943  *
22944  * Returns: a string containing the user name.
22945  */
22946
22947
22948 /**
22949  * GParamSpecInt64:
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
22954  *
22955  * A #GParamSpec derived structure that contains the meta data for 64bit integer properties.
22956  */
22957
22958
22959 /**
22960  * SECTION:gproxyaddres:
22961  * @short_description: An internet address with proxy information
22962  *
22963  * Support for proxied #GInetSocketAddress.
22964  */
22965
22966
22967 /**
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.
22972  *
22973  * Message flags used in #GDBusMessage.
22974  *
22975  * Since: 2.26
22976  */
22977
22978
22979 /**
22980  * G_PROXY_RESOLVER_EXTENSION_POINT_NAME:
22981  *
22982  * Extension point for proxy resolving functionality.
22983  * See <link linkend="extending-gio">Extending GIO</link>.
22984  */
22985
22986
22987 /**
22988  * G_VALUE_HOLDS_FLAGS:
22989  * @value: a valid #GValue structure
22990  *
22991  * Checks whether the given #GValue can hold values derived from type %G_TYPE_FLAGS.
22992  *
22993  * Returns: %TRUE on success.
22994  */
22995
22996
22997 /**
22998  * GClassFinalizeFunc:
22999  * @g_class: The #GTypeClass structure to finalize.
23000  * @class_data: The @class_data member supplied via the #GTypeInfo structure.
23001  *
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).
23009  */
23010
23011
23012 /**
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().
23022  *
23023  * The type of the @set_property function in #GDBusInterfaceVTable.
23024  *
23025  * Returns: %TRUE if the property was set to @value, %FALSE if @error is set.
23026  * Since: 2.26
23027  */
23028
23029
23030 /**
23031  * GWin32InputStream:handle:
23032  *
23033  * The handle that the stream reads from.
23034  *
23035  * Since: 2.26
23036  */
23037
23038
23039 /**
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)
23046  *
23047  * Enumeration describing how a drive can be started/stopped.
23048  *
23049  * Since: 2.22
23050  */
23051
23052
23053 /**
23054  * GDBusServer:
23055  *
23056  * The #GDBusServer structure contains only private data and
23057  * should only be accessed using the provided API.
23058  *
23059  * Since: 2.26
23060  */
23061
23062
23063 /**
23064  * g_win32_output_stream_get_close_handle:
23065  * @stream: a #GWin32OutputStream
23066  *
23067  * Returns whether the handle of @stream will be closed when the
23068  * stream is closed.
23069  *
23070  * Returns: %TRUE if the handle is closed when done
23071  * Since: 2.26
23072  */
23073
23074
23075 /**
23076  * g_file_eject_mountable_with_operation_finish:
23077  * @file: input #GFile.
23078  * @result: a #GAsyncResult.
23079  * @error: a #GError, or %NULL
23080  *
23081  * Finishes an asynchronous eject operation started by
23082  * g_file_eject_mountable_with_operation().
23083  * otherwise.
23084  *
23085  * Returns: %TRUE if the @file was ejected successfully. %FALSE
23086  * Since: 2.22
23087  */
23088
23089
23090 /**
23091  * g_socket_client_set_family:
23092  * @client: a #GSocketClient.
23093  * @family: a #GSocketFamily
23094  *
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
23098  * family.
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.
23102  *
23103  * Since: 2.22
23104  */
23105
23106
23107 /**
23108  * g_vfs_parse_name:
23109  * @vfs: a #GVfs.
23110  * @parse_name: a string to be parsed by the VFS module.
23111  *
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().
23116  *
23117  * Returns: (transfer full): a #GFile for the given @parse_name.
23118  */
23119
23120
23121 /**
23122  * g_application_command_line_get_environ:
23123  * @cmdline: a #GApplicationCommandLine
23124  *
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
23135  *
23136  * Returns: (array zero-terminated=1) (transfer none): the environment
23137  * Since: 2.28
23138  */
23139
23140
23141 /**
23142  * GSocketServiceClass:
23143  * @incomming: signal emitted when new connections are accepted
23144  *
23145  *
23146  */
23147
23148
23149 /**
23150  * g_srv_target_free:
23151  * @target: a #GSrvTarget
23152  *
23153  * Frees @target
23154  *
23155  * Since: 2.22
23156  */
23157
23158
23159 /**
23160  * GThemedIcon:
23161  *
23162  * An implementation of #GIcon for themed icons.
23163  */
23164
23165
23166 /**
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
23172  *
23173  * Results returned from g_converter_convert().
23174  *
23175  * Since: 2.24
23176  */
23177
23178
23179 /**
23180  * g_content_type_guess_for_tree:
23181  * @root: the root of the tree to guess a type for
23182  *
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()
23193  *
23194  * Returns: (transfer full): an %NULL-terminated array of zero or more content types,
23195  * Since: 2.18
23196  */
23197
23198
23199 /**
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.
23204  *
23205  * Finishes ejecting a drive. If any errors occurred during the operation,
23206  *
23207  * Returns: %TRUE if the drive was successfully ejected. %FALSE otherwise.
23208  * Since: 2.22
23209  */
23210
23211
23212 /**
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
23220  *
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.
23227  *
23228  * Returns: %TRUE if the load was successful. If %FALSE and @error is
23229  */
23230
23231
23232 /**
23233  * g_tls_backend_get_client_connection_type:
23234  * @backend: the #GTlsBackend
23235  *
23236  * Gets the #GType of @backend's #GTlsClientConnection implementation.
23237  * implementation.
23238  *
23239  * Returns: the #GType of @backend's #GTlsClientConnection
23240  * Since: 2.28
23241  */
23242
23243
23244 /**
23245  * G_DATALIST_FLAGS_MASK:
23246  *
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.
23250  */
23251
23252
23253 /**
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.
23259  *
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.
23265  *
23266  * Returns: (transfer full): A #GIOStream or %NULL if @error is set.
23267  * Since: 2.26
23268  */
23269
23270
23271 /**
23272  * g_application_command_line_set_exit_status:
23273  * @cmdline: a #GApplicationCommandLine
23274  * @exit_status: the exit status
23275  *
23276  * Sets the exit status that will be used when the invoking process
23277  * exits.
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.
23293  *
23294  * In the mainloop running (ie: because the use-count of the application
23295  * Since: 2.28
23296  */
23297
23298
23299 /**
23300  * G_INITIALLY_UNOWNED_CLASS:
23301  * @class: a valid #GInitiallyUnownedClass
23302  *
23303  * Casts a derived #GInitiallyUnownedClass structure into a
23304  * #GInitiallyUnownedClass structure.
23305  */
23306
23307
23308 /**
23309  * GDBusConnection:authentication-observer:
23310  *
23311  * A #GDBusAuthObserver object to assist in the authentication process or %NULL.
23312  *
23313  * Since: 2.26
23314  */
23315
23316
23317 /**
23318  * g_zlib_compressor_get_file_info:
23319  * @compressor: a #GZlibCompressor
23320  *
23321  * Returns the #GZlibCompressor:file-info property.
23322  *
23323  * Returns: (transfer none): a #GFileInfo, or %NULL
23324  * Since: 2.26
23325  */
23326
23327
23328 /**
23329  * GMemoryOutputStream:size:
23330  *
23331  * Current size of the data buffer.
23332  *
23333  * Since: 2.24
23334  */
23335
23336
23337 /**
23338  * G_VALUE_HOLDS_LONG:
23339  * @value: a valid #GValue structure
23340  *
23341  * Checks whether the given #GValue can hold values of type %G_TYPE_LONG.
23342  *
23343  * Returns: %TRUE on success.
23344  */
23345
23346
23347 /**
23348  * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE:
23349  *
23350  * A key in the "mountable" namespace for getting the unix device file.
23351  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
23352  *
23353  * Since: 2.22
23354  */
23355
23356
23357 /**
23358  * GParamSpec:
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
23364  *
23365  * All other fields of the <structname>GParamSpec</structname> struct are private and
23366  * should not be used directly.
23367  */
23368
23369
23370 /**
23371  * GApplication::command-line:
23372  * @application: the application
23373  * @command_line: a #GApplicationCommandLine representing the passed commandline
23374  *
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.
23378  */
23379
23380
23381 /**
23382  * GObjectFinalizeFunc:
23383  * @object: the #GObject being finalized
23384  *
23385  * The type of the @finalize function of #GObjectClass.
23386  */
23387
23388
23389 /**
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.
23394  *
23395  * Finishes an async connect operation. See g_socket_client_connect_async()
23396  *
23397  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
23398  * Since: 2.22
23399  */
23400
23401
23402 /**
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.
23407  *
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.
23412  * does not exist
23413  *
23414  * Returns: The #GFileType of the file and #G_FILE_TYPE_UNKNOWN if the file
23415  * Since: 2.18
23416  */
23417
23418
23419 /**
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
23425  *
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.
23434  *
23435  * Returns: %TRUE on successful launch, %FALSE otherwise.
23436  */
23437
23438
23439 /**
23440  * GDBusProxy:g-interface-info:
23441  *
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
23446  * simply dropped.
23447  *
23448  * Since: 2.26
23449  */
23450
23451
23452 /**
23453  * GApplicationCommandLine:
23454  *
23455  * The <structname>GApplicationCommandLine</structname> structure contains private
23456  * data and should only be accessed using the provided API
23457  *
23458  * Since: 2.26
23459  */
23460
23461
23462 /**
23463  * GTlsServerConnection:authentication-mode:
23464  *
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.
23468  *
23469  * Since: 2.28
23470  */
23471
23472
23473 /**
23474  * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW:
23475  *
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.
23480  */
23481
23482
23483 /**
23484  * G_TYPE_FROM_INSTANCE:
23485  * @instance: Location of a valid #GTypeInstance structure.
23486  *
23487  * Get the type identifier from a given @instance structure.
23488  * This macro should only be used in type implementations.
23489  *
23490  * Returns: the #GType
23491  */
23492
23493
23494 /**
23495  * g_win32_input_stream_new:
23496  * @handle: a Win32 file handle
23497  * @close_fd: %TRUE to close the handle when done
23498  *
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.
23504  *
23505  * Returns: a new #GWin32InputStream
23506  */
23507
23508
23509 /**
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
23513  *
23514  * Creates a new themed icon for @iconnames.
23515  *
23516  * Returns: (transfer full): a new #GThemedIcon
23517  */
23518
23519
23520 /**
23521  * GFileType:
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.
23529  *
23530  * Indicates the file's on-disk type.
23531  */
23532
23533
23534 /**
23535  * GMountOperation::reply:
23536  * @op: a #GMountOperation.
23537  * @result: a #GMountOperationResult indicating how the request was handled
23538  *
23539  * Emitted when the user has replied to the mount operation.
23540  */
23541
23542
23543 /**
23544  * g_dbus_method_info_unref:
23545  * @info: A #GDBusMethodInfo.
23546  *
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.
23550  *
23551  * Since: 2.26
23552  */
23553
23554
23555 /**
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.
23562  *
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.
23566  *
23567  * Returns: (transfer full): a newly allocated #GObject, or %NULL on error
23568  * Since: 2.22
23569  */
23570
23571
23572 /**
23573  * g_socket_accept:
23574  * @socket: a #GSocket.
23575  * @cancellable: a %GCancellable or %NULL
23576  * @error: #GError for error reporting, or %NULL to ignore.
23577  *
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().
23587  *
23588  * Returns: (transfer full): a new #GSocket, or %NULL on error.
23589  * Since: 2.22
23590  */
23591
23592
23593 /**
23594  * g_socket_address_get_native_size:
23595  * @address: a #GSocketAddress
23596  *
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().
23600  *
23601  * Returns: the size of the native <type>struct sockaddr</type> that
23602  * Since: 2.22
23603  */
23604
23605
23606 /**
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
23614  *
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.
23621  *
23622  * Since: 2.22
23623  */
23624
23625
23626 /**
23627  * GParamSpecOverride:
23628  *
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.
23637  *
23638  * Since: 2.4
23639  */
23640
23641
23642 /**
23643  * g_dbus_signal_info_unref:
23644  * @info: A #GDBusSignalInfo.
23645  *
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.
23649  *
23650  * Since: 2.26
23651  */
23652
23653
23654 /**
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
23660  *
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.
23668  */
23669
23670
23671 /**
23672  * g_file_info_get_modification_time:
23673  * @info: a #GFileInfo.
23674  * @result: a #GTimeVal.
23675  *
23676  * Gets the modification time of the current @info and sets it
23677  * in @result.
23678  */
23679
23680
23681 /**
23682  * g_dbus_proxy_get_name_owner:
23683  * @proxy: A #GDBusProxy.
23684  *
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.
23689  *
23690  * Returns: The name owner or %NULL if no name owner exists. Free with g_free().
23691  * Since: 2.26
23692  */
23693
23694
23695 /**
23696  * GInetAddress:is-link-local:
23697  *
23698  * Whether this is a link-local address.
23699  * See g_inet_address_get_is_link_local().
23700  *
23701  * Since: 2.22
23702  */
23703
23704
23705 /**
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
23712  *
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.
23721  *
23722  * Since: 2.22
23723  */
23724
23725
23726 /**
23727  * GVolumeMonitor::drive-eject-button:
23728  * @volume_monitor: The volume monitor emitting the signal.
23729  * @drive: the drive where the eject button was pressed
23730  *
23731  * Emitted when the eject button is pressed on @drive.
23732  *
23733  * Since: 2.18
23734  */
23735
23736
23737 /**
23738  * G_PARAM_SPEC_GET_CLASS:
23739  * @pspec: a valid #GParamSpec
23740  *
23741  * Retrieves the #GParamSpecClass of a #GParamSpec.
23742  */
23743
23744
23745 /**
23746  * SECTION:gresolve:
23747  * @short_description: Asynchronous and cancellable DNS resolver
23748  * @include: gio/gio.h
23749  *
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.
23757  */
23758
23759
23760 /**
23761  * g_action_activate:
23762  * @action: a #GAction
23763  * @parameter: (allow-none): the parameter to the activation
23764  *
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.
23768  *
23769  * Since: 2.28
23770  */
23771
23772
23773 /**
23774  * g_dbus_proxy_get_interface_name:
23775  * @proxy: A #GDBusProxy.
23776  *
23777  * Gets the D-Bus interface name @proxy is for.
23778  *
23779  * Returns: A string owned by @proxy. Do not free.
23780  * Since: 2.26
23781  */
23782
23783
23784 /**
23785  * g_file_info_set_attribute_string:
23786  * @info: a #GFileInfo.
23787  * @attribute: a file attribute key.
23788  * @attr_value: a string.
23789  *
23790  * Sets the @attribute to contain the given @attr_value,
23791  * if possible.
23792  */
23793
23794
23795 /**
23796  * g_main_run:
23797  * @loop: a #GMainLoop
23798  *
23799  * Runs a main loop until it stops running.
23800  *
23801  * Deprecated: 2.2: Use g_main_loop_run() instead
23802  */
23803
23804
23805 /**
23806  * g_dbus_proxy_set_default_timeout:
23807  * @proxy: A #GDBusProxy.
23808  * @timeout_msec: Timeout in milliseconds.
23809  *
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.
23814  *
23815  * Since: 2.26
23816  */
23817
23818
23819 /**
23820  * GSettings::writable-changed:
23821  * @settings: the object on which the signal was emitted
23822  * @key: the key
23823  *
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.
23830  */
23831
23832
23833 /**
23834  * g_cancellable_reset:
23835  * @cancellable: a #GCancellable object.
23836  *
23837  * Resets @cancellable to its uncancelled state.
23838  */
23839
23840
23841 /**
23842  * G_TYPE_PARAM_FLOAT:
23843  *
23844  * The #GType of #GParamSpecFloat.
23845  */
23846
23847
23848 /**
23849  * g_unix_mount_monitor_new:
23850  *
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.
23855  *
23856  * Returns: a #GUnixMountMonitor.
23857  */
23858
23859
23860 /**
23861  * g_socket_client_set_tls:
23862  * @client: a #GSocketClient.
23863  * @tls: whether to use TLS
23864  *
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.
23874  *
23875  * Since: 2.28
23876  */
23877
23878
23879 /**
23880  * GMountOperation:username:
23881  *
23882  * The user name that is used for authentication when carrying out
23883  * the mount operation.
23884  */
23885
23886
23887 /**
23888  * G_IS_PARAM_SPEC_CLASS:
23889  * @pclass: a #GParamSpecClass
23890  *
23891  * Checks whether @pclass "is a" valid #GParamSpecClass structure of type
23892  * %G_TYPE_PARAM or derived.
23893  */
23894
23895
23896 /**
23897  * g_dbus_annotation_info_ref:
23898  * @info: A #GDBusNodeInfo
23899  *
23900  * If @info is statically allocated does nothing. Otherwise increases
23901  * the reference count.
23902  *
23903  * Returns: The same @info.
23904  * Since: 2.26
23905  */
23906
23907
23908 /**
23909  * g_pollable_output_stream_create_source:
23910  * @stream: a #GPollableOutputStream.
23911  * @cancellable: a #GCancellable, or %NULL
23912  *
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.
23919  *
23920  * Returns: a new #GSource
23921  * Since: 2.28
23922  */
23923
23924
23925 /**
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
23931  *
23932  * Sets the @attribute to contain the given value, if possible.
23933  */
23934
23935
23936 /**
23937  * GTypeFlags:
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().
23940  *
23941  * Bit masks used to check or determine characteristics of a type.
23942  */
23943
23944
23945 /**
23946  * G_FILE_ATTRIBUTE_UNIX_MODE:
23947  *
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.
23952  */
23953
23954
23955 /**
23956  * G_TYPE_UINT64:
23957  *
23958  * The fundamental type corresponding to #guint64.
23959  */
23960
23961
23962 /**
23963  * G_FILE_ATTRIBUTE_TIME_MODIFIED:
23964  *
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.
23969  */
23970
23971
23972 /**
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
23978  *
23979  * The type of the @complete_interface_info function of #GTypePluginClass.
23980  */
23981
23982
23983 /**
23984  * SECTION:gpermissio:
23985  * @title: GPermission
23986  * @short_description: An object representing the permission to perform a certain action
23987  *
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
23992  * in the future.
23993  * There is also an API to actually acquire the permission and one to
23994  * release it.
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.
24000  */
24001
24002
24003 /**
24004  * GTlsConnection:
24005  *
24006  * TLS connection. This is an abstract type that will be subclassed by
24007  * a TLS-library-specific subtype.
24008  *
24009  * Since: 2.28
24010  */
24011
24012
24013 /**
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
24019  *
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
24025  * this function.
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.
24031  *
24032  * Since: 2.26
24033  */
24034
24035
24036 /**
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
24044  *
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.
24058  */
24059
24060
24061 /**
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
24070  *
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.
24078  */
24079
24080
24081 /**
24082  * g_action_group_action_removed:
24083  * @action_group: a #GActionGroup
24084  * @action_name: the name of an action in the group
24085  *
24086  * Emits the #GActionGroup::action-removed signal on @action_group.
24087  * This function should only be called by #GActionGroup implementations.
24088  *
24089  * Since: 2.28
24090  */
24091
24092
24093 /**
24094  * g_file_info_set_file_type:
24095  * @info: a #GFileInfo.
24096  * @type: a #GFileType.
24097  *
24098  * Sets the file type in a #GFileInfo to @type.
24099  * See %G_FILE_ATTRIBUTE_STANDARD_TYPE.
24100  */
24101
24102
24103 /**
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.
24108  *
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.
24113  *
24114  * Returns: a signed 16-bit/2-byte value read from @stream or %0 if
24115  */
24116
24117
24118 /**
24119  * G_TYPE_IS_FLAGS:
24120  * @type: a #GType ID.
24121  *
24122  * Checks whether @type "is a" %G_TYPE_FLAGS.
24123  *
24124  * Returns: %TRUE if @type "is a" %G_TYPE_FLAGS.
24125  */
24126
24127
24128 /**
24129  * SECTION:gdbusintrospectio:
24130  * @title: D-Bus Introspection Data
24131  * @short_description: Node and interface description data structures
24132  * @include: gio/gio.h
24133  *
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&num;introspection-format">D-Bus specification</link>.
24139  */
24140
24141
24142 /**
24143  * G_FILE_ATTRIBUTE_UNIX_BLOCKS:
24144  *
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.
24148  */
24149
24150
24151 /**
24152  * g_srv_target_list_sort: (skip)
24153  * @targets: a #GList of #GSrvTarget
24154  *
24155  * Sorts @targets in place according to the algorithm in RFC 2782.
24156  *
24157  * Returns: (transfer full): the head of the sorted list.
24158  * Since: 2.22
24159  */
24160
24161
24162 /**
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.
24169  *
24170  * The most general convenience macro for type implementations, on which
24171  * G_DEFINE_TYPE(), etc are based.
24172  * |[
24173  * G_DEFINE_TYPE_EXTENDED (GtkGadget,
24174  * gtk_gadget,
24175  * GTK_TYPE_WIDGET,
24176  * 0,
24177  * G_IMPLEMENT_INTERFACE (TYPE_GIZMO,
24178  * gtk_gadget_gizmo_init));
24179  * ]|
24180  * expands to
24181  * |[
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)
24186  * {
24187  * gtk_gadget_parent_class = g_type_class_peek_parent (klass);
24188  * gtk_gadget_class_init ((GtkGadgetClass*) klass);
24189  * }
24190  * GType
24191  * gtk_gadget_get_type (void)
24192  * {
24193  * static volatile gsize g_define_type_id__volatile = 0;
24194  * if (g_once_init_enter (&g_define_type_id__volatile))
24195  * {
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);
24204  * {
24205  * static const GInterfaceInfo g_implement_interface_info = {
24206  * (GInterfaceInitFunc) gtk_gadget_gizmo_init
24207  * };
24208  * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
24209  * }
24210  * g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
24211  * }
24212  * return g_define_type_id__volatile;
24213  * }
24214  * ]|
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.
24218  *
24219  * Since: 2.4
24220  */
24221
24222
24223 /**
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.
24228  *
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.
24234  *
24235  * Since: 2.26
24236  */
24237
24238
24239 /**
24240  * G_TYPE_PARAM_DOUBLE:
24241  *
24242  * The #GType of #GParamSpecDouble.
24243  */
24244
24245
24246 /**
24247  * GSocketType:
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).
24252  *
24253  * Flags used when creating a #GSocket. Some protocols may not implement
24254  * all the socket types.
24255  *
24256  * Since: 2.22
24257  */
24258
24259
24260 /**
24261  * g_dbus_connection_get_stream:
24262  * @connection: a #GDBusConnection
24263  *
24264  * Gets the underlying stream used for IO.
24265  *
24266  * Returns: (transfer none): the stream used for IO
24267  * Since: 2.26
24268  */
24269
24270
24271 /**
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
24276  *
24277  * Creates a new #GNetworkService representing the given @service,
24278  * #GSocketConnectable interface to resolve it.
24279  *
24280  * Returns: (transfer full): a new #GNetworkService
24281  * Since: 2.22
24282  */
24283
24284
24285 /**
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
24297  *
24298  *
24299  *
24300  * Since: 2.26
24301  */
24302
24303
24304 /**
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.
24310  *
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.
24319  *
24320  * Returns: The accumulator function returns whether the signal emission
24321  */
24322
24323
24324 /**
24325  * g_credentials_new:
24326  *
24327  * Creates a new #GCredentials object with credentials matching the
24328  * the current process.
24329  *
24330  * Returns: A #GCredentials. Free with g_object_unref().
24331  * Since: 2.26
24332  */
24333
24334
24335 /**
24336  * SECTION:ginitabl:
24337  * @short_description: Failable object initialization interface
24338  * @include: gio/gio.h
24339  * @see_also: #GAsyncInitable
24340  *
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.
24357  */
24358
24359
24360 /**
24361  * G_DEFINE_TYPE:
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.
24365  *
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.
24370  *
24371  * Since: 2.4
24372  */
24373
24374
24375 /**
24376  * g_file_info_get_file_type:
24377  * @info: a #GFileInfo.
24378  *
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().
24381  *
24382  * Returns: a #GFileType for the given file.
24383  */
24384
24385
24386 /**
24387  * GFilterInputStream:
24388  *
24389  * A base class for all input streams that work on an underlying stream.
24390  */
24391
24392
24393 /**
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.
24398  *
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.
24402  *
24403  * Since: 2.26
24404  */
24405
24406
24407 /**
24408  * g_dbus_is_interface_name:
24409  * @string: The string to check.
24410  *
24411  * Checks if @string is a valid D-Bus interface name.
24412  *
24413  * Returns: %TRUE if valid, %FALSE otherwise.
24414  * Since: 2.26
24415  */
24416
24417
24418 /**
24419  * GUnixMountMonitor::mounts-changed:
24420  * @monitor: the object on which the signal is emitted
24421  *
24422  * Emitted when the unix mounts have changed.
24423  */
24424
24425
24426 /**
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.
24431  *
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.
24435  *
24436  * Returns: A valid D-Bus address string for @bus_type or %NULL if @error is set.
24437  * Since: 2.26
24438  */
24439
24440
24441 /**
24442  * G_VALUE_HOLDS_PARAM:
24443  * @value: a valid #GValue structure
24444  *
24445  * Checks whether the given #GValue can hold values derived from type %G_TYPE_PARAM.
24446  *
24447  * Returns: %TRUE on success.
24448  */
24449
24450
24451 /**
24452  * G_PARAM_SPEC_STRING:
24453  * @pspec: a valid #GParamSpec instance
24454  *
24455  * Casts a #GParamSpec instance into a #GParamSpecString.
24456  */
24457
24458
24459 /**
24460  * GInetAddress:is-multicast:
24461  *
24462  * Whether this is a multicast address.
24463  * See g_inet_address_get_is_multicast().
24464  *
24465  * Since: 2.22
24466  */
24467
24468
24469 /**
24470  * GPermission:
24471  *
24472  * #GPermission is an opaque data structure and can only be accessed
24473  * using the following functions.
24474  */
24475
24476
24477 /**
24478  * g_filename_completer_new:
24479  *
24480  * Creates a new filename completer.
24481  *
24482  * Returns: a #GFilenameCompleter.
24483  */
24484
24485
24486 /**
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.
24492  *
24493  * Puts a signed 16-bit integer into the output stream.
24494  *
24495  * Returns: %TRUE if @data was successfully added to the @stream.
24496  */
24497
24498
24499 /**
24500  * g_io_extension_point_lookup:
24501  * @name: the name of the extension point
24502  *
24503  * Looks up an existing extension point.
24504  * registered extension point with the given name
24505  *
24506  * Returns: the #GIOExtensionPoint, or %NULL if there is no
24507  */
24508
24509
24510 /**
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.
24519  *
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.
24543  *
24544  * Returns: (transfer full): A locked #GDBusMessage that is the reply to @message or %NULL if @error is set.
24545  * Since: 2.26
24546  */
24547
24548
24549 /**
24550  * GConvertError:
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.
24557  *
24558  * Error codes returned by character set conversion routines.
24559  */
24560
24561
24562 /**
24563  * GDesktopAppInfo:
24564  *
24565  * Information about an installed application from a desktop file.
24566  */
24567
24568
24569 /**
24570  * GObjectConstructParam:
24571  * @pspec: the #GParamSpec of the construct parameter
24572  * @value: the value to set the parameter to
24573  *
24574  * The <structname>GObjectConstructParam</structname> struct is an auxiliary
24575  * structure used to hand #GParamSpec/#GValue pairs to the @constructor of
24576  * a #GObjectClass.
24577  */
24578
24579
24580 /**
24581  * g_credentials_to_string:
24582  * @credentials: A #GCredentials object.
24583  *
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.
24587  *
24588  * Returns: A string that should be freed with g_free().
24589  * Since: 2.26
24590  */
24591
24592
24593 /**
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
24601  *
24602  * Flags used to define the behaviour of a #GApplication.
24603  *
24604  * Since: 2.26
24605  */
24606
24607
24608 /**
24609  * g_data_input_stream_set_byte_order:
24610  * @stream: a given #GDataInputStream.
24611  * @order: a #GDataStreamByteOrder to set.
24612  *
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.
24615  */
24616
24617
24618 /**
24619  * G_CALLBACK:
24620  * @f: a function pointer.
24621  *
24622  * Cast a function pointer to a #GCallback.
24623  */
24624
24625
24626 /**
24627  * g_dbus_message_get_locked:
24628  * @message: A #GDBusMessage.
24629  *
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.
24633  *
24634  * Returns: %TRUE if @message is locked, %FALSE otherwise.
24635  * Since: 2.26
24636  */
24637
24638
24639 /**
24640  * G_FILE_ATTRIBUTE_GVFS_BACKEND:
24641  *
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.
24645  */
24646
24647
24648 /**
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
24654  *
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()
24657  *
24658  * Returns: %TRUE if the function completed successfully, %FALSE if an error
24659  */
24660
24661
24662 /**
24663  * G_ENUM_CLASS:
24664  * @class: a valid #GEnumClass
24665  *
24666  * Casts a derived #GEnumClass structure into a #GEnumClass structure.
24667  */
24668
24669
24670 /**
24671  * GAction:state-type:
24672  *
24673  * The #GVariantType of the state that the action has, or %NULL if the
24674  * action is stateless.
24675  *
24676  * Since: 2.28
24677  */
24678
24679
24680 /**
24681  * G_VALUE_TYPE:
24682  * @value: A #GValue structure.
24683  *
24684  * Get the type identifier of @value.
24685  *
24686  * Returns: the #GType.
24687  */
24688
24689
24690 /**
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.
24698  *
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.
24702  * on error
24703  *
24704  * Returns: Number of bytes written (which may be less than @size), or -1
24705  * Since: 2.26
24706  */
24707
24708
24709 /**
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.
24713  *
24714  * Capabilities negotiated with the remote peer.
24715  *
24716  * Since: 2.26
24717  */
24718
24719
24720 /**
24721  * g_unix_socket_address_abstract_names_supported:
24722  *
24723  * Checks if abstract unix domain socket names are supported.
24724  *
24725  * Returns: %TRUE if supported, %FALSE otherwise
24726  * Since: 2.22
24727  */
24728
24729
24730 /**
24731  * G_VARIANT_TYPE_BYTESTRING:
24732  *
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.
24737  */
24738
24739
24740 /**
24741  * g_bus_unwatch_name:
24742  * @watcher_id: An identifier obtained from g_bus_watch_name()
24743  *
24744  * Stops watching a name.
24745  *
24746  * Since: 2.26
24747  */
24748
24749
24750 /**
24751  * g_socket_connectable_proxy_enumerate:
24752  * @connectable: a #GSocketConnectable
24753  *
24754  * Creates a #GSocketAddressEnumerator for @connectable that will
24755  * return #GProxyAddress<!-- -->es for addresses that you must connect
24756  * to via a proxy.
24757  * If @connectable does not implement
24758  * g_socket_connectable_proxy_enumerate(), this will fall back to
24759  * calling g_socket_connectable_enumerate().
24760  *
24761  * Returns: (transfer full): a new #GSocketAddressEnumerator.
24762  * Since: 2.26
24763  */
24764
24765
24766 /**
24767  * g_dbus_method_invocation_get_interface_name:
24768  * @invocation: A #GDBusMethodInvocation.
24769  *
24770  * Gets the name of the D-Bus interface the method was invoked on.
24771  *
24772  * Returns: A string. Do not free, it is owned by @invocation.
24773  * Since: 2.26
24774  */
24775
24776
24777 /**
24778  * g_memory_input_stream_new:
24779  *
24780  * Creates a new empty #GMemoryInputStream.
24781  *
24782  * Returns: a new #GInputStream
24783  */
24784
24785
24786 /**
24787  * g_resolver_free_targets: (skip)
24788  * @targets: a #GList of #GSrvTarget
24789  *
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.)
24794  *
24795  * Since: 2.22
24796  */
24797
24798
24799 /**
24800  * g_cancellable_is_cancelled:
24801  * @cancellable: a #GCancellable or NULL.
24802  *
24803  * Checks if a cancellable job has been cancelled.
24804  * FALSE if called with %NULL or if item is not cancelled.
24805  *
24806  * Returns: %TRUE if @cancellable is cancelled,
24807  */
24808
24809
24810 /**
24811  * GParamSpecVariant:
24812  * @parent_instance: private #GParamSpec portion
24813  * @type: a #GVariantType, or %NULL
24814  * @default_value: a #GVariant, or %NULL
24815  *
24816  * A #GParamSpec derived structure that contains the meta data for #GVariant properties.
24817  *
24818  * Since: 2.26
24819  */
24820
24821
24822 /**
24823  * g_file_info_get_is_hidden:
24824  * @info: a #GFileInfo.
24825  *
24826  * Checks if a file is hidden.
24827  *
24828  * Returns: %TRUE if the file is a hidden file, %FALSE otherwise.
24829  */
24830
24831
24832 /**
24833  * g_dbus_server_start:
24834  * @server: A #GDBusServer.
24835  *
24836  * Starts @server.
24837  *
24838  * Since: 2.26
24839  */
24840
24841
24842 /**
24843  * G_VOLUME_IDENTIFIER_KIND_LABEL:
24844  *
24845  * The string used to obtain a filesystem label with g_volume_get_identifier().
24846  */
24847
24848
24849 /**
24850  * SECTION:gsocketconnectabl:
24851  * @short_description: Interface for potential socket endpoints
24852  *
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.
24858  * |[
24859  * MyConnectionType *
24860  * connect_to_host (const char    *hostname,
24861  * guint16        port,
24862  * GCancellable  *cancellable,
24863  * GError       **error)
24864  * {
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).
24876  * *<!-- -->/
24877  * while (!conn && (sockaddr = g_socket_address_enumerator_next (enumerator, cancellable, error))
24878  * {
24879  * g_object_unref (sockaddr);
24880  * }
24881  * g_object_unref (enumerator);
24882  * if (conn)
24883  * {
24884  * if (conn_error)
24885  * {
24886  * /<!-- -->* We couldn't connect to the first address, but we succeeded
24887  * * in connecting to a later address.
24888  * *<!-- -->/
24889  * g_error_free (conn_error);
24890  * }
24891  * return conn;
24892  * }
24893  * else if (error)
24894  * {
24895  * /<!-- -->* Either the initial lookup failed, or else the caller
24896  * * cancelled us.
24897  * *<!-- -->/
24898  * if (conn_error)
24899  * g_error_free (conn_error);
24900  * return NULL;
24901  * }
24902  * else
24903  * {
24904  * g_error_propagate (error, conn_error);
24905  * return NULL;
24906  * }
24907  * }
24908  * ]|
24909  *
24910  * Conn = connect_to_sockaddr (sockaddr, conn_error ? null : &conn_error);
24911  */
24912
24913
24914 /**
24915  * g_dbus_connection_close_sync:
24916  * @connection: A #GDBusConnection.
24917  * @cancellable: A #GCancellable or %NULL.
24918  * @error: Return location for error or %NULL.
24919  *
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
24923  * does.
24924  *
24925  * Returns: %TRUE if the operation succeeded, %FALSE if @error is set.
24926  * Since: 2.26
24927  */
24928
24929
24930 /**
24931  * g_settings_get_double:
24932  * @settings: a #GSettings object
24933  * @key: the key to get the value for
24934  * @returns: a double
24935  *
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.
24940  *
24941  * Since: 2.26
24942  */
24943
24944
24945 /**
24946  * G_IS_PARAM_SPEC_UINT64:
24947  * @pspec: a valid #GParamSpec instance
24948  *
24949  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64.
24950  *
24951  * Returns: %TRUE on success.
24952  */
24953
24954
24955 /**
24956  * g_app_info_equal:
24957  * @appinfo1: the first #GAppInfo.
24958  * @appinfo2: the second #GAppInfo.
24959  *
24960  * Checks if two #GAppInfo<!-- -->s are equal.
24961  *
24962  * Returns: %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.
24963  */
24964
24965
24966 /**
24967  * g_mount_remount:
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.
24974  *
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
24982  * unmounted.
24983  */
24984
24985
24986 /**
24987  * g_volume_can_mount:
24988  * @volume: a #GVolume.
24989  *
24990  * Checks if a volume can be mounted.
24991  *
24992  * Returns: %TRUE if the @volume can be mounted. %FALSE otherwise.
24993  */
24994
24995
24996 /**
24997  * G_TYPE_LONG:
24998  *
24999  * The fundamental type corresponding to #glong.
25000  */
25001
25002
25003 /**
25004  * g_volume_monitor_get:
25005  *
25006  * Gets the volume monitor used by gio.
25007  * g_object_unref() when done with it.
25008  *
25009  * Returns: (transfer full): a reference to the #GVolumeMonitor used by gio. Call
25010  */
25011
25012
25013 /**
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
25018  *
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.
25027  * otherwise.
25028  *
25029  * Returns: %TRUE if all directories have been successfully created, %FALSE
25030  * Since: 2.18
25031  */
25032
25033
25034 /**
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
25038  *
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.
25042  * read-only buffer
25043  *
25044  * Returns: (array length=count) (element-type guint8) (transfer none):
25045  */
25046
25047
25048 /**
25049  * g_socket_address_enumerator_next:
25050  * @enumerator: a #GSocketAddressEnumerator
25051  * @cancellable: optional #GCancellable object, %NULL to ignore.
25052  * @error: a #GError.
25053  *
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
25058  * blocking.
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
25065  * ignored.
25066  * error (in which case *@error will be set) or if there are no
25067  * more addresses.
25068  *
25069  * Returns: (transfer full): a #GSocketAddress (owned by the caller), or %NULL on
25070  */
25071
25072
25073 /**
25074  * G_PARAM_SPEC_UNICHAR:
25075  * @pspec: a valid #GParamSpec instance
25076  *
25077  * Cast a #GParamSpec instance into a #GParamSpecUnichar.
25078  */
25079
25080
25081 /**
25082  * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH:
25083  *
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
25087  * the trash.
25088  */
25089
25090
25091 /**
25092  * GTlsCertificate:
25093  *
25094  * Abstract base class for TLS certificate types.
25095  *
25096  * Since: 2.28
25097  */
25098
25099
25100 /**
25101  * SECTION:gasyncinitabl:
25102  * @short_description: Asynchronously failable object initialization interface
25103  * @include: gio/gio.h
25104  * @see_also: #GInitable
25105  *
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:
25117  * |[
25118  * enum {
25119  * NOT_INITIALIZED,
25120  * INITIALIZING,
25121  * INITIALIZED
25122  * };
25123  * static void
25124  * _foo_ready_cb (Foo *self)
25125  * {
25126  * GList *l;
25127  * self->priv->state = INITIALIZED;
25128  * for (l = self->priv->init_results; l != NULL; l = l->next)
25129  * {
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);
25135  * }
25136  * g_list_free (self->priv->init_results);
25137  * self->priv->init_results = NULL;
25138  * }
25139  * static void
25140  * foo_init_async (GAsyncInitable       *initable,
25141  * int                   io_priority,
25142  * GCancellable         *cancellable,
25143  * GAsyncReadyCallback   callback,
25144  * gpointer              user_data)
25145  * {
25146  * Foo *self = FOO (initable);
25147  * GSimpleAsyncResult *simple;
25148  * simple = g_simple_async_result_new (G_OBJECT (initable)
25149  * callback,
25150  * user_data,
25151  * foo_init_async);
25152  * switch (self->priv->state)
25153  * {
25154  * case NOT_INITIALIZED:
25155  * _foo_get_ready (self);
25156  * self->priv->init_results = g_list_append (self->priv->init_results,
25157  * simple);
25158  * self->priv->state = INITIALIZING;
25159  * break;
25160  * case INITIALIZING:
25161  * self->priv->init_results = g_list_append (self->priv->init_results,
25162  * simple);
25163  * break;
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);
25169  * break;
25170  * }
25171  * }
25172  * static gboolean
25173  * foo_init_finish (GAsyncInitable       *initable,
25174  * GAsyncResult         *result,
25175  * GError              **error)
25176  * {
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),
25180  * error))
25181  * return FALSE;
25182  * return TRUE;
25183  * }
25184  * static void
25185  * foo_async_initable_iface_init (gpointer g_iface,
25186  * gpointer data)
25187  * {
25188  * GAsyncInitableIface *iface = g_iface;
25189  * iface->init_async = foo_init_async;
25190  * iface->init_finish = foo_init_finish;
25191  * }
25192  * ]|
25193  */
25194
25195
25196 /**
25197  * g_file_attribute_info_list_new:
25198  *
25199  * Creates a new file attribute info list.
25200  *
25201  * Returns: a #GFileAttributeInfoList.
25202  */
25203
25204
25205 /**
25206  * G_FILE_ATTRIBUTE_STANDARD_NAME:
25207  *
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.
25214  */
25215
25216
25217 /**
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
25222  *
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.
25229  *
25230  * Returns: (element-type GInetAddress) (transfer full): a #GList
25231  * Since: 2.22
25232  */
25233
25234
25235 /**
25236  * G_TYPE_NONE:
25237  *
25238  * A fundamental type which is used as a replacement for the C
25239  * <literal>void</literal> return type.
25240  */
25241
25242
25243 /**
25244  * g_data_input_stream_get_newline_type:
25245  * @stream: a given #GDataInputStream.
25246  *
25247  * Gets the current newline type for the @stream.
25248  *
25249  * Returns: #GDataStreamNewlineType for the given @stream.
25250  */
25251
25252
25253 /**
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.
25258  *
25259  * Finishes ejecting a volume. If any errors occurred during the operation,
25260  *
25261  * Returns: %TRUE if the volume was successfully ejected. %FALSE otherwise.
25262  * Since: 2.22
25263  */
25264
25265
25266 /**
25267  * g_drive_can_poll_for_media:
25268  * @drive: a #GDrive.
25269  *
25270  * Checks if a drive can be polled for media changes.
25271  * %FALSE otherwise.
25272  *
25273  * Returns: %TRUE if the @drive can be polled for media changes,
25274  */
25275
25276
25277 /**
25278  * gchararray:
25279  *
25280  * A C representable type name for #G_TYPE_STRING.
25281  */
25282
25283
25284 /**
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.
25290  *
25291  * Helper function for associating a #GError error domain with D-Bus error names.
25292  *
25293  * Since: 2.26
25294  */
25295
25296
25297 /**
25298  * G_FILE_ATTRIBUTE_ID_FILE:
25299  *
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.
25304  */
25305
25306
25307 /**
25308  * g_cancellable_release_fd:
25309  * @cancellable: a #GCancellable
25310  *
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.
25319  *
25320  * Since: 2.22
25321  */
25322
25323
25324 /**
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
25332  *
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
25340  * specified.
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
25344  *
25345  * Returns: (transfer full): a string with the data that was read
25346  * Since: 2.24
25347  */
25348
25349
25350 /**
25351  * G_PARAM_SPEC_FLOAT:
25352  * @pspec: a valid #GParamSpec instance
25353  *
25354  * Cast a #GParamSpec instance into a #GParamSpecFloat.
25355  */
25356
25357
25358 /**
25359  * g_inet_address_get_family:
25360  * @address: a #GInetAddress
25361  *
25362  * Gets @address's family
25363  *
25364  * Returns: @address's family
25365  * Since: 2.22
25366  */
25367
25368
25369 /**
25370  * g_filename_completer_get_completions:
25371  * @completer: the filename completer.
25372  * @initial_text: text to be completed.
25373  *
25374  * Gets an array of completion strings for a given initial text.
25375  * This array must be freed by g_strfreev() when finished.
25376  *
25377  * Returns: (array zero-terminated=1) (transfer full): array of strings with possible completions for @initial_text.
25378  */
25379
25380
25381 /**
25382  * g_data_output_stream_get_byte_order:
25383  * @stream: a #GDataOutputStream.
25384  *
25385  * Gets the byte order for the stream.
25386  *
25387  * Returns: the #GDataStreamByteOrder for the @stream.
25388  */
25389
25390
25391 /**
25392  * GIconIface:
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).
25398  *
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.
25402  */
25403
25404
25405 /**
25406  * g_file_info_get_icon:
25407  * @info: a #GFileInfo.
25408  *
25409  * Gets the icon for a file.
25410  *
25411  * Returns: (transfer none): #GIcon for the given @info.
25412  */
25413
25414
25415 /**
25416  * g_filter_output_stream_set_close_base_stream:
25417  * @stream: a #GFilterOutputStream.
25418  * @close_base: %TRUE to close the base stream.
25419  *
25420  * Sets whether the base stream will be closed when @stream is closed.
25421  */
25422
25423
25424 /**
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
25430  *
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().
25443  *
25444  * Returns: (transfer full): a #GFile specifying what @file was renamed to, or %NULL
25445  */
25446
25447
25448 /**
25449  * G_TYPE_DATE_TIME:
25450  *
25451  * The #GType for a boxed type holding a #GDateTime.
25452  *
25453  * Since: 2.26
25454  */
25455
25456
25457 /**
25458  * g_settings_get_has_unapplied:
25459  * @settings: a #GSettings object
25460  * @returns: %TRUE if @settings has unapplied changes
25461  *
25462  * Returns whether the #GSettings object has any unapplied
25463  * changes.  This can only be the case if it is in 'delayed-apply' mode.
25464  *
25465  * Since: 2.26
25466  */
25467
25468
25469 /**
25470  * SECTION:gconverteroutputstrea:
25471  * @short_description: Converter Output Stream
25472  * @include: gio/gio.h
25473  * @see_also: #GOutputStream, #GConverter
25474  *
25475  * Converter output stream implements #GOutputStream and allows
25476  * conversion of data of various types during reading.
25477  */
25478
25479
25480 /**
25481  * g_file_poll_mountable_finish:
25482  * @file: input #GFile.
25483  * @result: a #GAsyncResult.
25484  * @error: a #GError, or %NULL
25485  *
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().
25489  * otherwise.
25490  *
25491  * Returns: %TRUE if the operation finished successfully. %FALSE
25492  * Since: 2.22
25493  */
25494
25495
25496 /**
25497  * G_FILE_ATTRIBUTE_TRASH_ORIG_PATH:
25498  *
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.
25503  *
25504  * Since: 2.24.
25505  */
25506
25507
25508 /**
25509  * g_io_error_quark:
25510  *
25511  * Gets the GIO Error Quark.
25512  *
25513  * Returns: a #GQuark.
25514  */
25515
25516
25517 /**
25518  * g_network_service_get_domain:
25519  * @srv: a #GNetworkService
25520  *
25521  * Gets the domain that @srv serves. This might be either UTF-8 or
25522  * ASCII-encoded, depending on what @srv was created with.
25523  *
25524  * Returns: @srv's domain name
25525  * Since: 2.22
25526  */
25527
25528
25529 /**
25530  * g_drive_get_name:
25531  * @drive: a #GDrive.
25532  *
25533  * Gets the name of @drive.
25534  * string should be freed when no longer needed.
25535  *
25536  * Returns: a string containing @drive's name. The returned
25537  */
25538
25539
25540 /**
25541  * g_file_get_child_for_display_name:
25542  * @file: input #GFile.
25543  * @display_name: string to a possible child.
25544  * @error: #GError.
25545  *
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().
25554  *
25555  * Returns: (transfer full): a #GFile to the specified child, or
25556  */
25557
25558
25559 /**
25560  * g_file_info_set_modification_tim:
25561  * @info: a #GFileInfo.
25562  * @mtime: a #GTimeVal.
25563  *
25564  * Sets the %G_FILE_ATTRIBUTE_TIME_MODIFIED attribute in the file
25565  * info to the given time value.
25566  */
25567
25568
25569 /**
25570  * GCancellableSourceFunc:
25571  * @cancellable: the #GCancellable
25572  * @user_data: data passed in by the user.
25573  *
25574  * This is the function type of the callback used for the #GSource
25575  * returned by g_cancellable_source_new().
25576  *
25577  * Returns: it should return %FALSE if the source should be removed.
25578  * Since: 2.28
25579  */
25580
25581
25582 /**
25583  * g_socket_get_protocol:
25584  * @socket: a #GSocket.
25585  *
25586  * Gets the socket protocol id the socket was created with.
25587  * In case the protocol is unknown, -1 is returned.
25588  *
25589  * Returns: a protocol id, or -1 if unknown
25590  * Since: 2.22
25591  */
25592
25593
25594 /**
25595  * GPollableInputStream:
25596  *
25597  * An interface for a #GInputStream that can be polled for readability.
25598  *
25599  * Since: 2.28
25600  */
25601
25602
25603 /**
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
25612  *
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
25615  * for the file).
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.
25620  */
25621
25622
25623 /**
25624  * g_app_info_remove_supports_type:
25625  * @appinfo: a #GAppInfo.
25626  * @content_type: a string.
25627  * @error: a #GError.
25628  *
25629  * Removes a supported type from an application, if possible.
25630  *
25631  * Returns: %TRUE on success, %FALSE on error.
25632  */
25633
25634
25635 /**
25636  * G_FLAGS_CLASS_TYPE_NAME:
25637  * @class: a #GFlagsClass
25638  *
25639  * Get the static type name from a given #GFlagsClass structure.
25640  *
25641  * Returns: the type name.
25642  */
25643
25644
25645 /**
25646  * g_initable_newv:
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.
25652  *
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.
25656  *
25657  * Returns: (transfer full): a newly allocated #GObject, or %NULL on error
25658  * Since: 2.22
25659  */
25660
25661
25662 /**
25663  * GSocketConnectable:
25664  *
25665  * Interface for objects that contain or generate #GSocketAddress<!-- -->es.
25666  */
25667
25668
25669 /**
25670  * g_unix_output_stream_get_close_fd:
25671  * @stream: a #GUnixOutputStream
25672  *
25673  * Returns whether the file descriptor of @stream will be
25674  * closed when the stream is closed.
25675  *
25676  * Returns: %TRUE if the file descriptor is closed when done
25677  * Since: 2.20
25678  */
25679
25680
25681 /**
25682  * g_settings_get_int:
25683  * @settings: a #GSettings object
25684  * @key: the key to get the value for
25685  * @returns: an integer
25686  *
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.
25691  *
25692  * Since: 2.26
25693  */
25694
25695
25696 /**
25697  * g_data_input_stream_set_newline_type:
25698  * @stream: a #GDataInputStream.
25699  * @type: the type of new line return as #GDataStreamNewlineType.
25700  *
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.
25705  */
25706
25707
25708 /**
25709  * g_inet_socket_address_new:
25710  * @address: a #GInetAddress
25711  * @port: a port number
25712  *
25713  * Creates a new #GInetSocketAddress for @address and @port.
25714  *
25715  * Returns: a new #GInetSocketAddress
25716  * Since: 2.22
25717  */
25718
25719
25720 /**
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.
25724  *
25725  * Finishes an operation started with g_dbus_connection_new_for_address().
25726  *
25727  * Returns: A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
25728  * Since: 2.26
25729  */
25730
25731
25732 /**
25733  * g_srv_target_get_weight:
25734  * @target: a #GSrvTarget
25735  *
25736  * Gets @target's weight. You should not need to look at this;
25737  * #GResolver already sorts the targets according to the algorithm in
25738  * RFC 2782.
25739  *
25740  * Returns: @target's weight
25741  * Since: 2.22
25742  */
25743
25744
25745 /**
25746  * G_FILE_ATTRIBUTE_ACCESS_CAN_READ:
25747  *
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.
25751  */
25752
25753
25754 /**
25755  * g_application_command_line_get_cwd:
25756  * @cmdline: a #GApplicationCommandLine
25757  *
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.
25764  *
25765  * Returns: the current directory, or %NULL
25766  * Since: 2.28
25767  */
25768
25769
25770 /**
25771  * g_mount_operation_set_password:
25772  * @op: a #GMountOperation.
25773  * @password: password to set.
25774  *
25775  * Sets the mount operation's password to @password.
25776  */
25777
25778
25779 /**
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
25786  *
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.
25799  *
25800  * Them: the man pages suggest using the entire <literal>struct
25801  * Since: 2.26
25802  */
25803
25804
25805 /**
25806  * g_initable_new:
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.
25812  *
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.
25816  *
25817  * Returns: (transfer full): a newly allocated #GObject, or %NULL on error
25818  * Since: 2.22
25819  */
25820
25821
25822 /**
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.
25827  *
25828  * Sets the @attribute to contain the given @attr_value,
25829  * if possible.
25830  */
25831
25832
25833 /**
25834  * g_volume_get_name:
25835  * @volume: a #GVolume.
25836  *
25837  * Gets the name of @volume.
25838  * be freed with g_free() when no longer needed.
25839  *
25840  * Returns: the name for the given @volume. The returned string should
25841  */
25842
25843
25844 /**
25845  * g_converter_input_stream_new:
25846  * @base_stream: a #GInputStream
25847  * @converter: a #GConverter
25848  *
25849  * Creates a new converter input stream for the @base_stream.
25850  *
25851  * Returns: a new #GInputStream.
25852  */
25853
25854
25855 /**
25856  * SECTION:gsocke:
25857  * @short_description: Low-level socket object
25858  * @include: gio/gio.h
25859  * @see_also: #GInitable
25860  *
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
25873  * %NULL.
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.
25900  *
25901  * Since: 2.22
25902  */
25903
25904
25905 /**
25906  * GFileIcon:file:
25907  *
25908  * The file containing the icon.
25909  */
25910
25911
25912 /**
25913  * g_emblem_new_with_origin:
25914  * @icon: a GIcon containing the icon.
25915  * @origin: a GEmblemOrigin enum defining the emblem's origin
25916  *
25917  * Creates a new emblem for @icon.
25918  *
25919  * Returns: a new #GEmblem.
25920  * Since: 2.18
25921  */
25922
25923
25924 /**
25925  * GDBusServer:client-address:
25926  *
25927  * The D-Bus address that clients can use.
25928  *
25929  * Since: 2.26
25930  */
25931
25932
25933 /**
25934  * GEnumClass:
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.
25940  *
25941  * The class of an enumeration type holds information about its
25942  * possible values.
25943  */
25944
25945
25946 /**
25947  * g_file_output_stream_get_etag:
25948  * @stream: a #GFileOutputStream.
25949  *
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.
25953  *
25954  * Returns: the entity tag for the stream.
25955  */
25956
25957
25958 /**
25959  * G_TYPE_FUNDAMENTAL_MAX:
25960  *
25961  * An integer constant that represents the number of identifiers reserved
25962  * for types that are assigned at compile-time.
25963  */
25964
25965
25966 /**
25967  * GBoxedCopyFunc:
25968  * @boxed: The boxed structure to be copied.
25969  *
25970  * This function is provided by the user and should produce a copy of the passed
25971  * in boxed structure.
25972  *
25973  * Returns: The newly created copy of the boxed structure.
25974  */
25975
25976
25977 /**
25978  * GParamSpecLong:
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
25983  *
25984  * A #GParamSpec derived structure that contains the meta data for long integer properties.
25985  */
25986
25987
25988 /**
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.
25993  *
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().
25998  *
25999  * Returns: the new certificate, or %NULL on error
26000  * Since: 2.28
26001  */
26002
26003
26004 /**
26005  * GMemoryOutputStream:data-size:
26006  *
26007  * Size of data written to the buffer.
26008  *
26009  * Since: 2.24
26010  */
26011
26012
26013 /**
26014  * G_TYPE_BOOLEAN:
26015  *
26016  * The fundamental type corresponding to #gboolean.
26017  */
26018
26019
26020 /**
26021  * GDBusConnection:stream:
26022  *
26023  * The underlying #GIOStream used for I/O.
26024  *
26025  * Since: 2.26
26026  */
26027
26028
26029 /**
26030  * GOptionError:
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.
26034  *
26035  * Error codes returned by option parsing.
26036  */
26037
26038
26039 /**
26040  * g_output_stream_set_pending:
26041  * @stream: a #GOutputStream.
26042  * @error: a #GError location to store the error occuring, or %NULL to ignore.
26043  *
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
26046  *
26047  * Returns: %TRUE if pending was previously unset and is now set.
26048  */
26049
26050
26051 /**
26052  * SECTION:gconverterinputstrea:
26053  * @short_description: Converter Input Stream
26054  * @include: gio/gio.h
26055  * @see_also: #GInputStream, #GConverter
26056  *
26057  * Converter input stream implements #GInputStream and allows
26058  * conversion of data of various types during reading.
26059  */
26060
26061
26062 /**
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
26068  *
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.
26080  *
26081  * Returns: Number of bytes skipped, or -1 on error
26082  */
26083
26084
26085 /**
26086  * g_mount_operation_set_password_save:
26087  * @op: a #GMountOperation.
26088  * @save: a set of #GPasswordSave flags.
26089  *
26090  * Sets the state of saving passwords for the mount operation.
26091  */
26092
26093
26094 /**
26095  * g_app_info_launch_default_for_uri:
26096  * @uri: the uri to show
26097  * @launch_context: an optional #GAppLaunchContext.
26098  * @error: a #GError.
26099  *
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
26103  * required.
26104  *
26105  * Returns: %TRUE on success, %FALSE on error.
26106  */
26107
26108
26109 /**
26110  * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME:
26111  *
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.
26118  */
26119
26120
26121 /**
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
26126  *
26127  * Used to select the type of data format to use for #GZlibDecompressor
26128  * and #GZlibCompressor.
26129  *
26130  * Since: 2.24
26131  */
26132
26133
26134 /**
26135  * G_TYPE_PARAM_VALUE_ARRAY:
26136  *
26137  * The #GType of #GParamSpecValueArray.
26138  */
26139
26140
26141 /**
26142  * g_buffered_input_stream_fill_finish:
26143  * @stream: a #GBufferedInputStream
26144  * @result: a #GAsyncResult
26145  * @error: a #GError
26146  *
26147  * Finishes an asynchronous read.
26148  *
26149  * Returns: a #gssize of the read stream, or %-1 on an error.
26150  */
26151
26152
26153 /**
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.
26159  *
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().
26166  *
26167  * Since: 2.24
26168  */
26169
26170
26171 /**
26172  * g_file_info_set_name:
26173  * @info: a #GFileInfo.
26174  * @name: a string containing a name.
26175  *
26176  * Sets the name attribute for the current #GFileInfo.
26177  * See %G_FILE_ATTRIBUTE_STANDARD_NAME.
26178  */
26179
26180
26181 /**
26182  * GMainContext:
26183  *
26184  * The <structname>GMainContext</structname> struct is an opaque data
26185  * type representing a set of sources to be handled in a main loop.
26186  */
26187
26188
26189 /**
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
26193  *
26194  * Creates a #GSocketAddress subclass corresponding to the native
26195  * <type>struct sockaddr</type> @native.
26196  * otherwise %NULL.
26197  *
26198  * Returns: a new #GSocketAddress if @native could successfully be converted,
26199  * Since: 2.22
26200  */
26201
26202
26203 /**
26204  * GResolverError:
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
26208  *
26209  * An error code used with %G_RESOLVER_ERROR in a #GError returned
26210  * from a #GResolver routine.
26211  *
26212  * Since: 2.22
26213  */
26214
26215
26216 /**
26217  * g_drive_start_finish:
26218  * @drive: a #GDrive.
26219  * @result: a #GAsyncResult.
26220  * @error: a #GError, or %NULL
26221  *
26222  * Finishes starting a drive.
26223  * %FALSE otherwise.
26224  *
26225  * Returns: %TRUE if the drive has been started successfully,
26226  * Since: 2.22
26227  */
26228
26229
26230 /**
26231  * GTypeDebugFlags:
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.
26236  *
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".
26242  */
26243
26244
26245 /**
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
26251  *
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.
26259  *
26260  * Since: 2.28
26261  */
26262
26263
26264 /**
26265  * g_socket_set_keepalive:
26266  * @socket: a #GSocket.
26267  * @keepalive: Value for the keepalive flag
26268  *
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
26274  * the connection.
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.
26282  *
26283  * Since: 2.22
26284  */
26285
26286
26287 /**
26288  * SECTION:gprox:
26289  * @short_description: Interface for proxy handling
26290  *
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().
26297  *
26298  * Since: 2.26
26299  */
26300
26301
26302 /**
26303  * G_IS_PARAM_SPEC_STRING:
26304  * @pspec: a valid #GParamSpec instance
26305  *
26306  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING.
26307  *
26308  * Returns: %TRUE on success.
26309  */
26310
26311
26312 /**
26313  * g_unix_fd_message_steal_fds:
26314  * @message: a #GUnixFDMessage
26315  * @length: pointer to the length of the returned array, or %NULL
26316  *
26317  * Returns the array of file descriptors that is contained in this
26318  * object.
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
26323  * descriptors.
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.
26329  *
26330  * Returns: an array of file descriptors
26331  * Since: 2.22
26332  */
26333
26334
26335 /**
26336  * G_TYPE_POINTER:
26337  *
26338  * The fundamental type corresponding to #gpointer.
26339  */
26340
26341
26342 /**
26343  * G_VOLUME_IDENTIFIER_KIND_UUID:
26344  *
26345  * The string used to obtain a UUID with g_volume_get_identifier().
26346  */
26347
26348
26349 /**
26350  * G_VARIANT_TYPE_UNIT:
26351  *
26352  * The empty tuple type.  Has only one instance.  Known also as "triv"
26353  * or "void".
26354  */
26355
26356
26357 /**
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
26362  *
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
26369  * be unset.
26370  * Free the returned object with g_object_unref() when no longer needed.
26371  *
26372  * Returns: (transfer full): A #GFileInfo or %NULL on error or end of enumerator.
26373  */
26374
26375
26376 /**
26377  * g_unix_fd_list_get_length:
26378  * @list: a #GUnixFDList
26379  *
26380  * contained within).
26381  *
26382  * Gets the length of @list (ie: the number of file descriptors
26383  * Returns: the length of @list
26384  * Since: 2.24
26385  */
26386
26387
26388 /**
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.
26394  *
26395  * The #GTypePlugin interface is used by the type system in order to handle
26396  * the lifecycle of dynamically loaded types.
26397  */
26398
26399
26400 /**
26401  * GDBusServerClass:
26402  * @new_connection: Signal class handler for the #GDBusServer::new-connection signal.
26403  *
26404  * Class structure for #GDBusServer.
26405  *
26406  * Since: 2.26
26407  */
26408
26409
26410 /**
26411  * g_socket_speaks_ipv4:
26412  * @socket: a #GSocket
26413  *
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
26418  * information.
26419  * No other types of sockets are currently considered as being capable
26420  * of speaking IPv4.
26421  *
26422  * Returns: %TRUE if this socket can be used with IPv4.
26423  * Since: 2.22
26424  */
26425
26426
26427 /**
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).
26431  *
26432  * Sets @message to be of @type.
26433  *
26434  * Since: 2.26
26435  */
26436
26437
26438 /**
26439  * G_TYPE_GTYPE:
26440  *
26441  * The type for #GType.
26442  */
26443
26444
26445 /**
26446  * G_VARIANT_TYPE:
26447  * @type_string: a well-formed #GVariantType type string
26448  *
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
26453  * type string.
26454  * Since 2.24
26455  */
26456
26457
26458 /**
26459  * G_TYPE_REGEX:
26460  *
26461  * The #GType for a boxed type holding a #GRegex reference.
26462  *
26463  * Since: 2.14
26464  */
26465
26466
26467 /**
26468  * GAction:enabled:
26469  *
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.
26473  *
26474  * Since: 2.28
26475  */
26476
26477
26478 /**
26479  * G_TYPE_INT64:
26480  *
26481  * The fundamental type corresponding to #gint64.
26482  */
26483
26484
26485 /**
26486  * G_TIME_SPAN_MILLISECOND:
26487  *
26488  * Evaluates to a time span of one millisecond.
26489  *
26490  * Since: 2.26
26491  */
26492
26493
26494 /**
26495  * GAction:name:
26496  *
26497  * The name of the action.  This is mostly meaningful for identifying
26498  * the action once it has been added to a #GActionGroup.
26499  *
26500  * Since: 2.28
26501  */
26502
26503
26504 /**
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.
26513  *
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.
26518  *
26519  * Since: 2.28
26520  */
26521
26522
26523 /**
26524  * g_unix_mount_guess_should_display:
26525  * @mount_entry: a #GUnixMountEntry
26526  *
26527  * Guesses whether a Unix mount should be displayed in the UI.
26528  *
26529  * Returns: %TRUE if @mount_entry is deemed to be displayable.
26530  */
26531
26532
26533 /**
26534  * g_volume_monitor_get_mount_for_uuid:
26535  * @volume_monitor: a #GVolumeMonitor.
26536  * @uuid: the UUID to look for
26537  *
26538  * Finds a #GMount object by its UUID (see g_mount_get_uuid())
26539  * Free the returned object with g_object_unref().
26540  *
26541  * Returns: (transfer full): a #GMount or %NULL if no such mount is available.
26542  */
26543
26544
26545 /**
26546  * G_VALUE_HOLDS_INT64:
26547  * @value: a valid #GValue structure
26548  *
26549  * Checks whether the given #GValue can hold values of type %G_TYPE_INT64.
26550  *
26551  * Returns: %TRUE on success.
26552  */
26553
26554
26555 /**
26556  * GFileMonitor::changed:
26557  * @monitor: a #GFileMonitor.
26558  * @file: a #GFile.
26559  * @other_file: a #GFile or #NULL.
26560  * @event_type: a #GFileMonitorEvent.
26561  *
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.
26567  */
26568
26569
26570 /**
26571  * G_IS_PARAM_SPEC_FLAGS:
26572  * @pspec: a valid #GParamSpec instance
26573  *
26574  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS.
26575  *
26576  * Returns: %TRUE on success.
26577  */
26578
26579
26580 /**
26581  * g_file_create_readwrite_finish:
26582  * @file: input #GFile
26583  * @res: a #GAsyncResult
26584  * @error: a #GError, or %NULL
26585  *
26586  * Finishes an asynchronous file create operation started with
26587  * g_file_create_readwrite_async().
26588  * Free the returned object with g_object_unref().
26589  *
26590  * Returns: (transfer full): a #GFileIOStream or %NULL on error.
26591  * Since: 2.22
26592  */
26593
26594
26595 /**
26596  * g_converter_output_stream_get_converter:
26597  * @converter_stream: a #GConverterOutputStream
26598  *
26599  * Gets the #GConverter that is used by @converter_stream.
26600  *
26601  * Returns: (transfer none): the converter of the converter output stream
26602  * Since: 2.24
26603  */
26604
26605
26606 /**
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.
26611  *
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.
26615  *
26616  * Since: 2.26
26617  */
26618
26619
26620 /**
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
26624  *
26625  * Sets the rate limit to which the @monitor will report
26626  * consecutive change events to the same file.
26627  */
26628
26629
26630 /**
26631  * g_cancellable_set_error_if_cancelled:
26632  * @cancellable: a #GCancellable object.
26633  * @error: #GError to append error state to.
26634  *
26635  * If the @cancellable is cancelled, sets the error to notify
26636  * that the operation was cancelled.
26637  *
26638  * Returns: %TRUE if @cancellable was cancelled, %FALSE if it was not.
26639  */
26640
26641
26642 /**
26643  * g_file_create_finish:
26644  * @file: input #GFile.
26645  * @res: a #GAsyncResult.
26646  * @error: a #GError, or %NULL
26647  *
26648  * Finishes an asynchronous file create operation started with
26649  * g_file_create_async().
26650  * Free the returned object with g_object_unref().
26651  *
26652  * Returns: (transfer full): a #GFileOutputStream or %NULL on error.
26653  */
26654
26655
26656 /**
26657  * g_tls_connection_set_use_system_certdb:
26658  * @conn: a #GTlsConnection
26659  * @use_system_certdb: whether to use the system certificate database
26660  *
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).
26668  *
26669  * Since: 2.28
26670  */
26671
26672
26673 /**
26674  * g_mount_operation_get_password_save:
26675  * @op: a #GMountOperation.
26676  *
26677  * Gets the state of saving passwords for the mount operation.
26678  *
26679  * Returns: a #GPasswordSave flag.
26680  */
26681
26682
26683 /**
26684  * G_PROXY_EXTENSION_POINT_NAME:
26685  *
26686  * Extension point for proxy functionality.
26687  * See <link linkend="extending-gio">Extending GIO</link>.
26688  *
26689  * Since: 2.26
26690  */
26691
26692
26693 /**
26694  * g_tls_client_connection_get_validation_flags:
26695  * @conn: the #GTlsClientConnection
26696  *
26697  * Gets @conn's validation flags
26698  *
26699  * Returns: the validation flags
26700  * Since: 2.28
26701  */
26702
26703
26704 /**
26705  * SECTION:gzcompresso:
26706  * @short_description: Zlib compressor
26707  * @include: gio/gio.h
26708  *
26709  * #GZlibCompressor is an implementation of #GConverter that
26710  * compresses data using zlib.
26711  */
26712
26713
26714 /**
26715  * g_buffered_input_stream_new:
26716  * @base_stream: a #GInputStream
26717  *
26718  * Creates a new #GInputStream from the given @base_stream, with
26719  * a buffer set to the default size (4 kilobytes).
26720  *
26721  * Returns: a #GInputStream for the given @base_stream.
26722  */
26723
26724
26725 /**
26726  * G_PARAM_SPEC_UINT:
26727  * @pspec: a valid #GParamSpec instance
26728  *
26729  * Cast a #GParamSpec instance into a #GParamSpecUInt.
26730  */
26731
26732
26733 /**
26734  * GParamFlags:
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
26745  *
26746  * Through the #GParamFlags flag values, certain aspects of parameters
26747  * can be configured.
26748  */
26749
26750
26751 /**
26752  * g_unix_connection_send_credentials:
26753  * @connection: A #GUnixConnection.
26754  * @cancellable: A #GCancellable or %NULL.
26755  * @error: Return location for error or %NULL.
26756  *
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
26760  * credentials.
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.
26766  *
26767  * Returns: %TRUE on success, %FALSE if @error is set.
26768  * Since: 2.26
26769  */
26770
26771
26772 /**
26773  * G_IS_PARAM_SPEC_VARIANT:
26774  * @pspec: a #GParamSpec
26775  *
26776  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VARIANT.
26777  *
26778  * Returns: %TRUE on success
26779  * Since: 2.26
26780  */
26781
26782
26783 /**
26784  * g_tls_error_quark:
26785  *
26786  * Gets the TLS error quark.
26787  *
26788  * Returns: a #GQuark.
26789  * Since: 2.28
26790  */
26791
26792
26793 /**
26794  * g_settings_backend_changed:
26795  * @backend: a #GSettingsBackend implementation
26796  * @key: the name of the key
26797  * @origin_tag: the origin tag
26798  *
26799  * Signals that a single key has possibly changed.  Backend
26800  * implementations should call this if a key has possibly changed its
26801  * value.
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.
26816  *
26817  * Since: 2.26
26818  */
26819
26820
26821 /**
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.
26827  *
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.
26833  *
26834  * Returns: (transfer full): a string with the line that was read in
26835  * Since: 2.20
26836  */
26837
26838
26839 /**
26840  * g_content_type_get_icon:
26841  * @type: a content type string
26842  *
26843  * Gets the icon for a content type.
26844  * object with g_object_unref()
26845  *
26846  * Returns: (transfer full): #GIcon corresponding to the content type. Free the returned
26847  */
26848
26849
26850 /**
26851  * G_TYPE_IO_CHANNEL:
26852  *
26853  * The #GType for #GIOChannel.
26854  */
26855
26856
26857 /**
26858  * g_tls_connection_handshake_finish:
26859  * @conn: a #GTlsConnection
26860  * @result: a #GAsyncResult.
26861  * @error: a #GError pointer, or %NULL
26862  *
26863  * Finish an asynchronous TLS handshake operation. See
26864  * g_tls_connection_handshake() for more information.
26865  * case @error will be set.
26866  *
26867  * Returns: %TRUE on success, %FALSE on failure, in which
26868  * Since: 2.28
26869  */
26870
26871
26872 /**
26873  * GInetAddress:is-mc-node-local:
26874  *
26875  * Whether this is a node-local multicast address.
26876  * See g_inet_address_get_is_mc_node_local().
26877  *
26878  * Since: 2.22
26879  */
26880
26881
26882 /**
26883  * GInetAddress:is-site-local:
26884  *
26885  * Whether this is a site-local address.
26886  * See g_inet_address_get_is_loopback().
26887  *
26888  * Since: 2.22
26889  */
26890
26891
26892 /**
26893  * G_OPTION_REMAINING:
26894  *
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.
26903  *
26904  * Since: 2.6
26905  */
26906
26907
26908 /**
26909  * G_OBJECT_TYPE_NAME:
26910  * @object: Object to return the type name for.
26911  *
26912  * Get the name of an object's type.
26913  * should not be freed.
26914  *
26915  * Returns: Type name of @object. The string is owned by the type system and
26916  */
26917
26918
26919 /**
26920  * g_io_scheduler_cancel_all_jobs:
26921  *
26922  * Cancels all cancellable I/O jobs.
26923  * A job is cancellable if a #GCancellable was passed into
26924  * g_io_scheduler_push_job().
26925  */
26926
26927
26928 /**
26929  * g_unix_fd_list_new:
26930  *
26931  * Creates a new #GUnixFDList containing no file descriptors.
26932  *
26933  * Returns: a new #GUnixFDList
26934  * Since: 2.24
26935  */
26936
26937
26938 /**
26939  * g_network_address_get_hostname:
26940  * @addr: a #GNetworkAddress
26941  *
26942  * Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded,
26943  * depending on what @addr was created with.
26944  *
26945  * Returns: @addr's hostname
26946  * Since: 2.22
26947  */
26948
26949
26950 /**
26951  * G_TYPE_PARAM_LONG:
26952  *
26953  * The #GType of #GParamSpecLong.
26954  */
26955
26956
26957 /**
26958  * GOutputStream:
26959  *
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.
26964  */
26965
26966
26967 /**
26968  * GFileOutputStream:
26969  *
26970  * A subclass of GOutputStream for opened files. This adds
26971  * a few file-specific operations and seeking and truncating.
26972  * #GFileOutputStream implements GSeekable.
26973  */
26974
26975
26976 /**
26977  * SECTION:ginetsocketaddres:
26978  * @short_description: Internet GSocketAddress
26979  *
26980  * An IPv4 or IPv6 socket address; that is, the combination of a
26981  * #GInetAddress and a port number.
26982  */
26983
26984
26985 /**
26986  * GDBusArgInfo:
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.
26991  *
26992  * Information about an argument for a method or a signal.
26993  *
26994  * Since: 2.26
26995  */
26996
26997
26998 /**
26999  * GDrive::stop-button:
27000  * @drive: a #GDrive.
27001  *
27002  * Emitted when the physical stop button (if any) of a drive has
27003  * been pressed.
27004  *
27005  * Since: 2.22
27006  */
27007
27008
27009 /**
27010  * SECTION:gsimplepermissio:
27011  * @title: GSimplePermission
27012  * @short_description: A GPermission that doesn't change value
27013  *
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.
27018  */
27019
27020
27021 /**
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.
27025  *
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.
27034  *
27035  * Returns: (transfer full): A #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
27036  * Since: 2.26
27037  */
27038
27039
27040 /**
27041  * g_action_group_get_action_state_hint:
27042  * @action_group: a #GActionGroup
27043  * @action_name: the name of the action to query
27044  *
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.
27058  *
27059  * Possible value for the state.  if a #gvariant pair (ie: two-tuple) is
27060  * Returns: (transfer full): the state range hint
27061  * Since: 2.28
27062  */
27063
27064
27065 /**
27066  * g_app_info_get_name:
27067  * @appinfo: a #GAppInfo.
27068  *
27069  * Gets the installed name of the application.
27070  *
27071  * Returns: the name of the application for @appinfo.
27072  */
27073
27074
27075 /**
27076  * G_TYPE_HAS_VALUE_TABLE:
27077  * @type: A #GType value.
27078  *
27079  * Checks if @type has a #GTypeValueTable.
27080  *
27081  * Returns: %TRUE on success.
27082  */
27083
27084
27085 /**
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
27097  *
27098  * The data types for file attributes.
27099  */
27100
27101
27102 /**
27103  * g_file_info_set_attribute_status:
27104  * @info: a #GFileInfo
27105  * @attribute: a file attribute key
27106  * @status: a #GFileAttributeStatus
27107  *
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.
27113  *
27114  * Returns: %TRUE if the status was changed, %FALSE if the key was not set.
27115  * Since: 2.22
27116  */
27117
27118
27119 /**
27120  * g_file_info_get_etag:
27121  * @info: a #GFileInfo.
27122  *
27123  * Gets the <link linkend="gfile-etag">entity tag</link> for a given
27124  * #GFileInfo. See %G_FILE_ATTRIBUTE_ETAG_VALUE.
27125  *
27126  * Returns: a string containing the value of the "etag:value" attribute.
27127  */
27128
27129
27130 /**
27131  * G_TYPE_DBUS_METHOD_INFO:
27132  *
27133  * The #GType for a boxed type holding a #GDBusMethodInfo.
27134  *
27135  * Since: 2.26
27136  */
27137
27138
27139 /**
27140  * g_app_info_get_icon:
27141  * @appinfo: a #GAppInfo.
27142  *
27143  * Gets the icon for the application.
27144  *
27145  * Returns: (transfer none): the default #GIcon for @appinfo.
27146  */
27147
27148
27149 /**
27150  * g_volume_get_activation_root:
27151  * @volume: a #GVolume
27152  *
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
27159  * <programlisting>
27160  * GMount *mount;
27161  * GFile *mount_root
27162  * GFile *volume_activation_root;
27163  * mount = g_volume_get_mount (volume); /&ast; mounted, so never NULL &ast;/
27164  * mount_root = g_mount_get_root (mount);
27165  * volume_activation_root = g_volume_get_activation_root(volume); /&ast; assume not NULL &ast;/
27166  * </programlisting>
27167  * then the expression
27168  * <programlisting>
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.
27176  *
27177  * Returns: (transfer full): the activation root of @volume or %NULL. Use
27178  * Since: 2.18
27179  */
27180
27181
27182 /**
27183  * g_dbus_message_set_destination:
27184  * @message: A #GDBusMessage.
27185  * @value: The value to set.
27186  *
27187  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
27188  *
27189  * Since: 2.26
27190  */
27191
27192
27193 /**
27194  * G_TYPE_VARIANT:
27195  *
27196  * The fundamental type corresponding to #GVariant.
27197  * All floating #GVariant instances passed through the #GType system are
27198  * consumed.
27199  * Note that callbacks in closures, and signal handlers
27200  * for signals of return type %G_TYPE_VARIANT, must never return floating
27201  * variants.
27202  * with this fundamental type in 2.26.
27203  *
27204  * Note: GLib 2.24 did include a boxed type with this name. It was replaced
27205  * Since: 2.26
27206  */
27207
27208
27209 /**
27210  * g_volume_eject:
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
27216  *
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.
27220  *
27221  * Deprecated: 2.22: Use g_volume_eject_with_operation() instead.
27222  */
27223
27224
27225 /**
27226  * G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE:
27227  *
27228  * The string used to obtain a Unix device path with g_volume_get_identifier().
27229  */
27230
27231
27232 /**
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.
27237  *
27238  * Unblocks all handlers on an instance that match @func and @data.
27239  *
27240  * Returns: The number of handlers that matched.
27241  */
27242
27243
27244 /**
27245  * g_tls_backend_get_default:
27246  *
27247  * Gets the default #GTlsBackend for the system.
27248  *
27249  * Returns: a #GTlsBackend
27250  * Since: 2.28
27251  */
27252
27253
27254 /**
27255  * g_dbus_message_new:
27256  *
27257  * Creates a new empty #GDBusMessage.
27258  *
27259  * Returns: A #GDBusMessage. Free with g_object_unref().
27260  * Since: 2.26
27261  */
27262
27263
27264 /**
27265  * g_dbus_message_get_arg0:
27266  * @message: A #GDBusMessage.
27267  *
27268  * Convenience to get the first item in the body of @message.
27269  *
27270  * Returns: The string item or %NULL if the first item in the body of
27271  * Since: 2.26
27272  */
27273
27274
27275 /**
27276  * g_drive_is_media_removable:
27277  * @drive: a #GDrive.
27278  *
27279  * Checks if the @drive supports removable media.
27280  *
27281  * Returns: %TRUE if @drive supports removable media, %FALSE otherwise.
27282  */
27283
27284
27285 /**
27286  * g_unix_socket_address_get_address_type:
27287  * @address: a #GInetSocketAddress
27288  *
27289  * Gets @address's type.
27290  *
27291  * Returns: a #GUnixSocketAddressType
27292  * Since: 2.26
27293  */
27294
27295
27296 /**
27297  * SECTION:gtlsconnectio:
27298  * @short_description: TLS connection type
27299  * @include: gio/gio.h
27300  *
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.
27305  *
27306  * Since: 2.28
27307  */
27308
27309
27310 /**
27311  * G_PARAM_SPEC_FLAGS:
27312  * @pspec: a valid #GParamSpec instance
27313  *
27314  * Cast a #GParamSpec instance into a #GParamSpecFlags.
27315  */
27316
27317
27318 /**
27319  * g_tls_backend_get_server_connection_type:
27320  * @backend: the #GTlsBackend
27321  *
27322  * Gets the #GType of @backend's #GTlsServerConnection implementation.
27323  * implementation.
27324  *
27325  * Returns: the #GType of @backend's #GTlsServerConnection
27326  * Since: 2.28
27327  */
27328
27329
27330 /**
27331  * GTlsError:
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().
27339  *
27340  * An error code used with %G_TLS_ERROR in a #GError returned from a
27341  * TLS-related routine.
27342  *
27343  * Since: 2.28
27344  */
27345
27346
27347 /**
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.
27353  *
27354  * Puts a byte into the output stream.
27355  *
27356  * Returns: %TRUE if @data was successfully added to the @stream.
27357  */
27358
27359
27360 /**
27361  * G_PRIORITY_HIGH_IDLE:
27362  *
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.)
27368  */
27369
27370
27371 /**
27372  * G_TLS_ERROR:
27373  *
27374  * Error domain for TLS. Errors in this domain will be from the
27375  * #GTlsError enumeration. See #GError for more information on error
27376  * domains.
27377  */
27378
27379
27380 /**
27381  * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC:
27382  *
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.
27387  */
27388
27389
27390 /**
27391  * g_drive_eject_finish:
27392  * @drive: a #GDrive.
27393  * @result: a #GAsyncResult.
27394  * @error: a #GError, or %NULL
27395  *
27396  * Finishes ejecting a drive.
27397  * %FALSE otherwise.
27398  *
27399  * Returns: %TRUE if the drive has been ejected successfully,
27400  * Deprecated: 2.22: Use g_drive_eject_with_operation_finish() instead.
27401  */
27402
27403
27404 /**
27405  * GParamSpecFloat:
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.
27411  *
27412  * A #GParamSpec derived structure that contains the meta data for float properties.
27413  */
27414
27415
27416 /**
27417  * g_app_info_can_delete:
27418  * @appinfo: a #GAppInfo
27419  *
27420  * Obtains the information whether the #GAppInfo can be deleted.
27421  * See g_app_info_delete().
27422  *
27423  * Returns: %TRUE if @appinfo can be deleted
27424  * Since: 2.20
27425  */
27426
27427
27428 /**
27429  * GApplicationCommandLineClass:
27430  *
27431  * The <structname>GApplicationCommandLineClass</structname> structure contains
27432  * private data only
27433  *
27434  * Since: 2.26
27435  */
27436
27437
27438 /**
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.
27443  *
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>
27448  * method.
27449  *
27450  * Since: 2.26
27451  */
27452
27453
27454 /**
27455  * GTlsConnection:base-io-stream:
27456  *
27457  * The #GIOStream that the connection wraps
27458  *
27459  * Since: 2.28
27460  */
27461
27462
27463 /**
27464  * g_network_service_get_service:
27465  * @srv: a #GNetworkService
27466  *
27467  * Gets @srv's service name (eg, "ldap").
27468  *
27469  * Returns: @srv's service name
27470  * Since: 2.22
27471  */
27472
27473
27474 /**
27475  * G_TYPE_IS_INSTANTIATABLE:
27476  * @type: A #GType value.
27477  *
27478  * Checks if @type can be instantiated.  Instantiation is the
27479  * process of creating an instance (object) of this type.
27480  *
27481  * Returns: %TRUE on success.
27482  */
27483
27484
27485 /**
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().
27490  *
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.
27494  *
27495  * Returns: %TRUE to stope further signal handlers from being called
27496  */
27497
27498
27499 /**
27500  * g_vfs_get_file_for_path:
27501  * @vfs: a #GVfs.
27502  * @path: a string containing a VFS path.
27503  *
27504  * Gets a #GFile for @path.
27505  * Free the returned object with g_object_unref().
27506  *
27507  * Returns: (transfer full): a #GFile.
27508  */
27509
27510
27511 /**
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.
27516  *
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.
27522  *
27523  * Returns: a pointer to the class structure
27524  */
27525
27526
27527 /**
27528  * GInetAddress:is-mc-global:
27529  *
27530  * Whether this is a global multicast address.
27531  * See g_inet_address_get_is_mc_global().
27532  *
27533  * Since: 2.22
27534  */
27535
27536
27537 /**
27538  * g_unix_fd_list_append:
27539  * @list: a #GUnixFDList
27540  * @fd: a valid open file descriptor
27541  * @error: a #GError pointer
27542  *
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)
27553  *
27554  * Returns: the index of the appended fd in case of success, else -1
27555  * Since: 2.24
27556  */
27557
27558
27559 /**
27560  * g_unix_mount_point_guess_name:
27561  * @mount_point: a #GUnixMountPoint
27562  *
27563  * Guesses the name of a Unix mount point.
27564  * The result is a translated string.
27565  * be freed with g_free()
27566  *
27567  * Returns: A newly allocated string that must
27568  */
27569
27570
27571 /**
27572  * g_dbus_message_lock:
27573  * @message: A #GDBusMessage.
27574  *
27575  * If @message is locked, does nothing. Otherwise locks the message.
27576  *
27577  * Since: 2.26
27578  */
27579
27580
27581 /**
27582  * g_filter_input_stream_set_close_base_stream:
27583  * @stream: a #GFilterInputStream.
27584  * @close_base: %TRUE to close the base stream.
27585  *
27586  * Sets whether the base stream will be closed when @stream is closed.
27587  */
27588
27589
27590 /**
27591  * g_simple_async_result_complete:
27592  * @simple: a #GSimpleAsyncResult.
27593  *
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.
27600  */
27601
27602
27603 /**
27604  * g_drive_get_icon:
27605  * @drive: a #GDrive.
27606  *
27607  * Gets the icon for @drive.
27608  * Free the returned object with g_object_unref().
27609  *
27610  * Returns: (transfer full): #GIcon for the @drive.
27611  */
27612
27613
27614 /**
27615  * g_unix_mount_free:
27616  * @mount_entry: a #GUnixMount.
27617  *
27618  * Frees a unix mount.
27619  */
27620
27621
27622 /**
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.
27627  *
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.
27635  *
27636  * Returns: the port number, or 0 in case of failure.
27637  * Since: 2.24
27638  */
27639
27640
27641 /**
27642  * g_unix_mount_point_get_fs_type:
27643  * @mount_point: a #GUnixMountPoint.
27644  *
27645  * Gets the file system type for the mount point.
27646  *
27647  * Returns: a string containing the file system type.
27648  */
27649
27650
27651 /**
27652  * G_TYPE_INT:
27653  *
27654  * The fundamental type corresponding to #gint.
27655  */
27656
27657
27658 /**
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.
27664  *
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
27679  * be returned.
27680  *
27681  * Returns: (transfer full): a #GFileInfo for the @stream, or %NULL on error.
27682  */
27683
27684
27685 /**
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().
27692  *
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
27696  * at this node.
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
27705  * case.
27706  *
27707  * Segment of the object path (ie: it never contains a slash).
27708  * Returns: A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.
27709  * Since: 2.26
27710  */
27711
27712
27713 /**
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.
27721  *
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.
27734  *
27735  * Since: 2.20
27736  */
27737
27738
27739 /**
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.
27744  *
27745  * Used by g_file_set_attributes_from_info() when setting file attributes.
27746  */
27747
27748
27749 /**
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.
27754  *
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
27758  * an error domain.
27759  * exists.
27760  *
27761  * Returns: %TRUE if the association was created, %FALSE if it already
27762  * Since: 2.26
27763  */
27764
27765
27766 /**
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.
27772  *
27773  * Emitted when a signal from the remote object and interface that @proxy is for, has been received.
27774  *
27775  * Since: 2.26
27776  */
27777
27778
27779 /**
27780  * g_filename_completer_set_dirs_only:
27781  * @completer: the filename completer.
27782  * @dirs_only: a #gboolean.
27783  *
27784  * If @dirs_only is %TRUE, @completer will only
27785  * complete directory names, and not file names.
27786  */
27787
27788
27789 /**
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
27795  *
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.
27799  */
27800
27801
27802 /**
27803  * g_volume_monitor_get_mounts:
27804  * @volume_monitor: a #GVolumeMonitor.
27805  *
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().
27809  *
27810  * Returns: (element-type GMount) (transfer full): a #GList of #GMount objects.
27811  */
27812
27813
27814 /**
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.
27819  *
27820  * Disconnects all handlers on an instance that match @func and @data.
27821  *
27822  * Returns: The number of handlers that matched.
27823  */
27824
27825
27826 /**
27827  * g_dbus_proxy_get_connection:
27828  * @proxy: A #GDBusProxy.
27829  *
27830  * Gets the connection @proxy is for.
27831  *
27832  * Returns: (transfer none): A #GDBusConnection owned by @proxy. Do not free.
27833  * Since: 2.26
27834  */
27835
27836
27837 /**
27838  * g_win32_input_stream_get_close_handle:
27839  * @stream: a #GWin32InputStream
27840  *
27841  * Returns whether the handle of @stream will be
27842  * closed when the stream is closed.
27843  *
27844  * Returns: %TRUE if the handle is closed when done
27845  * Since: 2.26
27846  */
27847
27848
27849 /**
27850  * g_unix_mount_is_system_internal:
27851  * @mount_entry: a #GUnixMount.
27852  *
27853  * Checks if a unix mount is a system path.
27854  *
27855  * Returns: %TRUE if the unix mount is for a system path.
27856  */
27857
27858
27859 /**
27860  * g_settings_list_keys:
27861  * @settings: a #GSettings object
27862  * @returns: (transfer full) (element-type utf8): a list of the keys on @settings
27863  *
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
27869  * with it.
27870  */
27871
27872
27873 /**
27874  * g_file_info_get_content_type:
27875  * @info: a #GFileInfo.
27876  *
27877  * Gets the file's content type.
27878  *
27879  * Returns: a string containing the file's content type.
27880  */
27881
27882
27883 /**
27884  * g_tls_client_connection_set_validation_flags:
27885  * @conn: the #GTlsClientConnection
27886  * @flags: the #GTlsCertificateFlags to use
27887  *
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.
27891  *
27892  * Since: 2.28
27893  */
27894
27895
27896 /**
27897  * g_socket_address_enumerator_next_finish:
27898  * @enumerator: a #GSocketAddressEnumerator
27899  * @result: a #GAsyncResult
27900  * @error: a #GError
27901  *
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
27905  * error handling.
27906  * error (in which case *@error will be set) or if there are no
27907  * more addresses.
27908  *
27909  * Returns: (transfer full): a #GSocketAddress (owned by the caller), or %NULL on
27910  */
27911
27912
27913 /**
27914  * GTypeModule:
27915  * @name: the name of the module
27916  *
27917  * The members of the <structname>GTypeModule</structname> structure should not
27918  * be accessed directly, except for the @name field.
27919  */
27920
27921
27922 /**
27923  * g_unix_socket_address_new_abstract:
27924  * @path: the abstract name
27925  * @path_len: the length of @path, or -1
27926  *
27927  * Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
27928  * #GUnixSocketAddress for @path.
27929  *
27930  * Returns: a new #GUnixSocketAddress
27931  * Deprecated: Use g_unix_socket_address_new_with_type().
27932  */
27933
27934
27935 /**
27936  * GInputStream:
27937  *
27938  * Base class for streaming input operations.
27939  */
27940
27941
27942 /**
27943  * g_file_get_child:
27944  * @file: input #GFile.
27945  * @name: string containing the child's basename.
27946  *
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().
27953  *
27954  * Returns: (transfer full): a #GFile to a child specified by @name.
27955  */
27956
27957
27958 /**
27959  * g_settings_set:
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
27965  *
27966  * Sets @key in @settings to @value.
27967  * A convenience function that combines g_settings_set_value() with
27968  * g_variant_new().
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.
27972  *
27973  * Since: 2.26
27974  */
27975
27976
27977 /**
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.
27982  *
27983  * Flags specifying the behaviour of an attribute.
27984  */
27985
27986
27987 /**
27988  * G_VALUE_HOLDS_ULONG:
27989  * @value: a valid #GValue structure
27990  *
27991  * Checks whether the given #GValue can hold values of type %G_TYPE_ULONG.
27992  *
27993  * Returns: %TRUE on success.
27994  */
27995
27996
27997 /**
27998  * GUnixInputStream:
27999  *
28000  * Implements #GInputStream for reading from selectable unix file descriptors
28001  */
28002
28003
28004 /**
28005  * g_application_set_action_group:
28006  * @application: a #GApplication
28007  * @action_group: (allow-none): a #GActionGroup, or %NULL
28008  *
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
28012  * registered.
28013  *
28014  * Since: 2.28
28015  */
28016
28017
28018 /**
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
28023  *
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
28028  * #GVolumeMonitor.
28029  *
28030  * Returns: %TRUE, %FALSE if operation failed.
28031  */
28032
28033
28034 /**
28035  * g_file_find_enclosing_mount:
28036  * @file: input #GFile.
28037  * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
28038  * @error: a #GError.
28039  *
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().
28048  *
28049  * Returns: (transfer full): a #GMount where the @file is located or %NULL on error.
28050  */
28051
28052
28053 /**
28054  * GConverterFlags:
28055  * @G_CONVERTER_NO_FLAGS: No flags.
28056  * @G_CONVERTER_INPUT_AT_END: At end of input data
28057  * @G_CONVERTER_FLUSH: Flush data
28058  *
28059  * Flags used when calling a g_converter_convert().
28060  *
28061  * Since: 2.24
28062  */
28063
28064
28065 /**
28066  * GClassInitFunc:
28067  * @g_class: The #GTypeClass structure to initialize.
28068  * @class_data: The @class_data member supplied via the #GTypeInfo structure.
28069  *
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
28072  * members.
28073  * The initialization process of a class involves:
28074  * <itemizedlist>
28075  * <listitem><para>
28076  * 1 - Copying common members from the parent class over to the
28077  * derived class structure.
28078  * </para></listitem>
28079  * <listitem><para>
28080  * 2 -  Zero initialization of the remaining members not copied
28081  * over from the parent class.
28082  * </para></listitem>
28083  * <listitem><para>
28084  * 3 - Invocation of the GBaseInitFunc() initializers of all parent
28085  * types and the class' type.
28086  * </para></listitem>
28087  * <listitem><para>
28088  * 4 - Invocation of the class' GClassInitFunc() initializer.
28089  * </para></listitem>
28090  * </itemizedlist>
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
28102  * initializers:
28103  * |[
28104  * typedef struct {
28105  * GObjectClass parent_class;
28106  * gint         static_integer;
28107  * gchar       *dynamic_string;
28108  * } TypeAClass;
28109  * static void
28110  * type_a_base_class_init (TypeAClass *class)
28111  * {
28112  * class->dynamic_string = g_strdup ("some string");
28113  * }
28114  * static void
28115  * type_a_base_class_finalize (TypeAClass *class)
28116  * {
28117  * g_free (class->dynamic_string);
28118  * }
28119  * static void
28120  * type_a_class_init (TypeAClass *class)
28121  * {
28122  * class->static_integer = 42;
28123  * }
28124  * typedef struct {
28125  * TypeAClass   parent_class;
28126  * gfloat       static_float;
28127  * GString     *dynamic_gstring;
28128  * } TypeBClass;
28129  * static void
28130  * type_b_base_class_init (TypeBClass *class)
28131  * {
28132  * class->dynamic_gstring = g_string_new ("some other string");
28133  * }
28134  * static void
28135  * type_b_base_class_finalize (TypeBClass *class)
28136  * {
28137  * g_string_free (class->dynamic_gstring);
28138  * }
28139  * static void
28140  * type_b_class_init (TypeBClass *class)
28141  * {
28142  * class->static_float = 3.14159265358979323846;
28143  * }
28144  * ]|
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
28162  * (static_float).
28163  * Corresponding finalization counter parts to the GBaseInitFunc() functions
28164  * have to be provided to release allocated resources at class finalization
28165  * time.
28166  */
28167
28168
28169 /**
28170  * GSocketConnection:
28171  *
28172  * A socket connection GIOStream object for connection-oriented sockets.
28173  *
28174  * Since: 2.22
28175  */
28176
28177
28178 /**
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
28184  *
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.
28189  *
28190  * Since: 2.26
28191  */
28192
28193
28194 /**
28195  * GOptionContext:
28196  *
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.
28200  */
28201
28202
28203 /**
28204  * GThemedIcon:name:
28205  *
28206  * The icon name.
28207  */
28208
28209
28210 /**
28211  * GTlsClientConnection:accepted-cas:
28212  *
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.
28217  *
28218  * Since: 2.28
28219  */
28220
28221
28222 /**
28223  * g_data_output_stream_set_byte_order:
28224  * @stream: a #GDataOutputStream.
28225  * @order: a %GDataStreamByteOrder.
28226  *
28227  * Sets the byte order of the data output stream to @order.
28228  */
28229
28230
28231 /**
28232  * G_VALUE_TYPE_NAME:
28233  * @value: A #GValue structure.
28234  *
28235  * Gets the the type name of @value.
28236  *
28237  * Returns: the type name.
28238  */
28239
28240
28241 /**
28242  * g_inet_address_to_string:
28243  * @address: a #GInetAddress
28244  *
28245  * Converts @address to string form.
28246  * freed after use.
28247  *
28248  * Returns: a representation of @address as a string, which should be
28249  * Since: 2.22
28250  */
28251
28252
28253 /**
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
28259  *
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.
28264  *
28265  * Since: 2.26
28266  */
28267
28268
28269 /**
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.
28276  *
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.
28280  *
28281  * Since: 2.26
28282  */
28283
28284
28285 /**
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
28290  *
28291  * Emits the #GActionGroup::action-state-changed signal on @action_group.
28292  * This function should only be called by #GActionGroup implementations.
28293  *
28294  * Since: 2.28
28295  */
28296
28297
28298 /**
28299  * SECTION:gfileoutputstrea:
28300  * @short_description: File output streaming operations
28301  * @include: gio/gio.h
28302  * @see_also: #GOutputStream, #GDataOutputStream, #GSeekable
28303  *
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
28309  * operations.
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().
28316  */
28317
28318
28319 /**
28320  * GFileIface:
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.
28422  *
28423  * An interface for writing VFS file handles.
28424  */
28425
28426
28427 /**
28428  * G_IS_PARAM_SPEC:
28429  * @pspec: a #GParamSpec
28430  *
28431  * Checks whether @pspec "is a" valid #GParamSpec structure of type %G_TYPE_PARAM
28432  * or derived.
28433  */
28434
28435
28436 /**
28437  * g_file_output_stream_query_info_finish:
28438  * @stream: a #GFileOutputStream.
28439  * @result: a #GAsyncResult.
28440  * @error: a #GError, %NULL to ignore.
28441  *
28442  * Finalizes the asynchronous query started
28443  * by g_file_output_stream_query_info_async().
28444  *
28445  * Returns: (transfer full): A #GFileInfo for the finished query.
28446  */
28447
28448
28449 /**
28450  * G_PARAM_SPEC_LONG:
28451  * @pspec: a valid #GParamSpec instance
28452  *
28453  * Cast a #GParamSpec instance into a #GParamSpecLong.
28454  */
28455
28456
28457 /**
28458  * GInterfaceFinalizeFunc:
28459  * @g_iface: The interface structure to finalize.
28460  * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure.
28461  *
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.
28465  */
28466
28467
28468 /**
28469  * g_simple_action_group_insert:
28470  * @simple: a #GSimpleActionGroup
28471  * @action: a #GAction
28472  *
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.
28476  *
28477  * Since: 2.28
28478  */
28479
28480
28481 /**
28482  * G_VARIANT_TYPE_DICT_ENTRY:
28483  *
28484  * An indefinite type that is a supertype of every dictionary entry
28485  * type.
28486  */
28487
28488
28489 /**
28490  * GUnixOutputStream:fd:
28491  *
28492  * The file descriptor that the stream writes to.
28493  *
28494  * Since: 2.20
28495  */
28496
28497
28498 /**
28499  * GDBusAuthObserverClass:
28500  * @authorize_authenticated_peer: Signal class handler for the #GDBusAuthObserver::authorize-authenticated-peer signal.
28501  *
28502  * Class structure for #GDBusAuthObserverClass.
28503  *
28504  * Since: 2.26
28505  */
28506
28507
28508 /**
28509  * G_TYPE_PARAM_UINT:
28510  *
28511  * The #GType of #GParamSpecUInt.
28512  */
28513
28514
28515 /**
28516  * g_application_command_line_printerr:
28517  * @cmdline: a #GApplicationCommandLine
28518  * @format: a printf-style format string
28519  * @...: arguments, as per @format
28520  *
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.
28526  *
28527  * Since: 2.28
28528  */
28529
28530
28531 /**
28532  * GInstanceInitFunc:
28533  * @instance: The instance to initialize.
28534  * @g_class: The class of the type the instance is created for.
28535  *
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.
28543  */
28544
28545
28546 /**
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.
28551  *
28552  * Creates a new #GTlsServerConnection wrapping @base_io_stream (which
28553  * must have pollable input and output streams).
28554  *
28555  * Returns: the new #GTlsServerConnection, or %NULL on error
28556  * Since: 2.28
28557  */
28558
28559
28560 /**
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.
28565  *
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.
28573  *
28574  * Returns: a signed 32-bit/4-byte value read from the @stream or %0 if
28575  */
28576
28577
28578 /**
28579  * GRegexError:
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 "(?", "(?&lt;" 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
28622  *
28623  * Error codes returned by regular expressions functions.
28624  *
28625  * Since: 2.14
28626  */
28627
28628
28629 /**
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.
28634  *
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.
28639  *
28640  * Returns: %TRUE if more data should be read back. %FALSE otherwise.
28641  */
28642
28643
28644 /**
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.
28651  *
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).
28663  *
28664  * Returns: the number of bytes read, or -1 on error (including
28665  */
28666
28667
28668 /**
28669  * SECTION:gioschedule:
28670  * @short_description: I/O Scheduler
28671  * @include: gio/gio.h
28672  *
28673  * Schedules asynchronous I/O operations. #GIOScheduler integrates
28674  * into the main event loop (#GMainLoop) and may use threads if they
28675  * are available.
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.
28683  * </para>
28684  */
28685
28686
28687 /**
28688  * SECTION:gsocketconnectio:
28689  * @short_description: A socket connection
28690  * @include: gio/gio.h
28691  * @see_also: #GIOStream, #GSocketClient, #GSocketListener
28692  *
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().
28703  *
28704  * Since: 2.22
28705  */
28706
28707
28708 /**
28709  * G_TIME_SPAN_SECOND:
28710  *
28711  * Evaluates to a time span of one second.
28712  *
28713  * Since: 2.26
28714  */
28715
28716
28717 /**
28718  * G_TYPE_UINT:
28719  *
28720  * The fundamental type corresponding to #guint.
28721  */
28722
28723
28724 /**
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.
28730  *
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().
28737  *
28738  * Virtual: monitor_dir
28739  * Returns: (transfer full): a #GFileMonitor for the given @file, or %NULL on error.
28740  */
28741
28742
28743 /**
28744  * GCharsetConverter:
28745  *
28746  * Conversions between character sets.
28747  */
28748
28749
28750 /**
28751  * G_FILE_ATTRIBUTE_TIME_CHANGED:
28752  *
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.
28757  */
28758
28759
28760 /**
28761  * G_PRIORITY_DEFAULT:
28762  *
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.
28767  */
28768
28769
28770 /**
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
28775  *
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.
28782  *
28783  * Since: 2.26
28784  */
28785
28786
28787 /**
28788  * G_TYPE_IS_PARAM:
28789  * @type: a #GType ID
28790  *
28791  * Checks whether @type "is a" %G_TYPE_PARAM.
28792  */
28793
28794
28795 /**
28796  * g_dbus_error_is_remote_error:
28797  * @error: A #GError.
28798  *
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.
28802  *
28803  * Returns: %TRUE if @error represents an error from a remote peer,
28804  * Since: 2.26
28805  */
28806
28807
28808 /**
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.
28813  *
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.
28818  */
28819
28820
28821 /**
28822  * G_IS_ENUM_CLASS:
28823  * @class: a #GEnumClass
28824  *
28825  * Checks whether @class "is a" valid #GEnumClass structure of type %G_TYPE_ENUM
28826  * or derived.
28827  */
28828
28829
28830 /**
28831  * G_FILE_ATTRIBUTE_PREVIEW_ICON:
28832  *
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.
28838  *
28839  * Since: 2.20
28840  */
28841
28842
28843 /**
28844  * g_unix_mount_is_readonly:
28845  * @mount_entry: a #GUnixMount.
28846  *
28847  * Checks if a unix mount is mounted read only.
28848  *
28849  * Returns: %TRUE if @mount_entry is read only.
28850  */
28851
28852
28853 /**
28854  * GChecksumType:
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
28858  *
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.
28863  *
28864  * Since: 2.16
28865  */
28866
28867
28868 /**
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.
28875  *
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.
28888  *
28889  * Since: 2.26
28890  */
28891
28892
28893 /**
28894  * G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT:
28895  *
28896  * Allowed characters in path elements. Includes "!$&'()*+,;=:@".
28897  */
28898
28899
28900 /**
28901  * GSimpleAction:state:
28902  *
28903  * The state of the action, or %NULL if the action is stateless.
28904  *
28905  * Since: 2.28
28906  */
28907
28908
28909 /**
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.
28917  *
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.
28921  *
28922  * Since: 2.22
28923  */
28924
28925
28926 /**
28927  * g_simple_action_set_enabled:
28928  * @simple: a #GSimpleAction
28929  * @enabled: whether the action is enabled
28930  *
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.
28934  *
28935  * Since: 2.28
28936  */
28937
28938
28939 /**
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().
28949  *
28950  * The type of the @method_call function in #GDBusInterfaceVTable.
28951  *
28952  * Since: 2.26
28953  */
28954
28955
28956 /**
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.
28961  *
28962  * Emitted when the connection is closed.
28963  * The cause of this event can be
28964  * <itemizedlist>
28965  * <listitem><para>
28966  * If g_dbus_connection_close() is called. In this case
28967  * </para></listitem>
28968  * <listitem><para>
28969  * If the remote peer closes the connection. In this case
28970  * </para></listitem>
28971  * <listitem><para>
28972  * If the remote peer sends invalid or malformed data. In this
28973  * case @remote_peer_vanished is set to %FALSE and @error
28974  * is set.
28975  * </para></listitem>
28976  * </itemizedlist>
28977  * Upon receiving this signal, you should give up your reference to
28978  * once.
28979  *
28980  * Since: 2.26
28981  */
28982
28983
28984 /**
28985  * G_FILE_ATTRIBUTE_ID_FILESYSTEM:
28986  *
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
28991  * to copy).
28992  */
28993
28994
28995 /**
28996  * g_inet_socket_address_get_address:
28997  * @address: a #GInetSocketAddress
28998  *
28999  * Gets @address's #GInetAddress.
29000  * g_object_ref()'d if it will be stored
29001  *
29002  * Returns: (transfer full): the #GInetAddress for @address, which must be
29003  * Since: 2.22
29004  */
29005
29006
29007 /**
29008  * SECTION:gcredential:
29009  * @short_description: An object containing credentials
29010  * @include: gio/gio.h
29011  *
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>
29023  * - see the
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.
29029  */
29030
29031
29032 /**
29033  * SECTION:gtlsclientconnectio:
29034  * @short_description: TLS client-side connection
29035  * @include: gio/gio.h
29036  *
29037  * #GTlsClientConnection is the client-side subclass of
29038  * #GTlsConnection, representing a client-side TLS connection.
29039  *
29040  * Since: 2.28
29041  */
29042
29043
29044 /**
29045  * GWin32OutputStream:close-handle:
29046  *
29047  * Whether to close the file handle when the stream is closed.
29048  *
29049  * Since: 2.26
29050  */
29051
29052
29053 /**
29054  * g_file_open_readwrite:
29055  * @file: #GFile to open
29056  * @cancellable: (allow-none): a #GCancellable
29057  * @error: a #GError, or %NULL
29058  *
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().
29071  *
29072  * Returns: (transfer full): #GFileIOStream or %NULL on error.
29073  * Since: 2.22
29074  */
29075
29076
29077 /**
29078  * GVolumeMonitor::volume-removed:
29079  * @volume_monitor: The volume monitor emitting the signal.
29080  * @volume: a #GVolume that was removed.
29081  *
29082  * Emitted when a mountable volume is removed from the system.
29083  */
29084
29085
29086 /**
29087  * g_dbus_error_encode_gerror:
29088  * @error: A #GError.
29089  *
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.
29099  *
29100  * Returns: A D-Bus error name (never %NULL). Free with g_free().
29101  * Since: 2.26
29102  */
29103
29104
29105 /**
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
29113  *
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.
29120  *
29121  * Returns: %TRUE if the @attribute was successfully set to @value
29122  */
29123
29124
29125 /**
29126  * GDBusServer:guid:
29127  *
29128  * The guid of the server.
29129  *
29130  * Since: 2.26
29131  */
29132
29133
29134 /**
29135  * GProxyAddressEnumerator:
29136  *
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.
29140  */
29141
29142
29143 /**
29144  * SECTION:gdesktopappinf:
29145  * @title: GDesktopAppInfo
29146  * @short_description: Application information from desktop files
29147  * @include: gio/gdesktopappinfo.h
29148  *
29149  * #GDesktopAppInfo is an implementation of #GAppInfo based on
29150  * desktop files.
29151  * Note that <filename>&lt;gio/gdesktopappinfo.h&gt;</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.
29154  */
29155
29156
29157 /**
29158  * GDBusErrorEntry:
29159  * @error_code: An error code.
29160  * @dbus_error_name: The D-Bus error name to associate with @error_code.
29161  *
29162  * Struct used in g_dbus_error_register_error_domain().
29163  *
29164  * Since: 2.26
29165  */
29166
29167
29168 /**
29169  * g_unix_socket_address_new_with_type:
29170  * @path: the name
29171  * @path_len: the length of @path, or -1
29172  * @type: a #GUnixSocketAddressType
29173  *
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
29190  * length of @path.
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.
29196  *
29197  * Returns: a new #GUnixSocketAddress
29198  * Since: 2.26
29199  */
29200
29201
29202 /**
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
29208  *
29209  * A convenience macro for boxed type implementations, which defines a
29210  * type_name_get_type() function registering the boxed type.
29211  *
29212  * Since: 2.26
29213  */
29214
29215
29216 /**
29217  * G_TYPE_VALUE_ARRAY:
29218  *
29219  * The type ID of the "GValueArray" type which is a boxed type,
29220  * used to pass around pointers to GValueArrays.
29221  */
29222
29223
29224 /**
29225  * G_IS_PARAM_SPEC_UINT:
29226  * @pspec: a valid #GParamSpec instance
29227  *
29228  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT.
29229  *
29230  * Returns: %TRUE on success.
29231  */
29232
29233
29234 /**
29235  * g_application_command_line_get_arguments:
29236  * @cmdline: a #GApplicationCommandLine
29237  * @argc: (out): the length of the arguments array, or %NULL
29238  *
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
29242  * g_strfreev().
29243  * containing the arguments (the argv)
29244  *
29245  * Returns: (array length=argc) (transfer full): the string array
29246  * Since: 2.28
29247  */
29248
29249
29250 /**
29251  * g_io_stream_get_input_stream:
29252  * @stream: a #GIOStream
29253  *
29254  * Gets the input stream for this object. This is used
29255  * for reading.
29256  * Do not free.
29257  *
29258  * Returns: (transfer none): a #GInputStream, owned by the #GIOStream.
29259  * Since: 2.22
29260  */
29261
29262
29263 /**
29264  * GDBusServer:address:
29265  *
29266  * The D-Bus address to listen on.
29267  *
29268  * Since: 2.26
29269  */
29270
29271
29272 /**
29273  * G_INITIALLY_UNOWNED_GET_CLASS:
29274  * @object: a #GInitiallyUnowned instance.
29275  *
29276  * Get the class structure associated to a #GInitiallyUnowned instance.
29277  *
29278  * Returns: pointer to object class structure.
29279  */
29280
29281
29282 /**
29283  * g_unix_socket_address_get_path_len:
29284  * @address: a #GInetSocketAddress
29285  *
29286  * Gets the length of @address's path.
29287  * For details, see g_unix_socket_address_get_path().
29288  *
29289  * Returns: the length of the path
29290  * Since: 2.22
29291  */
29292
29293
29294 /**
29295  * SECTION:gfileico:
29296  * @short_description: Icons pointing to an image file
29297  * @include: gio/gio.h
29298  * @see_also: #GIcon, #GLoadableIcon
29299  *
29300  * #GFileIcon specifies an icon by pointing to an image file
29301  * to be used as icon.
29302  */
29303
29304
29305 /**
29306  * g_socket_listener_close:
29307  * @listener: a #GSocketListener
29308  *
29309  * Closes all the sockets in the listener.
29310  *
29311  * Since: 2.22
29312  */
29313
29314
29315 /**
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.
29321  *
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.
29329  *
29330  * Returns: (transfer full): a string with the line that was read in
29331  */
29332
29333
29334 /**
29335  * G_TYPE_CHECK_INSTANCE_TYPE:
29336  * @instance: Location of a #GTypeInstance structure.
29337  * @g_type: The type to be checked
29338  *
29339  * Checks if @instance is an instance of the type identified by @g_type.
29340  * This macro should only be used in type implementations.
29341  *
29342  * Returns: %TRUE on success.
29343  */
29344
29345
29346 /**
29347  * SECTION:gvolumemonito:
29348  * @short_description: Volume Monitor
29349  * @include: gio/gio.h
29350  * @see_also: #GFileMonitor
29351  *
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.
29359  */
29360
29361
29362 /**
29363  * g_dbus_connection_is_closed:
29364  * @connection: A #GDBusConnection.
29365  *
29366  * Gets whether @connection is closed.
29367  *
29368  * Returns: %TRUE if the connection is closed, %FALSE otherwise.
29369  * Since: 2.26
29370  */
29371
29372
29373 /**
29374  * g_atomic_int_inc:
29375  * @atomic: a pointer to an integer.
29376  *
29377  * Atomically increments the integer pointed to by @atomic by 1.
29378  *
29379  * Since: 2.4
29380  */
29381
29382
29383 /**
29384  * GCancellable::cancelled:
29385  * @cancellable: a #GCancellable.
29386  *
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
29397  * returned.
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
29402  * still happening.
29403  * In order to make it safe and easy to connect handlers there
29404  * g_cancellable_disconnect() which protect against problems
29405  * like this.
29406  * An example of how to us this:
29407  * |[
29408  * /<!-- -->* Make sure we don't do any unnecessary work if already cancelled *<!-- -->/
29409  * if (g_cancellable_set_error_if_cancelled (cancellable))
29410  * return;
29411  * /<!-- -->* Set up all the data needed to be able to
29412  * * handle cancellation of the operation *<!-- -->/
29413  * my_data = my_data_new (...);
29414  * id = 0;
29415  * if (cancellable)
29416  * id = g_cancellable_connect (cancellable,
29417  * G_CALLBACK (cancelled_handler)
29418  * data, NULL);
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);
29424  * ]|
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.
29428  *
29429  * Are two helper functions: g_cancellable_connect() and
29430  */
29431
29432
29433 /**
29434  * G_PARAM_STATIC_STRINGS:
29435  *
29436  * #GParamFlags value alias for %G_PARAM_STATIC_NAME | %G_PARAM_STATIC_NICK | %G_PARAM_STATIC_BLURB.
29437  * Since 2.13.0
29438  */
29439
29440
29441 /**
29442  * g_file_attribute_info_list_dup:
29443  * @list: a #GFileAttributeInfoList to duplicate.
29444  *
29445  * Makes a duplicate of a file attribute info list.
29446  *
29447  * Returns: a copy of the given @list.
29448  */
29449
29450
29451 /**
29452  * g_app_info_get_commandline:
29453  * @appinfo: a #GAppInfo
29454  *
29455  * Gets the commandline with which the application will be
29456  * started.
29457  * or %NULL if this information is not available
29458  *
29459  * Returns: a string containing the @appinfo's commandline,
29460  * Since: 2.20
29461  */
29462
29463
29464 /**
29465  * g_dbus_interface_info_unref:
29466  * @info: A #GDBusInterfaceInfo.
29467  *
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.
29471  *
29472  * Since: 2.26
29473  */
29474
29475
29476 /**
29477  * g_charset_converter_get_num_fallbacks:
29478  * @converter: a #GCharsetConverter
29479  *
29480  * Gets the number of fallbacks that @converter has applied so far.
29481  *
29482  * Returns: the number of fallbacks that @converter has applied
29483  * Since: 2.24
29484  */
29485
29486
29487 /**
29488  * g_file_enumerator_is_closed:
29489  * @enumerator: a #GFileEnumerator.
29490  *
29491  * Checks if the file enumerator has been closed.
29492  *
29493  * Returns: %TRUE if the @enumerator is closed.
29494  */
29495
29496
29497 /**
29498  * g_emblem_new:
29499  * @icon: a GIcon containing the icon.
29500  *
29501  * Creates a new emblem for @icon.
29502  *
29503  * Returns: a new #GEmblem.
29504  * Since: 2.18
29505  */
29506
29507
29508 /**
29509  * G_PARAM_MASK:
29510  *
29511  * Mask containing the bits of #GParamSpec.flags which are reserved for GLib.
29512  */
29513
29514
29515 /**
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.
29520  *
29521  * A convenience macro for #GTypeInterface definitions, which declares
29522  * a default vtable initialization function and defines a *_get_type()
29523  * function.
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>.
29527  *
29528  * Since: 2.24
29529  */
29530
29531
29532 /**
29533  * g_file_has_uri_scheme:
29534  * @file: input #GFile.
29535  * @uri_scheme: a string containing a URI scheme.
29536  *
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.
29541  *
29542  * Returns: %TRUE if #GFile's backend supports the
29543  */
29544
29545
29546 /**
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
29552  *
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.
29555  *
29556  * Returns: a #GSimpleAsyncResult
29557  * Since: 2.28
29558  */
29559
29560
29561 /**
29562  * SECTION:gsimpleactiongrou:
29563  * @title: GSimpleActionGroup
29564  * @short_description: A simple GActionGroup implementation
29565  *
29566  * #GSimpleActionGroup is a hash table filled with #GAction objects,
29567  * implementing the #GActionGroup interface.
29568  */
29569
29570
29571 /**
29572  * GSocketConnectableIface:
29573  * @g_iface: The parent interface.
29574  * @enumerate: Creates a #GSocketAddressEnumerator
29575  * @proxy_enumerate: Creates a #GProxyAddressEnumerator
29576  *
29577  * Provides an interface for returning a #GSocketAddressEnumerator
29578  * and #GProxyAddressEnumerator
29579  */
29580
29581
29582 /**
29583  * GPermission:can-release:
29584  *
29585  * %TRUE if it is generally possible to release the permission by calling
29586  * g_permission_release().
29587  */
29588
29589
29590 /**
29591  * SECTION:gwin32inputstrea:
29592  * @short_description: Streaming input operations for Windows file handles
29593  * @include: gio/gwin32inputstream.h
29594  * @see_also: #GInputStream
29595  *
29596  * #GWin32InputStream implements #GInputStream for reading from a
29597  * Windows file handle.
29598  * Note that <filename>&lt;gio/gwin32inputstream.h&gt;</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.
29601  */
29602
29603
29604 /**
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.
29611  *
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.
29615  *
29616  * Returns: An identifier (never 0) that an be used with
29617  * Rename to: g_bus_watch_name_on_connection
29618  * Since: 2.26
29619  */
29620
29621
29622 /**
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
29630  *
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.
29637  */
29638
29639
29640 /**
29641  * G_PARAM_SPEC_BOXED:
29642  * @pspec: a valid #GParamSpec instance
29643  *
29644  * Cast a #GParamSpec instance into a #GParamSpecBoxed.
29645  */
29646
29647
29648 /**
29649  * GVolumeMonitor::mount-added:
29650  * @volume_monitor: The volume monitor emitting the signal.
29651  * @mount: a #GMount that was added.
29652  *
29653  * Emitted when a mount is added.
29654  */
29655
29656
29657 /**
29658  * GWin32OutputStream:
29659  *
29660  * Implements #GOutputStream for outputting to Windows file handles
29661  */
29662
29663
29664 /**
29665  * G_FLAGS_CLASS:
29666  * @class: a valid #GFlagsClass
29667  *
29668  * Casts a derived #GFlagsClass structure into a #GFlagsClass structure.
29669  */
29670
29671
29672 /**
29673  * G_IS_PARAM_SPEC_LONG:
29674  * @pspec: a valid #GParamSpec instance
29675  *
29676  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG.
29677  *
29678  * Returns: %TRUE on success.
29679  */
29680
29681
29682 /**
29683  * g_settings_get_flags:
29684  * @settings: a #GSettings object
29685  * @key: the key to get the value for
29686  * @returns: the flags value
29687  *
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
29696  * value.
29697  *
29698  * Since: 2.26
29699  */
29700
29701
29702 /**
29703  * g_file_info_get_attribute_stringv:
29704  * @info: a #GFileInfo.
29705  * @attribute: a file attribute key.
29706  *
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.
29710  *
29711  * Returns: (transfer none): the contents of the @attribute value as a stringv, or
29712  * Since: 2.22
29713  */
29714
29715
29716 /**
29717  * GIcon:
29718  *
29719  * An abstract type that specifies an icon.
29720  */
29721
29722
29723 /**
29724  * GEmblem:
29725  *
29726  * An object for Emblems
29727  */
29728
29729
29730 /**
29731  * g_file_attribute_matcher_unref:
29732  * @matcher: a #GFileAttributeMatcher.
29733  *
29734  * Unreferences @matcher. If the reference count falls below 1,
29735  * the @matcher is automatically freed.
29736  */
29737
29738
29739 /**
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).
29748  *
29749  * Creates a new #GProxyAddress for @inetaddr with @protocol that should
29750  * tunnel through @dest_hostname and @dest_port.
29751  *
29752  * Returns: a new #GProxyAddress
29753  * Since: 2.26
29754  */
29755
29756
29757 /**
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.
29763  *
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
29769  * context</link>).
29770  */
29771
29772
29773 /**
29774  * g_charset_converter_set_use_fallback:
29775  * @converter: a #GCharsetConverter
29776  * @use_fallback: %TRUE to use fallbacks
29777  *
29778  * Sets the #GCharsetConverter:use-fallback property.
29779  *
29780  * Since: 2.24
29781  */
29782
29783
29784 /**
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.
29792  *
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.
29796  *
29797  * Returns: Number of bytes read, or -1 on error
29798  * Since: 2.26
29799  */
29800
29801
29802 /**
29803  * g_win32_input_stream_set_close_handle:
29804  * @stream: a #GWin32InputStream
29805  * @close_handle: %TRUE to close the handle when done
29806  *
29807  * Sets whether the handle of @stream shall be closed
29808  * when the stream is closed.
29809  *
29810  * Since: 2.26
29811  */
29812
29813
29814 /**
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
29819  *
29820  * Inserts a new #GNode at the given position.
29821  *
29822  * Returns: the new #GNode
29823  */
29824
29825
29826 /**
29827  * g_mount_get_name:
29828  * @mount: a #GMount.
29829  *
29830  * Gets the name of @mount.
29831  * The returned string should be freed with g_free()
29832  * when no longer needed.
29833  *
29834  * Returns: the name for the given @mount.
29835  */
29836
29837
29838 /**
29839  * g_file_info_set_attribute_boolean:
29840  * @info: a #GFileInfo.
29841  * @attribute: a file attribute key.
29842  * @attr_value: a boolean value.
29843  *
29844  * Sets the @attribute to contain the given @attr_value,
29845  * if possible.
29846  */
29847
29848
29849 /**
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.
29854  *
29855  * Finishes ejecting a mount. If any errors occurred during the operation,
29856  *
29857  * Returns: %TRUE if the mount was successfully ejected. %FALSE otherwise.
29858  * Since: 2.22
29859  */
29860
29861
29862 /**
29863  * SECTION:giomodul:
29864  * @short_description: Loadable GIO Modules
29865  * @include: gio/gio.h
29866  *
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.
29870  */
29871
29872
29873 /**
29874  * g_bus_get:
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.
29879  *
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.
29885  *
29886  * Since: 2.26
29887  */
29888
29889
29890 /**
29891  * GInetAddress:is-mc-site-local:
29892  *
29893  * Whether this is a site-local multicast address.
29894  * See g_inet_address_get_is_mc_site_local().
29895  *
29896  * Since: 2.22
29897  */
29898
29899
29900 /**
29901  * g_dbus_method_invocation_get_sender:
29902  * @invocation: A #GDBusMethodInvocation.
29903  *
29904  * Gets the bus name that invoked the method.
29905  *
29906  * Returns: A string. Do not free, it is owned by @invocation.
29907  * Since: 2.26
29908  */
29909
29910
29911 /**
29912  * g_credentials_is_same_user:
29913  * @credentials: A #GCredentials.
29914  * @other_credentials: A #GCredentials.
29915  * @error: Return location for error or %NULL.
29916  *
29917  * Checks if @credentials and @other_credentials is the same user.
29918  * This operation can fail if #GCredentials is not supported on the
29919  * the OS.
29920  * user, %FALSE otherwise or if @error is set.
29921  *
29922  * Returns: %TRUE if @credentials and @other_credentials has the same
29923  * Since: 2.26
29924  */
29925
29926
29927 /**
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.
29933  *
29934  * Puts an unsigned 16-bit integer into the output stream.
29935  *
29936  * Returns: %TRUE if @data was successfully added to the @stream.
29937  */
29938
29939
29940 /**
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.
29947  *
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.
29964  *
29965  * Returns: %TRUE if the message was well-formed and queued for
29966  * Since: 2.26
29967  */
29968
29969
29970 /**
29971  * G_FILE_ATTRIBUTE_UNIX_GID:
29972  *
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.
29976  */
29977
29978
29979 /**
29980  * g_main_is_running:
29981  * @loop: a #GMainLoop
29982  *
29983  * Checks if the main loop is running.
29984  *
29985  * Returns: %TRUE if the main loop is running
29986  * Deprecated: 2.2: Use g_main_loop_is_running() instead
29987  */
29988
29989
29990 /**
29991  * g_icon_equal:
29992  * @icon1: pointer to the first #GIcon.
29993  * @icon2: pointer to the second #GIcon.
29994  *
29995  * Checks if two icons are equal.
29996  *
29997  * Returns: %TRUE if @icon1 is equal to @icon2. %FALSE otherwise.
29998  */
29999
30000
30001 /**
30002  * g_volume_should_automount:
30003  * @volume: a #GVolume
30004  *
30005  * Returns whether the volume should be automatically mounted.
30006  *
30007  * Returns: %TRUE if the volume should be automatically mounted.
30008  */
30009
30010
30011 /**
30012  * g_seekable_tell:
30013  * @seekable: a #GSeekable.
30014  *
30015  * Tells the current position within the stream.
30016  *
30017  * Returns: the offset from the beginning of the buffer.
30018  */
30019
30020
30021 /**
30022  * SECTION:gsimpleactio:
30023  * @title: GSimpleAction
30024  * @short_description: A simple GSimpleAction
30025  *
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.
30030  */
30031
30032
30033 /**
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.
30039  *
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.
30046  *
30047  * Returns: %TRUE on success, %FALSE on error.
30048  * Since: 2.22
30049  */
30050
30051
30052 /**
30053  * G_VARIANT_TYPE_TUPLE:
30054  *
30055  * An indefinite type that is a supertype of every tuple type,
30056  * regardless of the number of items in the tuple.
30057  */
30058
30059
30060 /**
30061  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT:
30062  *
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.
30065  */
30066
30067
30068 /**
30069  * g_tls_client_connection_get_accepted_cas:
30070  * @conn: the #GTlsClientConnection
30071  *
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()).
30077  *
30078  * Returns: (transfer full) (array zero-terminated=1): the list
30079  * Since: 2.28
30080  */
30081
30082
30083 /**
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.
30088  *
30089  * Finishes an operation started with g_dbus_connection_call().
30090  * return values. Free with g_variant_unref().
30091  *
30092  * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
30093  * Since: 2.26
30094  */
30095
30096
30097 /**
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
30104  *
30105  * Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more
30106  * details.
30107  *
30108  * Since: 2.26
30109  */
30110
30111
30112 /**
30113  * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC:
30114  *
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.
30118  *
30119  * Since: 2.22
30120  */
30121
30122
30123 /**
30124  * g_node_prev_sibling:
30125  * @node: a #GNode
30126  *
30127  * Gets the previous sibling of a #GNode.
30128  * node or %NULL
30129  *
30130  * Returns: the previous sibling of @node, or %NULL if @node is the first
30131  */
30132
30133
30134 /**
30135  * G_IS_PARAM_SPEC_BOOLEAN:
30136  * @pspec: a valid #GParamSpec instance
30137  *
30138  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN.
30139  *
30140  * Returns: %TRUE on success.
30141  */
30142
30143
30144 /**
30145  * G_FILE_ATTRIBUTE_FILESYSTEM_SIZE:
30146  *
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.
30150  */
30151
30152
30153 /**
30154  * SECTION:gsetting:
30155  * @short_description: High-level API for application settings
30156  *
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
30198  * and flags keys.
30199  * <example id="schema-default-values"><title>Default values</title>
30200  * <programlisting><![CDATA[
30201  * <schemalist>
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>
30206  * <description>
30207  * Greeting of the invading martians
30208  * </description>
30209  * </key>
30210  * <key name="box" type="(ii)">
30211  * <default>(20,30)</default>
30212  * </key>
30213  * </schema>
30214  * </schemalist>
30215  * ]]></programlisting></example>
30216  * <example id="schema-enumerated"><title>Ranges, choices and enumerated types</title>
30217  * <programlisting><![CDATA[
30218  * <schemalist>
30219  * <enum id="myenum">
30220  * <value nick="first" value="1"/>
30221  * <value nick="second" value="2"/>
30222  * </enum>
30223  * <enum id="myflags">
30224  * <value nick="flag1" value="1"/>
30225  * <value nick="flag2" value="2"/>
30226  * <value nick="flag3" value="4"/>
30227  * </enum>
30228  * <schema id="org.gtk.test">
30229  * <key name="key-with-range" type="i">
30230  * <range min="1" max="100"/>
30231  * <default>10</default>
30232  * </key>
30233  * <key name="key-with-choices" type="s">
30234  * <choices>
30235  * <choice value='Elisabeth'/>
30236  * <choice value='Annabeth'/>
30237  * <choice value='Joe'/>
30238  * </choices>
30239  * <aliases>
30240  * <alias value='Anna' target='Annabeth'/>
30241  * <alias value='Beth' target='Elisabeth'/>
30242  * </aliases>
30243  * <default>'Joe'</default>
30244  * </key>
30245  * <key name='enumerated-key' enum='myenum'>
30246  * <default>'first'</default>
30247  * </key>
30248  * <key name='flags-key' flags='myflags'>
30249  * <default>["flag1",flag2"]</default>
30250  * </key>
30251  * </schema>
30252  * </schemalist>
30253  * ]]></programlisting></example>
30254  * <refsect2>
30255  * <title>Vendor overrides</title>
30256  * <para>
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]
30268  * key1='string'
30269  * key2=1.5
30270  * </programlisting></informalexample>
30271  * </para>
30272  * </refsect2>
30273  * <refsect2>
30274  * <title>Binding</title>
30275  * <para>
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
30281  * cycles.
30282  * </para>
30283  * <para>
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.
30290  * </para>
30291  * </refsect2>
30292  */
30293
30294
30295 /**
30296  * g_volume_enumerate_identifiers:
30297  * @volume: a #GVolume
30298  *
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.
30303  *
30304  * Returns: (array zero-terminated=1) (transfer full): a %NULL-terminated array
30305  */
30306
30307
30308 /**
30309  * g_zlib_decompressor_get_file_info:
30310  * @decompressor: a #GZlibDecompressor
30311  *
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.
30317  *
30318  * Returns: (transfer none): a #GFileInfo, or %NULL
30319  * Since: 2.26
30320  */
30321
30322
30323 /**
30324  * SECTION:ginputstrea:
30325  * @short_description: Base class for implementing streaming input
30326  * @include: gio/gio.h
30327  *
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.
30334  */
30335
30336
30337 /**
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
30343  *
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.
30348  *
30349  * Since: 2.26
30350  */
30351
30352
30353 /**
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.
30358  *
30359  * Type definition for a function that will be called back when an asynchronous
30360  * operation within GIO has been completed.
30361  */
30362
30363
30364 /**
30365  * g_dbus_method_invocation_return_gerror:
30366  * @invocation: A #GDBusMethodInvocation.
30367  * @error: A #GError.
30368  *
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.
30372  *
30373  * Since: 2.26
30374  */
30375
30376
30377 /**
30378  * g_settings_list_children:
30379  * @settings: a #GSettings object
30380  * @returns: (transfer full) (element-type utf8): a list of the children on @settings
30381  *
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
30395  * with it.
30396  *
30397  * For those changes.  note that there is a race condition here: you may
30398  */
30399
30400
30401 /**
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
30406  *
30407  * Initiates startup notification for the application and returns the
30408  * <envar>DESKTOP_STARTUP_ID</envar> for the launched operation,
30409  * if supported.
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>.
30413  * not supported.
30414  *
30415  * Returns: a startup notification ID for the application, or %NULL if
30416  */
30417
30418
30419 /**
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.
30424  *
30425  * Finishes an operation started with g_dbus_address_get_stream().
30426  *
30427  * Returns: (transfer full): A #GIOStream or %NULL if @error is set.
30428  * Since: 2.26
30429  */
30430
30431
30432 /**
30433  * G_TYPE_BYTE_ARRAY:
30434  *
30435  * The #GType for a boxed type holding a #GByteArray reference.
30436  *
30437  * Since: 2.22
30438  */
30439
30440
30441 /**
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
30449  *
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.
30455  *
30456  * Returns: %TRUE if the @attribute was successfully set, %FALSE otherwise.
30457  */
30458
30459
30460 /**
30461  * g_file_read_finish:
30462  * @file: input #GFile.
30463  * @res: a #GAsyncResult.
30464  * @error: a #GError, or %NULL
30465  *
30466  * Finishes an asynchronous file read operation started with
30467  * g_file_read_async().
30468  * Free the returned object with g_object_unref().
30469  *
30470  * Returns: (transfer full): a #GFileInputStream or %NULL on error.
30471  */
30472
30473
30474 /**
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.
30479  *
30480  * Finishes an async connect operation. See g_socket_client_connect_to_uri_async()
30481  *
30482  * Returns: (transfer full): a #GSocketConnection on success, %NULL on error.
30483  * Since: 2.26
30484  */
30485
30486
30487 /**
30488  * G_TYPE_IS_VALUE:
30489  * @type: A #GType value.
30490  *
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.
30494  *
30495  * Returns: Whether @type is suitable as a #GValue type.
30496  */
30497
30498
30499 /**
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
30505  *
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
30512  * the @callback.
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.
30516  */
30517
30518
30519 /**
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.
30532  *
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.:
30545  * |[
30546  * g_dbus_connection_call_sync (connection,
30547  * "org.freedesktop.StringThings",
30548  * "/org/freedesktop/StringThings",
30549  * "org.freedesktop.StringThings",
30550  * "TwoStrings",
30551  * g_variant_new ("(ss)",
30552  * "Thing One",
30553  * "Thing Two"),
30554  * NULL,
30555  * G_DBUS_CALL_FLAGS_NONE,
30556  * -1,
30557  * NULL,
30558  * &amp;error);
30559  * ]|
30560  * The calling thread is blocked until a reply is received. See
30561  * g_dbus_connection_call() for the asynchronous version of
30562  * this method.
30563  * return values. Free with g_variant_unref().
30564  *
30565  * Returns: %NULL if @error is set. Otherwise a #GVariant tuple with
30566  * Since: 2.26
30567  */
30568
30569
30570 /**
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
30578  *
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.
30588  *
30589  * Returns: %TRUE on success, %FALSE if there was an error
30590  */
30591
30592
30593 /**
30594  * G_TYPE_PARAM_BOXED:
30595  *
30596  * The #GType of #GParamSpecBoxed.
30597  */
30598
30599
30600 /**
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.
30606  *
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().
30613  *
30614  * Returns: (transfer full): a #GFileMonitor for the given @file, or %NULL on error.
30615  */
30616
30617
30618 /**
30619  * SECTION:gapplicationcommandlin:
30620  * @title: GApplicationCommandLine
30621  * @short_description: A command-line invocation of an application
30622  * @see_also: #GApplication
30623  *
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
30633  * dropped).
30634  * <example id="gapplication-example-cmdline"><title>Handling commandline arguments with GApplication</title>
30635  * <programlisting>
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>
30638  * </xi:include>
30639  * </programlisting>
30640  * </example>
30641  * <example id="gapplication-example-cmdline2"><title>Complicated commandline handling</title>
30642  * <programlisting>
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>
30645  * </xi:include>
30646  * </programlisting>
30647  * </example>
30648  *
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
30652  */
30653
30654
30655 /**
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.
30660  *
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().
30664  *
30665  * Returns: (transfer full): a newly created #GObject, or %NULL on error. Free with
30666  * Since: 2.22
30667  */
30668
30669
30670 /**
30671  * g_pollable_input_stream_create_source:
30672  * @stream: a #GPollableInputStream.
30673  * @cancellable: a #GCancellable, or %NULL
30674  *
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.
30681  *
30682  * Returns: a new #GSource
30683  * Since: 2.28
30684  */
30685
30686
30687 /**
30688  * g_file_supports_thread_contexts:
30689  * @file: a #GFile.
30690  *
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.
30696  *
30697  * Returns: Whether or not @file supports thread-default contexts.
30698  * Since: 2.22
30699  */
30700
30701
30702 /**
30703  * g_file_move:
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
30711  *
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).
30738  *
30739  * Returns: %TRUE on successful move, %FALSE otherwise.
30740  */
30741
30742
30743 /**
30744  * g_socket_connection_get_local_address:
30745  * @connection: a #GSocketConnection
30746  * @error: #GError for error reporting, or %NULL to ignore.
30747  *
30748  * Try to get the local address of a socket connection.
30749  * Free the returned object with g_object_unref().
30750  *
30751  * Returns: (transfer full): a #GSocketAddress or %NULL on error.
30752  * Since: 2.22
30753  */
30754
30755
30756 /**
30757  * g_buffered_output_stream_new:
30758  * @base_stream: a #GOutputStream.
30759  *
30760  * Creates a new buffered output stream for a base stream.
30761  *
30762  * Returns: a #GOutputStream for the given @base_stream.
30763  */
30764
30765
30766 /**
30767  * g_dbus_proxy_get_object_path:
30768  * @proxy: A #GDBusProxy.
30769  *
30770  * Gets the object path @proxy is for.
30771  *
30772  * Returns: A string owned by @proxy. Do not free.
30773  * Since: 2.26
30774  */
30775
30776
30777 /**
30778  * G_TYPE_DBUS_ARG_INFO:
30779  *
30780  * The #GType for a boxed type holding a #GDBusArgInfo.
30781  *
30782  * Since: 2.26
30783  */
30784
30785
30786 /**
30787  * g_unix_mount_point_is_readonly:
30788  * @mount_point: a #GUnixMountPoint.
30789  *
30790  * Checks if a unix mount point is read only.
30791  *
30792  * Returns: %TRUE if a mount point is read only.
30793  */
30794
30795
30796 /**
30797  * GSocket:timeout:
30798  *
30799  * The timeout in seconds on socket I/O
30800  *
30801  * Since: 2.26
30802  */
30803
30804
30805 /**
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)
30809  *
30810  * Gets a header field on @message.
30811  * otherwise. Do not free, it is owned by @message.
30812  *
30813  * Returns: A #GVariant with the value if the header was found, %NULL
30814  * Since: 2.26
30815  */
30816
30817
30818 /**
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
30829  *
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
30848  * be discarded.
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.
30868  *
30869  * In @messages (ie: not including the %NULL terminator).
30870  * Returns: Number of bytes read, or -1 on error
30871  * Since: 2.22
30872  */
30873
30874
30875 /**
30876  * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP:
30877  *
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.
30880  *
30881  * Since: 2.22
30882  */
30883
30884
30885 /**
30886  * g_inet_address_get_is_mc_site_local:
30887  * @address: a #GInetAddress
30888  *
30889  * Tests whether @address is a site-local multicast address.
30890  *
30891  * Returns: %TRUE if @address is a site-local multicast address.
30892  * Since: 2.22
30893  */
30894
30895
30896 /**
30897  * G_TYPE_RESERVED_USER_FIRST:
30898  *
30899  * First available fundamental type number to create new fundamental
30900  * type id with G_TYPE_MAKE_FUNDAMENTAL().
30901  */
30902
30903
30904 /**
30905  * SECTION:gtlsbacken:
30906  * @title: GTlsBackend
30907  * @short_description: TLS backend implementation
30908  * @include: gio/gio.h
30909  *
30910  *
30911  */
30912
30913
30914 /**
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'.
30930  *
30931  * Flags specifying compile-time options.
30932  *
30933  * Since: 2.14
30934  */
30935
30936
30937 /**
30938  * g_io_modules_scan_all_in_directory:
30939  * @dirname: pathname for a directory containing modules to scan.
30940  *
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().
30950  *
30951  * Since: 2.24
30952  */
30953
30954
30955 /**
30956  * g_socket_service_stop:
30957  * @service: a #GSocketService
30958  *
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.
30963  *
30964  * Since: 2.22
30965  */
30966
30967
30968 /**
30969  * G_FLAGS_CLASS_TYPE:
30970  * @class: a #GFlagsClass
30971  *
30972  * Get the type identifier from a given #GFlagsClass structure.
30973  *
30974  * Returns: the #GType
30975  */
30976
30977
30978 /**
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
30984  *
30985  * Creates a new #GSettings object with a given schema, backend and
30986  * path.
30987  * This is a mix of g_settings_new_with_backend() and
30988  * g_settings_new_with_path().
30989  *
30990  * Since: 2.26
30991  */
30992
30993
30994 /**
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.
31002  *
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.
31006  *
31007  * Returns: An identifier (never 0) that an be used with
31008  * Rename to: g_bus_own_name
31009  * Since: 2.26
31010  */
31011
31012
31013 /**
31014  * g_vfs_is_active:
31015  * @vfs: a #GVfs.
31016  *
31017  * Checks if the VFS is active.
31018  *
31019  * Returns: %TRUE if construction of the @vfs was successful and it is now active.
31020  */
31021
31022
31023 /**
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
31029  *
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.
31034  *
31035  * Since: 2.26
31036  */
31037
31038
31039 /**
31040  * G_TYPE_DOUBLE:
31041  *
31042  * The fundamental type corresponding to #gdouble.
31043  */
31044
31045
31046 /**
31047  * G_VARIANT_TYPE_UINT64:
31048  *
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.
31052  */
31053
31054
31055 /**
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
31061  *
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.
31065  *
31066  * Returns: %TRUE on success, %FALSE on failure.
31067  */
31068
31069
31070 /**
31071  * GDBusConnectionClass:
31072  * @closed: Signal class handler for the #GDBusConnection::closed signal.
31073  *
31074  * Class structure for #GDBusConnection.
31075  *
31076  * Since: 2.26
31077  */
31078
31079
31080 /**
31081  * G_TYPE_RESERVED_GLIB_FIRST:
31082  *
31083  * First fundamental type number to create a new fundamental type id with
31084  * G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib.
31085  */
31086
31087
31088 /**
31089  * GParamSpecUChar:
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
31094  *
31095  * A #GParamSpec derived structure that contains the meta data for unsigned character properties.
31096  */
31097
31098
31099 /**
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
31104  *
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.
31109  *
31110  * Returns: (transfer full): the new #GNetworkAddress, or %NULL on error
31111  * Since: 2.26
31112  */
31113
31114
31115 /**
31116  * g_inet_address_get_is_mc_org_local:
31117  * @address: a #GInetAddress
31118  *
31119  * Tests whether @address is an organization-local multicast address.
31120  *
31121  * Returns: %TRUE if @address is an organization-local multicast address.
31122  * Since: 2.22
31123  */
31124
31125
31126 /**
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
31132  *
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:
31143  * |[
31144  * [toplevel]
31145  * enabled=true
31146  * ]|
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:
31153  * |[
31154  * [profiles/default]
31155  * font-size=12
31156  * ]|
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
31160  * writable).
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
31164  * trouble.
31165  *
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
31168  */
31169
31170
31171 /**
31172  * G_OBJECT_CLASS_NAME:
31173  * @class: a valid #GObjectClass
31174  *
31175  * Return the name of a class structure's type.
31176  * should not be freed.
31177  *
31178  * Returns: Type name of @class. The string is owned by the type system and
31179  */
31180
31181
31182 /**
31183  * GUnixMount:
31184  *
31185  * Implementation of the #GMount interface for Unix systems.
31186  */
31187
31188
31189 /**
31190  * g_socket_client_add_application_proxy:
31191  * @client: a #GSocketClient
31192  * @protocol: The proxy protocol
31193  *
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.
31208  */
31209
31210
31211 /**
31212  * g_drive_stop:
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
31219  *
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.
31224  *
31225  * Since: 2.22
31226  */
31227
31228
31229 /**
31230  * GFileDescriptorBased:
31231  *
31232  * An interface for file descriptor based io objects.
31233  */
31234
31235
31236 /**
31237  * g_memory_output_stream_get_data_size:
31238  * @ostream: a #GMemoryOutputStream
31239  *
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.
31243  *
31244  * Returns: the number of bytes written to the stream
31245  * Since: 2.18
31246  */
31247
31248
31249 /**
31250  * GTypePluginUnuse:
31251  * @plugin: the #GTypePlugin whose use count should be decreased
31252  *
31253  * The type of the @unuse_plugin function of #GTypePluginClass.
31254  */
31255
31256
31257 /**
31258  * g_file_info_get_is_symlink:
31259  * @info: a #GFileInfo.
31260  *
31261  * Checks if a file is a symlink.
31262  *
31263  * Returns: %TRUE if the given @info is a symlink.
31264  */
31265
31266
31267 /**
31268  * G_PARAM_SPEC_VALUE_TYPE:
31269  * @pspec: a valid #GParamSpec
31270  *
31271  * Retrieves the #GType to initialize a #GValue for this parameter.
31272  */
31273
31274
31275 /**
31276  * GDataInputStream:
31277  *
31278  * An implementation of #GBufferedInputStream that allows for high-level
31279  * data manipulation of arbitrary data (including binary operations).
31280  */
31281
31282
31283 /**
31284  * g_dbus_message_set_path:
31285  * @message: A #GDBusMessage.
31286  * @value: The value to set.
31287  *
31288  * Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
31289  *
31290  * Since: 2.26
31291  */
31292
31293
31294 /**
31295  * g_io_stream_set_pending:
31296  * @stream: a #GIOStream
31297  * @error: a #GError location to store the error occuring, or %NULL to ignore
31298  *
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
31301  *
31302  * Returns: %TRUE if pending was previously unset and is now set.
31303  * Since: 2.22
31304  */
31305
31306
31307 /**
31308  * g_socket_service_start:
31309  * @service: a #GSocketService
31310  *
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.
31315  *
31316  * Since: 2.22
31317  */
31318
31319
31320 /**
31321  * G_IS_PARAM_SPEC_INT64:
31322  * @pspec: a valid #GParamSpec instance
31323  *
31324  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64.
31325  *
31326  * Returns: %TRUE on success.
31327  */
31328
31329
31330 /**
31331  * G_FILE_ATTRIBUTE_FILESYSTEM_FREE:
31332  *
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.
31336  */
31337
31338
31339 /**
31340  * g_socket_client_get_enable_proxy:
31341  * @client: a #GSocketClient.
31342  *
31343  * Gets the proxy enable state; see g_socket_client_set_enable_proxy()
31344  *
31345  * Returns: whether proxying is enabled
31346  * Since: 2.26
31347  */
31348
31349
31350 /**
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
31355  *
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
31358  * closed.
31359  * Once the stream is closed, all other operations will return
31360  * %G_IO_ERROR_CLOSED. Closing a stream multiple times will not
31361  * return an error.
31362  * Closing a stream will automatically flush any outstanding buffers
31363  * in the stream.
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.
31382  *
31383  * Returns: %TRUE on success, %FALSE on failure
31384  * Since: 2.22
31385  */
31386
31387
31388 /**
31389  * GTypeInstance:
31390  *
31391  * An opaque structure used as the base of all type instances.
31392  */
31393
31394
31395 /**
31396  * g_tcp_connection_set_graceful_disconnect:
31397  * @connection: a #GTcpConnection
31398  * @graceful_disconnect: Whether to do graceful disconnects or not
31399  *
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.
31408  *
31409  * Since: 2.22
31410  */
31411
31412
31413 /**
31414  * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE:
31415  *
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.
31421  */
31422
31423
31424 /**
31425  * g_data_output_stream_put_string:
31426  * @stream: a #GDataOutputStream.
31427  * @str: a string.
31428  * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
31429  * @error: a #GError, %NULL to ignore.
31430  *
31431  * Puts a string into the output stream.
31432  *
31433  * Returns: %TRUE if @string was successfully added to the @stream.
31434  */
31435
31436
31437 /**
31438  * GBaseFinalizeFunc:
31439  * @g_class: The #GTypeClass structure to finalize.
31440  *
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.
31446  */
31447
31448
31449 /**
31450  * SECTION:gioerro:
31451  * @short_description: Error helper functions
31452  * @include: gio/gio.h
31453  *
31454  * Contains helper functions for reporting errors to the user.
31455  */
31456
31457
31458 /**
31459  * G_VARIANT_TYPE_HANDLE:
31460  *
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
31463  * a DBus message.
31464  * If you are not interacting with DBus, then there is no reason to make
31465  * use of this type.
31466  */
31467
31468
31469 /**
31470  * g_unix_credentials_message_is_supported:
31471  *
31472  * Checks if passing a #GCredential on a #GSocket is supported on this platform.
31473  *
31474  * Returns: %TRUE if supported, %FALSE otherwise
31475  * Since: 2.26
31476  */
31477
31478
31479 /**
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.
31486  *
31487  * A #GParamSpec derived structure that contains the meta data for double properties.
31488  */
31489
31490
31491 /**
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.
31495  *
31496  * Flags used in g_bus_watch_name().
31497  *
31498  * Since: 2.26
31499  */
31500
31501
31502 /**
31503  * g_content_type_is_a:
31504  * @type: a content type string
31505  * @supertype: a content type string
31506  *
31507  * Determines if @type is a subset of @supertype.
31508  * %FALSE otherwise.
31509  *
31510  * Returns: %TRUE if @type is a kind of @supertype,
31511  */
31512
31513
31514
31515 /************************************************************/
31516 /* THIS FILE IS GENERATED DO NOT EDIT */
31517 /************************************************************/