1<root>
2<property name="GAction:enabled">
3<description>
4If @action is currently enabled.
5
6If the action is disabled then calls to g_action_activate() and
7g_action_change_state() have no effect.
8
9Since: 2.28
10
11</description>
12</property>
13
14<property name="GAction:name">
15<description>
16The name of the action.  This is mostly meaningful for identifying
17the action once it has been added to a #GActionGroup. It is immutable.
18
19Since: 2.28
20
21</description>
22</property>
23
24<property name="GAction:parameter-type">
25<description>
26The type of the parameter that must be given when activating the
27action. This is immutable, and may be %NULL if no parameter is needed when
28activating the action.
29
30Since: 2.28
31
32</description>
33</property>
34
35<property name="GAction:state">
36<description>
37The state of the action, or %NULL if the action is stateless.
38
39Since: 2.28
40
41</description>
42</property>
43
44<property name="GAction:state-type">
45<description>
46The #GVariantType of the state that the action has, or %NULL if the
47action is stateless. This is immutable.
48
49Since: 2.28
50
51</description>
52</property>
53
54<signal name="GActionGroup::action-added">
55<description>
56Signals that a new action was just added to the group.
57This signal is emitted after the action has been added
58and is now visible.
59
60Since: 2.28
61
62</description>
63<parameters>
64<parameter name="action_group">
65<parameter_description> the #GActionGroup that changed
66</parameter_description>
67</parameter>
68<parameter name="action_name">
69<parameter_description> the name of the action in @action_group
70</parameter_description>
71</parameter>
72</parameters>
73<return></return>
74</signal>
75
76<signal name="GActionGroup::action-enabled-changed">
77<description>
78Signals that the enabled status of the named action has changed.
79
80Since: 2.28
81
82</description>
83<parameters>
84<parameter name="action_group">
85<parameter_description> the #GActionGroup that changed
86</parameter_description>
87</parameter>
88<parameter name="action_name">
89<parameter_description> the name of the action in @action_group
90</parameter_description>
91</parameter>
92<parameter name="enabled">
93<parameter_description> whether the action is enabled or not
94</parameter_description>
95</parameter>
96</parameters>
97<return></return>
98</signal>
99
100<signal name="GActionGroup::action-removed">
101<description>
102Signals that an action is just about to be removed from the group.
103This signal is emitted before the action is removed, so the action
104is still visible and can be queried from the signal handler.
105
106Since: 2.28
107
108</description>
109<parameters>
110<parameter name="action_group">
111<parameter_description> the #GActionGroup that changed
112</parameter_description>
113</parameter>
114<parameter name="action_name">
115<parameter_description> the name of the action in @action_group
116</parameter_description>
117</parameter>
118</parameters>
119<return></return>
120</signal>
121
122<signal name="GActionGroup::action-state-changed">
123<description>
124Signals that the state of the named action has changed.
125
126Since: 2.28
127
128</description>
129<parameters>
130<parameter name="action_group">
131<parameter_description> the #GActionGroup that changed
132</parameter_description>
133</parameter>
134<parameter name="action_name">
135<parameter_description> the name of the action in @action_group
136</parameter_description>
137</parameter>
138<parameter name="value">
139<parameter_description> the new value of the state
140</parameter_description>
141</parameter>
142</parameters>
143<return></return>
144</signal>
145
146<enum name="GAppInfoCreateFlags">
147<description>
148Flags used when creating a #GAppInfo.
149
150</description>
151<parameters>
152<parameter name="G_APP_INFO_CREATE_NONE">
153<parameter_description> No flags.
154</parameter_description>
155</parameter>
156<parameter name="G_APP_INFO_CREATE_NEEDS_TERMINAL">
157<parameter_description> Application opens in a terminal window.
158</parameter_description>
159</parameter>
160<parameter name="G_APP_INFO_CREATE_SUPPORTS_URIS">
161<parameter_description> Application supports URI arguments.
162</parameter_description>
163</parameter>
164<parameter name="G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION">
165<parameter_description> Application supports startup notification. Since 2.26
166</parameter_description>
167</parameter>
168</parameters>
169</enum>
170
171<signal name="GAppInfoMonitor::changed">
172<description>
173Signal emitted when the app info database for changes (ie: newly installed
174or removed applications).
175
176</description>
177<parameters>
178</parameters>
179<return></return>
180</signal>
181
182<signal name="GAppLaunchContext::launch-failed">
183<description>
184The ::launch-failed signal is emitted when a #GAppInfo launch
185fails. The startup notification id is provided, so that the launcher
186can cancel the startup notification.
187
188Since: 2.36
189
190</description>
191<parameters>
192<parameter name="context">
193<parameter_description> the object emitting the signal
194</parameter_description>
195</parameter>
196<parameter name="startup_notify_id">
197<parameter_description> the startup notification id for the failed launch
198</parameter_description>
199</parameter>
200</parameters>
201<return></return>
202</signal>
203
204<signal name="GAppLaunchContext::launched">
205<description>
206The ::launched signal is emitted when a #GAppInfo is successfully
207launched. The @platform_data is an GVariant dictionary mapping
208strings to variants (ie a{sv}), which contains additional,
209platform-specific data about this launch. On UNIX, at least the
210&quot;pid&quot; and &quot;startup-notification-id&quot; keys will be present.
211
212Since: 2.36
213
214</description>
215<parameters>
216<parameter name="context">
217<parameter_description> the object emitting the signal
218</parameter_description>
219</parameter>
220<parameter name="info">
221<parameter_description> the #GAppInfo that was just launched
222</parameter_description>
223</parameter>
224<parameter name="platform_data">
225<parameter_description> additional platform-specific data for this launch
226</parameter_description>
227</parameter>
228</parameters>
229<return></return>
230</signal>
231
232<signal name="GApplication::activate">
233<description>
234The ::activate signal is emitted on the primary instance when an
235activation occurs. See g_application_activate().
236
237</description>
238<parameters>
239<parameter name="application">
240<parameter_description> the application
241</parameter_description>
242</parameter>
243</parameters>
244<return></return>
245</signal>
246
247<signal name="GApplication::command-line">
248<description>
249The ::command-line signal is emitted on the primary instance when
250a commandline is not handled locally. See g_application_run() and
251the #GApplicationCommandLine documentation for more information.
252
253
254</description>
255<parameters>
256<parameter name="application">
257<parameter_description> the application
258</parameter_description>
259</parameter>
260<parameter name="command_line">
261<parameter_description> a #GApplicationCommandLine representing the
262passed commandline
263</parameter_description>
264</parameter>
265</parameters>
266<return> An integer that is set as the exit status for the calling
267process. See g_application_command_line_set_exit_status().
268</return>
269</signal>
270
271<signal name="GApplication::handle-local-options">
272<description>
273The ::handle-local-options signal is emitted on the local instance
274after the parsing of the commandline options has occurred.
275
276You can add options to be recognised during commandline option
277parsing using g_application_add_main_option_entries() and
278g_application_add_option_group().
279
280Signal handlers can inspect @options (along with values pointed to
281from the @arg_data of an installed #GOptionEntrys) in order to
282decide to perform certain actions, including direct local handling
283(which may be useful for options like --version).
284
285In the event that the application is marked
286%G_APPLICATION_HANDLES_COMMAND_LINE the &quot;normal processing&quot; will
287send the @options dictionary to the primary instance where it can be
288read with g_application_command_line_get_options_dict().  The signal
289handler can modify the dictionary before returning, and the
290modified dictionary will be sent.
291
292In the event that %G_APPLICATION_HANDLES_COMMAND_LINE is not set,
293&quot;normal processing&quot; will treat the remaining uncollected command
294line arguments as filenames or URIs.  If there are no arguments,
295the application is activated by g_application_activate().  One or
296more arguments results in a call to g_application_open().
297
298If you want to handle the local commandline arguments for yourself
299by converting them to calls to g_application_open() or
300g_action_group_activate_action() then you must be sure to register
301the application first.  You should probably not call
302g_application_activate() for yourself, however: just return -1 and
303allow the default handler to do it for you.  This will ensure that
304the `--gapplication-service` switch works properly (i.e. no activation
305in that case).
306
307Note that this signal is emitted from the default implementation of
308local_command_line().  If you override that function and don't
309chain up then this signal will never be emitted.
310
311You can override local_command_line() if you need more powerful
312capabilities than what is provided here, but this should not
313normally be required.
314
315Since: 2.40
316
317</description>
318<parameters>
319<parameter name="application">
320<parameter_description> the application
321</parameter_description>
322</parameter>
323<parameter name="options">
324<parameter_description> the options dictionary
325</parameter_description>
326</parameter>
327</parameters>
328<return> an exit code. If you have handled your options and want
329to exit the process, return a non-negative option, 0 for success,
330and a positive value for failure. To continue, return -1 to let
331the default option processing continue.
332
333</return>
334</signal>
335
336<signal name="GApplication::name-lost">
337<description>
338The ::name-lost signal is emitted only on the registered primary instance
339when a new instance has taken over. This can only happen if the application
340is using the %G_APPLICATION_ALLOW_REPLACEMENT flag.
341
342The default handler for this signal calls g_application_quit().
343
344Since: 2.60
345
346</description>
347<parameters>
348<parameter name="application">
349<parameter_description> the application
350</parameter_description>
351</parameter>
352</parameters>
353<return> %TRUE if the signal has been handled
354
355</return>
356</signal>
357
358<signal name="GApplication::open">
359<description>
360The ::open signal is emitted on the primary instance when there are
361files to open. See g_application_open() for more information.
362
363</description>
364<parameters>
365<parameter name="application">
366<parameter_description> the application
367</parameter_description>
368</parameter>
369<parameter name="files">
370<parameter_description> an array of #GFiles
371</parameter_description>
372</parameter>
373<parameter name="n_files">
374<parameter_description> the length of @files
375</parameter_description>
376</parameter>
377<parameter name="hint">
378<parameter_description> a hint provided by the calling instance
379</parameter_description>
380</parameter>
381</parameters>
382<return></return>
383</signal>
384
385<signal name="GApplication::shutdown">
386<description>
387The ::shutdown signal is emitted only on the registered primary instance
388immediately after the main loop terminates.
389
390</description>
391<parameters>
392<parameter name="application">
393<parameter_description> the application
394</parameter_description>
395</parameter>
396</parameters>
397<return></return>
398</signal>
399
400<signal name="GApplication::startup">
401<description>
402The ::startup signal is emitted on the primary instance immediately
403after registration. See g_application_register().
404
405</description>
406<parameters>
407<parameter name="application">
408<parameter_description> the application
409</parameter_description>
410</parameter>
411</parameters>
412<return></return>
413</signal>
414
415<property name="GApplication:is-busy">
416<description>
417Whether the application is currently marked as busy through
418g_application_mark_busy() or g_application_bind_busy_property().
419
420Since: 2.44
421
422</description>
423</property>
424
425<enum name="GApplicationFlags">
426<description>
427Flags used to define the behaviour of a #GApplication.
428
429Since: 2.28
430
431</description>
432<parameters>
433<parameter name="G_APPLICATION_FLAGS_NONE">
434<parameter_description> Default
435</parameter_description>
436</parameter>
437<parameter name="G_APPLICATION_IS_SERVICE">
438<parameter_description> Run as a service. In this mode, registration
439fails if the service is already running, and the application
440will initially wait up to 10 seconds for an initial activation
441message to arrive.
442</parameter_description>
443</parameter>
444<parameter name="G_APPLICATION_IS_LAUNCHER">
445<parameter_description> Don't try to become the primary instance.
446</parameter_description>
447</parameter>
448<parameter name="G_APPLICATION_HANDLES_OPEN">
449<parameter_description> This application handles opening files (in
450the primary instance). Note that this flag only affects the default
451implementation of local_command_line(), and has no effect if
452%G_APPLICATION_HANDLES_COMMAND_LINE is given.
453See g_application_run() for details.
454</parameter_description>
455</parameter>
456<parameter name="G_APPLICATION_HANDLES_COMMAND_LINE">
457<parameter_description> This application handles command line
458arguments (in the primary instance). Note that this flag only affect
459the default implementation of local_command_line().
460See g_application_run() for details.
461</parameter_description>
462</parameter>
463<parameter name="G_APPLICATION_SEND_ENVIRONMENT">
464<parameter_description> Send the environment of the
465launching process to the primary instance. Set this flag if your
466application is expected to behave differently depending on certain
467environment variables. For instance, an editor might be expected
468to use the `GIT_COMMITTER_NAME` environment variable
469when editing a git commit message. The environment is available
470to the #GApplication::command-line signal handler, via
471g_application_command_line_getenv().
472</parameter_description>
473</parameter>
474<parameter name="G_APPLICATION_NON_UNIQUE">
475<parameter_description> Make no attempts to do any of the typical
476single-instance application negotiation, even if the application
477ID is given.  The application neither attempts to become the
478owner of the application ID nor does it check if an existing
479owner already exists.  Everything occurs in the local process.
480Since: 2.30.
481</parameter_description>
482</parameter>
483<parameter name="G_APPLICATION_CAN_OVERRIDE_APP_ID">
484<parameter_description> Allow users to override the
485application ID from the command line with `--gapplication-app-id`.
486Since: 2.48
487</parameter_description>
488</parameter>
489<parameter name="G_APPLICATION_ALLOW_REPLACEMENT">
490<parameter_description> Allow another instance to take over
491the bus name. Since: 2.60
492</parameter_description>
493</parameter>
494<parameter name="G_APPLICATION_REPLACE">
495<parameter_description> Take over from another instance. This flag is
496usually set by passing `--gapplication-replace` on the commandline.
497Since: 2.60
498</parameter_description>
499</parameter>
500</parameters>
501</enum>
502
503<enum name="GAskPasswordFlags">
504<description>
505#GAskPasswordFlags are used to request specific information from the
506user, or to notify the user of their choices in an authentication
507situation.
508
509</description>
510<parameters>
511<parameter name="G_ASK_PASSWORD_NEED_PASSWORD">
512<parameter_description> operation requires a password.
513</parameter_description>
514</parameter>
515<parameter name="G_ASK_PASSWORD_NEED_USERNAME">
516<parameter_description> operation requires a username.
517</parameter_description>
518</parameter>
519<parameter name="G_ASK_PASSWORD_NEED_DOMAIN">
520<parameter_description> operation requires a domain.
521</parameter_description>
522</parameter>
523<parameter name="G_ASK_PASSWORD_SAVING_SUPPORTED">
524<parameter_description> operation supports saving settings.
525</parameter_description>
526</parameter>
527<parameter name="G_ASK_PASSWORD_ANONYMOUS_SUPPORTED">
528<parameter_description> operation supports anonymous users.
529</parameter_description>
530</parameter>
531<parameter name="G_ASK_PASSWORD_TCRYPT">
532<parameter_description> operation takes TCRYPT parameters (Since: 2.58)
533</parameter_description>
534</parameter>
535</parameters>
536</enum>
537
538<enum name="GBusNameOwnerFlags">
539<description>
540Flags used in g_bus_own_name().
541
542Since: 2.26
543
544</description>
545<parameters>
546<parameter name="G_BUS_NAME_OWNER_FLAGS_NONE">
547<parameter_description> No flags set.
548</parameter_description>
549</parameter>
550<parameter name="G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT">
551<parameter_description> Allow another message bus connection to claim the name.
552</parameter_description>
553</parameter>
554<parameter name="G_BUS_NAME_OWNER_FLAGS_REPLACE">
555<parameter_description> If another message bus connection owns the name and have
556specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
557</parameter_description>
558</parameter>
559<parameter name="G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE">
560<parameter_description> If another message bus connection owns the name, immediately
561return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54)
562</parameter_description>
563</parameter>
564</parameters>
565</enum>
566
567<enum name="GBusNameWatcherFlags">
568<description>
569Flags used in g_bus_watch_name().
570
571Since: 2.26
572
573</description>
574<parameters>
575<parameter name="G_BUS_NAME_WATCHER_FLAGS_NONE">
576<parameter_description> No flags set.
577</parameter_description>
578</parameter>
579<parameter name="G_BUS_NAME_WATCHER_FLAGS_AUTO_START">
580<parameter_description> If no-one owns the name when
581beginning to watch the name, ask the bus to launch an owner for the
582name.
583</parameter_description>
584</parameter>
585</parameters>
586</enum>
587
588<enum name="GBusType">
589<description>
590An enumeration for well-known message buses.
591
592Since: 2.26
593
594</description>
595<parameters>
596<parameter name="G_BUS_TYPE_STARTER">
597<parameter_description> An alias for the message bus that activated the process, if any.
598</parameter_description>
599</parameter>
600<parameter name="G_BUS_TYPE_NONE">
601<parameter_description> Not a message bus.
602</parameter_description>
603</parameter>
604<parameter name="G_BUS_TYPE_SYSTEM">
605<parameter_description> The system-wide message bus.
606</parameter_description>
607</parameter>
608<parameter name="G_BUS_TYPE_SESSION">
609<parameter_description> The login session message bus.
610</parameter_description>
611</parameter>
612</parameters>
613</enum>
614
615<property name="GBytesIcon:bytes">
616<description>
617The bytes containing the icon.
618
619</description>
620</property>
621
622<signal name="GCancellable::cancelled">
623<description>
624Emitted when the operation has been cancelled.
625
626Can be used by implementations of cancellable operations. If the
627operation is cancelled from another thread, the signal will be
628emitted in the thread that cancelled the operation, not the
629thread that is running the operation.
630
631Note that disconnecting from this signal (or any signal) in a
632multi-threaded program is prone to race conditions. For instance
633it is possible that a signal handler may be invoked even after
634a call to g_signal_handler_disconnect() for that handler has
635already returned.
636
637There is also a problem when cancellation happens right before
638connecting to the signal. If this happens the signal will
639unexpectedly not be emitted, and checking before connecting to
640the signal leaves a race condition where this is still happening.
641
642In order to make it safe and easy to connect handlers there
643are two helper functions: g_cancellable_connect() and
644g_cancellable_disconnect() which protect against problems
645like this.
646
647An example of how to us this:
648|[&lt;!-- language=&quot;C&quot; --&gt;
649// Make sure we don't do unnecessary work if already cancelled
650if (g_cancellable_set_error_if_cancelled (cancellable, error))
651return;
652
653// Set up all the data needed to be able to handle cancellation
654// of the operation
655my_data = my_data_new (...);
656
657id = 0;
658if (cancellable)
659id = g_cancellable_connect (cancellable,
660G_CALLBACK (cancelled_handler)
661data, NULL);
662
663// cancellable operation here...
664
665g_cancellable_disconnect (cancellable, id);
666
667// cancelled_handler is never called after this, it is now safe
668// to free the data
669my_data_free (my_data);
670]|
671
672Note that the cancelled signal is emitted in the thread that
673the user cancelled from, which may be the main thread. So, the
674cancellable signal should not do something that can block.
675
676</description>
677<parameters>
678<parameter name="cancellable">
679<parameter_description> a #GCancellable.
680</parameter_description>
681</parameter>
682</parameters>
683<return></return>
684</signal>
685
686<enum name="GConverterFlags">
687<description>
688Flags used when calling a g_converter_convert().
689
690Since: 2.24
691
692</description>
693<parameters>
694<parameter name="G_CONVERTER_NO_FLAGS">
695<parameter_description> No flags.
696</parameter_description>
697</parameter>
698<parameter name="G_CONVERTER_INPUT_AT_END">
699<parameter_description> At end of input data
700</parameter_description>
701</parameter>
702<parameter name="G_CONVERTER_FLUSH">
703<parameter_description> Flush data
704</parameter_description>
705</parameter>
706</parameters>
707</enum>
708
709<enum name="GConverterResult">
710<description>
711Results returned from g_converter_convert().
712
713Since: 2.24
714
715</description>
716<parameters>
717<parameter name="G_CONVERTER_ERROR">
718<parameter_description> There was an error during conversion.
719</parameter_description>
720</parameter>
721<parameter name="G_CONVERTER_CONVERTED">
722<parameter_description> Some data was consumed or produced
723</parameter_description>
724</parameter>
725<parameter name="G_CONVERTER_FINISHED">
726<parameter_description> The conversion is finished
727</parameter_description>
728</parameter>
729<parameter name="G_CONVERTER_FLUSHED">
730<parameter_description> Flushing is finished
731</parameter_description>
732</parameter>
733</parameters>
734</enum>
735
736<enum name="GCredentialsType">
737<description>
738Enumeration describing different kinds of native credential types.
739
740Since: 2.26
741
742</description>
743<parameters>
744<parameter name="G_CREDENTIALS_TYPE_INVALID">
745<parameter_description> Indicates an invalid native credential type.
746</parameter_description>
747</parameter>
748<parameter name="G_CREDENTIALS_TYPE_LINUX_UCRED">
749<parameter_description> The native credentials type is a struct ucred.
750</parameter_description>
751</parameter>
752<parameter name="G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED">
753<parameter_description> The native credentials type is a struct cmsgcred.
754</parameter_description>
755</parameter>
756<parameter name="G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED">
757<parameter_description> The native credentials type is a struct sockpeercred. Added in 2.30.
758</parameter_description>
759</parameter>
760<parameter name="G_CREDENTIALS_TYPE_SOLARIS_UCRED">
761<parameter_description> The native credentials type is a ucred_t. Added in 2.40.
762</parameter_description>
763</parameter>
764<parameter name="G_CREDENTIALS_TYPE_NETBSD_UNPCBID">
765<parameter_description> The native credentials type is a struct unpcbid.
766</parameter_description>
767</parameter>
768</parameters>
769</enum>
770
771<property name="GDBusAuthMechanism:credentials">
772<description>
773If authenticating as a server, this property contains the
774received credentials, if any.
775
776If authenticating as a client, the property contains the
777credentials that were sent, if any.
778
779</description>
780</property>
781
782<signal name="GDBusAuthObserver::allow-mechanism">
783<description>
784Emitted to check if @mechanism is allowed to be used.
785
786Since: 2.34
787
788</description>
789<parameters>
790<parameter name="observer">
791<parameter_description> The #GDBusAuthObserver emitting the signal.
792</parameter_description>
793</parameter>
794<parameter name="mechanism">
795<parameter_description> The name of the mechanism, e.g. `DBUS_COOKIE_SHA1`.
796</parameter_description>
797</parameter>
798</parameters>
799<return> %TRUE if @mechanism can be used to authenticate the other peer, %FALSE if not.
800
801</return>
802</signal>
803
804<signal name="GDBusAuthObserver::authorize-authenticated-peer">
805<description>
806Emitted to check if a peer that is successfully authenticated
807is authorized.
808
809Since: 2.26
810
811</description>
812<parameters>
813<parameter name="observer">
814<parameter_description> The #GDBusAuthObserver emitting the signal.
815</parameter_description>
816</parameter>
817<parameter name="stream">
818<parameter_description> A #GIOStream for the #GDBusConnection.
819</parameter_description>
820</parameter>
821<parameter name="credentials">
822<parameter_description> Credentials received from the peer or %NULL.
823</parameter_description>
824</parameter>
825</parameters>
826<return> %TRUE if the peer is authorized, %FALSE if not.
827
828</return>
829</signal>
830
831<enum name="GDBusCallFlags">
832<description>
833Flags used in g_dbus_connection_call() and similar APIs.
834
835Since: 2.26
836
837</description>
838<parameters>
839<parameter name="G_DBUS_CALL_FLAGS_NONE">
840<parameter_description> No flags set.
841</parameter_description>
842</parameter>
843<parameter name="G_DBUS_CALL_FLAGS_NO_AUTO_START">
844<parameter_description> The bus must not launch
845an owner for the destination name in response to this method
846invocation.
847</parameter_description>
848</parameter>
849<parameter name="G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION">
850<parameter_description> the caller is prepared to
851wait for interactive authorization. Since 2.46.
852</parameter_description>
853</parameter>
854</parameters>
855</enum>
856
857<enum name="GDBusCapabilityFlags">
858<description>
859Capabilities negotiated with the remote peer.
860
861Since: 2.26
862
863</description>
864<parameters>
865<parameter name="G_DBUS_CAPABILITY_FLAGS_NONE">
866<parameter_description> No flags set.
867</parameter_description>
868</parameter>
869<parameter name="G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING">
870<parameter_description> The connection
871supports exchanging UNIX file descriptors with the remote peer.
872</parameter_description>
873</parameter>
874</parameters>
875</enum>
876
877<signal name="GDBusConnection::closed">
878<description>
879Emitted when the connection is closed.
880
881The cause of this event can be
882
883- If g_dbus_connection_close() is called. In this case
884@remote_peer_vanished is set to %FALSE and @error is %NULL.
885
886- If the remote peer closes the connection. In this case
887@remote_peer_vanished is set to %TRUE and @error is set.
888
889- If the remote peer sends invalid or malformed data. In this
890case @remote_peer_vanished is set to %FALSE and @error is set.
891
892Upon receiving this signal, you should give up your reference to
893@connection. You are guaranteed that this signal is emitted only
894once.
895
896Since: 2.26
897
898</description>
899<parameters>
900<parameter name="connection">
901<parameter_description> the #GDBusConnection emitting the signal
902</parameter_description>
903</parameter>
904<parameter name="remote_peer_vanished">
905<parameter_description> %TRUE if @connection is closed because the
906remote peer closed its end of the connection
907</parameter_description>
908</parameter>
909<parameter name="error">
910<parameter_description> a #GError with more details about the event or %NULL
911</parameter_description>
912</parameter>
913</parameters>
914<return></return>
915</signal>
916
917<property name="GDBusConnection:address">
918<description>
919A D-Bus address specifying potential endpoints that can be used
920when establishing the connection.
921
922Since: 2.26
923
924</description>
925</property>
926
927<property name="GDBusConnection:authentication-observer">
928<description>
929A #GDBusAuthObserver object to assist in the authentication process or %NULL.
930
931Since: 2.26
932
933</description>
934</property>
935
936<property name="GDBusConnection:capabilities">
937<description>
938Flags from the #GDBusCapabilityFlags enumeration
939representing connection features negotiated with the other peer.
940
941Since: 2.26
942
943</description>
944</property>
945
946<property name="GDBusConnection:closed">
947<description>
948A boolean specifying whether the connection has been closed.
949
950Since: 2.26
951
952</description>
953</property>
954
955<property name="GDBusConnection:exit-on-close">
956<description>
957A boolean specifying whether the process will be terminated (by
958calling `raise(SIGTERM)`) if the connection is closed by the
959remote peer.
960
961Note that #GDBusConnection objects returned by g_bus_get_finish()
962and g_bus_get_sync() will (usually) have this property set to %TRUE.
963
964Since: 2.26
965
966</description>
967</property>
968
969<property name="GDBusConnection:flags">
970<description>
971Flags from the #GDBusConnectionFlags enumeration.
972
973Since: 2.26
974
975</description>
976</property>
977
978<property name="GDBusConnection:guid">
979<description>
980The GUID of the peer performing the role of server when
981authenticating.
982
983If you are constructing a #GDBusConnection and pass
984%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER in the
985#GDBusConnection:flags property then you MUST also set this
986property to a valid guid.
987
988If you are constructing a #GDBusConnection and pass
989%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT in the
990#GDBusConnection:flags property you will be able to read the GUID
991of the other peer here after the connection has been successfully
992initialized.
993
994Since: 2.26
995
996</description>
997</property>
998
999<property name="GDBusConnection:locked">
1000<description>
1001A boolean specifying whether the message is locked.
1002
1003Since: 2.26
1004
1005</description>
1006</property>
1007
1008<property name="GDBusConnection:stream">
1009<description>
1010The underlying #GIOStream used for I/O.
1011
1012If this is passed on construction and is a #GSocketConnection,
1013then the corresponding #GSocket will be put into non-blocking mode.
1014
1015While the #GDBusConnection is active, it will interact with this
1016stream from a worker thread, so it is not safe to interact with
1017the stream directly.
1018
1019Since: 2.26
1020
1021</description>
1022</property>
1023
1024<property name="GDBusConnection:unique-name">
1025<description>
1026The unique name as assigned by the message bus or %NULL if the
1027connection is not open or not a message bus connection.
1028
1029Since: 2.26
1030
1031</description>
1032</property>
1033
1034<enum name="GDBusConnectionFlags">
1035<description>
1036Flags used when creating a new #GDBusConnection.
1037
1038Since: 2.26
1039
1040</description>
1041<parameters>
1042<parameter name="G_DBUS_CONNECTION_FLAGS_NONE">
1043<parameter_description> No flags set.
1044</parameter_description>
1045</parameter>
1046<parameter name="G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT">
1047<parameter_description> Perform authentication against server.
1048</parameter_description>
1049</parameter>
1050<parameter name="G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER">
1051<parameter_description> Perform authentication against client.
1052</parameter_description>
1053</parameter>
1054<parameter name="G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS">
1055<parameter_description> When
1056authenticating as a server, allow the anonymous authentication
1057method.
1058</parameter_description>
1059</parameter>
1060<parameter name="G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION">
1061<parameter_description> Pass this flag if connecting to a peer that is a
1062message bus. This means that the Hello() method will be invoked as part of the connection setup.
1063</parameter_description>
1064</parameter>
1065<parameter name="G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING">
1066<parameter_description> If set, processing of D-Bus messages is
1067delayed until g_dbus_connection_start_message_processing() is called.
1068</parameter_description>
1069</parameter>
1070</parameters>
1071</enum>
1072
1073<enum name="GDBusError">
1074<description>
1075Error codes for the %G_DBUS_ERROR error domain.
1076
1077Since: 2.26
1078
1079</description>
1080<parameters>
1081<parameter name="G_DBUS_ERROR_FAILED">
1082<parameter_description>
1083A generic error; &quot;something went wrong&quot; - see the error message for
1084more.
1085</parameter_description>
1086</parameter>
1087<parameter name="G_DBUS_ERROR_NO_MEMORY">
1088<parameter_description>
1089There was not enough memory to complete an operation.
1090</parameter_description>
1091</parameter>
1092<parameter name="G_DBUS_ERROR_SERVICE_UNKNOWN">
1093<parameter_description>
1094The bus doesn't know how to launch a service to supply the bus name
1095you wanted.
1096</parameter_description>
1097</parameter>
1098<parameter name="G_DBUS_ERROR_NAME_HAS_NO_OWNER">
1099<parameter_description>
1100The bus name you referenced doesn't exist (i.e. no application owns
1101it).
1102</parameter_description>
1103</parameter>
1104<parameter name="G_DBUS_ERROR_NO_REPLY">
1105<parameter_description>
1106No reply to a message expecting one, usually means a timeout occurred.
1107</parameter_description>
1108</parameter>
1109<parameter name="G_DBUS_ERROR_IO_ERROR">
1110<parameter_description>
1111Something went wrong reading or writing to a socket, for example.
1112</parameter_description>
1113</parameter>
1114<parameter name="G_DBUS_ERROR_BAD_ADDRESS">
1115<parameter_description>
1116A D-Bus bus address was malformed.
1117</parameter_description>
1118</parameter>
1119<parameter name="G_DBUS_ERROR_NOT_SUPPORTED">
1120<parameter_description>
1121Requested operation isn't supported (like ENOSYS on UNIX).
1122</parameter_description>
1123</parameter>
1124<parameter name="G_DBUS_ERROR_LIMITS_EXCEEDED">
1125<parameter_description>
1126Some limited resource is exhausted.
1127</parameter_description>
1128</parameter>
1129<parameter name="G_DBUS_ERROR_ACCESS_DENIED">
1130<parameter_description>
1131Security restrictions don't allow doing what you're trying to do.
1132</parameter_description>
1133</parameter>
1134<parameter name="G_DBUS_ERROR_AUTH_FAILED">
1135<parameter_description>
1136Authentication didn't work.
1137</parameter_description>
1138</parameter>
1139<parameter name="G_DBUS_ERROR_NO_SERVER">
1140<parameter_description>
1141Unable to connect to server (probably caused by ECONNREFUSED on a
1142socket).
1143</parameter_description>
1144</parameter>
1145<parameter name="G_DBUS_ERROR_TIMEOUT">
1146<parameter_description>
1147Certain timeout errors, possibly ETIMEDOUT on a socket.  Note that
1148%G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning:
1149this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also
1150exists. We can't fix it for compatibility reasons so just be
1151careful.
1152</parameter_description>
1153</parameter>
1154<parameter name="G_DBUS_ERROR_NO_NETWORK">
1155<parameter_description>
1156No network access (probably ENETUNREACH on a socket).
1157</parameter_description>
1158</parameter>
1159<parameter name="G_DBUS_ERROR_ADDRESS_IN_USE">
1160<parameter_description>
1161Can't bind a socket since its address is in use (i.e. EADDRINUSE).
1162</parameter_description>
1163</parameter>
1164<parameter name="G_DBUS_ERROR_DISCONNECTED">
1165<parameter_description>
1166The connection is disconnected and you're trying to use it.
1167</parameter_description>
1168</parameter>
1169<parameter name="G_DBUS_ERROR_INVALID_ARGS">
1170<parameter_description>
1171Invalid arguments passed to a method call.
1172</parameter_description>
1173</parameter>
1174<parameter name="G_DBUS_ERROR_FILE_NOT_FOUND">
1175<parameter_description>
1176Missing file.
1177</parameter_description>
1178</parameter>
1179<parameter name="G_DBUS_ERROR_FILE_EXISTS">
1180<parameter_description>
1181Existing file and the operation you're using does not silently overwrite.
1182</parameter_description>
1183</parameter>
1184<parameter name="G_DBUS_ERROR_UNKNOWN_METHOD">
1185<parameter_description>
1186Method name you invoked isn't known by the object you invoked it on.
1187</parameter_description>
1188</parameter>
1189<parameter name="G_DBUS_ERROR_UNKNOWN_OBJECT">
1190<parameter_description>
1191Object you invoked a method on isn't known. Since 2.42
1192</parameter_description>
1193</parameter>
1194<parameter name="G_DBUS_ERROR_UNKNOWN_INTERFACE">
1195<parameter_description>
1196Interface you invoked a method on isn't known by the object. Since 2.42
1197</parameter_description>
1198</parameter>
1199<parameter name="G_DBUS_ERROR_UNKNOWN_PROPERTY">
1200<parameter_description>
1201Property you tried to access isn't known by the object. Since 2.42
1202</parameter_description>
1203</parameter>
1204<parameter name="G_DBUS_ERROR_PROPERTY_READ_ONLY">
1205<parameter_description>
1206Property you tried to set is read-only. Since 2.42
1207</parameter_description>
1208</parameter>
1209<parameter name="G_DBUS_ERROR_TIMED_OUT">
1210<parameter_description>
1211Certain timeout errors, e.g. while starting a service. Warning: this is
1212confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We
1213can't fix it for compatibility reasons so just be careful.
1214</parameter_description>
1215</parameter>
1216<parameter name="G_DBUS_ERROR_MATCH_RULE_NOT_FOUND">
1217<parameter_description>
1218Tried to remove or modify a match rule that didn't exist.
1219</parameter_description>
1220</parameter>
1221<parameter name="G_DBUS_ERROR_MATCH_RULE_INVALID">
1222<parameter_description>
1223The match rule isn't syntactically valid.
1224</parameter_description>
1225</parameter>
1226<parameter name="G_DBUS_ERROR_SPAWN_EXEC_FAILED">
1227<parameter_description>
1228While starting a new process, the exec() call failed.
1229</parameter_description>
1230</parameter>
1231<parameter name="G_DBUS_ERROR_SPAWN_FORK_FAILED">
1232<parameter_description>
1233While starting a new process, the fork() call failed.
1234</parameter_description>
1235</parameter>
1236<parameter name="G_DBUS_ERROR_SPAWN_CHILD_EXITED">
1237<parameter_description>
1238While starting a new process, the child exited with a status code.
1239</parameter_description>
1240</parameter>
1241<parameter name="G_DBUS_ERROR_SPAWN_CHILD_SIGNALED">
1242<parameter_description>
1243While starting a new process, the child exited on a signal.
1244</parameter_description>
1245</parameter>
1246<parameter name="G_DBUS_ERROR_SPAWN_FAILED">
1247<parameter_description>
1248While starting a new process, something went wrong.
1249</parameter_description>
1250</parameter>
1251<parameter name="G_DBUS_ERROR_SPAWN_SETUP_FAILED">
1252<parameter_description>
1253We failed to setup the environment correctly.
1254</parameter_description>
1255</parameter>
1256<parameter name="G_DBUS_ERROR_SPAWN_CONFIG_INVALID">
1257<parameter_description>
1258We failed to setup the config parser correctly.
1259</parameter_description>
1260</parameter>
1261<parameter name="G_DBUS_ERROR_SPAWN_SERVICE_INVALID">
1262<parameter_description>
1263Bus name was not valid.
1264</parameter_description>
1265</parameter>
1266<parameter name="G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND">
1267<parameter_description>
1268Service file not found in system-services directory.
1269</parameter_description>
1270</parameter>
1271<parameter name="G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID">
1272<parameter_description>
1273Permissions are incorrect on the setuid helper.
1274</parameter_description>
1275</parameter>
1276<parameter name="G_DBUS_ERROR_SPAWN_FILE_INVALID">
1277<parameter_description>
1278Service file invalid (Name, User or Exec missing).
1279</parameter_description>
1280</parameter>
1281<parameter name="G_DBUS_ERROR_SPAWN_NO_MEMORY">
1282<parameter_description>
1283Tried to get a UNIX process ID and it wasn't available.
1284</parameter_description>
1285</parameter>
1286<parameter name="G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN">
1287<parameter_description>
1288Tried to get a UNIX process ID and it wasn't available.
1289</parameter_description>
1290</parameter>
1291<parameter name="G_DBUS_ERROR_INVALID_SIGNATURE">
1292<parameter_description>
1293A type signature is not valid.
1294</parameter_description>
1295</parameter>
1296<parameter name="G_DBUS_ERROR_INVALID_FILE_CONTENT">
1297<parameter_description>
1298A file contains invalid syntax or is otherwise broken.
1299</parameter_description>
1300</parameter>
1301<parameter name="G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN">
1302<parameter_description>
1303Asked for SELinux security context and it wasn't available.
1304</parameter_description>
1305</parameter>
1306<parameter name="G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN">
1307<parameter_description>
1308Asked for ADT audit data and it wasn't available.
1309</parameter_description>
1310</parameter>
1311<parameter name="G_DBUS_ERROR_OBJECT_PATH_IN_USE">
1312<parameter_description>
1313There's already an object with the requested object path.
1314</parameter_description>
1315</parameter>
1316</parameters>
1317</enum>
1318
1319<signal name="GDBusInterfaceSkeleton::g-authorize-method">
1320<description>
1321Emitted when a method is invoked by a remote caller and used to
1322determine if the method call is authorized.
1323
1324Note that this signal is emitted in a thread dedicated to
1325handling the method call so handlers are allowed to perform
1326blocking IO. This means that it is appropriate to call e.g.
1327[polkit_authority_check_authorization_sync()](http://hal.freedesktop.org/docs/polkit/PolkitAuthority.html#polkit-authority-check-authorization-sync)
1328with the
1329[POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION](http://hal.freedesktop.org/docs/polkit/PolkitAuthority.html#POLKIT-CHECK-AUTHORIZATION-FLAGS-ALLOW-USER-INTERACTION:CAPS)
1330flag set.
1331
1332If %FALSE is returned then no further handlers are run and the
1333signal handler must take a reference to @invocation and finish
1334handling the call (e.g. return an error via
1335g_dbus_method_invocation_return_error()).
1336
1337Otherwise, if %TRUE is returned, signal emission continues. If no
1338handlers return %FALSE, then the method is dispatched. If
1339@interface has an enclosing #GDBusObjectSkeleton, then the
1340#GDBusObjectSkeleton::authorize-method signal handlers run before
1341the handlers for this signal.
1342
1343The default class handler just returns %TRUE.
1344
1345Please note that the common case is optimized: if no signals
1346handlers are connected and the default class handler isn't
1347overridden (for both @interface and the enclosing
1348#GDBusObjectSkeleton, if any) and #GDBusInterfaceSkeleton:g-flags does
1349not have the
1350%G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD
1351flags set, no dedicated thread is ever used and the call will be
1352handled in the same thread as the object that @interface belongs
1353to was exported in.
1354
1355Since: 2.30
1356
1357</description>
1358<parameters>
1359<parameter name="interface">
1360<parameter_description> The #GDBusInterfaceSkeleton emitting the signal.
1361</parameter_description>
1362</parameter>
1363<parameter name="invocation">
1364<parameter_description> A #GDBusMethodInvocation.
1365</parameter_description>
1366</parameter>
1367</parameters>
1368<return> %TRUE if the call is authorized, %FALSE otherwise.
1369
1370</return>
1371</signal>
1372
1373<property name="GDBusInterfaceSkeleton:g-flags">
1374<description>
1375Flags from the #GDBusInterfaceSkeletonFlags enumeration.
1376
1377Since: 2.30
1378
1379</description>
1380</property>
1381
1382<enum name="GDBusInterfaceSkeletonFlags">
1383<description>
1384Flags describing the behavior of a #GDBusInterfaceSkeleton instance.
1385
1386Since: 2.30
1387
1388</description>
1389<parameters>
1390<parameter name="G_DBUS_INTERFACE_SKELETON_FLAGS_NONE">
1391<parameter_description> No flags set.
1392</parameter_description>
1393</parameter>
1394<parameter name="G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD">
1395<parameter_description> Each method invocation is handled in
1396a thread dedicated to the invocation. This means that the method implementation can use blocking IO
1397without blocking any other part of the process. It also means that the method implementation must
1398use locking to access data structures used by other threads.
1399</parameter_description>
1400</parameter>
1401</parameters>
1402</enum>
1403
1404<enum name="GDBusMessageByteOrder">
1405<description>
1406Enumeration used to describe the byte order of a D-Bus message.
1407
1408Since: 2.26
1409
1410</description>
1411<parameters>
1412<parameter name="G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN">
1413<parameter_description> The byte order is big endian.
1414</parameter_description>
1415</parameter>
1416<parameter name="G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN">
1417<parameter_description> The byte order is little endian.
1418</parameter_description>
1419</parameter>
1420</parameters>
1421</enum>
1422
1423<enum name="GDBusMessageFlags">
1424<description>
1425Message flags used in #GDBusMessage.
1426
1427Since: 2.26
1428
1429</description>
1430<parameters>
1431<parameter name="G_DBUS_MESSAGE_FLAGS_NONE">
1432<parameter_description> No flags set.
1433</parameter_description>
1434</parameter>
1435<parameter name="G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED">
1436<parameter_description> A reply is not expected.
1437</parameter_description>
1438</parameter>
1439<parameter name="G_DBUS_MESSAGE_FLAGS_NO_AUTO_START">
1440<parameter_description> The bus must not launch an
1441owner for the destination name in response to this message.
1442</parameter_description>
1443</parameter>
1444<parameter name="G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION">
1445<parameter_description> If set on a method
1446call, this flag means that the caller is prepared to wait for interactive
1447authorization. Since 2.46.
1448</parameter_description>
1449</parameter>
1450</parameters>
1451</enum>
1452
1453<enum name="GDBusMessageHeaderField">
1454<description>
1455Header fields used in #GDBusMessage.
1456
1457Since: 2.26
1458
1459</description>
1460<parameters>
1461<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_INVALID">
1462<parameter_description> Not a valid header field.
1463</parameter_description>
1464</parameter>
1465<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_PATH">
1466<parameter_description> The object path.
1467</parameter_description>
1468</parameter>
1469<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE">
1470<parameter_description> The interface name.
1471</parameter_description>
1472</parameter>
1473<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_MEMBER">
1474<parameter_description> The method or signal name.
1475</parameter_description>
1476</parameter>
1477<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME">
1478<parameter_description> The name of the error that occurred.
1479</parameter_description>
1480</parameter>
1481<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL">
1482<parameter_description> The serial number the message is a reply to.
1483</parameter_description>
1484</parameter>
1485<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION">
1486<parameter_description> The name the message is intended for.
1487</parameter_description>
1488</parameter>
1489<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_SENDER">
1490<parameter_description> Unique name of the sender of the message (filled in by the bus).
1491</parameter_description>
1492</parameter>
1493<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE">
1494<parameter_description> The signature of the message body.
1495</parameter_description>
1496</parameter>
1497<parameter name="G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS">
1498<parameter_description> The number of UNIX file descriptors that accompany the message.
1499</parameter_description>
1500</parameter>
1501</parameters>
1502</enum>
1503
1504<enum name="GDBusMessageType">
1505<description>
1506Message types used in #GDBusMessage.
1507
1508Since: 2.26
1509
1510</description>
1511<parameters>
1512<parameter name="G_DBUS_MESSAGE_TYPE_INVALID">
1513<parameter_description> Message is of invalid type.
1514</parameter_description>
1515</parameter>
1516<parameter name="G_DBUS_MESSAGE_TYPE_METHOD_CALL">
1517<parameter_description> Method call.
1518</parameter_description>
1519</parameter>
1520<parameter name="G_DBUS_MESSAGE_TYPE_METHOD_RETURN">
1521<parameter_description> Method reply.
1522</parameter_description>
1523</parameter>
1524<parameter name="G_DBUS_MESSAGE_TYPE_ERROR">
1525<parameter_description> Error reply.
1526</parameter_description>
1527</parameter>
1528<parameter name="G_DBUS_MESSAGE_TYPE_SIGNAL">
1529<parameter_description> Signal emission.
1530</parameter_description>
1531</parameter>
1532</parameters>
1533</enum>
1534
1535<signal name="GDBusObject::interface-added">
1536<description>
1537Emitted when @interface is added to @object.
1538
1539Since: 2.30
1540
1541</description>
1542<parameters>
1543<parameter name="object">
1544<parameter_description> The #GDBusObject emitting the signal.
1545</parameter_description>
1546</parameter>
1547<parameter name="interface">
1548<parameter_description> The #GDBusInterface that was added.
1549</parameter_description>
1550</parameter>
1551</parameters>
1552<return></return>
1553</signal>
1554
1555<signal name="GDBusObject::interface-removed">
1556<description>
1557Emitted when @interface is removed from @object.
1558
1559Since: 2.30
1560
1561</description>
1562<parameters>
1563<parameter name="object">
1564<parameter_description> The #GDBusObject emitting the signal.
1565</parameter_description>
1566</parameter>
1567<parameter name="interface">
1568<parameter_description> The #GDBusInterface that was removed.
1569</parameter_description>
1570</parameter>
1571</parameters>
1572<return></return>
1573</signal>
1574
1575<signal name="GDBusObjectManager::interface-added">
1576<description>
1577Emitted when @interface is added to @object.
1578
1579This signal exists purely as a convenience to avoid having to
1580connect signals to all objects managed by @manager.
1581
1582Since: 2.30
1583
1584</description>
1585<parameters>
1586<parameter name="manager">
1587<parameter_description> The #GDBusObjectManager emitting the signal.
1588</parameter_description>
1589</parameter>
1590<parameter name="object">
1591<parameter_description> The #GDBusObject on which an interface was added.
1592</parameter_description>
1593</parameter>
1594<parameter name="interface">
1595<parameter_description> The #GDBusInterface that was added.
1596</parameter_description>
1597</parameter>
1598</parameters>
1599<return></return>
1600</signal>
1601
1602<signal name="GDBusObjectManager::interface-removed">
1603<description>
1604Emitted when @interface has been removed from @object.
1605
1606This signal exists purely as a convenience to avoid having to
1607connect signals to all objects managed by @manager.
1608
1609Since: 2.30
1610
1611</description>
1612<parameters>
1613<parameter name="manager">
1614<parameter_description> The #GDBusObjectManager emitting the signal.
1615</parameter_description>
1616</parameter>
1617<parameter name="object">
1618<parameter_description> The #GDBusObject on which an interface was removed.
1619</parameter_description>
1620</parameter>
1621<parameter name="interface">
1622<parameter_description> The #GDBusInterface that was removed.
1623</parameter_description>
1624</parameter>
1625</parameters>
1626<return></return>
1627</signal>
1628
1629<signal name="GDBusObjectManager::object-added">
1630<description>
1631Emitted when @object is added to @manager.
1632
1633Since: 2.30
1634
1635</description>
1636<parameters>
1637<parameter name="manager">
1638<parameter_description> The #GDBusObjectManager emitting the signal.
1639</parameter_description>
1640</parameter>
1641<parameter name="object">
1642<parameter_description> The #GDBusObject that was added.
1643</parameter_description>
1644</parameter>
1645</parameters>
1646<return></return>
1647</signal>
1648
1649<signal name="GDBusObjectManager::object-removed">
1650<description>
1651Emitted when @object is removed from @manager.
1652
1653Since: 2.30
1654
1655</description>
1656<parameters>
1657<parameter name="manager">
1658<parameter_description> The #GDBusObjectManager emitting the signal.
1659</parameter_description>
1660</parameter>
1661<parameter name="object">
1662<parameter_description> The #GDBusObject that was removed.
1663</parameter_description>
1664</parameter>
1665</parameters>
1666<return></return>
1667</signal>
1668
1669<signal name="GDBusObjectManagerClient::interface-proxy-properties-changed">
1670<description>
1671Emitted when one or more D-Bus properties on proxy changes. The
1672local cache has already been updated when this signal fires. Note
1673that both @changed_properties and @invalidated_properties are
1674guaranteed to never be %NULL (either may be empty though).
1675
1676This signal exists purely as a convenience to avoid having to
1677connect signals to all interface proxies managed by @manager.
1678
1679This signal is emitted in the
1680[thread-default main context][g-main-context-push-thread-default]
1681that @manager was constructed in.
1682
1683Since: 2.30
1684
1685</description>
1686<parameters>
1687<parameter name="manager">
1688<parameter_description> The #GDBusObjectManagerClient emitting the signal.
1689</parameter_description>
1690</parameter>
1691<parameter name="object_proxy">
1692<parameter_description> The #GDBusObjectProxy on which an interface has properties that are changing.
1693</parameter_description>
1694</parameter>
1695<parameter name="interface_proxy">
1696<parameter_description> The #GDBusProxy that has properties that are changing.
1697</parameter_description>
1698</parameter>
1699<parameter name="changed_properties">
1700<parameter_description> A #GVariant containing the properties that changed (type: `a{sv}`).
1701</parameter_description>
1702</parameter>
1703<parameter name="invalidated_properties">
1704<parameter_description> A %NULL terminated
1705array of properties that were invalidated.
1706</parameter_description>
1707</parameter>
1708</parameters>
1709<return></return>
1710</signal>
1711
1712<signal name="GDBusObjectManagerClient::interface-proxy-signal">
1713<description>
1714Emitted when a D-Bus signal is received on @interface_proxy.
1715
1716This signal exists purely as a convenience to avoid having to
1717connect signals to all interface proxies managed by @manager.
1718
1719This signal is emitted in the
1720[thread-default main context][g-main-context-push-thread-default]
1721that @manager was constructed in.
1722
1723Since: 2.30
1724
1725</description>
1726<parameters>
1727<parameter name="manager">
1728<parameter_description> The #GDBusObjectManagerClient emitting the signal.
1729</parameter_description>
1730</parameter>
1731<parameter name="object_proxy">
1732<parameter_description> The #GDBusObjectProxy on which an interface is emitting a D-Bus signal.
1733</parameter_description>
1734</parameter>
1735<parameter name="interface_proxy">
1736<parameter_description> The #GDBusProxy that is emitting a D-Bus signal.
1737</parameter_description>
1738</parameter>
1739<parameter name="sender_name">
1740<parameter_description> The sender of the signal or NULL if the connection is not a bus connection.
1741</parameter_description>
1742</parameter>
1743<parameter name="signal_name">
1744<parameter_description> The signal name.
1745</parameter_description>
1746</parameter>
1747<parameter name="parameters">
1748<parameter_description> A #GVariant tuple with parameters for the signal.
1749</parameter_description>
1750</parameter>
1751</parameters>
1752<return></return>
1753</signal>
1754
1755<property name="GDBusObjectManagerClient:bus-type">
1756<description>
1757If this property is not %G_BUS_TYPE_NONE, then
1758#GDBusObjectManagerClient:connection must be %NULL and will be set to the
1759#GDBusConnection obtained by calling g_bus_get() with the value
1760of this property.
1761
1762Since: 2.30
1763
1764</description>
1765</property>
1766
1767<property name="GDBusObjectManagerClient:connection">
1768<description>
1769The #GDBusConnection to use.
1770
1771Since: 2.30
1772
1773</description>
1774</property>
1775
1776<property name="GDBusObjectManagerClient:flags">
1777<description>
1778Flags from the #GDBusObjectManagerClientFlags enumeration.
1779
1780Since: 2.30
1781
1782</description>
1783</property>
1784
1785<property name="GDBusObjectManagerClient:get-proxy-type-destroy-notify">
1786<description>
1787A #GDestroyNotify for the #gpointer user_data in #GDBusObjectManagerClient:get-proxy-type-user-data.
1788
1789Since: 2.30
1790
1791</description>
1792</property>
1793
1794<property name="GDBusObjectManagerClient:get-proxy-type-func">
1795<description>
1796The #GDBusProxyTypeFunc to use when determining what #GType to
1797use for interface proxies or %NULL.
1798
1799Since: 2.30
1800
1801</description>
1802</property>
1803
1804<property name="GDBusObjectManagerClient:get-proxy-type-user-data">
1805<description>
1806The #gpointer user_data to pass to #GDBusObjectManagerClient:get-proxy-type-func.
1807
1808Since: 2.30
1809
1810</description>
1811</property>
1812
1813<property name="GDBusObjectManagerClient:name">
1814<description>
1815The well-known name or unique name that the manager is for.
1816
1817Since: 2.30
1818
1819</description>
1820</property>
1821
1822<property name="GDBusObjectManagerClient:name-owner">
1823<description>
1824The unique name that owns #GDBusObjectManagerClient:name or %NULL if
1825no-one is currently owning the name. Connect to the
1826#GObject::notify signal to track changes to this property.
1827
1828Since: 2.30
1829
1830</description>
1831</property>
1832
1833<property name="GDBusObjectManagerClient:object-path">
1834<description>
1835The object path the manager is for.
1836
1837Since: 2.30
1838
1839</description>
1840</property>
1841
1842<enum name="GDBusObjectManagerClientFlags">
1843<description>
1844Flags used when constructing a #GDBusObjectManagerClient.
1845
1846Since: 2.30
1847
1848</description>
1849<parameters>
1850<parameter name="G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE">
1851<parameter_description> No flags set.
1852</parameter_description>
1853</parameter>
1854<parameter name="G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START">
1855<parameter_description> If not set and the
1856manager is for a well-known name, then request the bus to launch
1857an owner for the name if no-one owns the name. This flag can only
1858be used in managers for well-known names.
1859</parameter_description>
1860</parameter>
1861</parameters>
1862</enum>
1863
1864<property name="GDBusObjectManagerServer:connection">
1865<description>
1866The #GDBusConnection to export objects on.
1867
1868Since: 2.30
1869
1870</description>
1871</property>
1872
1873<property name="GDBusObjectManagerServer:object-path">
1874<description>
1875The object path to register the manager object at.
1876
1877Since: 2.30
1878
1879</description>
1880</property>
1881
1882<property name="GDBusObjectProxy:g-connection">
1883<description>
1884The connection of the proxy.
1885
1886Since: 2.30
1887
1888</description>
1889</property>
1890
1891<property name="GDBusObjectProxy:g-object-path">
1892<description>
1893The object path of the proxy.
1894
1895Since: 2.30
1896
1897</description>
1898</property>
1899
1900<signal name="GDBusObjectSkeleton::authorize-method">
1901<description>
1902Emitted when a method is invoked by a remote caller and used to
1903determine if the method call is authorized.
1904
1905This signal is like #GDBusInterfaceSkeleton's
1906#GDBusInterfaceSkeleton::g-authorize-method signal,
1907except that it is for the enclosing object.
1908
1909The default class handler just returns %TRUE.
1910
1911Since: 2.30
1912
1913</description>
1914<parameters>
1915<parameter name="object">
1916<parameter_description> The #GDBusObjectSkeleton emitting the signal.
1917</parameter_description>
1918</parameter>
1919<parameter name="interface">
1920<parameter_description> The #GDBusInterfaceSkeleton that @invocation is for.
1921</parameter_description>
1922</parameter>
1923<parameter name="invocation">
1924<parameter_description> A #GDBusMethodInvocation.
1925</parameter_description>
1926</parameter>
1927</parameters>
1928<return> %TRUE if the call is authorized, %FALSE otherwise.
1929
1930</return>
1931</signal>
1932
1933<property name="GDBusObjectSkeleton:g-object-path">
1934<description>
1935The object path where the object is exported.
1936
1937Since: 2.30
1938
1939</description>
1940</property>
1941
1942<enum name="GDBusPropertyInfoFlags">
1943<description>
1944Flags describing the access control of a D-Bus property.
1945
1946Since: 2.26
1947
1948</description>
1949<parameters>
1950<parameter name="G_DBUS_PROPERTY_INFO_FLAGS_NONE">
1951<parameter_description> No flags set.
1952</parameter_description>
1953</parameter>
1954<parameter name="G_DBUS_PROPERTY_INFO_FLAGS_READABLE">
1955<parameter_description> Property is readable.
1956</parameter_description>
1957</parameter>
1958<parameter name="G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE">
1959<parameter_description> Property is writable.
1960</parameter_description>
1961</parameter>
1962</parameters>
1963</enum>
1964
1965<signal name="GDBusProxy::g-properties-changed">
1966<description>
1967Emitted when one or more D-Bus properties on @proxy changes. The
1968local cache has already been updated when this signal fires. Note
1969that both @changed_properties and @invalidated_properties are
1970guaranteed to never be %NULL (either may be empty though).
1971
1972If the proxy has the flag
1973%G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES set, then
1974@invalidated_properties will always be empty.
1975
1976This signal corresponds to the
1977`PropertiesChanged` D-Bus signal on the
1978`org.freedesktop.DBus.Properties` interface.
1979
1980Since: 2.26
1981
1982</description>
1983<parameters>
1984<parameter name="proxy">
1985<parameter_description> The #GDBusProxy emitting the signal.
1986</parameter_description>
1987</parameter>
1988<parameter name="changed_properties">
1989<parameter_description> A #GVariant containing the properties that changed (type: `a{sv}`)
1990</parameter_description>
1991</parameter>
1992<parameter name="invalidated_properties">
1993<parameter_description> A %NULL terminated array of properties that was invalidated
1994</parameter_description>
1995</parameter>
1996</parameters>
1997<return></return>
1998</signal>
1999
2000<signal name="GDBusProxy::g-signal">
2001<description>
2002Emitted when a signal from the remote object and interface that @proxy is for, has been received.
2003
2004Since: 2.26
2005
2006</description>
2007<parameters>
2008<parameter name="proxy">
2009<parameter_description> The #GDBusProxy emitting the signal.
2010</parameter_description>
2011</parameter>
2012<parameter name="sender_name">
2013<parameter_description> The sender of the signal or %NULL if the connection is not a bus connection.
2014</parameter_description>
2015</parameter>
2016<parameter name="signal_name">
2017<parameter_description> The name of the signal.
2018</parameter_description>
2019</parameter>
2020<parameter name="parameters">
2021<parameter_description> A #GVariant tuple with parameters for the signal.
2022</parameter_description>
2023</parameter>
2024</parameters>
2025<return></return>
2026</signal>
2027
2028<property name="GDBusProxy:g-bus-type">
2029<description>
2030If this property is not %G_BUS_TYPE_NONE, then
2031#GDBusProxy:g-connection must be %NULL and will be set to the
2032#GDBusConnection obtained by calling g_bus_get() with the value
2033of this property.
2034
2035Since: 2.26
2036
2037</description>
2038</property>
2039
2040<property name="GDBusProxy:g-connection">
2041<description>
2042The #GDBusConnection the proxy is for.
2043
2044Since: 2.26
2045
2046</description>
2047</property>
2048
2049<property name="GDBusProxy:g-default-timeout">
2050<description>
2051The timeout to use if -1 (specifying default timeout) is passed
2052as @timeout_msec in the g_dbus_proxy_call() and
2053g_dbus_proxy_call_sync() functions.
2054
2055This allows applications to set a proxy-wide timeout for all
2056remote method invocations on the proxy. If this property is -1,
2057the default timeout (typically 25 seconds) is used. If set to
2058%G_MAXINT, then no timeout is used.
2059
2060Since: 2.26
2061
2062</description>
2063</property>
2064
2065<property name="GDBusProxy:g-flags">
2066<description>
2067Flags from the #GDBusProxyFlags enumeration.
2068
2069Since: 2.26
2070
2071</description>
2072</property>
2073
2074<property name="GDBusProxy:g-interface-info">
2075<description>
2076Ensure that interactions with this proxy conform to the given
2077interface. This is mainly to ensure that malformed data received
2078from the other peer is ignored. The given #GDBusInterfaceInfo is
2079said to be the &quot;expected interface&quot;.
2080
2081The checks performed are:
2082- When completing a method call, if the type signature of
2083the reply message isn't what's expected, the reply is
2084discarded and the #GError is set to %G_IO_ERROR_INVALID_ARGUMENT.
2085
2086- Received signals that have a type signature mismatch are dropped and
2087a warning is logged via g_warning().
2088
2089- Properties received via the initial `GetAll()` call or via the
2090`::PropertiesChanged` signal (on the
2091[org.freedesktop.DBus.Properties](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties)
2092interface) or set using g_dbus_proxy_set_cached_property()
2093with a type signature mismatch are ignored and a warning is
2094logged via g_warning().
2095
2096Note that these checks are never done on methods, signals and
2097properties that are not referenced in the given
2098#GDBusInterfaceInfo, since extending a D-Bus interface on the
2099service-side is not considered an ABI break.
2100
2101Since: 2.26
2102
2103</description>
2104</property>
2105
2106<property name="GDBusProxy:g-interface-name">
2107<description>
2108The D-Bus interface name the proxy is for.
2109
2110Since: 2.26
2111
2112</description>
2113</property>
2114
2115<property name="GDBusProxy:g-name">
2116<description>
2117The well-known or unique name that the proxy is for.
2118
2119Since: 2.26
2120
2121</description>
2122</property>
2123
2124<property name="GDBusProxy:g-name-owner">
2125<description>
2126The unique name that owns #GDBusProxy:g-name or %NULL if no-one
2127currently owns that name. You may connect to #GObject::notify signal to
2128track changes to this property.
2129
2130Since: 2.26
2131
2132</description>
2133</property>
2134
2135<property name="GDBusProxy:g-object-path">
2136<description>
2137The object path the proxy is for.
2138
2139Since: 2.26
2140
2141</description>
2142</property>
2143
2144<enum name="GDBusProxyFlags">
2145<description>
2146Flags used when constructing an instance of a #GDBusProxy derived class.
2147
2148Since: 2.26
2149
2150</description>
2151<parameters>
2152<parameter name="G_DBUS_PROXY_FLAGS_NONE">
2153<parameter_description> No flags set.
2154</parameter_description>
2155</parameter>
2156<parameter name="G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES">
2157<parameter_description> Don't load properties.
2158</parameter_description>
2159</parameter>
2160<parameter name="G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS">
2161<parameter_description> Don't connect to signals on the remote object.
2162</parameter_description>
2163</parameter>
2164<parameter name="G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START">
2165<parameter_description> If the proxy is for a well-known name,
2166do not ask the bus to launch an owner during proxy initialization or a method call.
2167This flag is only meaningful in proxies for well-known names.
2168</parameter_description>
2169</parameter>
2170<parameter name="G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES">
2171<parameter_description> If set, the property value for any __invalidated property__ will be (asynchronously) retrieved upon receiving the [`PropertiesChanged`](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties) D-Bus signal and the property will not cause emission of the #GDBusProxy::g-properties-changed signal. When the value is received the #GDBusProxy::g-properties-changed signal is emitted for the property along with the retrieved value. Since 2.32.
2172</parameter_description>
2173</parameter>
2174<parameter name="G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION">
2175<parameter_description> If the proxy is for a well-known name,
2176do not ask the bus to launch an owner during proxy initialization, but allow it to be
2177autostarted by a method call. This flag is only meaningful in proxies for well-known names,
2178and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified.
2179</parameter_description>
2180</parameter>
2181</parameters>
2182</enum>
2183
2184<enum name="GDBusSendMessageFlags">
2185<description>
2186Flags used when sending #GDBusMessages on a #GDBusConnection.
2187
2188Since: 2.26
2189
2190</description>
2191<parameters>
2192<parameter name="G_DBUS_SEND_MESSAGE_FLAGS_NONE">
2193<parameter_description> No flags set.
2194</parameter_description>
2195</parameter>
2196<parameter name="G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL">
2197<parameter_description> Do not automatically
2198assign a serial number from the #GDBusConnection object when
2199sending a message.
2200</parameter_description>
2201</parameter>
2202</parameters>
2203</enum>
2204
2205<signal name="GDBusServer::new-connection">
2206<description>
2207Emitted when a new authenticated connection has been made. Use
2208g_dbus_connection_get_peer_credentials() to figure out what
2209identity (if any), was authenticated.
2210
2211If you want to accept the connection, take a reference to the
2212@connection object and return %TRUE. When you are done with the
2213connection call g_dbus_connection_close() and give up your
2214reference. Note that the other peer may disconnect at any time -
2215a typical thing to do when accepting a connection is to listen to
2216the #GDBusConnection::closed signal.
2217
2218If #GDBusServer:flags contains %G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
2219then the signal is emitted in a new thread dedicated to the
2220connection. Otherwise the signal is emitted in the
2221[thread-default main context][g-main-context-push-thread-default]
2222of the thread that @server was constructed in.
2223
2224You are guaranteed that signal handlers for this signal runs
2225before incoming messages on @connection are processed. This means
2226that it's suitable to call g_dbus_connection_register_object() or
2227similar from the signal handler.
2228
2229Since: 2.26
2230
2231</description>
2232<parameters>
2233<parameter name="server">
2234<parameter_description> The #GDBusServer emitting the signal.
2235</parameter_description>
2236</parameter>
2237<parameter name="connection">
2238<parameter_description> A #GDBusConnection for the new connection.
2239</parameter_description>
2240</parameter>
2241</parameters>
2242<return> %TRUE to claim @connection, %FALSE to let other handlers
2243run.
2244
2245</return>
2246</signal>
2247
2248<property name="GDBusServer:active">
2249<description>
2250Whether the server is currently active.
2251
2252Since: 2.26
2253
2254</description>
2255</property>
2256
2257<property name="GDBusServer:address">
2258<description>
2259The D-Bus address to listen on.
2260
2261Since: 2.26
2262
2263</description>
2264</property>
2265
2266<property name="GDBusServer:authentication-observer">
2267<description>
2268A #GDBusAuthObserver object to assist in the authentication process or %NULL.
2269
2270Since: 2.26
2271
2272</description>
2273</property>
2274
2275<property name="GDBusServer:client-address">
2276<description>
2277The D-Bus address that clients can use.
2278
2279Since: 2.26
2280
2281</description>
2282</property>
2283
2284<property name="GDBusServer:flags">
2285<description>
2286Flags from the #GDBusServerFlags enumeration.
2287
2288Since: 2.26
2289
2290</description>
2291</property>
2292
2293<property name="GDBusServer:guid">
2294<description>
2295The guid of the server.
2296
2297Since: 2.26
2298
2299</description>
2300</property>
2301
2302<enum name="GDBusServerFlags">
2303<description>
2304Flags used when creating a #GDBusServer.
2305
2306Since: 2.26
2307
2308</description>
2309<parameters>
2310<parameter name="G_DBUS_SERVER_FLAGS_NONE">
2311<parameter_description> No flags set.
2312</parameter_description>
2313</parameter>
2314<parameter name="G_DBUS_SERVER_FLAGS_RUN_IN_THREAD">
2315<parameter_description> All #GDBusServer::new-connection
2316signals will run in separated dedicated threads (see signal for
2317details).
2318</parameter_description>
2319</parameter>
2320<parameter name="G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS">
2321<parameter_description> Allow the anonymous
2322authentication method.
2323</parameter_description>
2324</parameter>
2325</parameters>
2326</enum>
2327
2328<enum name="GDBusSignalFlags">
2329<description>
2330Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
2331
2332Since: 2.26
2333
2334</description>
2335<parameters>
2336<parameter name="G_DBUS_SIGNAL_FLAGS_NONE">
2337<parameter_description> No flags set.
2338</parameter_description>
2339</parameter>
2340<parameter name="G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE">
2341<parameter_description> Don't actually send the AddMatch
2342D-Bus call for this signal subscription.  This gives you more control
2343over which match rules you add (but you must add them manually).
2344</parameter_description>
2345</parameter>
2346<parameter name="G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE">
2347<parameter_description> Match first arguments that
2348contain a bus or interface name with the given namespace.
2349</parameter_description>
2350</parameter>
2351<parameter name="G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH">
2352<parameter_description> Match first arguments that
2353contain an object path that is either equivalent to the given path,
2354or one of the paths is a subpath of the other.
2355</parameter_description>
2356</parameter>
2357</parameters>
2358</enum>
2359
2360<enum name="GDBusSubtreeFlags">
2361<description>
2362Flags passed to g_dbus_connection_register_subtree().
2363
2364Since: 2.26
2365
2366</description>
2367<parameters>
2368<parameter name="G_DBUS_SUBTREE_FLAGS_NONE">
2369<parameter_description> No flags set.
2370</parameter_description>
2371</parameter>
2372<parameter name="G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES">
2373<parameter_description> Method calls to objects not in the enumerated range
2374will still be dispatched. This is useful if you want
2375to dynamically spawn objects in the subtree.
2376</parameter_description>
2377</parameter>
2378</parameters>
2379</enum>
2380
2381<property name="GDataOutputStream:byte-order">
2382<description>
2383Determines the byte ordering that is used when writing
2384multi-byte entities (such as integers) to the stream.
2385
2386</description>
2387</property>
2388
2389<property name="GDataStream:byte-order">
2390<description>
2391The ::byte-order property determines the byte ordering that
2392is used when reading multi-byte entities (such as integers)
2393from the stream.
2394
2395</description>
2396</property>
2397
2398<property name="GDataStream:newline-type">
2399<description>
2400The :newline-type property determines what is considered
2401as a line ending when reading complete lines from the stream.
2402
2403</description>
2404</property>
2405
2406<enum name="GDataStreamByteOrder">
2407<description>
2408#GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
2409across various machine architectures.
2410
2411
2412</description>
2413<parameters>
2414<parameter name="G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN">
2415<parameter_description> Selects Big Endian byte order.
2416</parameter_description>
2417</parameter>
2418<parameter name="G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN">
2419<parameter_description> Selects Little Endian byte order.
2420</parameter_description>
2421</parameter>
2422<parameter name="G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN">
2423<parameter_description> Selects endianness based on host machine's architecture.
2424</parameter_description>
2425</parameter>
2426</parameters>
2427</enum>
2428
2429<enum name="GDataStreamNewlineType">
2430<description>
2431#GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
2432
2433</description>
2434<parameters>
2435<parameter name="G_DATA_STREAM_NEWLINE_TYPE_LF">
2436<parameter_description> Selects &quot;LF&quot; line endings, common on most modern UNIX platforms.
2437</parameter_description>
2438</parameter>
2439<parameter name="G_DATA_STREAM_NEWLINE_TYPE_CR">
2440<parameter_description> Selects &quot;CR&quot; line endings.
2441</parameter_description>
2442</parameter>
2443<parameter name="G_DATA_STREAM_NEWLINE_TYPE_CR_LF">
2444<parameter_description> Selects &quot;CR, LF&quot; line ending, common on Microsoft Windows.
2445</parameter_description>
2446</parameter>
2447<parameter name="G_DATA_STREAM_NEWLINE_TYPE_ANY">
2448<parameter_description> Automatically try to handle any line ending type.
2449</parameter_description>
2450</parameter>
2451</parameters>
2452</enum>
2453
2454<property name="GDesktopAppInfo:filename">
2455<description>
2456The origin filename of this #GDesktopAppInfo
2457
2458</description>
2459</property>
2460
2461<signal name="GDrive::changed">
2462<description>
2463Emitted when the drive's state has changed.
2464
2465</description>
2466<parameters>
2467<parameter name="drive">
2468<parameter_description> a #GDrive.
2469</parameter_description>
2470</parameter>
2471</parameters>
2472<return></return>
2473</signal>
2474
2475<signal name="GDrive::disconnected">
2476<description>
2477This signal is emitted when the #GDrive have been
2478disconnected. If the recipient is holding references to the
2479object they should release them so the object can be
2480finalized.
2481
2482</description>
2483<parameters>
2484<parameter name="drive">
2485<parameter_description> a #GDrive.
2486</parameter_description>
2487</parameter>
2488</parameters>
2489<return></return>
2490</signal>
2491
2492<signal name="GDrive::eject-button">
2493<description>
2494Emitted when the physical eject button (if any) of a drive has
2495been pressed.
2496
2497</description>
2498<parameters>
2499<parameter name="drive">
2500<parameter_description> a #GDrive.
2501</parameter_description>
2502</parameter>
2503</parameters>
2504<return></return>
2505</signal>
2506
2507<signal name="GDrive::stop-button">
2508<description>
2509Emitted when the physical stop button (if any) of a drive has
2510been pressed.
2511
2512Since: 2.22
2513
2514</description>
2515<parameters>
2516<parameter name="drive">
2517<parameter_description> a #GDrive.
2518</parameter_description>
2519</parameter>
2520</parameters>
2521<return></return>
2522</signal>
2523
2524<enum name="GDriveStartFlags">
2525<description>
2526Flags used when starting a drive.
2527
2528Since: 2.22
2529
2530</description>
2531<parameters>
2532<parameter name="G_DRIVE_START_NONE">
2533<parameter_description> No flags set.
2534</parameter_description>
2535</parameter>
2536</parameters>
2537</enum>
2538
2539<enum name="GDriveStartStopType">
2540<description>
2541Enumeration describing how a drive can be started/stopped.
2542
2543Since: 2.22
2544
2545</description>
2546<parameters>
2547<parameter name="G_DRIVE_START_STOP_TYPE_UNKNOWN">
2548<parameter_description> Unknown or drive doesn't support
2549start/stop.
2550</parameter_description>
2551</parameter>
2552<parameter name="G_DRIVE_START_STOP_TYPE_SHUTDOWN">
2553<parameter_description> The stop method will physically
2554shut down the drive and e.g. power down the port the drive is
2555attached to.
2556</parameter_description>
2557</parameter>
2558<parameter name="G_DRIVE_START_STOP_TYPE_NETWORK">
2559<parameter_description> The start/stop methods are used
2560for connecting/disconnect to the drive over the network.
2561</parameter_description>
2562</parameter>
2563<parameter name="G_DRIVE_START_STOP_TYPE_MULTIDISK">
2564<parameter_description> The start/stop methods will
2565assemble/disassemble a virtual drive from several physical
2566drives.
2567</parameter_description>
2568</parameter>
2569<parameter name="G_DRIVE_START_STOP_TYPE_PASSWORD">
2570<parameter_description> The start/stop methods will
2571unlock/lock the disk (for example using the ATA &lt;quote&gt;SECURITY
2572UNLOCK DEVICE&lt;/quote&gt; command)
2573</parameter_description>
2574</parameter>
2575</parameters>
2576</enum>
2577
2578<property name="GDtlsClientConnection:accepted-cas">
2579<description>
2580A list of the distinguished names of the Certificate Authorities
2581that the server will accept client certificates signed by. If the
2582server requests a client certificate during the handshake, then
2583this property will be set after the handshake completes.
2584
2585Each item in the list is a #GByteArray which contains the complete
2586subject DN of the certificate authority.
2587
2588Since: 2.48
2589
2590</description>
2591</property>
2592
2593<property name="GDtlsClientConnection:server-identity">
2594<description>
2595A #GSocketConnectable describing the identity of the server that
2596is expected on the other end of the connection.
2597
2598If the %G_TLS_CERTIFICATE_BAD_IDENTITY flag is set in
2599#GDtlsClientConnection:validation-flags, this object will be used
2600to determine the expected identify of the remote end of the
2601connection; if #GDtlsClientConnection:server-identity is not set,
2602or does not match the identity presented by the server, then the
2603%G_TLS_CERTIFICATE_BAD_IDENTITY validation will fail.
2604
2605In addition to its use in verifying the server certificate,
2606this is also used to give a hint to the server about what
2607certificate we expect, which is useful for servers that serve
2608virtual hosts.
2609
2610Since: 2.48
2611
2612</description>
2613</property>
2614
2615<property name="GDtlsClientConnection:validation-flags">
2616<description>
2617What steps to perform when validating a certificate received from
2618a server. Server certificates that fail to validate in all of the
2619ways indicated here will be rejected unless the application
2620overrides the default via #GDtlsConnection::accept-certificate.
2621
2622Since: 2.48
2623
2624</description>
2625</property>
2626
2627<signal name="GDtlsConnection::accept-certificate">
2628<description>
2629Emitted during the TLS handshake after the peer certificate has
2630been received. You can examine @peer_cert's certification path by
2631calling g_tls_certificate_get_issuer() on it.
2632
2633For a client-side connection, @peer_cert is the server's
2634certificate, and the signal will only be emitted if the
2635certificate was not acceptable according to @conn's
2636#GDtlsClientConnection:validation_flags. If you would like the
2637certificate to be accepted despite @errors, return %TRUE from the
2638signal handler. Otherwise, if no handler accepts the certificate,
2639the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE.
2640
2641For a server-side connection, @peer_cert is the certificate
2642presented by the client, if this was requested via the server's
2643#GDtlsServerConnection:authentication_mode. On the server side,
2644the signal is always emitted when the client presents a
2645certificate, and the certificate will only be accepted if a
2646handler returns %TRUE.
2647
2648Note that if this signal is emitted as part of asynchronous I/O
2649in the main thread, then you should not attempt to interact with
2650the user before returning from the signal handler. If you want to
2651let the user decide whether or not to accept the certificate, you
2652would have to return %FALSE from the signal handler on the first
2653attempt, and then after the connection attempt returns a
2654%G_TLS_ERROR_BAD_CERTIFICATE, you can interact with the user, and
2655if the user decides to accept the certificate, remember that fact,
2656create a new connection, and return %TRUE from the signal handler
2657the next time.
2658
2659If you are doing I/O in another thread, you do not
2660need to worry about this, and can simply block in the signal
2661handler until the UI thread returns an answer.
2662
2663Since: 2.48
2664
2665</description>
2666<parameters>
2667<parameter name="conn">
2668<parameter_description> a #GDtlsConnection
2669</parameter_description>
2670</parameter>
2671<parameter name="peer_cert">
2672<parameter_description> the peer's #GTlsCertificate
2673</parameter_description>
2674</parameter>
2675<parameter name="errors">
2676<parameter_description> the problems with @peer_cert.
2677</parameter_description>
2678</parameter>
2679</parameters>
2680<return> %TRUE to accept @peer_cert (which will also
2681immediately end the signal emission). %FALSE to allow the signal
2682emission to continue, which will cause the handshake to fail if
2683no one else overrides it.
2684
2685</return>
2686</signal>
2687
2688<property name="GDtlsConnection:advertised-protocols">
2689<description>
2690The list of application-layer protocols that the connection
2691advertises that it is willing to speak. See
2692g_dtls_connection_set_advertised_protocols().
2693
2694Since: 2.60
2695
2696</description>
2697</property>
2698
2699<property name="GDtlsConnection:base-socket">
2700<description>
2701The #GDatagramBased that the connection wraps. Note that this may be any
2702implementation of #GDatagramBased, not just a #GSocket.
2703
2704Since: 2.48
2705
2706</description>
2707</property>
2708
2709<property name="GDtlsConnection:certificate">
2710<description>
2711The connection's certificate; see
2712g_dtls_connection_set_certificate().
2713
2714Since: 2.48
2715
2716</description>
2717</property>
2718
2719<property name="GDtlsConnection:database">
2720<description>
2721The certificate database to use when verifying this TLS connection.
2722If no certificate database is set, then the default database will be
2723used. See g_tls_backend_get_default_database().
2724
2725Since: 2.48
2726
2727</description>
2728</property>
2729
2730<property name="GDtlsConnection:interaction">
2731<description>
2732A #GTlsInteraction object to be used when the connection or certificate
2733database need to interact with the user. This will be used to prompt the
2734user for passwords where necessary.
2735
2736Since: 2.48
2737
2738</description>
2739</property>
2740
2741<property name="GDtlsConnection:negotiated-protocol">
2742<description>
2743The application-layer protocol negotiated during the TLS
2744handshake. See g_dtls_connection_get_negotiated_protocol().
2745
2746Since: 2.60
2747
2748</description>
2749</property>
2750
2751<property name="GDtlsConnection:peer-certificate">
2752<description>
2753The connection's peer's certificate, after the TLS handshake has
2754completed and the certificate has been accepted. Note in
2755particular that this is not yet set during the emission of
2756#GDtlsConnection::accept-certificate.
2757
2758(You can watch for a #GObject::notify signal on this property to
2759detect when a handshake has occurred.)
2760
2761Since: 2.48
2762
2763</description>
2764</property>
2765
2766<property name="GDtlsConnection:peer-certificate-errors">
2767<description>
2768The errors noticed-and-ignored while verifying
2769#GDtlsConnection:peer-certificate. Normally this should be 0, but
2770it may not be if #GDtlsClientConnection:validation-flags is not
2771%G_TLS_CERTIFICATE_VALIDATE_ALL, or if
2772#GDtlsConnection::accept-certificate overrode the default
2773behavior.
2774
2775Since: 2.48
2776
2777</description>
2778</property>
2779
2780<property name="GDtlsConnection:rehandshake-mode">
2781<description>
2782The rehandshaking mode. See
2783g_dtls_connection_set_rehandshake_mode().
2784
2785Since: 2.48
2786
2787Deprecated: 2.60: The rehandshake mode is ignored.
2788
2789</description>
2790</property>
2791
2792<property name="GDtlsConnection:require-close-notify">
2793<description>
2794Whether or not proper TLS close notification is required.
2795See g_dtls_connection_set_require_close_notify().
2796
2797Since: 2.48
2798
2799</description>
2800</property>
2801
2802<property name="GDtlsServerConnection:authentication-mode">
2803<description>
2804The #GTlsAuthenticationMode for the server. This can be changed
2805before calling g_dtls_connection_handshake() if you want to
2806rehandshake with a different mode from the initial handshake.
2807
2808Since: 2.48
2809
2810</description>
2811</property>
2812
2813<enum name="GEmblemOrigin">
2814<description>
2815GEmblemOrigin is used to add information about the origin of the emblem
2816to #GEmblem.
2817
2818Since: 2.18
2819
2820</description>
2821<parameters>
2822<parameter name="G_EMBLEM_ORIGIN_UNKNOWN">
2823<parameter_description> Emblem of unknown origin
2824</parameter_description>
2825</parameter>
2826<parameter name="G_EMBLEM_ORIGIN_DEVICE">
2827<parameter_description> Emblem adds device-specific information
2828</parameter_description>
2829</parameter>
2830<parameter name="G_EMBLEM_ORIGIN_LIVEMETADATA">
2831<parameter_description> Emblem depicts live metadata, such as &quot;readonly&quot;
2832</parameter_description>
2833</parameter>
2834<parameter name="G_EMBLEM_ORIGIN_TAG">
2835<parameter_description> Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)
2836</parameter_description>
2837</parameter>
2838</parameters>
2839</enum>
2840
2841<enum name="GFileAttributeInfoFlags">
2842<description>
2843Flags specifying the behaviour of an attribute.
2844
2845</description>
2846<parameters>
2847<parameter name="G_FILE_ATTRIBUTE_INFO_NONE">
2848<parameter_description> no flags set.
2849</parameter_description>
2850</parameter>
2851<parameter name="G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE">
2852<parameter_description> copy the attribute values when the file is copied.
2853</parameter_description>
2854</parameter>
2855<parameter name="G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED">
2856<parameter_description> copy the attribute values when the file is moved.
2857</parameter_description>
2858</parameter>
2859</parameters>
2860</enum>
2861
2862<enum name="GFileAttributeStatus">
2863<description>
2864Used by g_file_set_attributes_from_info() when setting file attributes.
2865
2866</description>
2867<parameters>
2868<parameter name="G_FILE_ATTRIBUTE_STATUS_UNSET">
2869<parameter_description> Attribute value is unset (empty).
2870</parameter_description>
2871</parameter>
2872<parameter name="G_FILE_ATTRIBUTE_STATUS_SET">
2873<parameter_description> Attribute value is set.
2874</parameter_description>
2875</parameter>
2876<parameter name="G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING">
2877<parameter_description> Indicates an error in setting the value.
2878</parameter_description>
2879</parameter>
2880</parameters>
2881</enum>
2882
2883<enum name="GFileAttributeType">
2884<description>
2885The data types for file attributes.
2886
2887</description>
2888<parameters>
2889<parameter name="G_FILE_ATTRIBUTE_TYPE_INVALID">
2890<parameter_description> indicates an invalid or uninitalized type.
2891</parameter_description>
2892</parameter>
2893<parameter name="G_FILE_ATTRIBUTE_TYPE_STRING">
2894<parameter_description> a null terminated UTF8 string.
2895</parameter_description>
2896</parameter>
2897<parameter name="G_FILE_ATTRIBUTE_TYPE_BYTE_STRING">
2898<parameter_description> a zero terminated string of non-zero bytes.
2899</parameter_description>
2900</parameter>
2901<parameter name="G_FILE_ATTRIBUTE_TYPE_BOOLEAN">
2902<parameter_description> a boolean value.
2903</parameter_description>
2904</parameter>
2905<parameter name="G_FILE_ATTRIBUTE_TYPE_UINT32">
2906<parameter_description> an unsigned 4-byte/32-bit integer.
2907</parameter_description>
2908</parameter>
2909<parameter name="G_FILE_ATTRIBUTE_TYPE_INT32">
2910<parameter_description> a signed 4-byte/32-bit integer.
2911</parameter_description>
2912</parameter>
2913<parameter name="G_FILE_ATTRIBUTE_TYPE_UINT64">
2914<parameter_description> an unsigned 8-byte/64-bit integer.
2915</parameter_description>
2916</parameter>
2917<parameter name="G_FILE_ATTRIBUTE_TYPE_INT64">
2918<parameter_description> a signed 8-byte/64-bit integer.
2919</parameter_description>
2920</parameter>
2921<parameter name="G_FILE_ATTRIBUTE_TYPE_OBJECT">
2922<parameter_description> a #GObject.
2923</parameter_description>
2924</parameter>
2925<parameter name="G_FILE_ATTRIBUTE_TYPE_STRINGV">
2926<parameter_description> a %NULL terminated char **. Since 2.22
2927</parameter_description>
2928</parameter>
2929</parameters>
2930</enum>
2931
2932<enum name="GFileCopyFlags">
2933<description>
2934Flags used when copying or moving files.
2935
2936</description>
2937<parameters>
2938<parameter name="G_FILE_COPY_NONE">
2939<parameter_description> No flags set.
2940</parameter_description>
2941</parameter>
2942<parameter name="G_FILE_COPY_OVERWRITE">
2943<parameter_description> Overwrite any existing files
2944</parameter_description>
2945</parameter>
2946<parameter name="G_FILE_COPY_BACKUP">
2947<parameter_description> Make a backup of any existing files.
2948</parameter_description>
2949</parameter>
2950<parameter name="G_FILE_COPY_NOFOLLOW_SYMLINKS">
2951<parameter_description> Don't follow symlinks.
2952</parameter_description>
2953</parameter>
2954<parameter name="G_FILE_COPY_ALL_METADATA">
2955<parameter_description> Copy all file metadata instead of just default set used for copy (see #GFileInfo).
2956</parameter_description>
2957</parameter>
2958<parameter name="G_FILE_COPY_NO_FALLBACK_FOR_MOVE">
2959<parameter_description> Don't use copy and delete fallback if native move not supported.
2960</parameter_description>
2961</parameter>
2962<parameter name="G_FILE_COPY_TARGET_DEFAULT_PERMS">
2963<parameter_description> Leaves target file with default perms, instead of setting the source file perms.
2964</parameter_description>
2965</parameter>
2966</parameters>
2967</enum>
2968
2969<enum name="GFileCreateFlags">
2970<description>
2971Flags used when an operation may create a file.
2972
2973</description>
2974<parameters>
2975<parameter name="G_FILE_CREATE_NONE">
2976<parameter_description> No flags set.
2977</parameter_description>
2978</parameter>
2979<parameter name="G_FILE_CREATE_PRIVATE">
2980<parameter_description> Create a file that can only be
2981accessed by the current user.
2982</parameter_description>
2983</parameter>
2984<parameter name="G_FILE_CREATE_REPLACE_DESTINATION">
2985<parameter_description> Replace the destination
2986as if it didn't exist before. Don't try to keep any old
2987permissions, replace instead of following links. This
2988is generally useful if you're doing a &quot;copy over&quot;
2989rather than a &quot;save new version of&quot; replace operation.
2990You can think of it as &quot;unlink destination&quot; before
2991writing to it, although the implementation may not
2992be exactly like that. Since 2.20
2993</parameter_description>
2994</parameter>
2995</parameters>
2996</enum>
2997
2998<property name="GFileIcon:file">
2999<description>
3000The file containing the icon.
3001
3002</description>
3003</property>
3004
3005<enum name="GFileMeasureFlags">
3006<description>
3007Flags that can be used with g_file_measure_disk_usage().
3008
3009Since: 2.38
3010
3011</description>
3012<parameters>
3013<parameter name="G_FILE_MEASURE_NONE">
3014<parameter_description> No flags set.
3015</parameter_description>
3016</parameter>
3017<parameter name="G_FILE_MEASURE_REPORT_ANY_ERROR">
3018<parameter_description> Report any error encountered
3019while traversing the directory tree.  Normally errors are only
3020reported for the toplevel file.
3021</parameter_description>
3022</parameter>
3023<parameter name="G_FILE_MEASURE_APPARENT_SIZE">
3024<parameter_description> Tally usage based on apparent file
3025sizes.  Normally, the block-size is used, if available, as this is a
3026more accurate representation of disk space used.
3027Compare with `du --apparent-size`.
3028</parameter_description>
3029</parameter>
3030<parameter name="G_FILE_MEASURE_NO_XDEV">
3031<parameter_description> Do not cross mount point boundaries.
3032Compare with `du -x`.
3033</parameter_description>
3034</parameter>
3035</parameters>
3036</enum>
3037
3038<signal name="GFileMonitor::changed">
3039<description>
3040Emitted when @file has been changed.
3041
3042If using %G_FILE_MONITOR_WATCH_MOVES on a directory monitor, and
3043the information is available (and if supported by the backend),
3044@event_type may be %G_FILE_MONITOR_EVENT_RENAMED,
3045%G_FILE_MONITOR_EVENT_MOVED_IN or %G_FILE_MONITOR_EVENT_MOVED_OUT.
3046
3047In all cases @file will be a child of the monitored directory.  For
3048renames, @file will be the old name and @other_file is the new
3049name.  For &quot;moved in&quot; events, @file is the name of the file that
3050appeared and @other_file is the old name that it was moved from (in
3051another directory).  For &quot;moved out&quot; events, @file is the name of
3052the file that used to be in this directory and @other_file is the
3053name of the file at its new location.
3054
3055It makes sense to treat %G_FILE_MONITOR_EVENT_MOVED_IN as
3056equivalent to %G_FILE_MONITOR_EVENT_CREATED and
3057%G_FILE_MONITOR_EVENT_MOVED_OUT as equivalent to
3058%G_FILE_MONITOR_EVENT_DELETED, with extra information.
3059%G_FILE_MONITOR_EVENT_RENAMED is equivalent to a delete/create
3060pair.  This is exactly how the events will be reported in the case
3061that the %G_FILE_MONITOR_WATCH_MOVES flag is not in use.
3062
3063If using the deprecated flag %G_FILE_MONITOR_SEND_MOVED flag and @event_type is
3064#G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the
3065old path, and @other_file will be set to a #GFile containing the new path.
3066
3067In all the other cases, @other_file will be set to #NULL.
3068
3069</description>
3070<parameters>
3071<parameter name="monitor">
3072<parameter_description> a #GFileMonitor.
3073</parameter_description>
3074</parameter>
3075<parameter name="file">
3076<parameter_description> a #GFile.
3077</parameter_description>
3078</parameter>
3079<parameter name="other_file">
3080<parameter_description> a #GFile or #NULL.
3081</parameter_description>
3082</parameter>
3083<parameter name="event_type">
3084<parameter_description> a #GFileMonitorEvent.
3085</parameter_description>
3086</parameter>
3087</parameters>
3088<return></return>
3089</signal>
3090
3091<enum name="GFileMonitorEvent">
3092<description>
3093Specifies what type of event a monitor event is.
3094
3095</description>
3096<parameters>
3097<parameter name="G_FILE_MONITOR_EVENT_CHANGED">
3098<parameter_description> a file changed.
3099</parameter_description>
3100</parameter>
3101<parameter name="G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT">
3102<parameter_description> a hint that this was probably the last change in a set of changes.
3103</parameter_description>
3104</parameter>
3105<parameter name="G_FILE_MONITOR_EVENT_DELETED">
3106<parameter_description> a file was deleted.
3107</parameter_description>
3108</parameter>
3109<parameter name="G_FILE_MONITOR_EVENT_CREATED">
3110<parameter_description> a file was created.
3111</parameter_description>
3112</parameter>
3113<parameter name="G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED">
3114<parameter_description> a file attribute was changed.
3115</parameter_description>
3116</parameter>
3117<parameter name="G_FILE_MONITOR_EVENT_PRE_UNMOUNT">
3118<parameter_description> the file location will soon be unmounted.
3119</parameter_description>
3120</parameter>
3121<parameter name="G_FILE_MONITOR_EVENT_UNMOUNTED">
3122<parameter_description> the file location was unmounted.
3123</parameter_description>
3124</parameter>
3125<parameter name="G_FILE_MONITOR_EVENT_MOVED">
3126<parameter_description> the file was moved -- only sent if the
3127(deprecated) %G_FILE_MONITOR_SEND_MOVED flag is set
3128</parameter_description>
3129</parameter>
3130<parameter name="G_FILE_MONITOR_EVENT_RENAMED">
3131<parameter_description> the file was renamed within the
3132current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES
3133flag is set.  Since: 2.46.
3134</parameter_description>
3135</parameter>
3136<parameter name="G_FILE_MONITOR_EVENT_MOVED_IN">
3137<parameter_description> the file was moved into the
3138monitored directory from another location -- only sent if the
3139%G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46.
3140</parameter_description>
3141</parameter>
3142<parameter name="G_FILE_MONITOR_EVENT_MOVED_OUT">
3143<parameter_description> the file was moved out of the
3144monitored directory to another location -- only sent if the
3145%G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46
3146</parameter_description>
3147</parameter>
3148</parameters>
3149</enum>
3150
3151<enum name="GFileMonitorFlags">
3152<description>
3153Flags used to set what a #GFileMonitor will watch for.
3154
3155</description>
3156<parameters>
3157<parameter name="G_FILE_MONITOR_NONE">
3158<parameter_description> No flags set.
3159</parameter_description>
3160</parameter>
3161<parameter name="G_FILE_MONITOR_WATCH_MOUNTS">
3162<parameter_description> Watch for mount events.
3163</parameter_description>
3164</parameter>
3165<parameter name="G_FILE_MONITOR_SEND_MOVED">
3166<parameter_description> Pair DELETED and CREATED events caused
3167by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED
3168event instead (NB: not supported on all backends; the default
3169behaviour -without specifying this flag- is to send single DELETED
3170and CREATED events).  Deprecated since 2.46: use
3171%G_FILE_MONITOR_WATCH_MOVES instead.
3172</parameter_description>
3173</parameter>
3174<parameter name="G_FILE_MONITOR_WATCH_HARD_LINKS">
3175<parameter_description> Watch for changes to the file made
3176via another hard link. Since 2.36.
3177</parameter_description>
3178</parameter>
3179<parameter name="G_FILE_MONITOR_WATCH_MOVES">
3180<parameter_description> Watch for rename operations on a
3181monitored directory.  This causes %G_FILE_MONITOR_EVENT_RENAMED,
3182%G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT
3183events to be emitted when possible.  Since: 2.46.
3184</parameter_description>
3185</parameter>
3186</parameters>
3187</enum>
3188
3189<enum name="GFileQueryInfoFlags">
3190<description>
3191Flags used when querying a #GFileInfo.
3192
3193</description>
3194<parameters>
3195<parameter name="G_FILE_QUERY_INFO_NONE">
3196<parameter_description> No flags set.
3197</parameter_description>
3198</parameter>
3199<parameter name="G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS">
3200<parameter_description> Don't follow symlinks.
3201</parameter_description>
3202</parameter>
3203</parameters>
3204</enum>
3205
3206<enum name="GFileType">
3207<description>
3208Indicates the file's on-disk type.
3209
3210On Windows systems a file will never have %G_FILE_TYPE_SYMBOLIC_LINK type;
3211use #GFileInfo and %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK to determine
3212whether a file is a symlink or not. This is due to the fact that NTFS does
3213not have a single filesystem object type for symbolic links - it has
3214files that symlink to files, and directories that symlink to directories.
3215#GFileType enumeration cannot precisely represent this important distinction,
3216which is why all Windows symlinks will continue to be reported as
3217%G_FILE_TYPE_REGULAR or %G_FILE_TYPE_DIRECTORY.
3218
3219</description>
3220<parameters>
3221<parameter name="G_FILE_TYPE_UNKNOWN">
3222<parameter_description> File's type is unknown.
3223</parameter_description>
3224</parameter>
3225<parameter name="G_FILE_TYPE_REGULAR">
3226<parameter_description> File handle represents a regular file.
3227</parameter_description>
3228</parameter>
3229<parameter name="G_FILE_TYPE_DIRECTORY">
3230<parameter_description> File handle represents a directory.
3231</parameter_description>
3232</parameter>
3233<parameter name="G_FILE_TYPE_SYMBOLIC_LINK">
3234<parameter_description> File handle represents a symbolic link
3235(Unix systems).
3236</parameter_description>
3237</parameter>
3238<parameter name="G_FILE_TYPE_SPECIAL">
3239<parameter_description> File is a &quot;special&quot; file, such as a socket, fifo,
3240block device, or character device.
3241</parameter_description>
3242</parameter>
3243<parameter name="G_FILE_TYPE_SHORTCUT">
3244<parameter_description> File is a shortcut (Windows systems).
3245</parameter_description>
3246</parameter>
3247<parameter name="G_FILE_TYPE_MOUNTABLE">
3248<parameter_description> File is a mountable location.
3249</parameter_description>
3250</parameter>
3251</parameters>
3252</enum>
3253
3254<signal name="GFilenameCompleter::got-completion-data">
3255<description>
3256Emitted when the file name completion information comes available.
3257
3258</description>
3259<parameters>
3260</parameters>
3261<return></return>
3262</signal>
3263
3264<enum name="GFilesystemPreviewType">
3265<description>
3266Indicates a hint from the file system whether files should be
3267previewed in a file manager. Returned as the value of the key
3268#G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
3269
3270</description>
3271<parameters>
3272<parameter name="G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS">
3273<parameter_description> Only preview files if user has explicitly requested it.
3274</parameter_description>
3275</parameter>
3276<parameter name="G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL">
3277<parameter_description> Preview files if user has requested preview of &quot;local&quot; files.
3278</parameter_description>
3279</parameter>
3280<parameter name="G_FILESYSTEM_PREVIEW_TYPE_NEVER">
3281<parameter_description> Never preview files.
3282</parameter_description>
3283</parameter>
3284</parameters>
3285</enum>
3286
3287<enum name="GIOErrorEnum">
3288<description>
3289Error codes returned by GIO functions.
3290
3291Note that this domain may be extended in future GLib releases. In
3292general, new error codes either only apply to new APIs, or else
3293replace %G_IO_ERROR_FAILED in cases that were not explicitly
3294distinguished before. You should therefore avoid writing code like
3295|[&lt;!-- language=&quot;C&quot; --&gt;
3296if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED))
3297{
3298// Assume that this is EPRINTERONFIRE
3299...
3300}
3301]|
3302but should instead treat all unrecognized error codes the same as
3303#G_IO_ERROR_FAILED.
3304
3305See also #GPollableReturn for a cheaper way of returning
3306%G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError.
3307
3308</description>
3309<parameters>
3310<parameter name="G_IO_ERROR_FAILED">
3311<parameter_description> Generic error condition for when an operation fails
3312and no more specific #GIOErrorEnum value is defined.
3313</parameter_description>
3314</parameter>
3315<parameter name="G_IO_ERROR_NOT_FOUND">
3316<parameter_description> File not found.
3317</parameter_description>
3318</parameter>
3319<parameter name="G_IO_ERROR_EXISTS">
3320<parameter_description> File already exists.
3321</parameter_description>
3322</parameter>
3323<parameter name="G_IO_ERROR_IS_DIRECTORY">
3324<parameter_description> File is a directory.
3325</parameter_description>
3326</parameter>
3327<parameter name="G_IO_ERROR_NOT_DIRECTORY">
3328<parameter_description> File is not a directory.
3329</parameter_description>
3330</parameter>
3331<parameter name="G_IO_ERROR_NOT_EMPTY">
3332<parameter_description> File is a directory that isn't empty.
3333</parameter_description>
3334</parameter>
3335<parameter name="G_IO_ERROR_NOT_REGULAR_FILE">
3336<parameter_description> File is not a regular file.
3337</parameter_description>
3338</parameter>
3339<parameter name="G_IO_ERROR_NOT_SYMBOLIC_LINK">
3340<parameter_description> File is not a symbolic link.
3341</parameter_description>
3342</parameter>
3343<parameter name="G_IO_ERROR_NOT_MOUNTABLE_FILE">
3344<parameter_description> File cannot be mounted.
3345</parameter_description>
3346</parameter>
3347<parameter name="G_IO_ERROR_FILENAME_TOO_LONG">
3348<parameter_description> Filename is too many characters.
3349</parameter_description>
3350</parameter>
3351<parameter name="G_IO_ERROR_INVALID_FILENAME">
3352<parameter_description> Filename is invalid or contains invalid characters.
3353</parameter_description>
3354</parameter>
3355<parameter name="G_IO_ERROR_TOO_MANY_LINKS">
3356<parameter_description> File contains too many symbolic links.
3357</parameter_description>
3358</parameter>
3359<parameter name="G_IO_ERROR_NO_SPACE">
3360<parameter_description> No space left on drive.
3361</parameter_description>
3362</parameter>
3363<parameter name="G_IO_ERROR_INVALID_ARGUMENT">
3364<parameter_description> Invalid argument.
3365</parameter_description>
3366</parameter>
3367<parameter name="G_IO_ERROR_PERMISSION_DENIED">
3368<parameter_description> Permission denied.
3369</parameter_description>
3370</parameter>
3371<parameter name="G_IO_ERROR_NOT_SUPPORTED">
3372<parameter_description> Operation (or one of its parameters) not supported
3373</parameter_description>
3374</parameter>
3375<parameter name="G_IO_ERROR_NOT_MOUNTED">
3376<parameter_description> File isn't mounted.
3377</parameter_description>
3378</parameter>
3379<parameter name="G_IO_ERROR_ALREADY_MOUNTED">
3380<parameter_description> File is already mounted.
3381</parameter_description>
3382</parameter>
3383<parameter name="G_IO_ERROR_CLOSED">
3384<parameter_description> File was closed.
3385</parameter_description>
3386</parameter>
3387<parameter name="G_IO_ERROR_CANCELLED">
3388<parameter_description> Operation was cancelled. See #GCancellable.
3389</parameter_description>
3390</parameter>
3391<parameter name="G_IO_ERROR_PENDING">
3392<parameter_description> Operations are still pending.
3393</parameter_description>
3394</parameter>
3395<parameter name="G_IO_ERROR_READ_ONLY">
3396<parameter_description> File is read only.
3397</parameter_description>
3398</parameter>
3399<parameter name="G_IO_ERROR_CANT_CREATE_BACKUP">
3400<parameter_description> Backup couldn't be created.
3401</parameter_description>
3402</parameter>
3403<parameter name="G_IO_ERROR_WRONG_ETAG">
3404<parameter_description> File's Entity Tag was incorrect.
3405</parameter_description>
3406</parameter>
3407<parameter name="G_IO_ERROR_TIMED_OUT">
3408<parameter_description> Operation timed out.
3409</parameter_description>
3410</parameter>
3411<parameter name="G_IO_ERROR_WOULD_RECURSE">
3412<parameter_description> Operation would be recursive.
3413</parameter_description>
3414</parameter>
3415<parameter name="G_IO_ERROR_BUSY">
3416<parameter_description> File is busy.
3417</parameter_description>
3418</parameter>
3419<parameter name="G_IO_ERROR_WOULD_BLOCK">
3420<parameter_description> Operation would block.
3421</parameter_description>
3422</parameter>
3423<parameter name="G_IO_ERROR_HOST_NOT_FOUND">
3424<parameter_description> Host couldn't be found (remote operations).
3425</parameter_description>
3426</parameter>
3427<parameter name="G_IO_ERROR_WOULD_MERGE">
3428<parameter_description> Operation would merge files.
3429</parameter_description>
3430</parameter>
3431<parameter name="G_IO_ERROR_FAILED_HANDLED">
3432<parameter_description> Operation failed and a helper program has
3433already interacted with the user. Do not display any error dialog.
3434</parameter_description>
3435</parameter>
3436<parameter name="G_IO_ERROR_TOO_MANY_OPEN_FILES">
3437<parameter_description> The current process has too many files
3438open and can't open any more. Duplicate descriptors do count toward
3439this limit. Since 2.20
3440</parameter_description>
3441</parameter>
3442<parameter name="G_IO_ERROR_NOT_INITIALIZED">
3443<parameter_description> The object has not been initialized. Since 2.22
3444</parameter_description>
3445</parameter>
3446<parameter name="G_IO_ERROR_ADDRESS_IN_USE">
3447<parameter_description> The requested address is already in use. Since 2.22
3448</parameter_description>
3449</parameter>
3450<parameter name="G_IO_ERROR_PARTIAL_INPUT">
3451<parameter_description> Need more input to finish operation. Since 2.24
3452</parameter_description>
3453</parameter>
3454<parameter name="G_IO_ERROR_INVALID_DATA">
3455<parameter_description> The input data was invalid. Since 2.24
3456</parameter_description>
3457</parameter>
3458<parameter name="G_IO_ERROR_DBUS_ERROR">
3459<parameter_description> A remote object generated an error that
3460doesn't correspond to a locally registered #GError error
3461domain. Use g_dbus_error_get_remote_error() to extract the D-Bus
3462error name and g_dbus_error_strip_remote_error() to fix up the
3463message so it matches what was received on the wire. Since 2.26.
3464</parameter_description>
3465</parameter>
3466<parameter name="G_IO_ERROR_HOST_UNREACHABLE">
3467<parameter_description> Host unreachable. Since 2.26
3468</parameter_description>
3469</parameter>
3470<parameter name="G_IO_ERROR_NETWORK_UNREACHABLE">
3471<parameter_description> Network unreachable. Since 2.26
3472</parameter_description>
3473</parameter>
3474<parameter name="G_IO_ERROR_CONNECTION_REFUSED">
3475<parameter_description> Connection refused. Since 2.26
3476</parameter_description>
3477</parameter>
3478<parameter name="G_IO_ERROR_PROXY_FAILED">
3479<parameter_description> Connection to proxy server failed. Since 2.26
3480</parameter_description>
3481</parameter>
3482<parameter name="G_IO_ERROR_PROXY_AUTH_FAILED">
3483<parameter_description> Proxy authentication failed. Since 2.26
3484</parameter_description>
3485</parameter>
3486<parameter name="G_IO_ERROR_PROXY_NEED_AUTH">
3487<parameter_description> Proxy server needs authentication. Since 2.26
3488</parameter_description>
3489</parameter>
3490<parameter name="G_IO_ERROR_PROXY_NOT_ALLOWED">
3491<parameter_description> Proxy connection is not allowed by ruleset.
3492Since 2.26
3493</parameter_description>
3494</parameter>
3495<parameter name="G_IO_ERROR_BROKEN_PIPE">
3496<parameter_description> Broken pipe. Since 2.36
3497</parameter_description>
3498</parameter>
3499<parameter name="G_IO_ERROR_CONNECTION_CLOSED">
3500<parameter_description> Connection closed by peer. Note that this
3501is the same code as %G_IO_ERROR_BROKEN_PIPE; before 2.44 some
3502&quot;connection closed&quot; errors returned %G_IO_ERROR_BROKEN_PIPE, but others
3503returned %G_IO_ERROR_FAILED. Now they should all return the same
3504value, which has this more logical name. Since 2.44.
3505</parameter_description>
3506</parameter>
3507<parameter name="G_IO_ERROR_NOT_CONNECTED">
3508<parameter_description> Transport endpoint is not connected. Since 2.44
3509</parameter_description>
3510</parameter>
3511<parameter name="G_IO_ERROR_MESSAGE_TOO_LARGE">
3512<parameter_description> Message too large. Since 2.48.
3513</parameter_description>
3514</parameter>
3515</parameters>
3516</enum>
3517
3518<enum name="GIOModuleScopeFlags">
3519<description>
3520Flags for use with g_io_module_scope_new().
3521
3522Since: 2.30
3523
3524</description>
3525<parameters>
3526<parameter name="G_IO_MODULE_SCOPE_NONE">
3527<parameter_description> No module scan flags
3528</parameter_description>
3529</parameter>
3530<parameter name="G_IO_MODULE_SCOPE_BLOCK_DUPLICATES">
3531<parameter_description> When using this scope to load or
3532scan modules, automatically block a modules which has the same base
3533basename as previously loaded module.
3534</parameter_description>
3535</parameter>
3536</parameters>
3537</enum>
3538
3539<enum name="GIOStreamSpliceFlags">
3540<description>
3541GIOStreamSpliceFlags determine how streams should be spliced.
3542
3543Since: 2.28
3544
3545</description>
3546<parameters>
3547<parameter name="G_IO_STREAM_SPLICE_NONE">
3548<parameter_description> Do not close either stream.
3549</parameter_description>
3550</parameter>
3551<parameter name="G_IO_STREAM_SPLICE_CLOSE_STREAM1">
3552<parameter_description> Close the first stream after
3553the splice.
3554</parameter_description>
3555</parameter>
3556<parameter name="G_IO_STREAM_SPLICE_CLOSE_STREAM2">
3557<parameter_description> Close the second stream after
3558the splice.
3559</parameter_description>
3560</parameter>
3561<parameter name="G_IO_STREAM_SPLICE_WAIT_FOR_BOTH">
3562<parameter_description> Wait for both splice operations to finish
3563before calling the callback.
3564</parameter_description>
3565</parameter>
3566</parameters>
3567</enum>
3568
3569<property name="GInetAddress:is-any">
3570<description>
3571Whether this is the &quot;any&quot; address for its family.
3572See g_inet_address_get_is_any().
3573
3574Since: 2.22
3575
3576</description>
3577</property>
3578
3579<property name="GInetAddress:is-link-local">
3580<description>
3581Whether this is a link-local address.
3582See g_inet_address_get_is_link_local().
3583
3584Since: 2.22
3585
3586</description>
3587</property>
3588
3589<property name="GInetAddress:is-loopback">
3590<description>
3591Whether this is the loopback address for its family.
3592See g_inet_address_get_is_loopback().
3593
3594Since: 2.22
3595
3596</description>
3597</property>
3598
3599<property name="GInetAddress:is-mc-global">
3600<description>
3601Whether this is a global multicast address.
3602See g_inet_address_get_is_mc_global().
3603
3604Since: 2.22
3605
3606</description>
3607</property>
3608
3609<property name="GInetAddress:is-mc-link-local">
3610<description>
3611Whether this is a link-local multicast address.
3612See g_inet_address_get_is_mc_link_local().
3613
3614Since: 2.22
3615
3616</description>
3617</property>
3618
3619<property name="GInetAddress:is-mc-node-local">
3620<description>
3621Whether this is a node-local multicast address.
3622See g_inet_address_get_is_mc_node_local().
3623
3624Since: 2.22
3625
3626</description>
3627</property>
3628
3629<property name="GInetAddress:is-mc-org-local">
3630<description>
3631Whether this is an organization-local multicast address.
3632See g_inet_address_get_is_mc_org_local().
3633
3634Since: 2.22
3635
3636</description>
3637</property>
3638
3639<property name="GInetAddress:is-mc-site-local">
3640<description>
3641Whether this is a site-local multicast address.
3642See g_inet_address_get_is_mc_site_local().
3643
3644Since: 2.22
3645
3646</description>
3647</property>
3648
3649<property name="GInetAddress:is-multicast">
3650<description>
3651Whether this is a multicast address.
3652See g_inet_address_get_is_multicast().
3653
3654Since: 2.22
3655
3656</description>
3657</property>
3658
3659<property name="GInetAddress:is-site-local">
3660<description>
3661Whether this is a site-local address.
3662See g_inet_address_get_is_loopback().
3663
3664Since: 2.22
3665
3666</description>
3667</property>
3668
3669<property name="GInetSocketAddress:flowinfo">
3670<description>
3671The `sin6_flowinfo` field, for IPv6 addresses.
3672
3673Since: 2.32
3674
3675</description>
3676</property>
3677
3678<property name="GKeyfileSettingsBackend:default-dir">
3679<description>
3680The directory where the system defaults and locks are located.
3681
3682Defaults to `/etc/glib-2.0/settings`.
3683
3684</description>
3685</property>
3686
3687<property name="GKeyfileSettingsBackend:filename">
3688<description>
3689The location where the settings are stored on disk.
3690
3691Defaults to `$XDG_CONFIG_HOME/glib-2.0/settings/keyfile`.
3692
3693</description>
3694</property>
3695
3696<property name="GKeyfileSettingsBackend:root-group">
3697<description>
3698If @root_group is non-%NULL then it specifies the name of the keyfile
3699group used for keys that are written directly below the root path.
3700
3701Defaults to NULL.
3702
3703</description>
3704</property>
3705
3706<property name="GKeyfileSettingsBackend:root-path">
3707<description>
3708All settings read to or written from the backend must fall under the
3709path given in @root_path (which must start and end with a slash and
3710not contain two consecutive slashes).  @root_path may be &quot;/&quot;.
3711
3712Defaults to &quot;/&quot;.
3713
3714</description>
3715</property>
3716
3717<signal name="GListModel::items-changed">
3718<description>
3719This signal is emitted whenever items were added to or removed
3720from @list. At @position, @removed items were removed and @added
3721items were added in their place.
3722
3723Note: If @removed != @added, the positions of all later items
3724in the model change.
3725
3726Since: 2.44
3727
3728</description>
3729<parameters>
3730<parameter name="list">
3731<parameter_description> the #GListModel that changed
3732</parameter_description>
3733</parameter>
3734<parameter name="position">
3735<parameter_description> the position at which @list changed
3736</parameter_description>
3737</parameter>
3738<parameter name="removed">
3739<parameter_description> the number of items removed
3740</parameter_description>
3741</parameter>
3742<parameter name="added">
3743<parameter_description> the number of items added
3744</parameter_description>
3745</parameter>
3746</parameters>
3747<return></return>
3748</signal>
3749
3750<property name="GListStore:item-type">
3751<description>
3752The type of items contained in this list store. Items must be
3753subclasses of #GObject.
3754
3755Since: 2.44
3756
3757</description>
3758</property>
3759
3760<signal name="GMemoryMonitor::low-memory-warning">
3761<description>
3762Emitted when the system is running low on free memory. The signal
3763handler should then take the appropriate action depending on the
3764warning level. See the #GMemoryMonitorWarningLevel documentation for
3765details.
3766
3767Since: 2.64
3768
3769</description>
3770<parameters>
3771<parameter name="monitor">
3772<parameter_description> a #GMemoryMonitor
3773</parameter_description>
3774</parameter>
3775<parameter name="level">
3776<parameter_description> the #GMemoryMonitorWarningLevel warning level
3777</parameter_description>
3778</parameter>
3779</parameters>
3780<return></return>
3781</signal>
3782
3783<enum name="GMemoryMonitorWarningLevel">
3784<description>
3785Memory availability warning levels.
3786
3787Note that because new values might be added, it is recommended that applications check
3788#GMemoryMonitorWarningLevel as ranges, for example:
3789|[&lt;!-- language=&quot;C&quot; --&gt;
3790if (warning_level &gt; G_MEMORY_MONITOR_WARNING_LEVEL_LOW)
3791drop_caches ();
3792]|
3793
3794Since: 2.64
3795
3796</description>
3797<parameters>
3798<parameter name="G_MEMORY_MONITOR_WARNING_LEVEL_LOW">
3799<parameter_description> Memory on the device is low, processes
3800should free up unneeded resources (for example, in-memory caches) so they can
3801be used elsewhere.
3802</parameter_description>
3803</parameter>
3804<parameter name="G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM">
3805<parameter_description> Same as @G_MEMORY_MONITOR_WARNING_LEVEL_LOW
3806but the device has even less free memory, so processes should try harder to free
3807up unneeded resources. If your process does not need to stay running, it is a
3808good time for it to quit.
3809</parameter_description>
3810</parameter>
3811<parameter name="G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL">
3812<parameter_description> The system will soon start terminating
3813processes to reclaim memory, including background processes.
3814</parameter_description>
3815</parameter>
3816</parameters>
3817</enum>
3818
3819<property name="GMemoryOutputStream:data">
3820<description>
3821Pointer to buffer where data will be written.
3822
3823Since: 2.24
3824
3825</description>
3826</property>
3827
3828<property name="GMemoryOutputStream:data-size">
3829<description>
3830Size of data written to the buffer.
3831
3832Since: 2.24
3833
3834</description>
3835</property>
3836
3837<property name="GMemoryOutputStream:destroy-function">
3838<description>
3839Function called with the buffer as argument when the stream is destroyed.
3840
3841Since: 2.24
3842
3843</description>
3844</property>
3845
3846<property name="GMemoryOutputStream:realloc-function">
3847<description>
3848Function with realloc semantics called to enlarge the buffer.
3849
3850Since: 2.24
3851
3852</description>
3853</property>
3854
3855<property name="GMemoryOutputStream:size">
3856<description>
3857Current size of the data buffer.
3858
3859Since: 2.24
3860
3861</description>
3862</property>
3863
3864<signal name="GMenuModel::items-changed">
3865<description>
3866Emitted when a change has occured to the menu.
3867
3868The only changes that can occur to a menu is that items are removed
3869or added.  Items may not change (except by being removed and added
3870back in the same location).  This signal is capable of describing
3871both of those changes (at the same time).
3872
3873The signal means that starting at the index @position, @removed
3874items were removed and @added items were added in their place.  If
3875@removed is zero then only items were added.  If @added is zero
3876then only items were removed.
3877
3878As an example, if the menu contains items a, b, c, d (in that
3879order) and the signal (2, 1, 3) occurs then the new composition of
3880the menu will be a, b, _, _, _, d (with each _ representing some
3881new item).
3882
3883Signal handlers may query the model (particularly the added items)
3884and expect to see the results of the modification that is being
3885reported.  The signal is emitted after the modification.
3886
3887</description>
3888<parameters>
3889<parameter name="model">
3890<parameter_description> the #GMenuModel that is changing
3891</parameter_description>
3892</parameter>
3893<parameter name="position">
3894<parameter_description> the position of the change
3895</parameter_description>
3896</parameter>
3897<parameter name="removed">
3898<parameter_description> the number of items removed
3899</parameter_description>
3900</parameter>
3901<parameter name="added">
3902<parameter_description> the number of items added
3903</parameter_description>
3904</parameter>
3905</parameters>
3906<return></return>
3907</signal>
3908
3909<signal name="GMount::changed">
3910<description>
3911Emitted when the mount has been changed.
3912
3913</description>
3914<parameters>
3915<parameter name="mount">
3916<parameter_description> the object on which the signal is emitted
3917</parameter_description>
3918</parameter>
3919</parameters>
3920<return></return>
3921</signal>
3922
3923<signal name="GMount::pre-unmount">
3924<description>
3925This signal may be emitted when the #GMount is about to be
3926unmounted.
3927
3928This signal depends on the backend and is only emitted if
3929GIO was used to unmount.
3930
3931Since: 2.22
3932
3933</description>
3934<parameters>
3935<parameter name="mount">
3936<parameter_description> the object on which the signal is emitted
3937</parameter_description>
3938</parameter>
3939</parameters>
3940<return></return>
3941</signal>
3942
3943<signal name="GMount::unmounted">
3944<description>
3945This signal is emitted when the #GMount have been
3946unmounted. If the recipient is holding references to the
3947object they should release them so the object can be
3948finalized.
3949
3950</description>
3951<parameters>
3952<parameter name="mount">
3953<parameter_description> the object on which the signal is emitted
3954</parameter_description>
3955</parameter>
3956</parameters>
3957<return></return>
3958</signal>
3959
3960<enum name="GMountMountFlags">
3961<description>
3962Flags used when mounting a mount.
3963
3964</description>
3965<parameters>
3966<parameter name="G_MOUNT_MOUNT_NONE">
3967<parameter_description> No flags set.
3968</parameter_description>
3969</parameter>
3970</parameters>
3971</enum>
3972
3973<signal name="GMountOperation::aborted">
3974<description>
3975Emitted by the backend when e.g. a device becomes unavailable
3976while a mount operation is in progress.
3977
3978Implementations of GMountOperation should handle this signal
3979by dismissing open password dialogs.
3980
3981Since: 2.20
3982
3983</description>
3984<parameters>
3985</parameters>
3986<return></return>
3987</signal>
3988
3989<signal name="GMountOperation::ask-password">
3990<description>
3991Emitted when a mount operation asks the user for a password.
3992
3993If the message contains a line break, the first line should be
3994presented as a heading. For example, it may be used as the
3995primary text in a #GtkMessageDialog.
3996
3997</description>
3998<parameters>
3999<parameter name="op">
4000<parameter_description> a #GMountOperation requesting a password.
4001</parameter_description>
4002</parameter>
4003<parameter name="message">
4004<parameter_description> string containing a message to display to the user.
4005</parameter_description>
4006</parameter>
4007<parameter name="default_user">
4008<parameter_description> string containing the default user name.
4009</parameter_description>
4010</parameter>
4011<parameter name="default_domain">
4012<parameter_description> string containing the default domain.
4013</parameter_description>
4014</parameter>
4015<parameter name="flags">
4016<parameter_description> a set of #GAskPasswordFlags.
4017</parameter_description>
4018</parameter>
4019</parameters>
4020<return></return>
4021</signal>
4022
4023<signal name="GMountOperation::ask-question">
4024<description>
4025Emitted when asking the user a question and gives a list of
4026choices for the user to choose from.
4027
4028If the message contains a line break, the first line should be
4029presented as a heading. For example, it may be used as the
4030primary text in a #GtkMessageDialog.
4031
4032</description>
4033<parameters>
4034<parameter name="op">
4035<parameter_description> a #GMountOperation asking a question.
4036</parameter_description>
4037</parameter>
4038<parameter name="message">
4039<parameter_description> string containing a message to display to the user.
4040</parameter_description>
4041</parameter>
4042<parameter name="choices">
4043<parameter_description> an array of strings for each possible choice.
4044</parameter_description>
4045</parameter>
4046</parameters>
4047<return></return>
4048</signal>
4049
4050<signal name="GMountOperation::reply">
4051<description>
4052Emitted when the user has replied to the mount operation.
4053
4054</description>
4055<parameters>
4056<parameter name="op">
4057<parameter_description> a #GMountOperation.
4058</parameter_description>
4059</parameter>
4060<parameter name="result">
4061<parameter_description> a #GMountOperationResult indicating how the request was handled
4062</parameter_description>
4063</parameter>
4064</parameters>
4065<return></return>
4066</signal>
4067
4068<signal name="GMountOperation::show-processes">
4069<description>
4070Emitted when one or more processes are blocking an operation
4071e.g. unmounting/ejecting a #GMount or stopping a #GDrive.
4072
4073Note that this signal may be emitted several times to update the
4074list of blocking processes as processes close files. The
4075application should only respond with g_mount_operation_reply() to
4076the latest signal (setting #GMountOperation:choice to the choice
4077the user made).
4078
4079If the message contains a line break, the first line should be
4080presented as a heading. For example, it may be used as the
4081primary text in a #GtkMessageDialog.
4082
4083Since: 2.22
4084
4085</description>
4086<parameters>
4087<parameter name="op">
4088<parameter_description> a #GMountOperation.
4089</parameter_description>
4090</parameter>
4091<parameter name="message">
4092<parameter_description> string containing a message to display to the user.
4093</parameter_description>
4094</parameter>
4095<parameter name="processes">
4096<parameter_description> an array of #GPid for processes
4097blocking the operation.
4098</parameter_description>
4099</parameter>
4100<parameter name="choices">
4101<parameter_description> an array of strings for each possible choice.
4102</parameter_description>
4103</parameter>
4104</parameters>
4105<return></return>
4106</signal>
4107
4108<signal name="GMountOperation::show-unmount-progress">
4109<description>
4110Emitted when an unmount operation has been busy for more than some time
4111(typically 1.5 seconds).
4112
4113When unmounting or ejecting a volume, the kernel might need to flush
4114pending data in its buffers to the volume stable storage, and this operation
4115can take a considerable amount of time. This signal may be emitted several
4116times as long as the unmount operation is outstanding, and then one
4117last time when the operation is completed, with @bytes_left set to zero.
4118
4119Implementations of GMountOperation should handle this signal by
4120showing an UI notification, and then dismiss it, or show another notification
4121of completion, when @bytes_left reaches zero.
4122
4123If the message contains a line break, the first line should be
4124presented as a heading. For example, it may be used as the
4125primary text in a #GtkMessageDialog.
4126
4127Since: 2.34
4128
4129</description>
4130<parameters>
4131<parameter name="op">
4132<parameter_description> a #GMountOperation:
4133</parameter_description>
4134</parameter>
4135<parameter name="message">
4136<parameter_description> string containing a mesage to display to the user
4137</parameter_description>
4138</parameter>
4139<parameter name="time_left">
4140<parameter_description> the estimated time left before the operation completes,
4141in microseconds, or -1
4142</parameter_description>
4143</parameter>
4144<parameter name="bytes_left">
4145<parameter_description> the amount of bytes to be written before the operation
4146completes (or -1 if such amount is not known), or zero if the operation
4147is completed
4148</parameter_description>
4149</parameter>
4150</parameters>
4151<return></return>
4152</signal>
4153
4154<property name="GMountOperation:anonymous">
4155<description>
4156Whether to use an anonymous user when authenticating.
4157
4158</description>
4159</property>
4160
4161<property name="GMountOperation:choice">
4162<description>
4163The index of the user's choice when a question is asked during the
4164mount operation. See the #GMountOperation::ask-question signal.
4165
4166</description>
4167</property>
4168
4169<property name="GMountOperation:domain">
4170<description>
4171The domain to use for the mount operation.
4172
4173</description>
4174</property>
4175
4176<property name="GMountOperation:is-tcrypt-hidden-volume">
4177<description>
4178Whether the device to be unlocked is a TCRYPT hidden volume.
4179See [the VeraCrypt documentation](https://www.veracrypt.fr/en/Hidden%20Volume.html).
4180
4181Since: 2.58
4182
4183</description>
4184</property>
4185
4186<property name="GMountOperation:is-tcrypt-system-volume">
4187<description>
4188Whether the device to be unlocked is a TCRYPT system volume.
4189In this context, a system volume is a volume with a bootloader
4190and operating system installed. This is only supported for Windows
4191operating systems. For further documentation, see
4192[the VeraCrypt documentation](https://www.veracrypt.fr/en/System%20Encryption.html).
4193
4194Since: 2.58
4195
4196</description>
4197</property>
4198
4199<property name="GMountOperation:password">
4200<description>
4201The password that is used for authentication when carrying out
4202the mount operation.
4203
4204</description>
4205</property>
4206
4207<property name="GMountOperation:password-save">
4208<description>
4209Determines if and how the password information should be saved.
4210
4211</description>
4212</property>
4213
4214<property name="GMountOperation:pim">
4215<description>
4216The VeraCrypt PIM value, when unlocking a VeraCrypt volume. See
4217[the VeraCrypt documentation](https://www.veracrypt.fr/en/Personal%20Iterations%20Multiplier%20(PIM).html).
4218
4219Since: 2.58
4220
4221</description>
4222</property>
4223
4224<property name="GMountOperation:username">
4225<description>
4226The user name that is used for authentication when carrying out
4227the mount operation.
4228
4229</description>
4230</property>
4231
4232<enum name="GMountOperationResult">
4233<description>
4234#GMountOperationResult is returned as a result when a request for
4235information is send by the mounting operation.
4236
4237</description>
4238<parameters>
4239<parameter name="G_MOUNT_OPERATION_HANDLED">
4240<parameter_description> The request was fulfilled and the
4241user specified data is now available
4242</parameter_description>
4243</parameter>
4244<parameter name="G_MOUNT_OPERATION_ABORTED">
4245<parameter_description> The user requested the mount operation
4246to be aborted
4247</parameter_description>
4248</parameter>
4249<parameter name="G_MOUNT_OPERATION_UNHANDLED">
4250<parameter_description> The request was unhandled (i.e. not
4251implemented)
4252</parameter_description>
4253</parameter>
4254</parameters>
4255</enum>
4256
4257<enum name="GMountUnmountFlags">
4258<description>
4259Flags used when an unmounting a mount.
4260
4261</description>
4262<parameters>
4263<parameter name="G_MOUNT_UNMOUNT_NONE">
4264<parameter_description> No flags set.
4265</parameter_description>
4266</parameter>
4267<parameter name="G_MOUNT_UNMOUNT_FORCE">
4268<parameter_description> Unmount even if there are outstanding
4269file operations on the mount.
4270</parameter_description>
4271</parameter>
4272</parameters>
4273</enum>
4274
4275<enum name="GNetworkConnectivity">
4276<description>
4277The host's network connectivity state, as reported by #GNetworkMonitor.
4278
4279Since: 2.44
4280
4281</description>
4282<parameters>
4283<parameter name="G_NETWORK_CONNECTIVITY_LOCAL">
4284<parameter_description> The host is not configured with a
4285route to the Internet; it may or may not be connected to a local
4286network.
4287</parameter_description>
4288</parameter>
4289<parameter name="G_NETWORK_CONNECTIVITY_LIMITED">
4290<parameter_description> The host is connected to a network, but
4291does not appear to be able to reach the full Internet, perhaps
4292due to upstream network problems.
4293</parameter_description>
4294</parameter>
4295<parameter name="G_NETWORK_CONNECTIVITY_PORTAL">
4296<parameter_description> The host is behind a captive portal and
4297cannot reach the full Internet.
4298</parameter_description>
4299</parameter>
4300<parameter name="G_NETWORK_CONNECTIVITY_FULL">
4301<parameter_description> The host is connected to a network, and
4302appears to be able to reach the full Internet.
4303</parameter_description>
4304</parameter>
4305</parameters>
4306</enum>
4307
4308<signal name="GNetworkMonitor::network-changed">
4309<description>
4310Emitted when the network configuration changes.
4311
4312Since: 2.32
4313
4314</description>
4315<parameters>
4316<parameter name="monitor">
4317<parameter_description> a #GNetworkMonitor
4318</parameter_description>
4319</parameter>
4320<parameter name="network_available">
4321<parameter_description> the current value of #GNetworkMonitor:network-available
4322</parameter_description>
4323</parameter>
4324</parameters>
4325<return></return>
4326</signal>
4327
4328<property name="GNetworkMonitor:connectivity">
4329<description>
4330More detailed information about the host's network connectivity.
4331See g_network_monitor_get_connectivity() and
4332#GNetworkConnectivity for more details.
4333
4334Since: 2.44
4335
4336</description>
4337</property>
4338
4339<property name="GNetworkMonitor:network-available">
4340<description>
4341Whether the network is considered available. That is, whether the
4342system has a default route for at least one of IPv4 or IPv6.
4343
4344Real-world networks are of course much more complicated than
4345this; the machine may be connected to a wifi hotspot that
4346requires payment before allowing traffic through, or may be
4347connected to a functioning router that has lost its own upstream
4348connectivity. Some hosts might only be accessible when a VPN is
4349active. Other hosts might only be accessible when the VPN is
4350not active. Thus, it is best to use g_network_monitor_can_reach()
4351or g_network_monitor_can_reach_async() to test for reachability
4352on a host-by-host basis. (On the other hand, when the property is
4353%FALSE, the application can reasonably expect that no remote
4354hosts at all are reachable, and should indicate this to the user
4355in its UI.)
4356
4357See also #GNetworkMonitor::network-changed.
4358
4359Since: 2.32
4360
4361</description>
4362</property>
4363
4364<property name="GNetworkMonitor:network-metered">
4365<description>
4366Whether the network is considered metered. That is, whether the
4367system has traffic flowing through the default connection that is
4368subject to limitations set by service providers. For example, traffic
4369might be billed by the amount of data transmitted, or there might be a
4370quota on the amount of traffic per month. This is typical with tethered
4371connections (3G and 4G) and in such situations, bandwidth intensive
4372applications may wish to avoid network activity where possible if it will
4373cost the user money or use up their limited quota.
4374
4375If more information is required about specific devices then the
4376system network management API should be used instead (for example,
4377NetworkManager or ConnMan).
4378
4379If this information is not available then no networks will be
4380marked as metered.
4381
4382See also #GNetworkMonitor:network-available.
4383
4384Since: 2.46
4385
4386</description>
4387</property>
4388
4389<enum name="GNotificationPriority">
4390<description>
4391Priority levels for #GNotifications.
4392
4393Since: 2.42
4394
4395</description>
4396<parameters>
4397<parameter name="G_NOTIFICATION_PRIORITY_LOW">
4398<parameter_description> for notifications that do not require
4399immediate attention - typically used for contextual background
4400information, such as contact birthdays or local weather
4401</parameter_description>
4402</parameter>
4403<parameter name="G_NOTIFICATION_PRIORITY_NORMAL">
4404<parameter_description> the default priority, to be used for the
4405majority of notifications (for example email messages, software updates,
4406completed download/sync operations)
4407</parameter_description>
4408</parameter>
4409<parameter name="G_NOTIFICATION_PRIORITY_HIGH">
4410<parameter_description> for events that require more attention,
4411usually because responses are time-sensitive (for example chat and SMS
4412messages or alarms)
4413</parameter_description>
4414</parameter>
4415<parameter name="G_NOTIFICATION_PRIORITY_URGENT">
4416<parameter_description> for urgent notifications, or notifications
4417that require a response in a short space of time (for example phone calls
4418or emergency warnings)
4419</parameter_description>
4420</parameter>
4421</parameters>
4422</enum>
4423
4424<enum name="GOutputStreamSpliceFlags">
4425<description>
4426GOutputStreamSpliceFlags determine how streams should be spliced.
4427
4428</description>
4429<parameters>
4430<parameter name="G_OUTPUT_STREAM_SPLICE_NONE">
4431<parameter_description> Do not close either stream.
4432</parameter_description>
4433</parameter>
4434<parameter name="G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE">
4435<parameter_description> Close the source stream after
4436the splice.
4437</parameter_description>
4438</parameter>
4439<parameter name="G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET">
4440<parameter_description> Close the target stream after
4441the splice.
4442</parameter_description>
4443</parameter>
4444</parameters>
4445</enum>
4446
4447<enum name="GPasswordSave">
4448<description>
4449#GPasswordSave is used to indicate the lifespan of a saved password.
4450
4451#Gvfs stores passwords in the Gnome keyring when this flag allows it
4452to, and later retrieves it again from there.
4453
4454</description>
4455<parameters>
4456<parameter name="G_PASSWORD_SAVE_NEVER">
4457<parameter_description> never save a password.
4458</parameter_description>
4459</parameter>
4460<parameter name="G_PASSWORD_SAVE_FOR_SESSION">
4461<parameter_description> save a password for the session.
4462</parameter_description>
4463</parameter>
4464<parameter name="G_PASSWORD_SAVE_PERMANENTLY">
4465<parameter_description> save a password permanently.
4466</parameter_description>
4467</parameter>
4468</parameters>
4469</enum>
4470
4471<property name="GPermission:allowed">
4472<description>
4473%TRUE if the caller currently has permission to perform the action that
4474@permission represents the permission to perform.
4475
4476</description>
4477</property>
4478
4479<property name="GPermission:can-acquire">
4480<description>
4481%TRUE if it is generally possible to acquire the permission by calling
4482g_permission_acquire().
4483
4484</description>
4485</property>
4486
4487<property name="GPermission:can-release">
4488<description>
4489%TRUE if it is generally possible to release the permission by calling
4490g_permission_release().
4491
4492</description>
4493</property>
4494
4495<enum name="GPollableReturn">
4496<description>
4497Return value for various IO operations that signal errors via the
4498return value and not necessarily via a #GError.
4499
4500This enum exists to be able to return errors to callers without having to
4501allocate a #GError. Allocating #GErrors can be quite expensive for
4502regularly happening errors like %G_IO_ERROR_WOULD_BLOCK.
4503
4504In case of %G_POLLABLE_RETURN_FAILED a #GError should be set for the
4505operation to give details about the error that happened.
4506
4507Since: 2.60
4508
4509</description>
4510<parameters>
4511<parameter name="G_POLLABLE_RETURN_FAILED">
4512<parameter_description> Generic error condition for when an operation fails.
4513</parameter_description>
4514</parameter>
4515<parameter name="G_POLLABLE_RETURN_OK">
4516<parameter_description> The operation was successfully finished.
4517</parameter_description>
4518</parameter>
4519<parameter name="G_POLLABLE_RETURN_WOULD_BLOCK">
4520<parameter_description> The operation would block.
4521</parameter_description>
4522</parameter>
4523</parameters>
4524</enum>
4525
4526<property name="GPropertyAction:enabled">
4527<description>
4528If @action is currently enabled.
4529
4530If the action is disabled then calls to g_action_activate() and
4531g_action_change_state() have no effect.
4532
4533Since: 2.38
4534
4535</description>
4536</property>
4537
4538<property name="GPropertyAction:invert-boolean">
4539<description>
4540If %TRUE, the state of the action will be the negation of the
4541property value, provided the property is boolean.
4542
4543Since: 2.46
4544
4545</description>
4546</property>
4547
4548<property name="GPropertyAction:name">
4549<description>
4550The name of the action.  This is mostly meaningful for identifying
4551the action once it has been added to a #GActionMap.
4552
4553Since: 2.38
4554
4555</description>
4556</property>
4557
4558<property name="GPropertyAction:object">
4559<description>
4560The object to wrap a property on.
4561
4562The object must be a non-%NULL #GObject with properties.
4563
4564Since: 2.38
4565
4566</description>
4567</property>
4568
4569<property name="GPropertyAction:parameter-type">
4570<description>
4571The type of the parameter that must be given when activating the
4572action.
4573
4574Since: 2.38
4575
4576</description>
4577</property>
4578
4579<property name="GPropertyAction:property-name">
4580<description>
4581The name of the property to wrap on the object.
4582
4583The property must exist on the passed-in object and it must be
4584readable and writable (and not construct-only).
4585
4586Since: 2.38
4587
4588</description>
4589</property>
4590
4591<property name="GPropertyAction:state">
4592<description>
4593The state of the action, or %NULL if the action is stateless.
4594
4595Since: 2.38
4596
4597</description>
4598</property>
4599
4600<property name="GPropertyAction:state-type">
4601<description>
4602The #GVariantType of the state that the action has, or %NULL if the
4603action is stateless.
4604
4605Since: 2.38
4606
4607</description>
4608</property>
4609
4610<property name="GProxyAddress:destination-protocol">
4611<description>
4612The protocol being spoke to the destination host, or %NULL if
4613the #GProxyAddress doesn't know.
4614
4615Since: 2.34
4616
4617</description>
4618</property>
4619
4620<property name="GProxyAddress:uri">
4621<description>
4622The URI string that the proxy was constructed from (or %NULL
4623if the creator didn't specify this).
4624
4625Since: 2.34
4626
4627</description>
4628</property>
4629
4630<property name="GProxyAddressEnumerator:default-port">
4631<description>
4632The default port to use if #GProxyAddressEnumerator:uri does not
4633specify one.
4634
4635Since: 2.38
4636
4637</description>
4638</property>
4639
4640<property name="GProxyAddressEnumerator:proxy-resolver">
4641<description>
4642The proxy resolver to use.
4643
4644Since: 2.36
4645
4646</description>
4647</property>
4648
4649<signal name="GResolver::reload">
4650<description>
4651Emitted when the resolver notices that the system resolver
4652configuration has changed.
4653
4654</description>
4655<parameters>
4656<parameter name="resolver">
4657<parameter_description> a #GResolver
4658</parameter_description>
4659</parameter>
4660</parameters>
4661<return></return>
4662</signal>
4663
4664<enum name="GResolverError">
4665<description>
4666An error code used with %G_RESOLVER_ERROR in a #GError returned
4667from a #GResolver routine.
4668
4669Since: 2.22
4670
4671</description>
4672<parameters>
4673<parameter name="G_RESOLVER_ERROR_NOT_FOUND">
4674<parameter_description> the requested name/address/service was not
4675found
4676</parameter_description>
4677</parameter>
4678<parameter name="G_RESOLVER_ERROR_TEMPORARY_FAILURE">
4679<parameter_description> the requested information could not
4680be looked up due to a network error or similar problem
4681</parameter_description>
4682</parameter>
4683<parameter name="G_RESOLVER_ERROR_INTERNAL">
4684<parameter_description> unknown error
4685</parameter_description>
4686</parameter>
4687</parameters>
4688</enum>
4689
4690<enum name="GResolverNameLookupFlags">
4691<description>
4692Flags to modify lookup behavior.
4693
4694Since: 2.60
4695
4696</description>
4697<parameters>
4698<parameter name="G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT">
4699<parameter_description> default behavior (same as g_resolver_lookup_by_name())
4700</parameter_description>
4701</parameter>
4702<parameter name="G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY">
4703<parameter_description> only resolve ipv4 addresses
4704</parameter_description>
4705</parameter>
4706<parameter name="G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY">
4707<parameter_description> only resolve ipv6 addresses
4708</parameter_description>
4709</parameter>
4710</parameters>
4711</enum>
4712
4713<enum name="GResolverRecordType">
4714<description>
4715The type of record that g_resolver_lookup_records() or
4716g_resolver_lookup_records_async() should retrieve. The records are returned
4717as lists of #GVariant tuples. Each record type has different values in
4718the variant tuples returned.
4719
4720%G_RESOLVER_RECORD_SRV records are returned as variants with the signature
4721`(qqqs)`, containing a `guint16` with the priority, a `guint16` with the
4722weight, a `guint16` with the port, and a string of the hostname.
4723
4724%G_RESOLVER_RECORD_MX records are returned as variants with the signature
4725`(qs)`, representing a `guint16` with the preference, and a string containing
4726the mail exchanger hostname.
4727
4728%G_RESOLVER_RECORD_TXT records are returned as variants with the signature
4729`(as)`, representing an array of the strings in the text record. Note: Most TXT
4730records only contain a single string, but
4731[RFC 1035](https://tools.ietf.org/html/rfc1035#section-3.3.14) does allow a
4732record to contain multiple strings. The RFC which defines the interpretation
4733of a specific TXT record will likely require concatenation of multiple
4734strings if they are present, as with
4735[RFC 7208](https://tools.ietf.org/html/rfc7208#section-3.3).
4736
4737%G_RESOLVER_RECORD_SOA records are returned as variants with the signature
4738`(ssuuuuu)`, representing a string containing the primary name server, a
4739string containing the administrator, the serial as a `guint32`, the refresh
4740interval as a `guint32`, the retry interval as a `guint32`, the expire timeout
4741as a `guint32`, and the TTL as a `guint32`.
4742
4743%G_RESOLVER_RECORD_NS records are returned as variants with the signature
4744`(s)`, representing a string of the hostname of the name server.
4745
4746Since: 2.34
4747
4748</description>
4749<parameters>
4750<parameter name="G_RESOLVER_RECORD_SRV">
4751<parameter_description> look up DNS SRV records for a domain
4752</parameter_description>
4753</parameter>
4754<parameter name="G_RESOLVER_RECORD_MX">
4755<parameter_description> look up DNS MX records for a domain
4756</parameter_description>
4757</parameter>
4758<parameter name="G_RESOLVER_RECORD_TXT">
4759<parameter_description> look up DNS TXT records for a name
4760</parameter_description>
4761</parameter>
4762<parameter name="G_RESOLVER_RECORD_SOA">
4763<parameter_description> look up DNS SOA records for a zone
4764</parameter_description>
4765</parameter>
4766<parameter name="G_RESOLVER_RECORD_NS">
4767<parameter_description> look up DNS NS records for a domain
4768</parameter_description>
4769</parameter>
4770</parameters>
4771</enum>
4772
4773<enum name="GResourceError">
4774<description>
4775An error code used with %G_RESOURCE_ERROR in a #GError returned
4776from a #GResource routine.
4777
4778Since: 2.32
4779
4780</description>
4781<parameters>
4782<parameter name="G_RESOURCE_ERROR_NOT_FOUND">
4783<parameter_description> no file was found at the requested path
4784</parameter_description>
4785</parameter>
4786<parameter name="G_RESOURCE_ERROR_INTERNAL">
4787<parameter_description> unknown error
4788</parameter_description>
4789</parameter>
4790</parameters>
4791</enum>
4792
4793<enum name="GResourceFlags">
4794<description>
4795GResourceFlags give information about a particular file inside a resource
4796bundle.
4797
4798Since: 2.32
4799
4800</description>
4801<parameters>
4802<parameter name="G_RESOURCE_FLAGS_NONE">
4803<parameter_description> No flags set.
4804</parameter_description>
4805</parameter>
4806<parameter name="G_RESOURCE_FLAGS_COMPRESSED">
4807<parameter_description> The file is compressed.
4808</parameter_description>
4809</parameter>
4810</parameters>
4811</enum>
4812
4813<enum name="GResourceLookupFlags">
4814<description>
4815GResourceLookupFlags determine how resource path lookups are handled.
4816
4817Since: 2.32
4818
4819</description>
4820<parameters>
4821<parameter name="G_RESOURCE_LOOKUP_FLAGS_NONE">
4822<parameter_description> No flags set.
4823</parameter_description>
4824</parameter>
4825</parameters>
4826</enum>
4827
4828<signal name="GSettings::change-event">
4829<description>
4830The &quot;change-event&quot; signal is emitted once per change event that
4831affects this settings object.  You should connect to this signal
4832only if you are interested in viewing groups of changes before they
4833are split out into multiple emissions of the &quot;changed&quot; signal.
4834For most use cases it is more appropriate to use the &quot;changed&quot; signal.
4835
4836In the event that the change event applies to one or more specified
4837keys, @keys will be an array of #GQuark of length @n_keys.  In the
4838event that the change event applies to the #GSettings object as a
4839whole (ie: potentially every key has been changed) then @keys will
4840be %NULL and @n_keys will be 0.
4841
4842The default handler for this signal invokes the &quot;changed&quot; signal
4843for each affected key.  If any other connected handler returns
4844%TRUE then this default functionality will be suppressed.
4845
4846
4847</description>
4848<parameters>
4849<parameter name="settings">
4850<parameter_description> the object on which the signal was emitted
4851</parameter_description>
4852</parameter>
4853<parameter name="keys">
4854<parameter_description>
4855an array of #GQuarks for the changed keys, or %NULL
4856</parameter_description>
4857</parameter>
4858<parameter name="n_keys">
4859<parameter_description> the length of the @keys array, or 0
4860</parameter_description>
4861</parameter>
4862</parameters>
4863<return> %TRUE to stop other handlers from being invoked for the
4864event. FALSE to propagate the event further.
4865</return>
4866</signal>
4867
4868<signal name="GSettings::changed">
4869<description>
4870The &quot;changed&quot; signal is emitted when a key has potentially changed.
4871You should call one of the g_settings_get() calls to check the new
4872value.
4873
4874This signal supports detailed connections.  You can connect to the
4875detailed signal &quot;changed::x&quot; in order to only receive callbacks
4876when key &quot;x&quot; changes.
4877
4878Note that @settings only emits this signal if you have read @key at
4879least once while a signal handler was already connected for @key.
4880
4881</description>
4882<parameters>
4883<parameter name="settings">
4884<parameter_description> the object on which the signal was emitted
4885</parameter_description>
4886</parameter>
4887<parameter name="key">
4888<parameter_description> the name of the key that changed
4889</parameter_description>
4890</parameter>
4891</parameters>
4892<return></return>
4893</signal>
4894
4895<signal name="GSettings::writable-change-event">
4896<description>
4897The &quot;writable-change-event&quot; signal is emitted once per writability
4898change event that affects this settings object.  You should connect
4899to this signal if you are interested in viewing groups of changes
4900before they are split out into multiple emissions of the
4901&quot;writable-changed&quot; signal.  For most use cases it is more
4902appropriate to use the &quot;writable-changed&quot; signal.
4903
4904In the event that the writability change applies only to a single
4905key, @key will be set to the #GQuark for that key.  In the event
4906that the writability change affects the entire settings object,
4907@key will be 0.
4908
4909The default handler for this signal invokes the &quot;writable-changed&quot;
4910and &quot;changed&quot; signals for each affected key.  This is done because
4911changes in writability might also imply changes in value (if for
4912example, a new mandatory setting is introduced).  If any other
4913connected handler returns %TRUE then this default functionality
4914will be suppressed.
4915
4916
4917</description>
4918<parameters>
4919<parameter name="settings">
4920<parameter_description> the object on which the signal was emitted
4921</parameter_description>
4922</parameter>
4923<parameter name="key">
4924<parameter_description> the quark of the key, or 0
4925</parameter_description>
4926</parameter>
4927</parameters>
4928<return> %TRUE to stop other handlers from being invoked for the
4929event. FALSE to propagate the event further.
4930</return>
4931</signal>
4932
4933<signal name="GSettings::writable-changed">
4934<description>
4935The &quot;writable-changed&quot; signal is emitted when the writability of a
4936key has potentially changed.  You should call
4937g_settings_is_writable() in order to determine the new status.
4938
4939This signal supports detailed connections.  You can connect to the
4940detailed signal &quot;writable-changed::x&quot; in order to only receive
4941callbacks when the writability of &quot;x&quot; changes.
4942
4943</description>
4944<parameters>
4945<parameter name="settings">
4946<parameter_description> the object on which the signal was emitted
4947</parameter_description>
4948</parameter>
4949<parameter name="key">
4950<parameter_description> the key
4951</parameter_description>
4952</parameter>
4953</parameters>
4954<return></return>
4955</signal>
4956
4957<property name="GSettings:backend">
4958<description>
4959The name of the context that the settings are stored in.
4960
4961</description>
4962</property>
4963
4964<property name="GSettings:delay-apply">
4965<description>
4966Whether the #GSettings object is in 'delay-apply' mode. See
4967g_settings_delay() for details.
4968
4969Since: 2.28
4970
4971</description>
4972</property>
4973
4974<property name="GSettings:has-unapplied">
4975<description>
4976If this property is %TRUE, the #GSettings object has outstanding
4977changes that will be applied when g_settings_apply() is called.
4978
4979</description>
4980</property>
4981
4982<property name="GSettings:path">
4983<description>
4984The path within the backend where the settings are stored.
4985
4986</description>
4987</property>
4988
4989<property name="GSettings:schema">
4990<description>
4991The name of the schema that describes the types of keys
4992for this #GSettings object.
4993
4994The type of this property is *not* #GSettingsSchema.
4995#GSettingsSchema has only existed since version 2.32 and
4996unfortunately this name was used in previous versions to refer to
4997the schema ID rather than the schema itself.  Take care to use the
4998'settings-schema' property if you wish to pass in a
4999#GSettingsSchema.
5000
5001Deprecated:2.32:Use the 'schema-id' property instead.  In a future
5002version, this property may instead refer to a #GSettingsSchema.
5003
5004</description>
5005</property>
5006
5007<property name="GSettings:schema-id">
5008<description>
5009The name of the schema that describes the types of keys
5010for this #GSettings object.
5011
5012</description>
5013</property>
5014
5015<property name="GSettings:settings-schema">
5016<description>
5017The #GSettingsSchema describing the types of keys for this
5018#GSettings object.
5019
5020Ideally, this property would be called 'schema'.  #GSettingsSchema
5021has only existed since version 2.32, however, and before then the
5022'schema' property was used to refer to the ID of the schema rather
5023than the schema itself.  Take care.
5024
5025</description>
5026</property>
5027
5028<enum name="GSettingsBindFlags">
5029<description>
5030Flags used when creating a binding. These flags determine in which
5031direction the binding works. The default is to synchronize in both
5032directions.
5033
5034</description>
5035<parameters>
5036<parameter name="G_SETTINGS_BIND_DEFAULT">
5037<parameter_description> Equivalent to `G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET`
5038</parameter_description>
5039</parameter>
5040<parameter name="G_SETTINGS_BIND_GET">
5041<parameter_description> Update the #GObject property when the setting changes.
5042It is an error to use this flag if the property is not writable.
5043</parameter_description>
5044</parameter>
5045<parameter name="G_SETTINGS_BIND_SET">
5046<parameter_description> Update the setting when the #GObject property changes.
5047It is an error to use this flag if the property is not readable.
5048</parameter_description>
5049</parameter>
5050<parameter name="G_SETTINGS_BIND_NO_SENSITIVITY">
5051<parameter_description> Do not try to bind a &quot;sensitivity&quot; property to the writability of the setting
5052</parameter_description>
5053</parameter>
5054<parameter name="G_SETTINGS_BIND_GET_NO_CHANGES">
5055<parameter_description> When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property
5056value initially from the setting, but do not listen for changes of the setting
5057</parameter_description>
5058</parameter>
5059<parameter name="G_SETTINGS_BIND_INVERT_BOOLEAN">
5060<parameter_description> When passed to g_settings_bind(), uses a pair of mapping functions that invert
5061the boolean value when mapping between the setting and the property.  The setting and property must both
5062be booleans.  You cannot pass this flag to g_settings_bind_with_mapping().
5063</parameter_description>
5064</parameter>
5065</parameters>
5066</enum>
5067
5068<signal name="GSimpleAction::activate">
5069<description>
5070Indicates that the action was just activated.
5071
5072@parameter will always be of the expected type, i.e. the parameter type
5073specified when the action was created. If an incorrect type is given when
5074activating the action, this signal is not emitted.
5075
5076Since GLib 2.40, if no handler is connected to this signal then the
5077default behaviour for boolean-stated actions with a %NULL parameter
5078type is to toggle them via the #GSimpleAction::change-state signal.
5079For stateful actions where the state type is equal to the parameter
5080type, the default is to forward them directly to
5081#GSimpleAction::change-state.  This should allow almost all users
5082of #GSimpleAction to connect only one handler or the other.
5083
5084Since: 2.28
5085
5086</description>
5087<parameters>
5088<parameter name="simple">
5089<parameter_description> the #GSimpleAction
5090</parameter_description>
5091</parameter>
5092<parameter name="parameter">
5093<parameter_description> the parameter to the activation, or %NULL if it has
5094no parameter
5095</parameter_description>
5096</parameter>
5097</parameters>
5098<return></return>
5099</signal>
5100
5101<signal name="GSimpleAction::change-state">
5102<description>
5103Indicates that the action just received a request to change its
5104state.
5105
5106@value will always be of the correct state type, i.e. the type of the
5107initial state passed to g_simple_action_new_stateful(). If an incorrect
5108type is given when requesting to change the state, this signal is not
5109emitted.
5110
5111If no handler is connected to this signal then the default
5112behaviour is to call g_simple_action_set_state() to set the state
5113to the requested value. If you connect a signal handler then no
5114default action is taken. If the state should change then you must
5115call g_simple_action_set_state() from the handler.
5116
5117An example of a 'change-state' handler:
5118|[&lt;!-- language=&quot;C&quot; --&gt;
5119static void
5120change_volume_state (GSimpleAction *action,
5121GVariant      *value,
5122gpointer       user_data)
5123{
5124gint requested;
5125
5126requested = g_variant_get_int32 (value);
5127
5128// Volume only goes from 0 to 10
5129if (0 &lt;= requested &amp;&amp; requested &lt;= 10)
5130g_simple_action_set_state (action, value);
5131}
5132]|
5133
5134The handler need not set the state to the requested value.
5135It could set it to any value at all, or take some other action.
5136
5137Since: 2.30
5138
5139</description>
5140<parameters>
5141<parameter name="simple">
5142<parameter_description> the #GSimpleAction
5143</parameter_description>
5144</parameter>
5145<parameter name="value">
5146<parameter_description> the requested value for the state
5147</parameter_description>
5148</parameter>
5149</parameters>
5150<return></return>
5151</signal>
5152
5153<property name="GSimpleAction:enabled">
5154<description>
5155If @action is currently enabled.
5156
5157If the action is disabled then calls to g_action_activate() and
5158g_action_change_state() have no effect.
5159
5160Since: 2.28
5161
5162</description>
5163</property>
5164
5165<property name="GSimpleAction:name">
5166<description>
5167The name of the action. This is mostly meaningful for identifying
5168the action once it has been added to a #GSimpleActionGroup.
5169
5170Since: 2.28
5171
5172</description>
5173</property>
5174
5175<property name="GSimpleAction:parameter-type">
5176<description>
5177The type of the parameter that must be given when activating the
5178action.
5179
5180Since: 2.28
5181
5182</description>
5183</property>
5184
5185<property name="GSimpleAction:state">
5186<description>
5187The state of the action, or %NULL if the action is stateless.
5188
5189Since: 2.28
5190
5191</description>
5192</property>
5193
5194<property name="GSimpleAction:state-type">
5195<description>
5196The #GVariantType of the state that the action has, or %NULL if the
5197action is stateless.
5198
5199Since: 2.28
5200
5201</description>
5202</property>
5203
5204<property name="GSimpleIOStream:input-stream">
5205<description>
5206Since: 2.44
5207
5208</description>
5209</property>
5210
5211<property name="GSimpleIOStream:output-stream">
5212<description>
5213Since: 2.44
5214
5215</description>
5216</property>
5217
5218<property name="GSimpleProxyResolver:default-proxy">
5219<description>
5220The default proxy URI that will be used for any URI that doesn't
5221match #GSimpleProxyResolver:ignore-hosts, and doesn't match any
5222of the schemes set with g_simple_proxy_resolver_set_uri_proxy().
5223
5224Note that as a special case, if this URI starts with
5225&quot;socks://&quot;, #GSimpleProxyResolver will treat it as referring
5226to all three of the socks5, socks4a, and socks4 proxy types.
5227
5228</description>
5229</property>
5230
5231<property name="GSimpleProxyResolver:ignore-hosts">
5232<description>
5233A list of hostnames and IP addresses that the resolver should
5234allow direct connections to.
5235
5236Entries can be in one of 4 formats:
5237
5238- A hostname, such as &quot;example.com&quot;, &quot;.example.com&quot;, or
5239&quot;*.example.com&quot;, any of which match &quot;example.com&quot; or
5240any subdomain of it.
5241
5242- An IPv4 or IPv6 address, such as &quot;192.168.1.1&quot;,
5243which matches only that address.
5244
5245- A hostname or IP address followed by a port, such as
5246&quot;example.com:80&quot;, which matches whatever the hostname or IP
5247address would match, but only for URLs with the (explicitly)
5248indicated port. In the case of an IPv6 address, the address
5249part must appear in brackets: &quot;[::1]:443&quot;
5250
5251- An IP address range, given by a base address and prefix length,
5252such as &quot;fe80::/10&quot;, which matches any address in that range.
5253
5254Note that when dealing with Unicode hostnames, the matching is
5255done against the ASCII form of the name.
5256
5257Also note that hostname exclusions apply only to connections made
5258to hosts identified by name, and IP address exclusions apply only
5259to connections made to hosts identified by address. That is, if
5260example.com has an address of 192.168.1.1, and the :ignore-hosts list
5261contains only &quot;192.168.1.1&quot;, then a connection to &quot;example.com&quot;
5262(eg, via a #GNetworkAddress) will use the proxy, and a connection to
5263&quot;192.168.1.1&quot; (eg, via a #GInetSocketAddress) will not.
5264
5265These rules match the &quot;ignore-hosts&quot;/&quot;noproxy&quot; rules most
5266commonly used by other applications.
5267
5268</description>
5269</property>
5270
5271<property name="GSocket:broadcast">
5272<description>
5273Whether the socket should allow sending to broadcast addresses.
5274
5275Since: 2.32
5276
5277</description>
5278</property>
5279
5280<property name="GSocket:multicast-loopback">
5281<description>
5282Whether outgoing multicast packets loop back to the local host.
5283
5284Since: 2.32
5285
5286</description>
5287</property>
5288
5289<property name="GSocket:multicast-ttl">
5290<description>
5291Time-to-live out outgoing multicast packets
5292
5293Since: 2.32
5294
5295</description>
5296</property>
5297
5298<property name="GSocket:timeout">
5299<description>
5300The timeout in seconds on socket I/O
5301
5302Since: 2.26
5303
5304</description>
5305</property>
5306
5307<property name="GSocket:ttl">
5308<description>
5309Time-to-live for outgoing unicast packets
5310
5311Since: 2.32
5312
5313</description>
5314</property>
5315
5316<signal name="GSocketClient::event">
5317<description>
5318Emitted when @client's activity on @connectable changes state.
5319Among other things, this can be used to provide progress
5320information about a network connection in the UI. The meanings of
5321the different @event values are as follows:
5322
5323- %G_SOCKET_CLIENT_RESOLVING: @client is about to look up @connectable
5324in DNS. @connection will be %NULL.
5325
5326- %G_SOCKET_CLIENT_RESOLVED:  @client has successfully resolved
5327@connectable in DNS. @connection will be %NULL.
5328
5329- %G_SOCKET_CLIENT_CONNECTING: @client is about to make a connection
5330to a remote host; either a proxy server or the destination server
5331itself. @connection is the #GSocketConnection, which is not yet
5332connected.  Since GLib 2.40, you can access the remote
5333address via g_socket_connection_get_remote_address().
5334
5335- %G_SOCKET_CLIENT_CONNECTED: @client has successfully connected
5336to a remote host. @connection is the connected #GSocketConnection.
5337
5338- %G_SOCKET_CLIENT_PROXY_NEGOTIATING: @client is about to negotiate
5339with a proxy to get it to connect to @connectable. @connection is
5340the #GSocketConnection to the proxy server.
5341
5342- %G_SOCKET_CLIENT_PROXY_NEGOTIATED: @client has negotiated a
5343connection to @connectable through a proxy server. @connection is
5344the stream returned from g_proxy_connect(), which may or may not
5345be a #GSocketConnection.
5346
5347- %G_SOCKET_CLIENT_TLS_HANDSHAKING: @client is about to begin a TLS
5348handshake. @connection is a #GTlsClientConnection.
5349
5350- %G_SOCKET_CLIENT_TLS_HANDSHAKED: @client has successfully completed
5351the TLS handshake. @connection is a #GTlsClientConnection.
5352
5353- %G_SOCKET_CLIENT_COMPLETE: @client has either successfully connected
5354to @connectable (in which case @connection is the #GSocketConnection
5355that it will be returning to the caller) or has failed (in which
5356case @connection is %NULL and the client is about to return an error).
5357
5358Each event except %G_SOCKET_CLIENT_COMPLETE may be emitted
5359multiple times (or not at all) for a given connectable (in
5360particular, if @client ends up attempting to connect to more than
5361one address). However, if @client emits the #GSocketClient::event
5362signal at all for a given connectable, that it will always emit
5363it with %G_SOCKET_CLIENT_COMPLETE when it is done.
5364
5365Note that there may be additional #GSocketClientEvent values in
5366the future; unrecognized @event values should be ignored.
5367
5368Since: 2.32
5369
5370</description>
5371<parameters>
5372<parameter name="client">
5373<parameter_description> the #GSocketClient
5374</parameter_description>
5375</parameter>
5376<parameter name="event">
5377<parameter_description> the event that is occurring
5378</parameter_description>
5379</parameter>
5380<parameter name="connectable">
5381<parameter_description> the #GSocketConnectable that @event is occurring on
5382</parameter_description>
5383</parameter>
5384<parameter name="connection">
5385<parameter_description> the current representation of the connection
5386</parameter_description>
5387</parameter>
5388</parameters>
5389<return></return>
5390</signal>
5391
5392<property name="GSocketClient:proxy-resolver">
5393<description>
5394The proxy resolver to use
5395
5396Since: 2.36
5397
5398</description>
5399</property>
5400
5401<enum name="GSocketClientEvent">
5402<description>
5403Describes an event occurring on a #GSocketClient. See the
5404#GSocketClient::event signal for more details.
5405
5406Additional values may be added to this type in the future.
5407
5408Since: 2.32
5409
5410</description>
5411<parameters>
5412<parameter name="G_SOCKET_CLIENT_RESOLVING">
5413<parameter_description> The client is doing a DNS lookup.
5414</parameter_description>
5415</parameter>
5416<parameter name="G_SOCKET_CLIENT_RESOLVED">
5417<parameter_description> The client has completed a DNS lookup.
5418</parameter_description>
5419</parameter>
5420<parameter name="G_SOCKET_CLIENT_CONNECTING">
5421<parameter_description> The client is connecting to a remote
5422host (either a proxy or the destination server).
5423</parameter_description>
5424</parameter>
5425<parameter name="G_SOCKET_CLIENT_CONNECTED">
5426<parameter_description> The client has connected to a remote
5427host.
5428</parameter_description>
5429</parameter>
5430<parameter name="G_SOCKET_CLIENT_PROXY_NEGOTIATING">
5431<parameter_description> The client is negotiating
5432with a proxy to connect to the destination server.
5433</parameter_description>
5434</parameter>
5435<parameter name="G_SOCKET_CLIENT_PROXY_NEGOTIATED">
5436<parameter_description> The client has negotiated
5437with the proxy server.
5438</parameter_description>
5439</parameter>
5440<parameter name="G_SOCKET_CLIENT_TLS_HANDSHAKING">
5441<parameter_description> The client is performing a
5442TLS handshake.
5443</parameter_description>
5444</parameter>
5445<parameter name="G_SOCKET_CLIENT_TLS_HANDSHAKED">
5446<parameter_description> The client has performed a
5447TLS handshake.
5448</parameter_description>
5449</parameter>
5450<parameter name="G_SOCKET_CLIENT_COMPLETE">
5451<parameter_description> The client is done with a particular
5452#GSocketConnectable.
5453</parameter_description>
5454</parameter>
5455</parameters>
5456</enum>
5457
5458<enum name="GSocketFamily">
5459<description>
5460The protocol family of a #GSocketAddress. (These values are
5461identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX,
5462if available.)
5463
5464Since: 2.22
5465
5466</description>
5467<parameters>
5468<parameter name="G_SOCKET_FAMILY_INVALID">
5469<parameter_description> no address family
5470</parameter_description>
5471</parameter>
5472<parameter name="G_SOCKET_FAMILY_IPV4">
5473<parameter_description> the IPv4 family
5474</parameter_description>
5475</parameter>
5476<parameter name="G_SOCKET_FAMILY_IPV6">
5477<parameter_description> the IPv6 family
5478</parameter_description>
5479</parameter>
5480<parameter name="G_SOCKET_FAMILY_UNIX">
5481<parameter_description> the UNIX domain family
5482</parameter_description>
5483</parameter>
5484</parameters>
5485</enum>
5486
5487<signal name="GSocketListener::event">
5488<description>
5489Emitted when @listener's activity on @socket changes state.
5490Note that when @listener is used to listen on both IPv4 and
5491IPv6, a separate set of signals will be emitted for each, and
5492the order they happen in is undefined.
5493
5494Since: 2.46
5495
5496</description>
5497<parameters>
5498<parameter name="listener">
5499<parameter_description> the #GSocketListener
5500</parameter_description>
5501</parameter>
5502<parameter name="event">
5503<parameter_description> the event that is occurring
5504</parameter_description>
5505</parameter>
5506<parameter name="socket">
5507<parameter_description> the #GSocket the event is occurring on
5508</parameter_description>
5509</parameter>
5510</parameters>
5511<return></return>
5512</signal>
5513
5514<enum name="GSocketListenerEvent">
5515<description>
5516Describes an event occurring on a #GSocketListener. See the
5517#GSocketListener::event signal for more details.
5518
5519Additional values may be added to this type in the future.
5520
5521Since: 2.46
5522
5523</description>
5524<parameters>
5525<parameter name="G_SOCKET_LISTENER_BINDING">
5526<parameter_description> The listener is about to bind a socket.
5527</parameter_description>
5528</parameter>
5529<parameter name="G_SOCKET_LISTENER_BOUND">
5530<parameter_description> The listener has bound a socket.
5531</parameter_description>
5532</parameter>
5533<parameter name="G_SOCKET_LISTENER_LISTENING">
5534<parameter_description> The listener is about to start
5535listening on this socket.
5536</parameter_description>
5537</parameter>
5538<parameter name="G_SOCKET_LISTENER_LISTENED">
5539<parameter_description> The listener is now listening on
5540this socket.
5541</parameter_description>
5542</parameter>
5543</parameters>
5544</enum>
5545
5546<enum name="GSocketMsgFlags">
5547<description>
5548Flags used in g_socket_receive_message() and g_socket_send_message().
5549The flags listed in the enum are some commonly available flags, but the
5550values used for them are the same as on the platform, and any other flags
5551are passed in/out as is. So to use a platform specific flag, just include
5552the right system header and pass in the flag.
5553
5554Since: 2.22
5555
5556</description>
5557<parameters>
5558<parameter name="G_SOCKET_MSG_NONE">
5559<parameter_description> No flags.
5560</parameter_description>
5561</parameter>
5562<parameter name="G_SOCKET_MSG_OOB">
5563<parameter_description> Request to send/receive out of band data.
5564</parameter_description>
5565</parameter>
5566<parameter name="G_SOCKET_MSG_PEEK">
5567<parameter_description> Read data from the socket without removing it from
5568the queue.
5569</parameter_description>
5570</parameter>
5571<parameter name="G_SOCKET_MSG_DONTROUTE">
5572<parameter_description> Don't use a gateway to send out the packet,
5573only send to hosts on directly connected networks.
5574</parameter_description>
5575</parameter>
5576</parameters>
5577</enum>
5578
5579<enum name="GSocketProtocol">
5580<description>
5581A protocol identifier is specified when creating a #GSocket, which is a
5582family/type specific identifier, where 0 means the default protocol for
5583the particular family/type.
5584
5585This enum contains a set of commonly available and used protocols. You
5586can also pass any other identifiers handled by the platform in order to
5587use protocols not listed here.
5588
5589Since: 2.22
5590
5591</description>
5592<parameters>
5593<parameter name="G_SOCKET_PROTOCOL_UNKNOWN">
5594<parameter_description> The protocol type is unknown
5595</parameter_description>
5596</parameter>
5597<parameter name="G_SOCKET_PROTOCOL_DEFAULT">
5598<parameter_description> The default protocol for the family/type
5599</parameter_description>
5600</parameter>
5601<parameter name="G_SOCKET_PROTOCOL_TCP">
5602<parameter_description> TCP over IP
5603</parameter_description>
5604</parameter>
5605<parameter name="G_SOCKET_PROTOCOL_UDP">
5606<parameter_description> UDP over IP
5607</parameter_description>
5608</parameter>
5609<parameter name="G_SOCKET_PROTOCOL_SCTP">
5610<parameter_description> SCTP over IP
5611</parameter_description>
5612</parameter>
5613</parameters>
5614</enum>
5615
5616<signal name="GSocketService::incoming">
5617<description>
5618The ::incoming signal is emitted when a new incoming connection
5619to @service needs to be handled. The handler must initiate the
5620handling of @connection, but may not block; in essence,
5621asynchronous operations must be used.
5622
5623@connection will be unreffed once the signal handler returns,
5624so you need to ref it yourself if you are planning to use it.
5625
5626Since: 2.22
5627
5628</description>
5629<parameters>
5630<parameter name="service">
5631<parameter_description> the #GSocketService
5632</parameter_description>
5633</parameter>
5634<parameter name="connection">
5635<parameter_description> a new #GSocketConnection object
5636</parameter_description>
5637</parameter>
5638<parameter name="source_object">
5639<parameter_description> the source_object passed to
5640g_socket_listener_add_address()
5641</parameter_description>
5642</parameter>
5643</parameters>
5644<return> %TRUE to stop other handlers from being called
5645
5646</return>
5647</signal>
5648
5649<property name="GSocketService:active">
5650<description>
5651Whether the service is currently accepting connections.
5652
5653Since: 2.46
5654
5655</description>
5656</property>
5657
5658<enum name="GSocketType">
5659<description>
5660Flags used when creating a #GSocket. Some protocols may not implement
5661all the socket types.
5662
5663Since: 2.22
5664
5665</description>
5666<parameters>
5667<parameter name="G_SOCKET_TYPE_INVALID">
5668<parameter_description> Type unknown or wrong
5669</parameter_description>
5670</parameter>
5671<parameter name="G_SOCKET_TYPE_STREAM">
5672<parameter_description> Reliable connection-based byte streams (e.g. TCP).
5673</parameter_description>
5674</parameter>
5675<parameter name="G_SOCKET_TYPE_DATAGRAM">
5676<parameter_description> Connectionless, unreliable datagram passing.
5677(e.g. UDP)
5678</parameter_description>
5679</parameter>
5680<parameter name="G_SOCKET_TYPE_SEQPACKET">
5681<parameter_description> Reliable connection-based passing of datagrams
5682of fixed maximum length (e.g. SCTP).
5683</parameter_description>
5684</parameter>
5685</parameters>
5686</enum>
5687
5688<enum name="GSubprocessFlags">
5689<description>
5690Flags to define the behaviour of a #GSubprocess.
5691
5692Note that the default for stdin is to redirect from `/dev/null`.  For
5693stdout and stderr the default are for them to inherit the
5694corresponding descriptor from the calling process.
5695
5696Note that it is a programmer error to mix 'incompatible' flags.  For
5697example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and
5698%G_SUBPROCESS_FLAGS_STDOUT_SILENCE.
5699
5700Since: 2.40
5701
5702</description>
5703<parameters>
5704<parameter name="G_SUBPROCESS_FLAGS_NONE">
5705<parameter_description> No flags.
5706</parameter_description>
5707</parameter>
5708<parameter name="G_SUBPROCESS_FLAGS_STDIN_PIPE">
5709<parameter_description> create a pipe for the stdin of the
5710spawned process that can be accessed with
5711g_subprocess_get_stdin_pipe().
5712</parameter_description>
5713</parameter>
5714<parameter name="G_SUBPROCESS_FLAGS_STDIN_INHERIT">
5715<parameter_description> stdin is inherited from the
5716calling process.
5717</parameter_description>
5718</parameter>
5719<parameter name="G_SUBPROCESS_FLAGS_STDOUT_PIPE">
5720<parameter_description> create a pipe for the stdout of the
5721spawned process that can be accessed with
5722g_subprocess_get_stdout_pipe().
5723</parameter_description>
5724</parameter>
5725<parameter name="G_SUBPROCESS_FLAGS_STDOUT_SILENCE">
5726<parameter_description> silence the stdout of the spawned
5727process (ie: redirect to `/dev/null`).
5728</parameter_description>
5729</parameter>
5730<parameter name="G_SUBPROCESS_FLAGS_STDERR_PIPE">
5731<parameter_description> create a pipe for the stderr of the
5732spawned process that can be accessed with
5733g_subprocess_get_stderr_pipe().
5734</parameter_description>
5735</parameter>
5736<parameter name="G_SUBPROCESS_FLAGS_STDERR_SILENCE">
5737<parameter_description> silence the stderr of the spawned
5738process (ie: redirect to `/dev/null`).
5739</parameter_description>
5740</parameter>
5741<parameter name="G_SUBPROCESS_FLAGS_STDERR_MERGE">
5742<parameter_description> merge the stderr of the spawned
5743process with whatever the stdout happens to be.  This is a good way
5744of directing both streams to a common log file, for example.
5745</parameter_description>
5746</parameter>
5747<parameter name="G_SUBPROCESS_FLAGS_INHERIT_FDS">
5748<parameter_description> spawned processes will inherit the
5749file descriptors of their parent, unless those descriptors have
5750been explicitly marked as close-on-exec.  This flag has no effect
5751over the &quot;standard&quot; file descriptors (stdin, stdout, stderr).
5752</parameter_description>
5753</parameter>
5754</parameters>
5755</enum>
5756
5757<property name="GTask:completed">
5758<description>
5759Whether the task has completed, meaning its callback (if set) has been
5760invoked. This can only happen after g_task_return_pointer(),
5761g_task_return_error() or one of the other return functions have been called
5762on the task.
5763
5764This property is guaranteed to change from %FALSE to %TRUE exactly once.
5765
5766The #GObject::notify signal for this change is emitted in the same main
5767context as the task’s callback, immediately after that callback is invoked.
5768
5769Since: 2.44
5770
5771</description>
5772</property>
5773
5774<property name="GTestDBus:flags">
5775<description>
5776#GTestDBusFlags specifying the behaviour of the D-Bus session.
5777
5778Since: 2.34
5779
5780</description>
5781</property>
5782
5783<enum name="GTestDBusFlags">
5784<description>
5785Flags to define future #GTestDBus behaviour.
5786
5787Since: 2.34
5788
5789</description>
5790<parameters>
5791<parameter name="G_TEST_DBUS_NONE">
5792<parameter_description> No flags.
5793</parameter_description>
5794</parameter>
5795</parameters>
5796</enum>
5797
5798<property name="GThemedIcon:name">
5799<description>
5800The icon name.
5801
5802</description>
5803</property>
5804
5805<property name="GThemedIcon:names">
5806<description>
5807A %NULL-terminated array of icon names.
5808
5809</description>
5810</property>
5811
5812<property name="GThemedIcon:use-default-fallbacks">
5813<description>
5814Whether to use the default fallbacks found by shortening the icon name
5815at '-' characters. If the &quot;names&quot; array has more than one element,
5816ignores any past the first.
5817
5818For example, if the icon name was &quot;gnome-dev-cdrom-audio&quot;, the array
5819would become
5820|[&lt;!-- language=&quot;C&quot; --&gt;
5821{
5822&quot;gnome-dev-cdrom-audio&quot;,
5823&quot;gnome-dev-cdrom&quot;,
5824&quot;gnome-dev&quot;,
5825&quot;gnome&quot;,
5826NULL
5827};
5828]|
5829
5830</description>
5831</property>
5832
5833<signal name="GThreadedSocketService::run">
5834<description>
5835The ::run signal is emitted in a worker thread in response to an
5836incoming connection. This thread is dedicated to handling
5837@connection and may perform blocking IO. The signal handler need
5838not return until the connection is closed.
5839
5840
5841</description>
5842<parameters>
5843<parameter name="service">
5844<parameter_description> the #GThreadedSocketService.
5845</parameter_description>
5846</parameter>
5847<parameter name="connection">
5848<parameter_description> a new #GSocketConnection object.
5849</parameter_description>
5850</parameter>
5851<parameter name="source_object">
5852<parameter_description> the source_object passed to g_socket_listener_add_address().
5853</parameter_description>
5854</parameter>
5855</parameters>
5856<return> %TRUE to stop further signal handlers from being called
5857</return>
5858</signal>
5859
5860<enum name="GTlsAuthenticationMode">
5861<description>
5862The client authentication mode for a #GTlsServerConnection.
5863
5864Since: 2.28
5865
5866</description>
5867<parameters>
5868<parameter name="G_TLS_AUTHENTICATION_NONE">
5869<parameter_description> client authentication not required
5870</parameter_description>
5871</parameter>
5872<parameter name="G_TLS_AUTHENTICATION_REQUESTED">
5873<parameter_description> client authentication is requested
5874</parameter_description>
5875</parameter>
5876<parameter name="G_TLS_AUTHENTICATION_REQUIRED">
5877<parameter_description> client authentication is required
5878</parameter_description>
5879</parameter>
5880</parameters>
5881</enum>
5882
5883<property name="GTlsCertificate:certificate">
5884<description>
5885The DER (binary) encoded representation of the certificate.
5886This property and the #GTlsCertificate:certificate-pem property
5887represent the same data, just in different forms.
5888
5889Since: 2.28
5890
5891</description>
5892</property>
5893
5894<property name="GTlsCertificate:certificate-pem">
5895<description>
5896The PEM (ASCII) encoded representation of the certificate.
5897This property and the #GTlsCertificate:certificate
5898property represent the same data, just in different forms.
5899
5900Since: 2.28
5901
5902</description>
5903</property>
5904
5905<property name="GTlsCertificate:issuer">
5906<description>
5907A #GTlsCertificate representing the entity that issued this
5908certificate. If %NULL, this means that the certificate is either
5909self-signed, or else the certificate of the issuer is not
5910available.
5911
5912Since: 2.28
5913
5914</description>
5915</property>
5916
5917<property name="GTlsCertificate:private-key">
5918<description>
5919The DER (binary) encoded representation of the certificate's
5920private key, in either PKCS#1 format or unencrypted PKCS#8
5921format. This property (or the #GTlsCertificate:private-key-pem
5922property) can be set when constructing a key (eg, from a file),
5923but cannot be read.
5924
5925PKCS#8 format is supported since 2.32; earlier releases only
5926support PKCS#1. You can use the `openssl rsa`
5927tool to convert PKCS#8 keys to PKCS#1.
5928
5929Since: 2.28
5930
5931</description>
5932</property>
5933
5934<property name="GTlsCertificate:private-key-pem">
5935<description>
5936The PEM (ASCII) encoded representation of the certificate's
5937private key in either PKCS#1 format (&quot;`BEGIN RSA PRIVATE
5938KEY`&quot;) or unencrypted PKCS#8 format (&quot;`BEGIN
5939PRIVATE KEY`&quot;). This property (or the
5940#GTlsCertificate:private-key property) can be set when
5941constructing a key (eg, from a file), but cannot be read.
5942
5943PKCS#8 format is supported since 2.32; earlier releases only
5944support PKCS#1. You can use the `openssl rsa`
5945tool to convert PKCS#8 keys to PKCS#1.
5946
5947Since: 2.28
5948
5949</description>
5950</property>
5951
5952<enum name="GTlsCertificateFlags">
5953<description>
5954A set of flags describing TLS certification validation. This can be
5955used to set which validation steps to perform (eg, with
5956g_tls_client_connection_set_validation_flags()), or to describe why
5957a particular certificate was rejected (eg, in
5958#GTlsConnection::accept-certificate).
5959
5960Since: 2.28
5961
5962</description>
5963<parameters>
5964<parameter name="G_TLS_CERTIFICATE_UNKNOWN_CA">
5965<parameter_description> The signing certificate authority is
5966not known.
5967</parameter_description>
5968</parameter>
5969<parameter name="G_TLS_CERTIFICATE_BAD_IDENTITY">
5970<parameter_description> The certificate does not match the
5971expected identity of the site that it was retrieved from.
5972</parameter_description>
5973</parameter>
5974<parameter name="G_TLS_CERTIFICATE_NOT_ACTIVATED">
5975<parameter_description> The certificate's activation time
5976is still in the future
5977</parameter_description>
5978</parameter>
5979<parameter name="G_TLS_CERTIFICATE_EXPIRED">
5980<parameter_description> The certificate has expired
5981</parameter_description>
5982</parameter>
5983<parameter name="G_TLS_CERTIFICATE_REVOKED">
5984<parameter_description> The certificate has been revoked
5985according to the #GTlsConnection's certificate revocation list.
5986</parameter_description>
5987</parameter>
5988<parameter name="G_TLS_CERTIFICATE_INSECURE">
5989<parameter_description> The certificate's algorithm is
5990considered insecure.
5991</parameter_description>
5992</parameter>
5993<parameter name="G_TLS_CERTIFICATE_GENERIC_ERROR">
5994<parameter_description> Some other error occurred validating
5995the certificate
5996</parameter_description>
5997</parameter>
5998<parameter name="G_TLS_CERTIFICATE_VALIDATE_ALL">
5999<parameter_description> the combination of all of the above
6000flags
6001</parameter_description>
6002</parameter>
6003</parameters>
6004</enum>
6005
6006<enum name="GTlsCertificateRequestFlags">
6007<description>
6008Flags for g_tls_interaction_request_certificate(),
6009g_tls_interaction_request_certificate_async(), and
6010g_tls_interaction_invoke_request_certificate().
6011
6012Since: 2.40
6013
6014</description>
6015<parameters>
6016<parameter name="G_TLS_CERTIFICATE_REQUEST_NONE">
6017<parameter_description> No flags
6018</parameter_description>
6019</parameter>
6020</parameters>
6021</enum>
6022
6023<property name="GTlsClientConnection:accepted-cas">
6024<description>
6025A list of the distinguished names of the Certificate Authorities
6026that the server will accept client certificates signed by. If the
6027server requests a client certificate during the handshake, then
6028this property will be set after the handshake completes.
6029
6030Each item in the list is a #GByteArray which contains the complete
6031subject DN of the certificate authority.
6032
6033Since: 2.28
6034
6035</description>
6036</property>
6037
6038<property name="GTlsClientConnection:server-identity">
6039<description>
6040A #GSocketConnectable describing the identity of the server that
6041is expected on the other end of the connection.
6042
6043If the %G_TLS_CERTIFICATE_BAD_IDENTITY flag is set in
6044#GTlsClientConnection:validation-flags, this object will be used
6045to determine the expected identify of the remote end of the
6046connection; if #GTlsClientConnection:server-identity is not set,
6047or does not match the identity presented by the server, then the
6048%G_TLS_CERTIFICATE_BAD_IDENTITY validation will fail.
6049
6050In addition to its use in verifying the server certificate,
6051this is also used to give a hint to the server about what
6052certificate we expect, which is useful for servers that serve
6053virtual hosts.
6054
6055Since: 2.28
6056
6057</description>
6058</property>
6059
6060<property name="GTlsClientConnection:use-ssl3">
6061<description>
6062SSL 3.0 is no longer supported. See
6063g_tls_client_connection_set_use_ssl3() for details.
6064
6065Since: 2.28
6066
6067Deprecated: 2.56: SSL 3.0 is insecure.
6068
6069</description>
6070</property>
6071
6072<property name="GTlsClientConnection:validation-flags">
6073<description>
6074What steps to perform when validating a certificate received from
6075a server. Server certificates that fail to validate in all of the
6076ways indicated here will be rejected unless the application
6077overrides the default via #GTlsConnection::accept-certificate.
6078
6079Since: 2.28
6080
6081</description>
6082</property>
6083
6084<signal name="GTlsConnection::accept-certificate">
6085<description>
6086Emitted during the TLS handshake after the peer certificate has
6087been received. You can examine @peer_cert's certification path by
6088calling g_tls_certificate_get_issuer() on it.
6089
6090For a client-side connection, @peer_cert is the server's
6091certificate, and the signal will only be emitted if the
6092certificate was not acceptable according to @conn's
6093#GTlsClientConnection:validation_flags. If you would like the
6094certificate to be accepted despite @errors, return %TRUE from the
6095signal handler. Otherwise, if no handler accepts the certificate,
6096the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE.
6097
6098For a server-side connection, @peer_cert is the certificate
6099presented by the client, if this was requested via the server's
6100#GTlsServerConnection:authentication_mode. On the server side,
6101the signal is always emitted when the client presents a
6102certificate, and the certificate will only be accepted if a
6103handler returns %TRUE.
6104
6105Note that if this signal is emitted as part of asynchronous I/O
6106in the main thread, then you should not attempt to interact with
6107the user before returning from the signal handler. If you want to
6108let the user decide whether or not to accept the certificate, you
6109would have to return %FALSE from the signal handler on the first
6110attempt, and then after the connection attempt returns a
6111%G_TLS_ERROR_BAD_CERTIFICATE, you can interact with the user, and
6112if the user decides to accept the certificate, remember that fact,
6113create a new connection, and return %TRUE from the signal handler
6114the next time.
6115
6116If you are doing I/O in another thread, you do not
6117need to worry about this, and can simply block in the signal
6118handler until the UI thread returns an answer.
6119
6120Since: 2.28
6121
6122</description>
6123<parameters>
6124<parameter name="conn">
6125<parameter_description> a #GTlsConnection
6126</parameter_description>
6127</parameter>
6128<parameter name="peer_cert">
6129<parameter_description> the peer's #GTlsCertificate
6130</parameter_description>
6131</parameter>
6132<parameter name="errors">
6133<parameter_description> the problems with @peer_cert.
6134</parameter_description>
6135</parameter>
6136</parameters>
6137<return> %TRUE to accept @peer_cert (which will also
6138immediately end the signal emission). %FALSE to allow the signal
6139emission to continue, which will cause the handshake to fail if
6140no one else overrides it.
6141
6142</return>
6143</signal>
6144
6145<property name="GTlsConnection:advertised-protocols">
6146<description>
6147The list of application-layer protocols that the connection
6148advertises that it is willing to speak. See
6149g_tls_connection_set_advertised_protocols().
6150
6151Since: 2.60
6152
6153</description>
6154</property>
6155
6156<property name="GTlsConnection:base-io-stream">
6157<description>
6158The #GIOStream that the connection wraps. The connection holds a reference
6159to this stream, and may run operations on the stream from other threads
6160throughout its lifetime. Consequently, after the #GIOStream has been
6161constructed, application code may only run its own operations on this
6162stream when no #GIOStream operations are running.
6163
6164Since: 2.28
6165
6166</description>
6167</property>
6168
6169<property name="GTlsConnection:certificate">
6170<description>
6171The connection's certificate; see
6172g_tls_connection_set_certificate().
6173
6174Since: 2.28
6175
6176</description>
6177</property>
6178
6179<property name="GTlsConnection:database">
6180<description>
6181The certificate database to use when verifying this TLS connection.
6182If no certificate database is set, then the default database will be
6183used. See g_tls_backend_get_default_database().
6184
6185Since: 2.30
6186
6187</description>
6188</property>
6189
6190<property name="GTlsConnection:interaction">
6191<description>
6192A #GTlsInteraction object to be used when the connection or certificate
6193database need to interact with the user. This will be used to prompt the
6194user for passwords where necessary.
6195
6196Since: 2.30
6197
6198</description>
6199</property>
6200
6201<property name="GTlsConnection:negotiated-protocol">
6202<description>
6203The application-layer protocol negotiated during the TLS
6204handshake. See g_tls_connection_get_negotiated_protocol().
6205
6206Since: 2.60
6207
6208</description>
6209</property>
6210
6211<property name="GTlsConnection:peer-certificate">
6212<description>
6213The connection's peer's certificate, after the TLS handshake has
6214completed and the certificate has been accepted. Note in
6215particular that this is not yet set during the emission of
6216#GTlsConnection::accept-certificate.
6217
6218(You can watch for a #GObject::notify signal on this property to
6219detect when a handshake has occurred.)
6220
6221Since: 2.28
6222
6223</description>
6224</property>
6225
6226<property name="GTlsConnection:peer-certificate-errors">
6227<description>
6228The errors noticed-and-ignored while verifying
6229#GTlsConnection:peer-certificate. Normally this should be 0, but
6230it may not be if #GTlsClientConnection:validation-flags is not
6231%G_TLS_CERTIFICATE_VALIDATE_ALL, or if
6232#GTlsConnection::accept-certificate overrode the default
6233behavior.
6234
6235Since: 2.28
6236
6237</description>
6238</property>
6239
6240<property name="GTlsConnection:rehandshake-mode">
6241<description>
6242The rehandshaking mode. See
6243g_tls_connection_set_rehandshake_mode().
6244
6245Since: 2.28
6246
6247Deprecated: 2.60: The rehandshake mode is ignored.
6248
6249</description>
6250</property>
6251
6252<property name="GTlsConnection:require-close-notify">
6253<description>
6254Whether or not proper TLS close notification is required.
6255See g_tls_connection_set_require_close_notify().
6256
6257Since: 2.28
6258
6259</description>
6260</property>
6261
6262<property name="GTlsConnection:use-system-certdb">
6263<description>
6264Whether or not the system certificate database will be used to
6265verify peer certificates. See
6266g_tls_connection_set_use_system_certdb().
6267
6268Deprecated: 2.30: Use GTlsConnection:database instead
6269
6270</description>
6271</property>
6272
6273<enum name="GTlsDatabaseLookupFlags">
6274<description>
6275Flags for g_tls_database_lookup_certificate_for_handle(),
6276g_tls_database_lookup_certificate_issuer(),
6277and g_tls_database_lookup_certificates_issued_by().
6278
6279Since: 2.30
6280
6281</description>
6282<parameters>
6283<parameter name="G_TLS_DATABASE_LOOKUP_NONE">
6284<parameter_description> No lookup flags
6285</parameter_description>
6286</parameter>
6287<parameter name="G_TLS_DATABASE_LOOKUP_KEYPAIR">
6288<parameter_description> Restrict lookup to certificates that have
6289a private key.
6290</parameter_description>
6291</parameter>
6292</parameters>
6293</enum>
6294
6295<enum name="GTlsDatabaseVerifyFlags">
6296<description>
6297Flags for g_tls_database_verify_chain().
6298
6299Since: 2.30
6300
6301</description>
6302<parameters>
6303<parameter name="G_TLS_DATABASE_VERIFY_NONE">
6304<parameter_description> No verification flags
6305</parameter_description>
6306</parameter>
6307</parameters>
6308</enum>
6309
6310<enum name="GTlsError">
6311<description>
6312An error code used with %G_TLS_ERROR in a #GError returned from a
6313TLS-related routine.
6314
6315Since: 2.28
6316
6317</description>
6318<parameters>
6319<parameter name="G_TLS_ERROR_UNAVAILABLE">
6320<parameter_description> No TLS provider is available
6321</parameter_description>
6322</parameter>
6323<parameter name="G_TLS_ERROR_MISC">
6324<parameter_description> Miscellaneous TLS error
6325</parameter_description>
6326</parameter>
6327<parameter name="G_TLS_ERROR_BAD_CERTIFICATE">
6328<parameter_description> The certificate presented could not
6329be parsed or failed validation.
6330</parameter_description>
6331</parameter>
6332<parameter name="G_TLS_ERROR_NOT_TLS">
6333<parameter_description> The TLS handshake failed because the
6334peer does not seem to be a TLS server.
6335</parameter_description>
6336</parameter>
6337<parameter name="G_TLS_ERROR_HANDSHAKE">
6338<parameter_description> The TLS handshake failed because the
6339peer's certificate was not acceptable.
6340</parameter_description>
6341</parameter>
6342<parameter name="G_TLS_ERROR_CERTIFICATE_REQUIRED">
6343<parameter_description> The TLS handshake failed because
6344the server requested a client-side certificate, but none was
6345provided. See g_tls_connection_set_certificate().
6346</parameter_description>
6347</parameter>
6348<parameter name="G_TLS_ERROR_EOF">
6349<parameter_description> The TLS connection was closed without proper
6350notice, which may indicate an attack. See
6351g_tls_connection_set_require_close_notify().
6352</parameter_description>
6353</parameter>
6354<parameter name="G_TLS_ERROR_INAPPROPRIATE_FALLBACK">
6355<parameter_description> The TLS handshake failed
6356because the client sent the fallback SCSV, indicating a protocol
6357downgrade attack. Since: 2.60
6358</parameter_description>
6359</parameter>
6360</parameters>
6361</enum>
6362
6363<property name="GTlsFileDatabase:anchors">
6364<description>
6365The path to a file containing PEM encoded certificate authority
6366root anchors. The certificates in this file will be treated as
6367root authorities for the purpose of verifying other certificates
6368via the g_tls_database_verify_chain() operation.
6369
6370Since: 2.30
6371
6372</description>
6373</property>
6374
6375<enum name="GTlsInteractionResult">
6376<description>
6377#GTlsInteractionResult is returned by various functions in #GTlsInteraction
6378when finishing an interaction request.
6379
6380Since: 2.30
6381
6382</description>
6383<parameters>
6384<parameter name="G_TLS_INTERACTION_UNHANDLED">
6385<parameter_description> The interaction was unhandled (i.e. not
6386implemented).
6387</parameter_description>
6388</parameter>
6389<parameter name="G_TLS_INTERACTION_HANDLED">
6390<parameter_description> The interaction completed, and resulting data
6391is available.
6392</parameter_description>
6393</parameter>
6394<parameter name="G_TLS_INTERACTION_FAILED">
6395<parameter_description> The interaction has failed, or was cancelled.
6396and the operation should be aborted.
6397</parameter_description>
6398</parameter>
6399</parameters>
6400</enum>
6401
6402<enum name="GTlsPasswordFlags">
6403<description>
6404Various flags for the password.
6405
6406Since: 2.30
6407
6408</description>
6409<parameters>
6410<parameter name="G_TLS_PASSWORD_NONE">
6411<parameter_description> No flags
6412</parameter_description>
6413</parameter>
6414<parameter name="G_TLS_PASSWORD_RETRY">
6415<parameter_description> The password was wrong, and the user should retry.
6416</parameter_description>
6417</parameter>
6418<parameter name="G_TLS_PASSWORD_MANY_TRIES">
6419<parameter_description> Hint to the user that the password has been
6420wrong many times, and the user may not have many chances left.
6421</parameter_description>
6422</parameter>
6423<parameter name="G_TLS_PASSWORD_FINAL_TRY">
6424<parameter_description> Hint to the user that this is the last try to get
6425this password right.
6426</parameter_description>
6427</parameter>
6428</parameters>
6429</enum>
6430
6431<enum name="GTlsRehandshakeMode">
6432<description>
6433When to allow rehandshaking. See
6434g_tls_connection_set_rehandshake_mode().
6435
6436Since: 2.28
6437
6438Deprecated: 2.60. Changing the rehandshake mode is no longer
6439required for compatibility. Also, rehandshaking has been removed
6440from the TLS protocol in TLS 1.3.
6441
6442</description>
6443<parameters>
6444<parameter name="G_TLS_REHANDSHAKE_NEVER">
6445<parameter_description> Never allow rehandshaking
6446</parameter_description>
6447</parameter>
6448<parameter name="G_TLS_REHANDSHAKE_SAFELY">
6449<parameter_description> Allow safe rehandshaking only
6450</parameter_description>
6451</parameter>
6452<parameter name="G_TLS_REHANDSHAKE_UNSAFELY">
6453<parameter_description> Allow unsafe rehandshaking
6454</parameter_description>
6455</parameter>
6456</parameters>
6457</enum>
6458
6459<property name="GTlsServerConnection:authentication-mode">
6460<description>
6461The #GTlsAuthenticationMode for the server. This can be changed
6462before calling g_tls_connection_handshake() if you want to
6463rehandshake with a different mode from the initial handshake.
6464
6465Since: 2.28
6466
6467</description>
6468</property>
6469
6470<property name="GUnixCredentialsMessage:credentials">
6471<description>
6472The credentials stored in the message.
6473
6474Since: 2.26
6475
6476</description>
6477</property>
6478
6479<property name="GUnixInputStream:close-fd">
6480<description>
6481Whether to close the file descriptor when the stream is closed.
6482
6483Since: 2.20
6484
6485</description>
6486</property>
6487
6488<property name="GUnixInputStream:fd">
6489<description>
6490The file descriptor that the stream reads from.
6491
6492Since: 2.20
6493
6494</description>
6495</property>
6496
6497<signal name="GUnixMountMonitor::mountpoints-changed">
6498<description>
6499Emitted when the unix mount points have changed.
6500
6501</description>
6502<parameters>
6503<parameter name="monitor">
6504<parameter_description> the object on which the signal is emitted
6505</parameter_description>
6506</parameter>
6507</parameters>
6508<return></return>
6509</signal>
6510
6511<signal name="GUnixMountMonitor::mounts-changed">
6512<description>
6513Emitted when the unix mounts have changed.
6514
6515</description>
6516<parameters>
6517<parameter name="monitor">
6518<parameter_description> the object on which the signal is emitted
6519</parameter_description>
6520</parameter>
6521</parameters>
6522<return></return>
6523</signal>
6524
6525<enum name="GUnixMountType">
6526<description>
6527Types of UNIX mounts.
6528
6529</description>
6530<parameters>
6531<parameter name="G_UNIX_MOUNT_TYPE_UNKNOWN">
6532<parameter_description> Unknown UNIX mount type.
6533</parameter_description>
6534</parameter>
6535<parameter name="G_UNIX_MOUNT_TYPE_FLOPPY">
6536<parameter_description> Floppy disk UNIX mount type.
6537</parameter_description>
6538</parameter>
6539<parameter name="G_UNIX_MOUNT_TYPE_CDROM">
6540<parameter_description> CDROM UNIX mount type.
6541</parameter_description>
6542</parameter>
6543<parameter name="G_UNIX_MOUNT_TYPE_NFS">
6544<parameter_description> Network File System (NFS) UNIX mount type.
6545</parameter_description>
6546</parameter>
6547<parameter name="G_UNIX_MOUNT_TYPE_ZIP">
6548<parameter_description> ZIP UNIX mount type.
6549</parameter_description>
6550</parameter>
6551<parameter name="G_UNIX_MOUNT_TYPE_JAZ">
6552<parameter_description> JAZZ UNIX mount type.
6553</parameter_description>
6554</parameter>
6555<parameter name="G_UNIX_MOUNT_TYPE_MEMSTICK">
6556<parameter_description> Memory Stick UNIX mount type.
6557</parameter_description>
6558</parameter>
6559<parameter name="G_UNIX_MOUNT_TYPE_CF">
6560<parameter_description> Compact Flash UNIX mount type.
6561</parameter_description>
6562</parameter>
6563<parameter name="G_UNIX_MOUNT_TYPE_SM">
6564<parameter_description> Smart Media UNIX mount type.
6565</parameter_description>
6566</parameter>
6567<parameter name="G_UNIX_MOUNT_TYPE_SDMMC">
6568<parameter_description> SD/MMC UNIX mount type.
6569</parameter_description>
6570</parameter>
6571<parameter name="G_UNIX_MOUNT_TYPE_IPOD">
6572<parameter_description> iPod UNIX mount type.
6573</parameter_description>
6574</parameter>
6575<parameter name="G_UNIX_MOUNT_TYPE_CAMERA">
6576<parameter_description> Digital camera UNIX mount type.
6577</parameter_description>
6578</parameter>
6579<parameter name="G_UNIX_MOUNT_TYPE_HD">
6580<parameter_description> Hard drive UNIX mount type.
6581</parameter_description>
6582</parameter>
6583</parameters>
6584</enum>
6585
6586<property name="GUnixOutputStream:close-fd">
6587<description>
6588Whether to close the file descriptor when the stream is closed.
6589
6590Since: 2.20
6591
6592</description>
6593</property>
6594
6595<property name="GUnixOutputStream:fd">
6596<description>
6597The file descriptor that the stream writes to.
6598
6599Since: 2.20
6600
6601</description>
6602</property>
6603
6604<property name="GUnixSocketAddress:abstract">
6605<description>
6606Whether or not this is an abstract address
6607
6608Deprecated: Use #GUnixSocketAddress:address-type, which
6609distinguishes between zero-padded and non-zero-padded
6610abstract addresses.
6611
6612</description>
6613</property>
6614
6615<enum name="GUnixSocketAddressType">
6616<description>
6617The type of name used by a #GUnixSocketAddress.
6618%G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain
6619socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS
6620indicates a socket not bound to any name (eg, a client-side socket,
6621or a socket created with socketpair()).
6622
6623For abstract sockets, there are two incompatible ways of naming
6624them; the man pages suggest using the entire `struct sockaddr_un`
6625as the name, padding the unused parts of the %sun_path field with
6626zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED.
6627However, many programs instead just use a portion of %sun_path, and
6628pass an appropriate smaller length to bind() or connect(). This is
6629%G_UNIX_SOCKET_ADDRESS_ABSTRACT.
6630
6631Since: 2.26
6632
6633</description>
6634<parameters>
6635<parameter name="G_UNIX_SOCKET_ADDRESS_INVALID">
6636<parameter_description> invalid
6637</parameter_description>
6638</parameter>
6639<parameter name="G_UNIX_SOCKET_ADDRESS_ANONYMOUS">
6640<parameter_description> anonymous
6641</parameter_description>
6642</parameter>
6643<parameter name="G_UNIX_SOCKET_ADDRESS_PATH">
6644<parameter_description> a filesystem path
6645</parameter_description>
6646</parameter>
6647<parameter name="G_UNIX_SOCKET_ADDRESS_ABSTRACT">
6648<parameter_description> an abstract name
6649</parameter_description>
6650</parameter>
6651<parameter name="G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED">
6652<parameter_description> an abstract name, 0-padded
6653to the full length of a unix socket name
6654</parameter_description>
6655</parameter>
6656</parameters>
6657</enum>
6658
6659<signal name="GVolume::changed">
6660<description>
6661Emitted when the volume has been changed.
6662
6663</description>
6664<parameters>
6665</parameters>
6666<return></return>
6667</signal>
6668
6669<signal name="GVolume::removed">
6670<description>
6671This signal is emitted when the #GVolume have been removed. If
6672the recipient is holding references to the object they should
6673release them so the object can be finalized.
6674
6675</description>
6676<parameters>
6677</parameters>
6678<return></return>
6679</signal>
6680
6681<signal name="GVolumeMonitor::drive-changed">
6682<description>
6683Emitted when a drive changes.
6684
6685</description>
6686<parameters>
6687<parameter name="volume_monitor">
6688<parameter_description> The volume monitor emitting the signal.
6689</parameter_description>
6690</parameter>
6691<parameter name="drive">
6692<parameter_description> the drive that changed
6693</parameter_description>
6694</parameter>
6695</parameters>
6696<return></return>
6697</signal>
6698
6699<signal name="GVolumeMonitor::drive-connected">
6700<description>
6701Emitted when a drive is connected to the system.
6702
6703</description>
6704<parameters>
6705<parameter name="volume_monitor">
6706<parameter_description> The volume monitor emitting the signal.
6707</parameter_description>
6708</parameter>
6709<parameter name="drive">
6710<parameter_description> a #GDrive that was connected.
6711</parameter_description>
6712</parameter>
6713</parameters>
6714<return></return>
6715</signal>
6716
6717<signal name="GVolumeMonitor::drive-disconnected">
6718<description>
6719Emitted when a drive is disconnected from the system.
6720
6721</description>
6722<parameters>
6723<parameter name="volume_monitor">
6724<parameter_description> The volume monitor emitting the signal.
6725</parameter_description>
6726</parameter>
6727<parameter name="drive">
6728<parameter_description> a #GDrive that was disconnected.
6729</parameter_description>
6730</parameter>
6731</parameters>
6732<return></return>
6733</signal>
6734
6735<signal name="GVolumeMonitor::drive-eject-button">
6736<description>
6737Emitted when the eject button is pressed on @drive.
6738
6739Since: 2.18
6740
6741</description>
6742<parameters>
6743<parameter name="volume_monitor">
6744<parameter_description> The volume monitor emitting the signal.
6745</parameter_description>
6746</parameter>
6747<parameter name="drive">
6748<parameter_description> the drive where the eject button was pressed
6749</parameter_description>
6750</parameter>
6751</parameters>
6752<return></return>
6753</signal>
6754
6755<signal name="GVolumeMonitor::drive-stop-button">
6756<description>
6757Emitted when the stop button is pressed on @drive.
6758
6759Since: 2.22
6760
6761</description>
6762<parameters>
6763<parameter name="volume_monitor">
6764<parameter_description> The volume monitor emitting the signal.
6765</parameter_description>
6766</parameter>
6767<parameter name="drive">
6768<parameter_description> the drive where the stop button was pressed
6769</parameter_description>
6770</parameter>
6771</parameters>
6772<return></return>
6773</signal>
6774
6775<signal name="GVolumeMonitor::mount-added">
6776<description>
6777Emitted when a mount is added.
6778
6779</description>
6780<parameters>
6781<parameter name="volume_monitor">
6782<parameter_description> The volume monitor emitting the signal.
6783</parameter_description>
6784</parameter>
6785<parameter name="mount">
6786<parameter_description> a #GMount that was added.
6787</parameter_description>
6788</parameter>
6789</parameters>
6790<return></return>
6791</signal>
6792
6793<signal name="GVolumeMonitor::mount-changed">
6794<description>
6795Emitted when a mount changes.
6796
6797</description>
6798<parameters>
6799<parameter name="volume_monitor">
6800<parameter_description> The volume monitor emitting the signal.
6801</parameter_description>
6802</parameter>
6803<parameter name="mount">
6804<parameter_description> a #GMount that changed.
6805</parameter_description>
6806</parameter>
6807</parameters>
6808<return></return>
6809</signal>
6810
6811<signal name="GVolumeMonitor::mount-pre-unmount">
6812<description>
6813May be emitted when a mount is about to be removed.
6814
6815This signal depends on the backend and is only emitted if
6816GIO was used to unmount.
6817
6818</description>
6819<parameters>
6820<parameter name="volume_monitor">
6821<parameter_description> The volume monitor emitting the signal.
6822</parameter_description>
6823</parameter>
6824<parameter name="mount">
6825<parameter_description> a #GMount that is being unmounted.
6826</parameter_description>
6827</parameter>
6828</parameters>
6829<return></return>
6830</signal>
6831
6832<signal name="GVolumeMonitor::mount-removed">
6833<description>
6834Emitted when a mount is removed.
6835
6836</description>
6837<parameters>
6838<parameter name="volume_monitor">
6839<parameter_description> The volume monitor emitting the signal.
6840</parameter_description>
6841</parameter>
6842<parameter name="mount">
6843<parameter_description> a #GMount that was removed.
6844</parameter_description>
6845</parameter>
6846</parameters>
6847<return></return>
6848</signal>
6849
6850<signal name="GVolumeMonitor::volume-added">
6851<description>
6852Emitted when a mountable volume is added to the system.
6853
6854</description>
6855<parameters>
6856<parameter name="volume_monitor">
6857<parameter_description> The volume monitor emitting the signal.
6858</parameter_description>
6859</parameter>
6860<parameter name="volume">
6861<parameter_description> a #GVolume that was added.
6862</parameter_description>
6863</parameter>
6864</parameters>
6865<return></return>
6866</signal>
6867
6868<signal name="GVolumeMonitor::volume-changed">
6869<description>
6870Emitted when mountable volume is changed.
6871
6872</description>
6873<parameters>
6874<parameter name="volume_monitor">
6875<parameter_description> The volume monitor emitting the signal.
6876</parameter_description>
6877</parameter>
6878<parameter name="volume">
6879<parameter_description> a #GVolume that changed.
6880</parameter_description>
6881</parameter>
6882</parameters>
6883<return></return>
6884</signal>
6885
6886<signal name="GVolumeMonitor::volume-removed">
6887<description>
6888Emitted when a mountable volume is removed from the system.
6889
6890</description>
6891<parameters>
6892<parameter name="volume_monitor">
6893<parameter_description> The volume monitor emitting the signal.
6894</parameter_description>
6895</parameter>
6896<parameter name="volume">
6897<parameter_description> a #GVolume that was removed.
6898</parameter_description>
6899</parameter>
6900</parameters>
6901<return></return>
6902</signal>
6903
6904<property name="GWin32InputStream:close-handle">
6905<description>
6906Whether to close the file handle when the stream is closed.
6907
6908Since: 2.26
6909
6910</description>
6911</property>
6912
6913<property name="GWin32InputStream:handle">
6914<description>
6915The handle that the stream reads from.
6916
6917Since: 2.26
6918
6919</description>
6920</property>
6921
6922<property name="GWin32OutputStream:close-handle">
6923<description>
6924Whether to close the file handle when the stream is closed.
6925
6926Since: 2.26
6927
6928</description>
6929</property>
6930
6931<property name="GWin32OutputStream:handle">
6932<description>
6933The file handle that the stream writes to.
6934
6935Since: 2.26
6936
6937</description>
6938</property>
6939
6940<property name="GWin32RegistryKey:path">
6941<description>
6942A path to the key in the registry, in UTF-8.
6943
6944Since: 2.46
6945
6946</description>
6947</property>
6948
6949<property name="GWin32RegistryKey:path-utf16">
6950<description>
6951A path to the key in the registry, in UTF-16.
6952
6953Since: 2.46
6954
6955</description>
6956</property>
6957
6958<property name="GZlibCompressor:file-info">
6959<description>
6960If set to a non-%NULL #GFileInfo object, and #GZlibCompressor:format is
6961%G_ZLIB_COMPRESSOR_FORMAT_GZIP, the compressor will write the file name
6962and modification time from the file info to the GZIP header.
6963
6964Since: 2.26
6965
6966</description>
6967</property>
6968
6969<enum name="GZlibCompressorFormat">
6970<description>
6971Used to select the type of data format to use for #GZlibDecompressor
6972and #GZlibCompressor.
6973
6974Since: 2.24
6975
6976</description>
6977<parameters>
6978<parameter name="G_ZLIB_COMPRESSOR_FORMAT_ZLIB">
6979<parameter_description> deflate compression with zlib header
6980</parameter_description>
6981</parameter>
6982<parameter name="G_ZLIB_COMPRESSOR_FORMAT_GZIP">
6983<parameter_description> gzip file format
6984</parameter_description>
6985</parameter>
6986<parameter name="G_ZLIB_COMPRESSOR_FORMAT_RAW">
6987<parameter_description> deflate compression with no header
6988</parameter_description>
6989</parameter>
6990</parameters>
6991</enum>
6992
6993<property name="GZlibDecompressor:file-info">
6994<description>
6995A #GFileInfo containing the information found in the GZIP header
6996of the data stream processed, or %NULL if the header was not yet
6997fully processed, is not present at all, or the compressor's
6998#GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP.
6999
7000Since: 2.26
7001
7002</description>
7003</property>
7004
7005<function name="g_action_activate">
7006<description>
7007Activates the action.
7008
7009@parameter must be the correct type of parameter for the action (ie:
7010the parameter type given at construction time).  If the parameter
7011type was %NULL then @parameter must also be %NULL.
7012
7013If the @parameter GVariant is floating, it is consumed.
7014
7015Since: 2.28
7016
7017</description>
7018<parameters>
7019<parameter name="action">
7020<parameter_description> a #GAction
7021</parameter_description>
7022</parameter>
7023<parameter name="parameter">
7024<parameter_description> the parameter to the activation
7025</parameter_description>
7026</parameter>
7027</parameters>
7028<return></return>
7029</function>
7030
7031<function name="g_action_change_state">
7032<description>
7033Request for the state of @action to be changed to @value.
7034
7035The action must be stateful and @value must be of the correct type.
7036See g_action_get_state_type().
7037
7038This call merely requests a change.  The action may refuse to change
7039its state or may change its state to something other than @value.
7040See g_action_get_state_hint().
7041
7042If the @value GVariant is floating, it is consumed.
7043
7044Since: 2.30
7045
7046</description>
7047<parameters>
7048<parameter name="action">
7049<parameter_description> a #GAction
7050</parameter_description>
7051</parameter>
7052<parameter name="value">
7053<parameter_description> the new state
7054</parameter_description>
7055</parameter>
7056</parameters>
7057<return></return>
7058</function>
7059
7060<function name="g_action_get_enabled">
7061<description>
7062Checks if @action is currently enabled.
7063
7064An action must be enabled in order to be activated or in order to
7065have its state changed from outside callers.
7066
7067Since: 2.28
7068
7069</description>
7070<parameters>
7071<parameter name="action">
7072<parameter_description> a #GAction
7073</parameter_description>
7074</parameter>
7075</parameters>
7076<return> whether the action is enabled
7077
7078</return>
7079</function>
7080
7081<function name="g_action_get_name">
7082<description>
7083Queries the name of @action.
7084
7085Since: 2.28
7086
7087</description>
7088<parameters>
7089<parameter name="action">
7090<parameter_description> a #GAction
7091</parameter_description>
7092</parameter>
7093</parameters>
7094<return> the name of the action
7095
7096</return>
7097</function>
7098
7099<function name="g_action_get_parameter_type">
7100<description>
7101Queries the type of the parameter that must be given when activating
7102@action.
7103
7104When activating the action using g_action_activate(), the #GVariant
7105given to that function must be of the type returned by this function.
7106
7107In the case that this function returns %NULL, you must not give any
7108#GVariant, but %NULL instead.
7109
7110Since: 2.28
7111
7112</description>
7113<parameters>
7114<parameter name="action">
7115<parameter_description> a #GAction
7116</parameter_description>
7117</parameter>
7118</parameters>
7119<return> the parameter type
7120
7121</return>
7122</function>
7123
7124<function name="g_action_get_state">
7125<description>
7126Queries the current state of @action.
7127
7128If the action is not stateful then %NULL will be returned.  If the
7129action is stateful then the type of the return value is the type
7130given by g_action_get_state_type().
7131
7132The return value (if non-%NULL) should be freed with
7133g_variant_unref() when it is no longer required.
7134
7135Since: 2.28
7136
7137</description>
7138<parameters>
7139<parameter name="action">
7140<parameter_description> a #GAction
7141</parameter_description>
7142</parameter>
7143</parameters>
7144<return> the current state of the action
7145
7146</return>
7147</function>
7148
7149<function name="g_action_get_state_hint">
7150<description>
7151Requests a hint about the valid range of values for the state of
7152@action.
7153
7154If %NULL is returned it either means that the action is not stateful
7155or that there is no hint about the valid range of values for the
7156state of the action.
7157
7158If a #GVariant array is returned then each item in the array is a
7159possible value for the state.  If a #GVariant pair (ie: two-tuple) is
7160returned then the tuple specifies the inclusive lower and upper bound
7161of valid values for the state.
7162
7163In any case, the information is merely a hint.  It may be possible to
7164have a state value outside of the hinted range and setting a value
7165within the range may fail.
7166
7167The return value (if non-%NULL) should be freed with
7168g_variant_unref() when it is no longer required.
7169
7170Since: 2.28
7171
7172</description>
7173<parameters>
7174<parameter name="action">
7175<parameter_description> a #GAction
7176</parameter_description>
7177</parameter>
7178</parameters>
7179<return> the state range hint
7180
7181</return>
7182</function>
7183
7184<function name="g_action_get_state_type">
7185<description>
7186Queries the type of the state of @action.
7187
7188If the action is stateful (e.g. created with
7189g_simple_action_new_stateful()) then this function returns the
7190#GVariantType of the state.  This is the type of the initial value
7191given as the state. All calls to g_action_change_state() must give a
7192#GVariant of this type and g_action_get_state() will return a
7193#GVariant of the same type.
7194
7195If the action is not stateful (e.g. created with g_simple_action_new())
7196then this function will return %NULL. In that case, g_action_get_state()
7197will return %NULL and you must not call g_action_change_state().
7198
7199Since: 2.28
7200
7201</description>
7202<parameters>
7203<parameter name="action">
7204<parameter_description> a #GAction
7205</parameter_description>
7206</parameter>
7207</parameters>
7208<return> the state type, if the action is stateful
7209
7210</return>
7211</function>
7212
7213<function name="g_action_group_action_added">
7214<description>
7215Emits the #GActionGroup::action-added signal on @action_group.
7216
7217This function should only be called by #GActionGroup implementations.
7218
7219Since: 2.28
7220
7221</description>
7222<parameters>
7223<parameter name="action_group">
7224<parameter_description> a #GActionGroup
7225</parameter_description>
7226</parameter>
7227<parameter name="action_name">
7228<parameter_description> the name of an action in the group
7229</parameter_description>
7230</parameter>
7231</parameters>
7232<return></return>
7233</function>
7234
7235<function name="g_action_group_action_enabled_changed">
7236<description>
7237Emits the #GActionGroup::action-enabled-changed signal on @action_group.
7238
7239This function should only be called by #GActionGroup implementations.
7240
7241Since: 2.28
7242
7243</description>
7244<parameters>
7245<parameter name="action_group">
7246<parameter_description> a #GActionGroup
7247</parameter_description>
7248</parameter>
7249<parameter name="action_name">
7250<parameter_description> the name of an action in the group
7251</parameter_description>
7252</parameter>
7253<parameter name="enabled">
7254<parameter_description> whether or not the action is now enabled
7255</parameter_description>
7256</parameter>
7257</parameters>
7258<return></return>
7259</function>
7260
7261<function name="g_action_group_action_removed">
7262<description>
7263Emits the #GActionGroup::action-removed signal on @action_group.
7264
7265This function should only be called by #GActionGroup implementations.
7266
7267Since: 2.28
7268
7269</description>
7270<parameters>
7271<parameter name="action_group">
7272<parameter_description> a #GActionGroup
7273</parameter_description>
7274</parameter>
7275<parameter name="action_name">
7276<parameter_description> the name of an action in the group
7277</parameter_description>
7278</parameter>
7279</parameters>
7280<return></return>
7281</function>
7282
7283<function name="g_action_group_action_state_changed">
7284<description>
7285Emits the #GActionGroup::action-state-changed signal on @action_group.
7286
7287This function should only be called by #GActionGroup implementations.
7288
7289Since: 2.28
7290
7291</description>
7292<parameters>
7293<parameter name="action_group">
7294<parameter_description> a #GActionGroup
7295</parameter_description>
7296</parameter>
7297<parameter name="action_name">
7298<parameter_description> the name of an action in the group
7299</parameter_description>
7300</parameter>
7301<parameter name="state">
7302<parameter_description> the new state of the named action
7303</parameter_description>
7304</parameter>
7305</parameters>
7306<return></return>
7307</function>
7308
7309<function name="g_action_group_activate_action">
7310<description>
7311Activate the named action within @action_group.
7312
7313If the action is expecting a parameter, then the correct type of
7314parameter must be given as @parameter.  If the action is expecting no
7315parameters then @parameter must be %NULL.  See
7316g_action_group_get_action_parameter_type().
7317
7318Since: 2.28
7319
7320</description>
7321<parameters>
7322<parameter name="action_group">
7323<parameter_description> a #GActionGroup
7324</parameter_description>
7325</parameter>
7326<parameter name="action_name">
7327<parameter_description> the name of the action to activate
7328</parameter_description>
7329</parameter>
7330<parameter name="parameter">
7331<parameter_description> parameters to the activation
7332</parameter_description>
7333</parameter>
7334</parameters>
7335<return></return>
7336</function>
7337
7338<function name="g_action_group_change_action_state">
7339<description>
7340Request for the state of the named action within @action_group to be
7341changed to @value.
7342
7343The action must be stateful and @value must be of the correct type.
7344See g_action_group_get_action_state_type().
7345
7346This call merely requests a change.  The action may refuse to change
7347its state or may change its state to something other than @value.
7348See g_action_group_get_action_state_hint().
7349
7350If the @value GVariant is floating, it is consumed.
7351
7352Since: 2.28
7353
7354</description>
7355<parameters>
7356<parameter name="action_group">
7357<parameter_description> a #GActionGroup
7358</parameter_description>
7359</parameter>
7360<parameter name="action_name">
7361<parameter_description> the name of the action to request the change on
7362</parameter_description>
7363</parameter>
7364<parameter name="value">
7365<parameter_description> the new state
7366</parameter_description>
7367</parameter>
7368</parameters>
7369<return></return>
7370</function>
7371
7372<function name="g_action_group_get_action_enabled">
7373<description>
7374Checks if the named action within @action_group is currently enabled.
7375
7376An action must be enabled in order to be activated or in order to
7377have its state changed from outside callers.
7378
7379Since: 2.28
7380
7381</description>
7382<parameters>
7383<parameter name="action_group">
7384<parameter_description> a #GActionGroup
7385</parameter_description>
7386</parameter>
7387<parameter name="action_name">
7388<parameter_description> the name of the action to query
7389</parameter_description>
7390</parameter>
7391</parameters>
7392<return> whether or not the action is currently enabled
7393
7394</return>
7395</function>
7396
7397<function name="g_action_group_get_action_parameter_type">
7398<description>
7399Queries the type of the parameter that must be given when activating
7400the named action within @action_group.
7401
7402When activating the action using g_action_group_activate_action(),
7403the #GVariant given to that function must be of the type returned
7404by this function.
7405
7406In the case that this function returns %NULL, you must not give any
7407#GVariant, but %NULL instead.
7408
7409The parameter type of a particular action will never change but it is
7410possible for an action to be removed and for a new action to be added
7411with the same name but a different parameter type.
7412
7413Since: 2.28
7414
7415</description>
7416<parameters>
7417<parameter name="action_group">
7418<parameter_description> a #GActionGroup
7419</parameter_description>
7420</parameter>
7421<parameter name="action_name">
7422<parameter_description> the name of the action to query
7423</parameter_description>
7424</parameter>
7425</parameters>
7426<return> the parameter type
7427
7428</return>
7429</function>
7430
7431<function name="g_action_group_get_action_state">
7432<description>
7433Queries the current state of the named action within @action_group.
7434
7435If the action is not stateful then %NULL will be returned.  If the
7436action is stateful then the type of the return value is the type
7437given by g_action_group_get_action_state_type().
7438
7439The return value (if non-%NULL) should be freed with
7440g_variant_unref() when it is no longer required.
7441
7442Since: 2.28
7443
7444</description>
7445<parameters>
7446<parameter name="action_group">
7447<parameter_description> a #GActionGroup
7448</parameter_description>
7449</parameter>
7450<parameter name="action_name">
7451<parameter_description> the name of the action to query
7452</parameter_description>
7453</parameter>
7454</parameters>
7455<return> the current state of the action
7456
7457</return>
7458</function>
7459
7460<function name="g_action_group_get_action_state_hint">
7461<description>
7462Requests a hint about the valid range of values for the state of the
7463named action within @action_group.
7464
7465If %NULL is returned it either means that the action is not stateful
7466or that there is no hint about the valid range of values for the
7467state of the action.
7468
7469If a #GVariant array is returned then each item in the array is a
7470possible value for the state.  If a #GVariant pair (ie: two-tuple) is
7471returned then the tuple specifies the inclusive lower and upper bound
7472of valid values for the state.
7473
7474In any case, the information is merely a hint.  It may be possible to
7475have a state value outside of the hinted range and setting a value
7476within the range may fail.
7477
7478The return value (if non-%NULL) should be freed with
7479g_variant_unref() when it is no longer required.
7480
7481Since: 2.28
7482
7483</description>
7484<parameters>
7485<parameter name="action_group">
7486<parameter_description> a #GActionGroup
7487</parameter_description>
7488</parameter>
7489<parameter name="action_name">
7490<parameter_description> the name of the action to query
7491</parameter_description>
7492</parameter>
7493</parameters>
7494<return> the state range hint
7495
7496</return>
7497</function>
7498
7499<function name="g_action_group_get_action_state_type">
7500<description>
7501Queries the type of the state of the named action within
7502@action_group.
7503
7504If the action is stateful then this function returns the
7505#GVariantType of the state.  All calls to
7506g_action_group_change_action_state() must give a #GVariant of this
7507type and g_action_group_get_action_state() will return a #GVariant
7508of the same type.
7509
7510If the action is not stateful then this function will return %NULL.
7511In that case, g_action_group_get_action_state() will return %NULL
7512and you must not call g_action_group_change_action_state().
7513
7514The state type of a particular action will never change but it is
7515possible for an action to be removed and for a new action to be added
7516with the same name but a different state type.
7517
7518Since: 2.28
7519
7520</description>
7521<parameters>
7522<parameter name="action_group">
7523<parameter_description> a #GActionGroup
7524</parameter_description>
7525</parameter>
7526<parameter name="action_name">
7527<parameter_description> the name of the action to query
7528</parameter_description>
7529</parameter>
7530</parameters>
7531<return> the state type, if the action is stateful
7532
7533</return>
7534</function>
7535
7536<function name="g_action_group_has_action">
7537<description>
7538Checks if the named action exists within @action_group.
7539
7540Since: 2.28
7541
7542</description>
7543<parameters>
7544<parameter name="action_group">
7545<parameter_description> a #GActionGroup
7546</parameter_description>
7547</parameter>
7548<parameter name="action_name">
7549<parameter_description> the name of the action to check for
7550</parameter_description>
7551</parameter>
7552</parameters>
7553<return> whether the named action exists
7554
7555</return>
7556</function>
7557
7558<function name="g_action_group_list_actions">
7559<description>
7560Lists the actions contained within @action_group.
7561
7562The caller is responsible for freeing the list with g_strfreev() when
7563it is no longer required.
7564
7565Since: 2.28
7566
7567</description>
7568<parameters>
7569<parameter name="action_group">
7570<parameter_description> a #GActionGroup
7571</parameter_description>
7572</parameter>
7573</parameters>
7574<return> a %NULL-terminated array of the names of the
7575actions in the group
7576
7577</return>
7578</function>
7579
7580<function name="g_action_group_query_action">
7581<description>
7582Queries all aspects of the named action within an @action_group.
7583
7584This function acquires the information available from
7585g_action_group_has_action(), g_action_group_get_action_enabled(),
7586g_action_group_get_action_parameter_type(),
7587g_action_group_get_action_state_type(),
7588g_action_group_get_action_state_hint() and
7589g_action_group_get_action_state() with a single function call.
7590
7591This provides two main benefits.
7592
7593The first is the improvement in efficiency that comes with not having
7594to perform repeated lookups of the action in order to discover
7595different things about it.  The second is that implementing
7596#GActionGroup can now be done by only overriding this one virtual
7597function.
7598
7599The interface provides a default implementation of this function that
7600calls the individual functions, as required, to fetch the
7601information.  The interface also provides default implementations of
7602those functions that call this function.  All implementations,
7603therefore, must override either this function or all of the others.
7604
7605If the action exists, %TRUE is returned and any of the requested
7606fields (as indicated by having a non-%NULL reference passed in) are
7607filled.  If the action doesn't exist, %FALSE is returned and the
7608fields may or may not have been modified.
7609
7610Since: 2.32
7611
7612</description>
7613<parameters>
7614<parameter name="action_group">
7615<parameter_description> a #GActionGroup
7616</parameter_description>
7617</parameter>
7618<parameter name="action_name">
7619<parameter_description> the name of an action in the group
7620</parameter_description>
7621</parameter>
7622<parameter name="enabled">
7623<parameter_description> if the action is presently enabled
7624</parameter_description>
7625</parameter>
7626<parameter name="parameter_type">
7627<parameter_description> the parameter type, or %NULL if none needed
7628</parameter_description>
7629</parameter>
7630<parameter name="state_type">
7631<parameter_description> the state type, or %NULL if stateless
7632</parameter_description>
7633</parameter>
7634<parameter name="state_hint">
7635<parameter_description> the state hint, or %NULL if none
7636</parameter_description>
7637</parameter>
7638<parameter name="state">
7639<parameter_description> the current state, or %NULL if stateless
7640</parameter_description>
7641</parameter>
7642</parameters>
7643<return> %TRUE if the action exists, else %FALSE
7644
7645</return>
7646</function>
7647
7648<function name="g_action_map_add_action">
7649<description>
7650Adds an action to the @action_map.
7651
7652If the action map already contains an action with the same name
7653as @action then the old action is dropped from the action map.
7654
7655The action map takes its own reference on @action.
7656
7657Since: 2.32
7658
7659</description>
7660<parameters>
7661<parameter name="action_map">
7662<parameter_description> a #GActionMap
7663</parameter_description>
7664</parameter>
7665<parameter name="action">
7666<parameter_description> a #GAction
7667</parameter_description>
7668</parameter>
7669</parameters>
7670<return></return>
7671</function>
7672
7673<function name="g_action_map_add_action_entries">
7674<description>
7675A convenience function for creating multiple #GSimpleAction instances
7676and adding them to a #GActionMap.
7677
7678Each action is constructed as per one #GActionEntry.
7679
7680|[&lt;!-- language=&quot;C&quot; --&gt;
7681static void
7682activate_quit (GSimpleAction *simple,
7683GVariant      *parameter,
7684gpointer       user_data)
7685{
7686exit (0);
7687}
7688
7689static void
7690activate_print_string (GSimpleAction *simple,
7691GVariant      *parameter,
7692gpointer       user_data)
7693{
7694g_print (&quot;%s\n&quot;, g_variant_get_string (parameter, NULL));
7695}
7696
7697static GActionGroup *
7698create_action_group (void)
7699{
7700const GActionEntry entries[] = {
7701{ &quot;quit&quot;,         activate_quit              },
7702{ &quot;print-string&quot;, activate_print_string, &quot;s&quot; }
7703};
7704GSimpleActionGroup *group;
7705
7706group = g_simple_action_group_new ();
7707g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);
7708
7709return G_ACTION_GROUP (group);
7710}
7711]|
7712
7713Since: 2.32
7714
7715</description>
7716<parameters>
7717<parameter name="action_map">
7718<parameter_description> a #GActionMap
7719</parameter_description>
7720</parameter>
7721<parameter name="entries">
7722<parameter_description> a pointer to
7723the first item in an array of #GActionEntry structs
7724</parameter_description>
7725</parameter>
7726<parameter name="n_entries">
7727<parameter_description> the length of @entries, or -1 if @entries is %NULL-terminated
7728</parameter_description>
7729</parameter>
7730<parameter name="user_data">
7731<parameter_description> the user data for signal connections
7732</parameter_description>
7733</parameter>
7734</parameters>
7735<return></return>
7736</function>
7737
7738<function name="g_action_map_lookup_action">
7739<description>
7740Looks up the action with the name @action_name in @action_map.
7741
7742If no such action exists, returns %NULL.
7743
7744Since: 2.32
7745
7746</description>
7747<parameters>
7748<parameter name="action_map">
7749<parameter_description> a #GActionMap
7750</parameter_description>
7751</parameter>
7752<parameter name="action_name">
7753<parameter_description> the name of an action
7754</parameter_description>
7755</parameter>
7756</parameters>
7757<return> a #GAction, or %NULL
7758
7759</return>
7760</function>
7761
7762<function name="g_action_map_remove_action">
7763<description>
7764Removes the named action from the action map.
7765
7766If no action of this name is in the map then nothing happens.
7767
7768Since: 2.32
7769
7770</description>
7771<parameters>
7772<parameter name="action_map">
7773<parameter_description> a #GActionMap
7774</parameter_description>
7775</parameter>
7776<parameter name="action_name">
7777<parameter_description> the name of the action
7778</parameter_description>
7779</parameter>
7780</parameters>
7781<return></return>
7782</function>
7783
7784<function name="g_action_name_is_valid">
7785<description>
7786Checks if @action_name is valid.
7787
7788@action_name is valid if it consists only of alphanumeric characters,
7789plus '-' and '.'.  The empty string is not a valid action name.
7790
7791It is an error to call this function with a non-utf8 @action_name.
7792@action_name must not be %NULL.
7793
7794Since: 2.38
7795
7796</description>
7797<parameters>
7798<parameter name="action_name">
7799<parameter_description> a potential action name
7800</parameter_description>
7801</parameter>
7802</parameters>
7803<return> %TRUE if @action_name is valid
7804
7805</return>
7806</function>
7807
7808<function name="g_action_parse_detailed_name">
7809<description>
7810Parses a detailed action name into its separate name and target
7811components.
7812
7813Detailed action names can have three formats.
7814
7815The first format is used to represent an action name with no target
7816value and consists of just an action name containing no whitespace
7817nor the characters ':', '(' or ')'.  For example: &quot;app.action&quot;.
7818
7819The second format is used to represent an action with a target value
7820that is a non-empty string consisting only of alphanumerics, plus '-'
7821and '.'.  In that case, the action name and target value are
7822separated by a double colon (&quot;::&quot;).  For example:
7823&quot;app.action::target&quot;.
7824
7825The third format is used to represent an action with any type of
7826target value, including strings.  The target value follows the action
7827name, surrounded in parens.  For example: &quot;app.action(42)&quot;.  The
7828target value is parsed using g_variant_parse().  If a tuple-typed
7829value is desired, it must be specified in the same way, resulting in
7830two sets of parens, for example: &quot;app.action((1,2,3))&quot;.  A string
7831target can be specified this way as well: &quot;app.action('target')&quot;.
7832For strings, this third format must be used if * target value is
7833empty or contains characters other than alphanumerics, '-' and '.'.
7834
7835Since: 2.38
7836
7837</description>
7838<parameters>
7839<parameter name="detailed_name">
7840<parameter_description> a detailed action name
7841</parameter_description>
7842</parameter>
7843<parameter name="action_name">
7844<parameter_description> the action name
7845</parameter_description>
7846</parameter>
7847<parameter name="target_value">
7848<parameter_description> the target value, or %NULL for no target
7849</parameter_description>
7850</parameter>
7851<parameter name="error">
7852<parameter_description> a pointer to a %NULL #GError, or %NULL
7853</parameter_description>
7854</parameter>
7855</parameters>
7856<return> %TRUE if successful, else %FALSE with @error set
7857
7858</return>
7859</function>
7860
7861<function name="g_action_print_detailed_name">
7862<description>
7863Formats a detailed action name from @action_name and @target_value.
7864
7865It is an error to call this function with an invalid action name.
7866
7867This function is the opposite of g_action_parse_detailed_name().
7868It will produce a string that can be parsed back to the @action_name
7869and @target_value by that function.
7870
7871See that function for the types of strings that will be printed by
7872this function.
7873
7874Since: 2.38
7875
7876</description>
7877<parameters>
7878<parameter name="action_name">
7879<parameter_description> a valid action name
7880</parameter_description>
7881</parameter>
7882<parameter name="target_value">
7883<parameter_description> a #GVariant target value, or %NULL
7884</parameter_description>
7885</parameter>
7886</parameters>
7887<return> a detailed format string
7888
7889</return>
7890</function>
7891
7892<function name="g_app_info_add_supports_type">
7893<description>
7894Adds a content type to the application information to indicate the
7895application is capable of opening files with the given content type.
7896
7897
7898</description>
7899<parameters>
7900<parameter name="appinfo">
7901<parameter_description> a #GAppInfo.
7902</parameter_description>
7903</parameter>
7904<parameter name="content_type">
7905<parameter_description> a string.
7906</parameter_description>
7907</parameter>
7908<parameter name="error">
7909<parameter_description> a #GError.
7910</parameter_description>
7911</parameter>
7912</parameters>
7913<return> %TRUE on success, %FALSE on error.
7914</return>
7915</function>
7916
7917<function name="g_app_info_can_delete">
7918<description>
7919Obtains the information whether the #GAppInfo can be deleted.
7920See g_app_info_delete().
7921
7922Since: 2.20
7923
7924</description>
7925<parameters>
7926<parameter name="appinfo">
7927<parameter_description> a #GAppInfo
7928</parameter_description>
7929</parameter>
7930</parameters>
7931<return> %TRUE if @appinfo can be deleted
7932
7933</return>
7934</function>
7935
7936<function name="g_app_info_can_remove_supports_type">
7937<description>
7938Checks if a supported content type can be removed from an application.
7939
7940
7941</description>
7942<parameters>
7943<parameter name="appinfo">
7944<parameter_description> a #GAppInfo.
7945</parameter_description>
7946</parameter>
7947</parameters>
7948<return> %TRUE if it is possible to remove supported
7949content types from a given @appinfo, %FALSE if not.
7950</return>
7951</function>
7952
7953<function name="g_app_info_create_from_commandline">
7954<description>
7955Creates a new #GAppInfo from the given information.
7956
7957Note that for @commandline, the quoting rules of the Exec key of the
7958[freedesktop.org Desktop Entry Specification](http://freedesktop.org/Standards/desktop-entry-spec)
7959are applied. For example, if the @commandline contains
7960percent-encoded URIs, the percent-character must be doubled in order to prevent it from
7961being swallowed by Exec key unquoting. See the specification for exact quoting rules.
7962
7963
7964</description>
7965<parameters>
7966<parameter name="commandline">
7967<parameter_description> the commandline to use
7968</parameter_description>
7969</parameter>
7970<parameter name="application_name">
7971<parameter_description> the application name, or %NULL to use @commandline
7972</parameter_description>
7973</parameter>
7974<parameter name="flags">
7975<parameter_description> flags that can specify details of the created #GAppInfo
7976</parameter_description>
7977</parameter>
7978<parameter name="error">
7979<parameter_description> a #GError location to store the error occurring, %NULL to ignore.
7980</parameter_description>
7981</parameter>
7982</parameters>
7983<return> new #GAppInfo for given command.
7984</return>
7985</function>
7986
7987<function name="g_app_info_delete">
7988<description>
7989Tries to delete a #GAppInfo.
7990
7991On some platforms, there may be a difference between user-defined
7992#GAppInfos which can be deleted, and system-wide ones which cannot.
7993See g_app_info_can_delete().
7994
7995Virtual: do_delete
7996Since: 2.20
7997
7998</description>
7999<parameters>
8000<parameter name="appinfo">
8001<parameter_description> a #GAppInfo
8002</parameter_description>
8003</parameter>
8004</parameters>
8005<return> %TRUE if @appinfo has been deleted
8006
8007</return>
8008</function>
8009
8010<function name="g_app_info_dup">
8011<description>
8012Creates a duplicate of a #GAppInfo.
8013
8014
8015</description>
8016<parameters>
8017<parameter name="appinfo">
8018<parameter_description> a #GAppInfo.
8019</parameter_description>
8020</parameter>
8021</parameters>
8022<return> a duplicate of @appinfo.
8023</return>
8024</function>
8025
8026<function name="g_app_info_equal">
8027<description>
8028Checks if two #GAppInfos are equal.
8029
8030Note that the check &lt;emphasis&gt;may not&lt;/emphasis&gt; compare each individual
8031field, and only does an identity check. In case detecting changes in the
8032contents is needed, program code must additionally compare relevant fields.
8033
8034
8035</description>
8036<parameters>
8037<parameter name="appinfo1">
8038<parameter_description> the first #GAppInfo.
8039</parameter_description>
8040</parameter>
8041<parameter name="appinfo2">
8042<parameter_description> the second #GAppInfo.
8043</parameter_description>
8044</parameter>
8045</parameters>
8046<return> %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.
8047</return>
8048</function>
8049
8050<function name="g_app_info_get_all">
8051<description>
8052Gets a list of all of the applications currently registered
8053on this system.
8054
8055For desktop files, this includes applications that have
8056`NoDisplay=true` set or are excluded from display by means
8057of `OnlyShowIn` or `NotShowIn`. See g_app_info_should_show().
8058The returned list does not include applications which have
8059the `Hidden` key set.
8060
8061
8062</description>
8063<parameters>
8064</parameters>
8065<return> a newly allocated #GList of references to #GAppInfos.
8066</return>
8067</function>
8068
8069<function name="g_app_info_get_all_for_type">
8070<description>
8071Gets a list of all #GAppInfos for a given content type,
8072including the recommended and fallback #GAppInfos. See
8073g_app_info_get_recommended_for_type() and
8074g_app_info_get_fallback_for_type().
8075
8076
8077</description>
8078<parameters>
8079<parameter name="content_type">
8080<parameter_description> the content type to find a #GAppInfo for
8081</parameter_description>
8082</parameter>
8083</parameters>
8084<return> #GList of #GAppInfos
8085for given @content_type or %NULL on error.
8086</return>
8087</function>
8088
8089<function name="g_app_info_get_commandline">
8090<description>
8091Gets the commandline with which the application will be
8092started.
8093
8094Since: 2.20
8095
8096</description>
8097<parameters>
8098<parameter name="appinfo">
8099<parameter_description> a #GAppInfo
8100</parameter_description>
8101</parameter>
8102</parameters>
8103<return> a string containing the @appinfo's commandline,
8104or %NULL if this information is not available
8105
8106</return>
8107</function>
8108
8109<function name="g_app_info_get_default_for_type">
8110<description>
8111Gets the default #GAppInfo for a given content type.
8112
8113
8114</description>
8115<parameters>
8116<parameter name="content_type">
8117<parameter_description> the content type to find a #GAppInfo for
8118</parameter_description>
8119</parameter>
8120<parameter name="must_support_uris">
8121<parameter_description> if %TRUE, the #GAppInfo is expected to
8122support URIs
8123</parameter_description>
8124</parameter>
8125</parameters>
8126<return> #GAppInfo for given @content_type or
8127%NULL on error.
8128</return>
8129</function>
8130
8131<function name="g_app_info_get_default_for_uri_scheme">
8132<description>
8133Gets the default application for handling URIs with
8134the given URI scheme. A URI scheme is the initial part
8135of the URI, up to but not including the ':', e.g. &quot;http&quot;,
8136&quot;ftp&quot; or &quot;sip&quot;.
8137
8138
8139</description>
8140<parameters>
8141<parameter name="uri_scheme">
8142<parameter_description> a string containing a URI scheme.
8143</parameter_description>
8144</parameter>
8145</parameters>
8146<return> #GAppInfo for given @uri_scheme or %NULL on error.
8147</return>
8148</function>
8149
8150<function name="g_app_info_get_description">
8151<description>
8152Gets a human-readable description of an installed application.
8153
8154
8155</description>
8156<parameters>
8157<parameter name="appinfo">
8158<parameter_description> a #GAppInfo.
8159</parameter_description>
8160</parameter>
8161</parameters>
8162<return> a string containing a description of the
8163application @appinfo, or %NULL if none.
8164</return>
8165</function>
8166
8167<function name="g_app_info_get_display_name">
8168<description>
8169Gets the display name of the application. The display name is often more
8170descriptive to the user than the name itself.
8171
8172Since: 2.24
8173
8174</description>
8175<parameters>
8176<parameter name="appinfo">
8177<parameter_description> a #GAppInfo.
8178</parameter_description>
8179</parameter>
8180</parameters>
8181<return> the display name of the application for @appinfo, or the name if
8182no display name is available.
8183
8184</return>
8185</function>
8186
8187<function name="g_app_info_get_executable">
8188<description>
8189Gets the executable's name for the installed application.
8190
8191
8192</description>
8193<parameters>
8194<parameter name="appinfo">
8195<parameter_description> a #GAppInfo
8196</parameter_description>
8197</parameter>
8198</parameters>
8199<return> a string containing the @appinfo's application
8200binaries name
8201</return>
8202</function>
8203
8204<function name="g_app_info_get_fallback_for_type">
8205<description>
8206Gets a list of fallback #GAppInfos for a given content type, i.e.
8207those applications which claim to support the given content type
8208by MIME type subclassing and not directly.
8209
8210Since: 2.28
8211
8212</description>
8213<parameters>
8214<parameter name="content_type">
8215<parameter_description> the content type to find a #GAppInfo for
8216</parameter_description>
8217</parameter>
8218</parameters>
8219<return> #GList of #GAppInfos
8220for given @content_type or %NULL on error.
8221
8222</return>
8223</function>
8224
8225<function name="g_app_info_get_icon">
8226<description>
8227Gets the icon for the application.
8228
8229
8230</description>
8231<parameters>
8232<parameter name="appinfo">
8233<parameter_description> a #GAppInfo.
8234</parameter_description>
8235</parameter>
8236</parameters>
8237<return> the default #GIcon for @appinfo or %NULL
8238if there is no default icon.
8239</return>
8240</function>
8241
8242<function name="g_app_info_get_id">
8243<description>
8244Gets the ID of an application. An id is a string that
8245identifies the application. The exact format of the id is
8246platform dependent. For instance, on Unix this is the
8247desktop file id from the xdg menu specification.
8248
8249Note that the returned ID may be %NULL, depending on how
8250the @appinfo has been constructed.
8251
8252
8253</description>
8254<parameters>
8255<parameter name="appinfo">
8256<parameter_description> a #GAppInfo.
8257</parameter_description>
8258</parameter>
8259</parameters>
8260<return> a string containing the application's ID.
8261</return>
8262</function>
8263
8264<function name="g_app_info_get_name">
8265<description>
8266Gets the installed name of the application.
8267
8268
8269</description>
8270<parameters>
8271<parameter name="appinfo">
8272<parameter_description> a #GAppInfo.
8273</parameter_description>
8274</parameter>
8275</parameters>
8276<return> the name of the application for @appinfo.
8277</return>
8278</function>
8279
8280<function name="g_app_info_get_recommended_for_type">
8281<description>
8282Gets a list of recommended #GAppInfos for a given content type, i.e.
8283those applications which claim to support the given content type exactly,
8284and not by MIME type subclassing.
8285Note that the first application of the list is the last used one, i.e.
8286the last one for which g_app_info_set_as_last_used_for_type() has been
8287called.
8288
8289Since: 2.28
8290
8291</description>
8292<parameters>
8293<parameter name="content_type">
8294<parameter_description> the content type to find a #GAppInfo for
8295</parameter_description>
8296</parameter>
8297</parameters>
8298<return> #GList of #GAppInfos
8299for given @content_type or %NULL on error.
8300
8301</return>
8302</function>
8303
8304<function name="g_app_info_get_supported_types">
8305<description>
8306Retrieves the list of content types that @app_info claims to support.
8307If this information is not provided by the environment, this function
8308will return %NULL.
8309This function does not take in consideration associations added with
8310g_app_info_add_supports_type(), but only those exported directly by
8311the application.
8312
8313Since: 2.34
8314
8315</description>
8316<parameters>
8317<parameter name="appinfo">
8318<parameter_description> a #GAppInfo that can handle files
8319</parameter_description>
8320</parameter>
8321</parameters>
8322<return>
8323a list of content types.
8324
8325</return>
8326</function>
8327
8328<function name="g_app_info_launch">
8329<description>
8330Launches the application. Passes @files to the launched application
8331as arguments, using the optional @context to get information
8332about the details of the launcher (like what screen it is on).
8333On error, @error will be set accordingly.
8334
8335To launch the application without arguments pass a %NULL @files list.
8336
8337Note that even if the launch is successful the application launched
8338can fail to start if it runs into problems during startup. There is
8339no way to detect this.
8340
8341Some URIs can be changed when passed through a GFile (for instance
8342unsupported URIs with strange formats like mailto:), so if you have
8343a textual URI you want to pass in as argument, consider using
8344g_app_info_launch_uris() instead.
8345
8346The launched application inherits the environment of the launching
8347process, but it can be modified with g_app_launch_context_setenv()
8348and g_app_launch_context_unsetenv().
8349
8350On UNIX, this function sets the `GIO_LAUNCHED_DESKTOP_FILE`
8351environment variable with the path of the launched desktop file and
8352`GIO_LAUNCHED_DESKTOP_FILE_PID` to the process id of the launched
8353process. This can be used to ignore `GIO_LAUNCHED_DESKTOP_FILE`,
8354should it be inherited by further processes. The `DISPLAY` and
8355`DESKTOP_STARTUP_ID` environment variables are also set, based
8356on information provided in @context.
8357
8358
8359</description>
8360<parameters>
8361<parameter name="appinfo">
8362<parameter_description> a #GAppInfo
8363</parameter_description>
8364</parameter>
8365<parameter name="files">
8366<parameter_description> a #GList of #GFile objects
8367</parameter_description>
8368</parameter>
8369<parameter name="context">
8370<parameter_description> a #GAppLaunchContext or %NULL
8371</parameter_description>
8372</parameter>
8373<parameter name="error">
8374<parameter_description> a #GError
8375</parameter_description>
8376</parameter>
8377</parameters>
8378<return> %TRUE on successful launch, %FALSE otherwise.
8379</return>
8380</function>
8381
8382<function name="g_app_info_launch_default_for_uri">
8383<description>
8384Utility function that launches the default application
8385registered to handle the specified uri. Synchronous I/O
8386is done on the uri to detect the type of the file if
8387required.
8388
8389The D-Bus–activated applications don't have to be started if your application
8390terminates too soon after this function. To prevent this, use
8391g_app_info_launch_default_for_uri_async() instead.
8392
8393
8394</description>
8395<parameters>
8396<parameter name="uri">
8397<parameter_description> the uri to show
8398</parameter_description>
8399</parameter>
8400<parameter name="context">
8401<parameter_description> an optional #GAppLaunchContext
8402</parameter_description>
8403</parameter>
8404<parameter name="error">
8405<parameter_description> return location for an error, or %NULL
8406</parameter_description>
8407</parameter>
8408</parameters>
8409<return> %TRUE on success, %FALSE on error.
8410</return>
8411</function>
8412
8413<function name="g_app_info_launch_default_for_uri_async">
8414<description>
8415Async version of g_app_info_launch_default_for_uri().
8416
8417This version is useful if you are interested in receiving
8418error information in the case where the application is
8419sandboxed and the portal may present an application chooser
8420dialog to the user.
8421
8422This is also useful if you want to be sure that the D-Bus–activated
8423applications are really started before termination and if you are interested
8424in receiving error information from their activation.
8425
8426Since: 2.50
8427
8428</description>
8429<parameters>
8430<parameter name="uri">
8431<parameter_description> the uri to show
8432</parameter_description>
8433</parameter>
8434<parameter name="context">
8435<parameter_description> an optional #GAppLaunchContext
8436</parameter_description>
8437</parameter>
8438<parameter name="cancellable">
8439<parameter_description> a #GCancellable
8440</parameter_description>
8441</parameter>
8442<parameter name="callback">
8443<parameter_description> a #GAsyncReadyCallback to call when the request is done
8444</parameter_description>
8445</parameter>
8446<parameter name="user_data">
8447<parameter_description> data to pass to @callback
8448</parameter_description>
8449</parameter>
8450</parameters>
8451<return></return>
8452</function>
8453
8454<function name="g_app_info_launch_default_for_uri_finish">
8455<description>
8456Finishes an asynchronous launch-default-for-uri operation.
8457
8458Since: 2.50
8459
8460</description>
8461<parameters>
8462<parameter name="result">
8463<parameter_description> a #GAsyncResult
8464</parameter_description>
8465</parameter>
8466<parameter name="error">
8467<parameter_description> return location for an error, or %NULL
8468</parameter_description>
8469</parameter>
8470</parameters>
8471<return> %TRUE if the launch was successful, %FALSE if @error is set
8472
8473</return>
8474</function>
8475
8476<function name="g_app_info_launch_uris">
8477<description>
8478Launches the application. This passes the @uris to the launched application
8479as arguments, using the optional @context to get information
8480about the details of the launcher (like what screen it is on).
8481On error, @error will be set accordingly.
8482
8483To launch the application without arguments pass a %NULL @uris list.
8484
8485Note that even if the launch is successful the application launched
8486can fail to start if it runs into problems during startup. There is
8487no way to detect this.
8488
8489
8490</description>
8491<parameters>
8492<parameter name="appinfo">
8493<parameter_description> a #GAppInfo
8494</parameter_description>
8495</parameter>
8496<parameter name="uris">
8497<parameter_description> a #GList containing URIs to launch.
8498</parameter_description>
8499</parameter>
8500<parameter name="context">
8501<parameter_description> a #GAppLaunchContext or %NULL
8502</parameter_description>
8503</parameter>
8504<parameter name="error">
8505<parameter_description> a #GError
8506</parameter_description>
8507</parameter>
8508</parameters>
8509<return> %TRUE on successful launch, %FALSE otherwise.
8510</return>
8511</function>
8512
8513<function name="g_app_info_launch_uris_async">
8514<description>
8515Async version of g_app_info_launch_uris().
8516
8517The @callback is invoked immediately after the application launch, but it
8518waits for activation in case of D-Bus–activated applications and also provides
8519extended error information for sandboxed applications, see notes for
8520g_app_info_launch_default_for_uri_async().
8521
8522Since: 2.60
8523
8524</description>
8525<parameters>
8526<parameter name="appinfo">
8527<parameter_description> a #GAppInfo
8528</parameter_description>
8529</parameter>
8530<parameter name="uris">
8531<parameter_description> a #GList containing URIs to launch.
8532</parameter_description>
8533</parameter>
8534<parameter name="context">
8535<parameter_description> a #GAppLaunchContext or %NULL
8536</parameter_description>
8537</parameter>
8538<parameter name="cancellable">
8539<parameter_description> a #GCancellable
8540</parameter_description>
8541</parameter>
8542<parameter name="callback">
8543<parameter_description> a #GAsyncReadyCallback to call when the request is done
8544</parameter_description>
8545</parameter>
8546<parameter name="user_data">
8547<parameter_description> data to pass to @callback
8548</parameter_description>
8549</parameter>
8550</parameters>
8551<return></return>
8552</function>
8553
8554<function name="g_app_info_launch_uris_finish">
8555<description>
8556Finishes a g_app_info_launch_uris_async() operation.
8557
8558Since: 2.60
8559
8560</description>
8561<parameters>
8562<parameter name="appinfo">
8563<parameter_description> a #GAppInfo
8564</parameter_description>
8565</parameter>
8566<parameter name="result">
8567<parameter_description> a #GAsyncResult
8568</parameter_description>
8569</parameter>
8570<parameter name="error">
8571<parameter_description> a #GError
8572</parameter_description>
8573</parameter>
8574</parameters>
8575<return> %TRUE on successful launch, %FALSE otherwise.
8576
8577</return>
8578</function>
8579
8580<function name="g_app_info_monitor_get">
8581<description>
8582Gets the #GAppInfoMonitor for the current thread-default main
8583context.
8584
8585The #GAppInfoMonitor will emit a &quot;changed&quot; signal in the
8586thread-default main context whenever the list of installed
8587applications (as reported by g_app_info_get_all()) may have changed.
8588
8589You must only call g_object_unref() on the return value from under
8590the same main context as you created it.
8591
8592Since: 2.40
8593
8594</description>
8595<parameters>
8596</parameters>
8597<return> a reference to a #GAppInfoMonitor
8598
8599</return>
8600</function>
8601
8602<function name="g_app_info_remove_supports_type">
8603<description>
8604Removes a supported type from an application, if possible.
8605
8606
8607</description>
8608<parameters>
8609<parameter name="appinfo">
8610<parameter_description> a #GAppInfo.
8611</parameter_description>
8612</parameter>
8613<parameter name="content_type">
8614<parameter_description> a string.
8615</parameter_description>
8616</parameter>
8617<parameter name="error">
8618<parameter_description> a #GError.
8619</parameter_description>
8620</parameter>
8621</parameters>
8622<return> %TRUE on success, %FALSE on error.
8623</return>
8624</function>
8625
8626<function name="g_app_info_reset_type_associations">
8627<description>
8628Removes all changes to the type associations done by
8629g_app_info_set_as_default_for_type(),
8630g_app_info_set_as_default_for_extension(),
8631g_app_info_add_supports_type() or
8632g_app_info_remove_supports_type().
8633
8634Since: 2.20
8635
8636</description>
8637<parameters>
8638<parameter name="content_type">
8639<parameter_description> a content type
8640</parameter_description>
8641</parameter>
8642</parameters>
8643<return></return>
8644</function>
8645
8646<function name="g_app_info_set_as_default_for_extension">
8647<description>
8648Sets the application as the default handler for the given file extension.
8649
8650
8651</description>
8652<parameters>
8653<parameter name="appinfo">
8654<parameter_description> a #GAppInfo.
8655</parameter_description>
8656</parameter>
8657<parameter name="extension">
8658<parameter_description> a string containing the file extension
8659(without the dot).
8660</parameter_description>
8661</parameter>
8662<parameter name="error">
8663<parameter_description> a #GError.
8664</parameter_description>
8665</parameter>
8666</parameters>
8667<return> %TRUE on success, %FALSE on error.
8668</return>
8669</function>
8670
8671<function name="g_app_info_set_as_default_for_type">
8672<description>
8673Sets the application as the default handler for a given type.
8674
8675
8676</description>
8677<parameters>
8678<parameter name="appinfo">
8679<parameter_description> a #GAppInfo.
8680</parameter_description>
8681</parameter>
8682<parameter name="content_type">
8683<parameter_description> the content type.
8684</parameter_description>
8685</parameter>
8686<parameter name="error">
8687<parameter_description> a #GError.
8688</parameter_description>
8689</parameter>
8690</parameters>
8691<return> %TRUE on success, %FALSE on error.
8692</return>
8693</function>
8694
8695<function name="g_app_info_set_as_last_used_for_type">
8696<description>
8697Sets the application as the last used application for a given type.
8698This will make the application appear as first in the list returned
8699by g_app_info_get_recommended_for_type(), regardless of the default
8700application for that content type.
8701
8702
8703</description>
8704<parameters>
8705<parameter name="appinfo">
8706<parameter_description> a #GAppInfo.
8707</parameter_description>
8708</parameter>
8709<parameter name="content_type">
8710<parameter_description> the content type.
8711</parameter_description>
8712</parameter>
8713<parameter name="error">
8714<parameter_description> a #GError.
8715</parameter_description>
8716</parameter>
8717</parameters>
8718<return> %TRUE on success, %FALSE on error.
8719</return>
8720</function>
8721
8722<function name="g_app_info_should_show">
8723<description>
8724Checks if the application info should be shown in menus that
8725list available applications.
8726
8727
8728</description>
8729<parameters>
8730<parameter name="appinfo">
8731<parameter_description> a #GAppInfo.
8732</parameter_description>
8733</parameter>
8734</parameters>
8735<return> %TRUE if the @appinfo should be shown, %FALSE otherwise.
8736</return>
8737</function>
8738
8739<function name="g_app_info_supports_files">
8740<description>
8741Checks if the application accepts files as arguments.
8742
8743
8744</description>
8745<parameters>
8746<parameter name="appinfo">
8747<parameter_description> a #GAppInfo.
8748</parameter_description>
8749</parameter>
8750</parameters>
8751<return> %TRUE if the @appinfo supports files.
8752</return>
8753</function>
8754
8755<function name="g_app_info_supports_uris">
8756<description>
8757Checks if the application supports reading files and directories from URIs.
8758
8759
8760</description>
8761<parameters>
8762<parameter name="appinfo">
8763<parameter_description> a #GAppInfo.
8764</parameter_description>
8765</parameter>
8766</parameters>
8767<return> %TRUE if the @appinfo supports URIs.
8768</return>
8769</function>
8770
8771<function name="g_app_launch_context_get_display">
8772<description>
8773Gets the display string for the @context. This is used to ensure new
8774applications are started on the same display as the launching
8775application, by setting the `DISPLAY` environment variable.
8776
8777
8778</description>
8779<parameters>
8780<parameter name="context">
8781<parameter_description> a #GAppLaunchContext
8782</parameter_description>
8783</parameter>
8784<parameter name="info">
8785<parameter_description> a #GAppInfo
8786</parameter_description>
8787</parameter>
8788<parameter name="files">
8789<parameter_description> a #GList of #GFile objects
8790</parameter_description>
8791</parameter>
8792</parameters>
8793<return> a display string for the display.
8794</return>
8795</function>
8796
8797<function name="g_app_launch_context_get_environment">
8798<description>
8799Gets the complete environment variable list to be passed to
8800the child process when @context is used to launch an application.
8801This is a %NULL-terminated array of strings, where each string has
8802the form `KEY=VALUE`.
8803
8804Since: 2.32
8805
8806</description>
8807<parameters>
8808<parameter name="context">
8809<parameter_description> a #GAppLaunchContext
8810</parameter_description>
8811</parameter>
8812</parameters>
8813<return>
8814the child's environment
8815
8816</return>
8817</function>
8818
8819<function name="g_app_launch_context_get_startup_notify_id">
8820<description>
8821Initiates startup notification for the application and returns the
8822`DESKTOP_STARTUP_ID` for the launched operation, if supported.
8823
8824Startup notification IDs are defined in the
8825[FreeDesktop.Org Startup Notifications standard](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).
8826
8827
8828</description>
8829<parameters>
8830<parameter name="context">
8831<parameter_description> a #GAppLaunchContext
8832</parameter_description>
8833</parameter>
8834<parameter name="info">
8835<parameter_description> a #GAppInfo
8836</parameter_description>
8837</parameter>
8838<parameter name="files">
8839<parameter_description> a #GList of of #GFile objects
8840</parameter_description>
8841</parameter>
8842</parameters>
8843<return> a startup notification ID for the application, or %NULL if
8844not supported.
8845</return>
8846</function>
8847
8848<function name="g_app_launch_context_launch_failed">
8849<description>
8850Called when an application has failed to launch, so that it can cancel
8851the application startup notification started in g_app_launch_context_get_startup_notify_id().
8852
8853
8854</description>
8855<parameters>
8856<parameter name="context">
8857<parameter_description> a #GAppLaunchContext.
8858</parameter_description>
8859</parameter>
8860<parameter name="startup_notify_id">
8861<parameter_description> the startup notification id that was returned by g_app_launch_context_get_startup_notify_id().
8862</parameter_description>
8863</parameter>
8864</parameters>
8865<return></return>
8866</function>
8867
8868<function name="g_app_launch_context_new">
8869<description>
8870Creates a new application launch context. This is not normally used,
8871instead you instantiate a subclass of this, such as #GdkAppLaunchContext.
8872
8873
8874</description>
8875<parameters>
8876</parameters>
8877<return> a #GAppLaunchContext.
8878</return>
8879</function>
8880
8881<function name="g_app_launch_context_setenv">
8882<description>
8883Arranges for @variable to be set to @value in the child's
8884environment when @context is used to launch an application.
8885
8886Since: 2.32
8887
8888</description>
8889<parameters>
8890<parameter name="context">
8891<parameter_description> a #GAppLaunchContext
8892</parameter_description>
8893</parameter>
8894<parameter name="variable">
8895<parameter_description> the environment variable to set
8896</parameter_description>
8897</parameter>
8898<parameter name="value">
8899<parameter_description> the value for to set the variable to.
8900</parameter_description>
8901</parameter>
8902</parameters>
8903<return></return>
8904</function>
8905
8906<function name="g_app_launch_context_unsetenv">
8907<description>
8908Arranges for @variable to be unset in the child's environment
8909when @context is used to launch an application.
8910
8911Since: 2.32
8912
8913</description>
8914<parameters>
8915<parameter name="context">
8916<parameter_description> a #GAppLaunchContext
8917</parameter_description>
8918</parameter>
8919<parameter name="variable">
8920<parameter_description> the environment variable to remove
8921</parameter_description>
8922</parameter>
8923</parameters>
8924<return></return>
8925</function>
8926
8927<function name="g_application_activate">
8928<description>
8929Activates the application.
8930
8931In essence, this results in the #GApplication::activate signal being
8932emitted in the primary instance.
8933
8934The application must be registered before calling this function.
8935
8936Since: 2.28
8937
8938</description>
8939<parameters>
8940<parameter name="application">
8941<parameter_description> a #GApplication
8942</parameter_description>
8943</parameter>
8944</parameters>
8945<return></return>
8946</function>
8947
8948<function name="g_application_add_main_option">
8949<description>
8950Add an option to be handled by @application.
8951
8952Calling this function is the equivalent of calling
8953g_application_add_main_option_entries() with a single #GOptionEntry
8954that has its arg_data member set to %NULL.
8955
8956The parsed arguments will be packed into a #GVariantDict which
8957is passed to #GApplication::handle-local-options. If
8958%G_APPLICATION_HANDLES_COMMAND_LINE is set, then it will also
8959be sent to the primary instance. See
8960g_application_add_main_option_entries() for more details.
8961
8962See #GOptionEntry for more documentation of the arguments.
8963
8964Since: 2.42
8965
8966</description>
8967<parameters>
8968<parameter name="application">
8969<parameter_description> the #GApplication
8970</parameter_description>
8971</parameter>
8972<parameter name="long_name">
8973<parameter_description> the long name of an option used to specify it in a commandline
8974</parameter_description>
8975</parameter>
8976<parameter name="short_name">
8977<parameter_description> the short name of an option
8978</parameter_description>
8979</parameter>
8980<parameter name="flags">
8981<parameter_description> flags from #GOptionFlags
8982</parameter_description>
8983</parameter>
8984<parameter name="arg">
8985<parameter_description> the type of the option, as a #GOptionArg
8986</parameter_description>
8987</parameter>
8988<parameter name="description">
8989<parameter_description> the description for the option in `--help` output
8990</parameter_description>
8991</parameter>
8992<parameter name="arg_description">
8993<parameter_description> the placeholder to use for the extra argument
8994parsed by the option in `--help` output
8995</parameter_description>
8996</parameter>
8997</parameters>
8998<return></return>
8999</function>
9000
9001<function name="g_application_add_main_option_entries">
9002<description>
9003Adds main option entries to be handled by @application.
9004
9005This function is comparable to g_option_context_add_main_entries().
9006
9007After the commandline arguments are parsed, the
9008#GApplication::handle-local-options signal will be emitted.  At this
9009point, the application can inspect the values pointed to by @arg_data
9010in the given #GOptionEntrys.
9011
9012Unlike #GOptionContext, #GApplication supports giving a %NULL
9013@arg_data for a non-callback #GOptionEntry.  This results in the
9014argument in question being packed into a #GVariantDict which is also
9015passed to #GApplication::handle-local-options, where it can be
9016inspected and modified.  If %G_APPLICATION_HANDLES_COMMAND_LINE is
9017set, then the resulting dictionary is sent to the primary instance,
9018where g_application_command_line_get_options_dict() will return it.
9019This &quot;packing&quot; is done according to the type of the argument --
9020booleans for normal flags, strings for strings, bytestrings for
9021filenames, etc.  The packing only occurs if the flag is given (ie: we
9022do not pack a &quot;false&quot; #GVariant in the case that a flag is missing).
9023
9024In general, it is recommended that all commandline arguments are
9025parsed locally.  The options dictionary should then be used to
9026transmit the result of the parsing to the primary instance, where
9027g_variant_dict_lookup() can be used.  For local options, it is
9028possible to either use @arg_data in the usual way, or to consult (and
9029potentially remove) the option from the options dictionary.
9030
9031This function is new in GLib 2.40.  Before then, the only real choice
9032was to send all of the commandline arguments (options and all) to the
9033primary instance for handling.  #GApplication ignored them completely
9034on the local side.  Calling this function &quot;opts in&quot; to the new
9035behaviour, and in particular, means that unrecognised options will be
9036treated as errors.  Unrecognised options have never been ignored when
9037%G_APPLICATION_HANDLES_COMMAND_LINE is unset.
9038
9039If #GApplication::handle-local-options needs to see the list of
9040filenames, then the use of %G_OPTION_REMAINING is recommended.  If
9041@arg_data is %NULL then %G_OPTION_REMAINING can be used as a key into
9042the options dictionary.  If you do use %G_OPTION_REMAINING then you
9043need to handle these arguments for yourself because once they are
9044consumed, they will no longer be visible to the default handling
9045(which treats them as filenames to be opened).
9046
9047It is important to use the proper GVariant format when retrieving
9048the options with g_variant_dict_lookup():
9049- for %G_OPTION_ARG_NONE, use `b`
9050- for %G_OPTION_ARG_STRING, use `&amp;s`
9051- for %G_OPTION_ARG_INT, use `i`
9052- for %G_OPTION_ARG_INT64, use `x`
9053- for %G_OPTION_ARG_DOUBLE, use `d`
9054- for %G_OPTION_ARG_FILENAME, use `^&amp;ay`
9055- for %G_OPTION_ARG_STRING_ARRAY, use `^a&amp;s`
9056- for %G_OPTION_ARG_FILENAME_ARRAY, use `^a&amp;ay`
9057
9058Since: 2.40
9059
9060</description>
9061<parameters>
9062<parameter name="application">
9063<parameter_description> a #GApplication
9064</parameter_description>
9065</parameter>
9066<parameter name="entries">
9067<parameter_description> (array zero-terminated=1) (element-type GOptionEntry) a
9068%NULL-terminated list of #GOptionEntrys
9069</parameter_description>
9070</parameter>
9071</parameters>
9072<return></return>
9073</function>
9074
9075<function name="g_application_add_option_group">
9076<description>
9077Adds a #GOptionGroup to the commandline handling of @application.
9078
9079This function is comparable to g_option_context_add_group().
9080
9081Unlike g_application_add_main_option_entries(), this function does
9082not deal with %NULL @arg_data and never transmits options to the
9083primary instance.
9084
9085The reason for that is because, by the time the options arrive at the
9086primary instance, it is typically too late to do anything with them.
9087Taking the GTK option group as an example: GTK will already have been
9088initialised by the time the #GApplication::command-line handler runs.
9089In the case that this is not the first-running instance of the
9090application, the existing instance may already have been running for
9091a very long time.
9092
9093This means that the options from #GOptionGroup are only really usable
9094in the case that the instance of the application being run is the
9095first instance.  Passing options like `--display=` or `--gdk-debug=`
9096on future runs will have no effect on the existing primary instance.
9097
9098Calling this function will cause the options in the supplied option
9099group to be parsed, but it does not cause you to be &quot;opted in&quot; to the
9100new functionality whereby unrecognised options are rejected even if
9101%G_APPLICATION_HANDLES_COMMAND_LINE was given.
9102
9103Since: 2.40
9104
9105</description>
9106<parameters>
9107<parameter name="application">
9108<parameter_description> the #GApplication
9109</parameter_description>
9110</parameter>
9111<parameter name="group">
9112<parameter_description> a #GOptionGroup
9113</parameter_description>
9114</parameter>
9115</parameters>
9116<return></return>
9117</function>
9118
9119<function name="g_application_bind_busy_property">
9120<description>
9121Marks @application as busy (see g_application_mark_busy()) while
9122@property on @object is %TRUE.
9123
9124The binding holds a reference to @application while it is active, but
9125not to @object. Instead, the binding is destroyed when @object is
9126finalized.
9127
9128Since: 2.44
9129
9130</description>
9131<parameters>
9132<parameter name="application">
9133<parameter_description> a #GApplication
9134</parameter_description>
9135</parameter>
9136<parameter name="object">
9137<parameter_description> a #GObject
9138</parameter_description>
9139</parameter>
9140<parameter name="property">
9141<parameter_description> the name of a boolean property of @object
9142</parameter_description>
9143</parameter>
9144</parameters>
9145<return></return>
9146</function>
9147
9148<function name="g_application_command_line_create_file_for_arg">
9149<description>
9150Creates a #GFile corresponding to a filename that was given as part
9151of the invocation of @cmdline.
9152
9153This differs from g_file_new_for_commandline_arg() in that it
9154resolves relative pathnames using the current working directory of
9155the invoking process rather than the local process.
9156
9157Since: 2.36
9158
9159</description>
9160<parameters>
9161<parameter name="cmdline">
9162<parameter_description> a #GApplicationCommandLine
9163</parameter_description>
9164</parameter>
9165<parameter name="arg">
9166<parameter_description> an argument from @cmdline
9167</parameter_description>
9168</parameter>
9169</parameters>
9170<return> a new #GFile
9171
9172</return>
9173</function>
9174
9175<function name="g_application_command_line_get_arguments">
9176<description>
9177Gets the list of arguments that was passed on the command line.
9178
9179The strings in the array may contain non-UTF-8 data on UNIX (such as
9180filenames or arguments given in the system locale) but are always in
9181UTF-8 on Windows.
9182
9183If you wish to use the return value with #GOptionContext, you must
9184use g_option_context_parse_strv().
9185
9186The return value is %NULL-terminated and should be freed using
9187g_strfreev().
9188
9189Since: 2.28
9190
9191</description>
9192<parameters>
9193<parameter name="cmdline">
9194<parameter_description> a #GApplicationCommandLine
9195</parameter_description>
9196</parameter>
9197<parameter name="argc">
9198<parameter_description> the length of the arguments array, or %NULL
9199</parameter_description>
9200</parameter>
9201</parameters>
9202<return> (array length=argc) (element-type filename) (transfer full)
9203the string array containing the arguments (the argv)
9204
9205</return>
9206</function>
9207
9208<function name="g_application_command_line_get_cwd">
9209<description>
9210Gets the working directory of the command line invocation.
9211The string may contain non-utf8 data.
9212
9213It is possible that the remote application did not send a working
9214directory, so this may be %NULL.
9215
9216The return value should not be modified or freed and is valid for as
9217long as @cmdline exists.
9218
9219Since: 2.28
9220
9221</description>
9222<parameters>
9223<parameter name="cmdline">
9224<parameter_description> a #GApplicationCommandLine
9225</parameter_description>
9226</parameter>
9227</parameters>
9228<return> the current directory, or %NULL
9229
9230</return>
9231</function>
9232
9233<function name="g_application_command_line_get_environ">
9234<description>
9235Gets the contents of the 'environ' variable of the command line
9236invocation, as would be returned by g_get_environ(), ie as a
9237%NULL-terminated list of strings in the form 'NAME=VALUE'.
9238The strings may contain non-utf8 data.
9239
9240The remote application usually does not send an environment.  Use
9241%G_APPLICATION_SEND_ENVIRONMENT to affect that.  Even with this flag
9242set it is possible that the environment is still not available (due
9243to invocation messages from other applications).
9244
9245The return value should not be modified or freed and is valid for as
9246long as @cmdline exists.
9247
9248See g_application_command_line_getenv() if you are only interested
9249in the value of a single environment variable.
9250
9251Since: 2.28
9252
9253</description>
9254<parameters>
9255<parameter name="cmdline">
9256<parameter_description> a #GApplicationCommandLine
9257</parameter_description>
9258</parameter>
9259</parameters>
9260<return>
9261the environment strings, or %NULL if they were not sent
9262
9263</return>
9264</function>
9265
9266<function name="g_application_command_line_get_exit_status">
9267<description>
9268Gets the exit status of @cmdline.  See
9269g_application_command_line_set_exit_status() for more information.
9270
9271Since: 2.28
9272
9273</description>
9274<parameters>
9275<parameter name="cmdline">
9276<parameter_description> a #GApplicationCommandLine
9277</parameter_description>
9278</parameter>
9279</parameters>
9280<return> the exit status
9281
9282</return>
9283</function>
9284
9285<function name="g_application_command_line_get_is_remote">
9286<description>
9287Determines if @cmdline represents a remote invocation.
9288
9289Since: 2.28
9290
9291</description>
9292<parameters>
9293<parameter name="cmdline">
9294<parameter_description> a #GApplicationCommandLine
9295</parameter_description>
9296</parameter>
9297</parameters>
9298<return> %TRUE if the invocation was remote
9299
9300</return>
9301</function>
9302
9303<function name="g_application_command_line_get_options_dict">
9304<description>
9305Gets the options there were passed to g_application_command_line().
9306
9307If you did not override local_command_line() then these are the same
9308options that were parsed according to the #GOptionEntrys added to the
9309application with g_application_add_main_option_entries() and possibly
9310modified from your GApplication::handle-local-options handler.
9311
9312If no options were sent then an empty dictionary is returned so that
9313you don't need to check for %NULL.
9314
9315Since: 2.40
9316
9317</description>
9318<parameters>
9319<parameter name="cmdline">
9320<parameter_description> a #GApplicationCommandLine
9321</parameter_description>
9322</parameter>
9323</parameters>
9324<return> a #GVariantDict with the options
9325
9326</return>
9327</function>
9328
9329<function name="g_application_command_line_get_platform_data">
9330<description>
9331Gets the platform data associated with the invocation of @cmdline.
9332
9333This is a #GVariant dictionary containing information about the
9334context in which the invocation occurred.  It typically contains
9335information like the current working directory and the startup
9336notification ID.
9337
9338For local invocation, it will be %NULL.
9339
9340Since: 2.28
9341
9342</description>
9343<parameters>
9344<parameter name="cmdline">
9345<parameter_description> #GApplicationCommandLine
9346</parameter_description>
9347</parameter>
9348</parameters>
9349<return> the platform data, or %NULL
9350
9351</return>
9352</function>
9353
9354<function name="g_application_command_line_get_stdin">
9355<description>
9356Gets the stdin of the invoking process.
9357
9358The #GInputStream can be used to read data passed to the standard
9359input of the invoking process.
9360This doesn't work on all platforms.  Presently, it is only available
9361on UNIX when using a DBus daemon capable of passing file descriptors.
9362If stdin is not available then %NULL will be returned.  In the
9363future, support may be expanded to other platforms.
9364
9365You must only call this function once per commandline invocation.
9366
9367Since: 2.34
9368
9369</description>
9370<parameters>
9371<parameter name="cmdline">
9372<parameter_description> a #GApplicationCommandLine
9373</parameter_description>
9374</parameter>
9375</parameters>
9376<return> a #GInputStream for stdin
9377
9378</return>
9379</function>
9380
9381<function name="g_application_command_line_getenv">
9382<description>
9383Gets the value of a particular environment variable of the command
9384line invocation, as would be returned by g_getenv().  The strings may
9385contain non-utf8 data.
9386
9387The remote application usually does not send an environment.  Use
9388%G_APPLICATION_SEND_ENVIRONMENT to affect that.  Even with this flag
9389set it is possible that the environment is still not available (due
9390to invocation messages from other applications).
9391
9392The return value should not be modified or freed and is valid for as
9393long as @cmdline exists.
9394
9395Since: 2.28
9396
9397</description>
9398<parameters>
9399<parameter name="cmdline">
9400<parameter_description> a #GApplicationCommandLine
9401</parameter_description>
9402</parameter>
9403<parameter name="name">
9404<parameter_description> the environment variable to get
9405</parameter_description>
9406</parameter>
9407</parameters>
9408<return> the value of the variable, or %NULL if unset or unsent
9409
9410</return>
9411</function>
9412
9413<function name="g_application_command_line_print">
9414<description>
9415Formats a message and prints it using the stdout print handler in the
9416invoking process.
9417
9418If @cmdline is a local invocation then this is exactly equivalent to
9419g_print().  If @cmdline is remote then this is equivalent to calling
9420g_print() in the invoking process.
9421
9422Since: 2.28
9423
9424</description>
9425<parameters>
9426<parameter name="cmdline">
9427<parameter_description> a #GApplicationCommandLine
9428</parameter_description>
9429</parameter>
9430<parameter name="format">
9431<parameter_description> a printf-style format string
9432</parameter_description>
9433</parameter>
9434<parameter name="Varargs">
9435<parameter_description> arguments, as per @format
9436</parameter_description>
9437</parameter>
9438</parameters>
9439<return></return>
9440</function>
9441
9442<function name="g_application_command_line_printerr">
9443<description>
9444Formats a message and prints it using the stderr print handler in the
9445invoking process.
9446
9447If @cmdline is a local invocation then this is exactly equivalent to
9448g_printerr().  If @cmdline is remote then this is equivalent to
9449calling g_printerr() in the invoking process.
9450
9451Since: 2.28
9452
9453</description>
9454<parameters>
9455<parameter name="cmdline">
9456<parameter_description> a #GApplicationCommandLine
9457</parameter_description>
9458</parameter>
9459<parameter name="format">
9460<parameter_description> a printf-style format string
9461</parameter_description>
9462</parameter>
9463<parameter name="Varargs">
9464<parameter_description> arguments, as per @format
9465</parameter_description>
9466</parameter>
9467</parameters>
9468<return></return>
9469</function>
9470
9471<function name="g_application_command_line_set_exit_status">
9472<description>
9473Sets the exit status that will be used when the invoking process
9474exits.
9475
9476The return value of the #GApplication::command-line signal is
9477passed to this function when the handler returns.  This is the usual
9478way of setting the exit status.
9479
9480In the event that you want the remote invocation to continue running
9481and want to decide on the exit status in the future, you can use this
9482call.  For the case of a remote invocation, the remote process will
9483typically exit when the last reference is dropped on @cmdline.  The
9484exit status of the remote process will be equal to the last value
9485that was set with this function.
9486
9487In the case that the commandline invocation is local, the situation
9488is slightly more complicated.  If the commandline invocation results
9489in the mainloop running (ie: because the use-count of the application
9490increased to a non-zero value) then the application is considered to
9491have been 'successful' in a certain sense, and the exit status is
9492always zero.  If the application use count is zero, though, the exit
9493status of the local #GApplicationCommandLine is used.
9494
9495Since: 2.28
9496
9497</description>
9498<parameters>
9499<parameter name="cmdline">
9500<parameter_description> a #GApplicationCommandLine
9501</parameter_description>
9502</parameter>
9503<parameter name="exit_status">
9504<parameter_description> the exit status
9505</parameter_description>
9506</parameter>
9507</parameters>
9508<return></return>
9509</function>
9510
9511<function name="g_application_get_application_id">
9512<description>
9513Gets the unique identifier for @application.
9514
9515Since: 2.28
9516
9517</description>
9518<parameters>
9519<parameter name="application">
9520<parameter_description> a #GApplication
9521</parameter_description>
9522</parameter>
9523</parameters>
9524<return> the identifier for @application, owned by @application
9525
9526</return>
9527</function>
9528
9529<function name="g_application_get_dbus_connection">
9530<description>
9531Gets the #GDBusConnection being used by the application, or %NULL.
9532
9533If #GApplication is using its D-Bus backend then this function will
9534return the #GDBusConnection being used for uniqueness and
9535communication with the desktop environment and other instances of the
9536application.
9537
9538If #GApplication is not using D-Bus then this function will return
9539%NULL.  This includes the situation where the D-Bus backend would
9540normally be in use but we were unable to connect to the bus.
9541
9542This function must not be called before the application has been
9543registered.  See g_application_get_is_registered().
9544
9545Since: 2.34
9546
9547</description>
9548<parameters>
9549<parameter name="application">
9550<parameter_description> a #GApplication
9551</parameter_description>
9552</parameter>
9553</parameters>
9554<return> a #GDBusConnection, or %NULL
9555
9556</return>
9557</function>
9558
9559<function name="g_application_get_dbus_object_path">
9560<description>
9561Gets the D-Bus object path being used by the application, or %NULL.
9562
9563If #GApplication is using its D-Bus backend then this function will
9564return the D-Bus object path that #GApplication is using.  If the
9565application is the primary instance then there is an object published
9566at this path.  If the application is not the primary instance then
9567the result of this function is undefined.
9568
9569If #GApplication is not using D-Bus then this function will return
9570%NULL.  This includes the situation where the D-Bus backend would
9571normally be in use but we were unable to connect to the bus.
9572
9573This function must not be called before the application has been
9574registered.  See g_application_get_is_registered().
9575
9576Since: 2.34
9577
9578</description>
9579<parameters>
9580<parameter name="application">
9581<parameter_description> a #GApplication
9582</parameter_description>
9583</parameter>
9584</parameters>
9585<return> the object path, or %NULL
9586
9587</return>
9588</function>
9589
9590<function name="g_application_get_default">
9591<description>
9592Returns the default #GApplication instance for this process.
9593
9594Normally there is only one #GApplication per process and it becomes
9595the default when it is created.  You can exercise more control over
9596this by using g_application_set_default().
9597
9598If there is no default application then %NULL is returned.
9599
9600Since: 2.32
9601
9602</description>
9603<parameters>
9604</parameters>
9605<return> the default application for this process, or %NULL
9606
9607</return>
9608</function>
9609
9610<function name="g_application_get_flags">
9611<description>
9612Gets the flags for @application.
9613
9614See #GApplicationFlags.
9615
9616Since: 2.28
9617
9618</description>
9619<parameters>
9620<parameter name="application">
9621<parameter_description> a #GApplication
9622</parameter_description>
9623</parameter>
9624</parameters>
9625<return> the flags for @application
9626
9627</return>
9628</function>
9629
9630<function name="g_application_get_inactivity_timeout">
9631<description>
9632Gets the current inactivity timeout for the application.
9633
9634This is the amount of time (in milliseconds) after the last call to
9635g_application_release() before the application stops running.
9636
9637Since: 2.28
9638
9639</description>
9640<parameters>
9641<parameter name="application">
9642<parameter_description> a #GApplication
9643</parameter_description>
9644</parameter>
9645</parameters>
9646<return> the timeout, in milliseconds
9647
9648</return>
9649</function>
9650
9651<function name="g_application_get_is_busy">
9652<description>
9653Gets the application's current busy state, as set through
9654g_application_mark_busy() or g_application_bind_busy_property().
9655
9656Since: 2.44
9657
9658</description>
9659<parameters>
9660<parameter name="application">
9661<parameter_description> a #GApplication
9662</parameter_description>
9663</parameter>
9664</parameters>
9665<return> %TRUE if @application is currenty marked as busy
9666
9667</return>
9668</function>
9669
9670<function name="g_application_get_is_registered">
9671<description>
9672Checks if @application is registered.
9673
9674An application is registered if g_application_register() has been
9675successfully called.
9676
9677Since: 2.28
9678
9679</description>
9680<parameters>
9681<parameter name="application">
9682<parameter_description> a #GApplication
9683</parameter_description>
9684</parameter>
9685</parameters>
9686<return> %TRUE if @application is registered
9687
9688</return>
9689</function>
9690
9691<function name="g_application_get_is_remote">
9692<description>
9693Checks if @application is remote.
9694
9695If @application is remote then it means that another instance of
9696application already exists (the 'primary' instance).  Calls to
9697perform actions on @application will result in the actions being
9698performed by the primary instance.
9699
9700The value of this property cannot be accessed before
9701g_application_register() has been called.  See
9702g_application_get_is_registered().
9703
9704Since: 2.28
9705
9706</description>
9707<parameters>
9708<parameter name="application">
9709<parameter_description> a #GApplication
9710</parameter_description>
9711</parameter>
9712</parameters>
9713<return> %TRUE if @application is remote
9714
9715</return>
9716</function>
9717
9718<function name="g_application_get_resource_base_path">
9719<description>
9720Gets the resource base path of @application.
9721
9722See g_application_set_resource_base_path() for more information.
9723
9724Since: 2.42
9725
9726</description>
9727<parameters>
9728<parameter name="application">
9729<parameter_description> a #GApplication
9730</parameter_description>
9731</parameter>
9732</parameters>
9733<return> the base resource path, if one is set
9734
9735</return>
9736</function>
9737
9738<function name="g_application_hold">
9739<description>
9740Increases the use count of @application.
9741
9742Use this function to indicate that the application has a reason to
9743continue to run.  For example, g_application_hold() is called by GTK+
9744when a toplevel window is on the screen.
9745
9746To cancel the hold, call g_application_release().
9747
9748</description>
9749<parameters>
9750<parameter name="application">
9751<parameter_description> a #GApplication
9752</parameter_description>
9753</parameter>
9754</parameters>
9755<return></return>
9756</function>
9757
9758<function name="g_application_id_is_valid">
9759<description>
9760Checks if @application_id is a valid application identifier.
9761
9762A valid ID is required for calls to g_application_new() and
9763g_application_set_application_id().
9764
9765Application identifiers follow the same format as
9766[D-Bus well-known bus names](https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-bus).
9767For convenience, the restrictions on application identifiers are
9768reproduced here:
9769
9770- Application identifiers are composed of 1 or more elements separated by a
9771period (`.`) character. All elements must contain at least one character.
9772
9773- Each element must only contain the ASCII characters `[A-Z][a-z][0-9]_-`,
9774with `-` discouraged in new application identifiers. Each element must not
9775begin with a digit.
9776
9777- Application identifiers must contain at least one `.` (period) character
9778(and thus at least two elements).
9779
9780- Application identifiers must not begin with a `.` (period) character.
9781
9782- Application identifiers must not exceed 255 characters.
9783
9784Note that the hyphen (`-`) character is allowed in application identifiers,
9785but is problematic or not allowed in various specifications and APIs that
9786refer to D-Bus, such as
9787[Flatpak application IDs](http://docs.flatpak.org/en/latest/introduction.html#identifiers),
9788the
9789[`DBusActivatable` interface in the Desktop Entry Specification](https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#dbus),
9790and the convention that an application's &quot;main&quot; interface and object path
9791resemble its application identifier and bus name. To avoid situations that
9792require special-case handling, it is recommended that new application
9793identifiers consistently replace hyphens with underscores.
9794
9795Like D-Bus interface names, application identifiers should start with the
9796reversed DNS domain name of the author of the interface (in lower-case), and
9797it is conventional for the rest of the application identifier to consist of
9798words run together, with initial capital letters.
9799
9800As with D-Bus interface names, if the author's DNS domain name contains
9801hyphen/minus characters they should be replaced by underscores, and if it
9802contains leading digits they should be escaped by prepending an underscore.
9803For example, if the owner of 7-zip.org used an application identifier for an
9804archiving application, it might be named `org._7_zip.Archiver`.
9805
9806
9807</description>
9808<parameters>
9809<parameter name="application_id">
9810<parameter_description> a potential application identifier
9811</parameter_description>
9812</parameter>
9813</parameters>
9814<return> %TRUE if @application_id is valid
9815</return>
9816</function>
9817
9818<function name="g_application_mark_busy">
9819<description>
9820Increases the busy count of @application.
9821
9822Use this function to indicate that the application is busy, for instance
9823while a long running operation is pending.
9824
9825The busy state will be exposed to other processes, so a session shell will
9826use that information to indicate the state to the user (e.g. with a
9827spinner).
9828
9829To cancel the busy indication, use g_application_unmark_busy().
9830
9831Since: 2.38
9832
9833</description>
9834<parameters>
9835<parameter name="application">
9836<parameter_description> a #GApplication
9837</parameter_description>
9838</parameter>
9839</parameters>
9840<return></return>
9841</function>
9842
9843<function name="g_application_new">
9844<description>
9845Creates a new #GApplication instance.
9846
9847If non-%NULL, the application id must be valid.  See
9848g_application_id_is_valid().
9849
9850If no application ID is given then some features of #GApplication
9851(most notably application uniqueness) will be disabled.
9852
9853
9854</description>
9855<parameters>
9856<parameter name="application_id">
9857<parameter_description> the application id
9858</parameter_description>
9859</parameter>
9860<parameter name="flags">
9861<parameter_description> the application flags
9862</parameter_description>
9863</parameter>
9864</parameters>
9865<return> a new #GApplication instance
9866</return>
9867</function>
9868
9869<function name="g_application_open">
9870<description>
9871Opens the given files.
9872
9873In essence, this results in the #GApplication::open signal being emitted
9874in the primary instance.
9875
9876@n_files must be greater than zero.
9877
9878@hint is simply passed through to the ::open signal.  It is
9879intended to be used by applications that have multiple modes for
9880opening files (eg: &quot;view&quot; vs &quot;edit&quot;, etc).  Unless you have a need
9881for this functionality, you should use &quot;&quot;.
9882
9883The application must be registered before calling this function
9884and it must have the %G_APPLICATION_HANDLES_OPEN flag set.
9885
9886Since: 2.28
9887
9888</description>
9889<parameters>
9890<parameter name="application">
9891<parameter_description> a #GApplication
9892</parameter_description>
9893</parameter>
9894<parameter name="files">
9895<parameter_description> an array of #GFiles to open
9896</parameter_description>
9897</parameter>
9898<parameter name="n_files">
9899<parameter_description> the length of the @files array
9900</parameter_description>
9901</parameter>
9902<parameter name="hint">
9903<parameter_description> a hint (or &quot;&quot;), but never %NULL
9904</parameter_description>
9905</parameter>
9906</parameters>
9907<return></return>
9908</function>
9909
9910<function name="g_application_quit">
9911<description>
9912Immediately quits the application.
9913
9914Upon return to the mainloop, g_application_run() will return,
9915calling only the 'shutdown' function before doing so.
9916
9917The hold count is ignored.
9918Take care if your code has called g_application_hold() on the application and
9919is therefore still expecting it to exist.
9920(Note that you may have called g_application_hold() indirectly, for example
9921through gtk_application_add_window().)
9922
9923The result of calling g_application_run() again after it returns is
9924unspecified.
9925
9926Since: 2.32
9927
9928</description>
9929<parameters>
9930<parameter name="application">
9931<parameter_description> a #GApplication
9932</parameter_description>
9933</parameter>
9934</parameters>
9935<return></return>
9936</function>
9937
9938<function name="g_application_register">
9939<description>
9940Attempts registration of the application.
9941
9942This is the point at which the application discovers if it is the
9943primary instance or merely acting as a remote for an already-existing
9944primary instance.  This is implemented by attempting to acquire the
9945application identifier as a unique bus name on the session bus using
9946GDBus.
9947
9948If there is no application ID or if %G_APPLICATION_NON_UNIQUE was
9949given, then this process will always become the primary instance.
9950
9951Due to the internal architecture of GDBus, method calls can be
9952dispatched at any time (even if a main loop is not running).  For
9953this reason, you must ensure that any object paths that you wish to
9954register are registered before calling this function.
9955
9956If the application has already been registered then %TRUE is
9957returned with no work performed.
9958
9959The #GApplication::startup signal is emitted if registration succeeds
9960and @application is the primary instance (including the non-unique
9961case).
9962
9963In the event of an error (such as @cancellable being cancelled, or a
9964failure to connect to the session bus), %FALSE is returned and @error
9965is set appropriately.
9966
9967Note: the return value of this function is not an indicator that this
9968instance is or is not the primary instance of the application.  See
9969g_application_get_is_remote() for that.
9970
9971Since: 2.28
9972
9973</description>
9974<parameters>
9975<parameter name="application">
9976<parameter_description> a #GApplication
9977</parameter_description>
9978</parameter>
9979<parameter name="cancellable">
9980<parameter_description> a #GCancellable, or %NULL
9981</parameter_description>
9982</parameter>
9983<parameter name="error">
9984<parameter_description> a pointer to a NULL #GError, or %NULL
9985</parameter_description>
9986</parameter>
9987</parameters>
9988<return> %TRUE if registration succeeded
9989
9990</return>
9991</function>
9992
9993<function name="g_application_release">
9994<description>
9995Decrease the use count of @application.
9996
9997When the use count reaches zero, the application will stop running.
9998
9999Never call this function except to cancel the effect of a previous
10000call to g_application_hold().
10001
10002</description>
10003<parameters>
10004<parameter name="application">
10005<parameter_description> a #GApplication
10006</parameter_description>
10007</parameter>
10008</parameters>
10009<return></return>
10010</function>
10011
10012<function name="g_application_run">
10013<description>
10014Runs the application.
10015
10016This function is intended to be run from main() and its return value
10017is intended to be returned by main(). Although you are expected to pass
10018the @argc, @argv parameters from main() to this function, it is possible
10019to pass %NULL if @argv is not available or commandline handling is not
10020required.  Note that on Windows, @argc and @argv are ignored, and
10021g_win32_get_command_line() is called internally (for proper support
10022of Unicode commandline arguments).
10023
10024#GApplication will attempt to parse the commandline arguments.  You
10025can add commandline flags to the list of recognised options by way of
10026g_application_add_main_option_entries().  After this, the
10027#GApplication::handle-local-options signal is emitted, from which the
10028application can inspect the values of its #GOptionEntrys.
10029
10030#GApplication::handle-local-options is a good place to handle options
10031such as `--version`, where an immediate reply from the local process is
10032desired (instead of communicating with an already-running instance).
10033A #GApplication::handle-local-options handler can stop further processing
10034by returning a non-negative value, which then becomes the exit status of
10035the process.
10036
10037What happens next depends on the flags: if
10038%G_APPLICATION_HANDLES_COMMAND_LINE was specified then the remaining
10039commandline arguments are sent to the primary instance, where a
10040#GApplication::command-line signal is emitted.  Otherwise, the
10041remaining commandline arguments are assumed to be a list of files.
10042If there are no files listed, the application is activated via the
10043#GApplication::activate signal.  If there are one or more files, and
10044%G_APPLICATION_HANDLES_OPEN was specified then the files are opened
10045via the #GApplication::open signal.
10046
10047If you are interested in doing more complicated local handling of the
10048commandline then you should implement your own #GApplication subclass
10049and override local_command_line(). In this case, you most likely want
10050to return %TRUE from your local_command_line() implementation to
10051suppress the default handling. See
10052[gapplication-example-cmdline2.c][gapplication-example-cmdline2]
10053for an example.
10054
10055If, after the above is done, the use count of the application is zero
10056then the exit status is returned immediately.  If the use count is
10057non-zero then the default main context is iterated until the use count
10058falls to zero, at which point 0 is returned.
10059
10060If the %G_APPLICATION_IS_SERVICE flag is set, then the service will
10061run for as much as 10 seconds with a use count of zero while waiting
10062for the message that caused the activation to arrive.  After that,
10063if the use count falls to zero the application will exit immediately,
10064except in the case that g_application_set_inactivity_timeout() is in
10065use.
10066
10067This function sets the prgname (g_set_prgname()), if not already set,
10068to the basename of argv[0].
10069
10070Much like g_main_loop_run(), this function will acquire the main context
10071for the duration that the application is running.
10072
10073Since 2.40, applications that are not explicitly flagged as services
10074or launchers (ie: neither %G_APPLICATION_IS_SERVICE or
10075%G_APPLICATION_IS_LAUNCHER are given as flags) will check (from the
10076default handler for local_command_line) if &quot;--gapplication-service&quot;
10077was given in the command line.  If this flag is present then normal
10078commandline processing is interrupted and the
10079%G_APPLICATION_IS_SERVICE flag is set.  This provides a &quot;compromise&quot;
10080solution whereby running an application directly from the commandline
10081will invoke it in the normal way (which can be useful for debugging)
10082while still allowing applications to be D-Bus activated in service
10083mode.  The D-Bus service file should invoke the executable with
10084&quot;--gapplication-service&quot; as the sole commandline argument.  This
10085approach is suitable for use by most graphical applications but
10086should not be used from applications like editors that need precise
10087control over when processes invoked via the commandline will exit and
10088what their exit status will be.
10089
10090Since: 2.28
10091
10092</description>
10093<parameters>
10094<parameter name="application">
10095<parameter_description> a #GApplication
10096</parameter_description>
10097</parameter>
10098<parameter name="argc">
10099<parameter_description> the argc from main() (or 0 if @argv is %NULL)
10100</parameter_description>
10101</parameter>
10102<parameter name="argv">
10103<parameter_description>
10104the argv from main(), or %NULL
10105</parameter_description>
10106</parameter>
10107</parameters>
10108<return> the exit status
10109
10110</return>
10111</function>
10112
10113<function name="g_application_send_notification">
10114<description>
10115Sends a notification on behalf of @application to the desktop shell.
10116There is no guarantee that the notification is displayed immediately,
10117or even at all.
10118
10119Notifications may persist after the application exits. It will be
10120D-Bus-activated when the notification or one of its actions is
10121activated.
10122
10123Modifying @notification after this call has no effect. However, the
10124object can be reused for a later call to this function.
10125
10126@id may be any string that uniquely identifies the event for the
10127application. It does not need to be in any special format. For
10128example, &quot;new-message&quot; might be appropriate for a notification about
10129new messages.
10130
10131If a previous notification was sent with the same @id, it will be
10132replaced with @notification and shown again as if it was a new
10133notification. This works even for notifications sent from a previous
10134execution of the application, as long as @id is the same string.
10135
10136@id may be %NULL, but it is impossible to replace or withdraw
10137notifications without an id.
10138
10139If @notification is no longer relevant, it can be withdrawn with
10140g_application_withdraw_notification().
10141
10142Since: 2.40
10143
10144</description>
10145<parameters>
10146<parameter name="application">
10147<parameter_description> a #GApplication
10148</parameter_description>
10149</parameter>
10150<parameter name="id">
10151<parameter_description> id of the notification, or %NULL
10152</parameter_description>
10153</parameter>
10154<parameter name="notification">
10155<parameter_description> the #GNotification to send
10156</parameter_description>
10157</parameter>
10158</parameters>
10159<return></return>
10160</function>
10161
10162<function name="g_application_set_action_group">
10163<description>
10164This used to be how actions were associated with a #GApplication.
10165Now there is #GActionMap for that.
10166
10167Since: 2.28
10168
10169Deprecated:2.32:Use the #GActionMap interface instead.  Never ever
10170mix use of this API with use of #GActionMap on the same @application
10171or things will go very badly wrong.  This function is known to
10172introduce buggy behaviour (ie: signals not emitted on changes to the
10173action group), so you should really use #GActionMap instead.
10174
10175</description>
10176<parameters>
10177<parameter name="application">
10178<parameter_description> a #GApplication
10179</parameter_description>
10180</parameter>
10181<parameter name="action_group">
10182<parameter_description> a #GActionGroup, or %NULL
10183</parameter_description>
10184</parameter>
10185</parameters>
10186<return></return>
10187</function>
10188
10189<function name="g_application_set_application_id">
10190<description>
10191Sets the unique identifier for @application.
10192
10193The application id can only be modified if @application has not yet
10194been registered.
10195
10196If non-%NULL, the application id must be valid.  See
10197g_application_id_is_valid().
10198
10199Since: 2.28
10200
10201</description>
10202<parameters>
10203<parameter name="application">
10204<parameter_description> a #GApplication
10205</parameter_description>
10206</parameter>
10207<parameter name="application_id">
10208<parameter_description> the identifier for @application
10209</parameter_description>
10210</parameter>
10211</parameters>
10212<return></return>
10213</function>
10214
10215<function name="g_application_set_default">
10216<description>
10217Sets or unsets the default application for the process, as returned
10218by g_application_get_default().
10219
10220This function does not take its own reference on @application.  If
10221@application is destroyed then the default application will revert
10222back to %NULL.
10223
10224Since: 2.32
10225
10226</description>
10227<parameters>
10228<parameter name="application">
10229<parameter_description> the application to set as default, or %NULL
10230</parameter_description>
10231</parameter>
10232</parameters>
10233<return></return>
10234</function>
10235
10236<function name="g_application_set_flags">
10237<description>
10238Sets the flags for @application.
10239
10240The flags can only be modified if @application has not yet been
10241registered.
10242
10243See #GApplicationFlags.
10244
10245Since: 2.28
10246
10247</description>
10248<parameters>
10249<parameter name="application">
10250<parameter_description> a #GApplication
10251</parameter_description>
10252</parameter>
10253<parameter name="flags">
10254<parameter_description> the flags for @application
10255</parameter_description>
10256</parameter>
10257</parameters>
10258<return></return>
10259</function>
10260
10261<function name="g_application_set_inactivity_timeout">
10262<description>
10263Sets the current inactivity timeout for the application.
10264
10265This is the amount of time (in milliseconds) after the last call to
10266g_application_release() before the application stops running.
10267
10268This call has no side effects of its own.  The value set here is only
10269used for next time g_application_release() drops the use count to
10270zero.  Any timeouts currently in progress are not impacted.
10271
10272Since: 2.28
10273
10274</description>
10275<parameters>
10276<parameter name="application">
10277<parameter_description> a #GApplication
10278</parameter_description>
10279</parameter>
10280<parameter name="inactivity_timeout">
10281<parameter_description> the timeout, in milliseconds
10282</parameter_description>
10283</parameter>
10284</parameters>
10285<return></return>
10286</function>
10287
10288<function name="g_application_set_option_context_description">
10289<description>
10290Adds a description to the @application option context.
10291
10292See g_option_context_set_description() for more information.
10293
10294Since: 2.56
10295
10296</description>
10297<parameters>
10298<parameter name="application">
10299<parameter_description> the #GApplication
10300</parameter_description>
10301</parameter>
10302<parameter name="description">
10303<parameter_description> a string to be shown in `--help` output
10304after the list of options, or %NULL
10305</parameter_description>
10306</parameter>
10307</parameters>
10308<return></return>
10309</function>
10310
10311<function name="g_application_set_option_context_parameter_string">
10312<description>
10313Sets the parameter string to be used by the commandline handling of @application.
10314
10315This function registers the argument to be passed to g_option_context_new()
10316when the internal #GOptionContext of @application is created.
10317
10318See g_option_context_new() for more information about @parameter_string.
10319
10320Since: 2.56
10321
10322</description>
10323<parameters>
10324<parameter name="application">
10325<parameter_description> the #GApplication
10326</parameter_description>
10327</parameter>
10328<parameter name="parameter_string">
10329<parameter_description> a string which is displayed
10330in the first line of `--help` output, after the usage summary `programname [OPTION...]`.
10331</parameter_description>
10332</parameter>
10333</parameters>
10334<return></return>
10335</function>
10336
10337<function name="g_application_set_option_context_summary">
10338<description>
10339Adds a summary to the @application option context.
10340
10341See g_option_context_set_summary() for more information.
10342
10343Since: 2.56
10344
10345</description>
10346<parameters>
10347<parameter name="application">
10348<parameter_description> the #GApplication
10349</parameter_description>
10350</parameter>
10351<parameter name="summary">
10352<parameter_description> a string to be shown in `--help` output
10353before the list of options, or %NULL
10354</parameter_description>
10355</parameter>
10356</parameters>
10357<return></return>
10358</function>
10359
10360<function name="g_application_set_resource_base_path">
10361<description>
10362Sets (or unsets) the base resource path of @application.
10363
10364The path is used to automatically load various [application
10365resources][gresource] such as menu layouts and action descriptions.
10366The various types of resources will be found at fixed names relative
10367to the given base path.
10368
10369By default, the resource base path is determined from the application
10370ID by prefixing '/' and replacing each '.' with '/'.  This is done at
10371the time that the #GApplication object is constructed.  Changes to
10372the application ID after that point will not have an impact on the
10373resource base path.
10374
10375As an example, if the application has an ID of &quot;org.example.app&quot; then
10376the default resource base path will be &quot;/org/example/app&quot;.  If this
10377is a #GtkApplication (and you have not manually changed the path)
10378then Gtk will then search for the menus of the application at
10379&quot;/org/example/app/gtk/menus.ui&quot;.
10380
10381See #GResource for more information about adding resources to your
10382application.
10383
10384You can disable automatic resource loading functionality by setting
10385the path to %NULL.
10386
10387Changing the resource base path once the application is running is
10388not recommended.  The point at which the resource path is consulted
10389for forming paths for various purposes is unspecified.  When writing
10390a sub-class of #GApplication you should either set the
10391#GApplication:resource-base-path property at construction time, or call
10392this function during the instance initialization. Alternatively, you
10393can call this function in the #GApplicationClass.startup virtual function,
10394before chaining up to the parent implementation.
10395
10396Since: 2.42
10397
10398</description>
10399<parameters>
10400<parameter name="application">
10401<parameter_description> a #GApplication
10402</parameter_description>
10403</parameter>
10404<parameter name="resource_path">
10405<parameter_description> the resource path to use
10406</parameter_description>
10407</parameter>
10408</parameters>
10409<return></return>
10410</function>
10411
10412<function name="g_application_unbind_busy_property">
10413<description>
10414Destroys a binding between @property and the busy state of
10415@application that was previously created with
10416g_application_bind_busy_property().
10417
10418Since: 2.44
10419
10420</description>
10421<parameters>
10422<parameter name="application">
10423<parameter_description> a #GApplication
10424</parameter_description>
10425</parameter>
10426<parameter name="object">
10427<parameter_description> a #GObject
10428</parameter_description>
10429</parameter>
10430<parameter name="property">
10431<parameter_description> the name of a boolean property of @object
10432</parameter_description>
10433</parameter>
10434</parameters>
10435<return></return>
10436</function>
10437
10438<function name="g_application_unmark_busy">
10439<description>
10440Decreases the busy count of @application.
10441
10442When the busy count reaches zero, the new state will be propagated
10443to other processes.
10444
10445This function must only be called to cancel the effect of a previous
10446call to g_application_mark_busy().
10447
10448Since: 2.38
10449
10450</description>
10451<parameters>
10452<parameter name="application">
10453<parameter_description> a #GApplication
10454</parameter_description>
10455</parameter>
10456</parameters>
10457<return></return>
10458</function>
10459
10460<function name="g_application_withdraw_notification">
10461<description>
10462Withdraws a notification that was sent with
10463g_application_send_notification().
10464
10465This call does nothing if a notification with @id doesn't exist or
10466the notification was never sent.
10467
10468This function works even for notifications sent in previous
10469executions of this application, as long @id is the same as it was for
10470the sent notification.
10471
10472Note that notifications are dismissed when the user clicks on one
10473of the buttons in a notification or triggers its default action, so
10474there is no need to explicitly withdraw the notification in that case.
10475
10476Since: 2.40
10477
10478</description>
10479<parameters>
10480<parameter name="application">
10481<parameter_description> a #GApplication
10482</parameter_description>
10483</parameter>
10484<parameter name="id">
10485<parameter_description> id of a previously sent notification
10486</parameter_description>
10487</parameter>
10488</parameters>
10489<return></return>
10490</function>
10491
10492<function name="g_async_initable_init_async">
10493<description>
10494Starts asynchronous initialization of the object implementing the
10495interface. This must be done before any real use of the object after
10496initial construction. If the object also implements #GInitable you can
10497optionally call g_initable_init() instead.
10498
10499This method is intended for language bindings. If writing in C,
10500g_async_initable_new_async() should typically be used instead.
10501
10502When the initialization is finished, @callback will be called. You can
10503then call g_async_initable_init_finish() to get the result of the
10504initialization.
10505
10506Implementations may also support cancellation. If @cancellable is not
10507%NULL, then initialization can be cancelled by triggering the cancellable
10508object from another thread. If the operation was cancelled, the error
10509%G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL, and
10510the object doesn't support cancellable initialization, the error
10511%G_IO_ERROR_NOT_SUPPORTED will be returned.
10512
10513As with #GInitable, if the object is not initialized, or initialization
10514returns with an error, then all operations on the object except
10515g_object_ref() and g_object_unref() are considered to be invalid, and
10516have undefined behaviour. They will often fail with g_critical() or
10517g_warning(), but this must not be relied on.
10518
10519Callers should not assume that a class which implements #GAsyncInitable can
10520be initialized multiple times; for more information, see g_initable_init().
10521If a class explicitly supports being initialized multiple times,
10522implementation requires yielding all subsequent calls to init_async() on the
10523results of the first call.
10524
10525For classes that also support the #GInitable interface, the default
10526implementation of this method will run the g_initable_init() function
10527in a thread, so if you want to support asynchronous initialization via
10528threads, just implement the #GAsyncInitable interface without overriding
10529any interface methods.
10530
10531Since: 2.22
10532
10533</description>
10534<parameters>
10535<parameter name="initable">
10536<parameter_description> a #GAsyncInitable.
10537</parameter_description>
10538</parameter>
10539<parameter name="io_priority">
10540<parameter_description> the [I/O priority][io-priority] of the operation
10541</parameter_description>
10542</parameter>
10543<parameter name="cancellable">
10544<parameter_description> optional #GCancellable object, %NULL to ignore.
10545</parameter_description>
10546</parameter>
10547<parameter name="callback">
10548<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
10549</parameter_description>
10550</parameter>
10551<parameter name="user_data">
10552<parameter_description> the data to pass to callback function
10553</parameter_description>
10554</parameter>
10555</parameters>
10556<return></return>
10557</function>
10558
10559<function name="g_async_initable_init_finish">
10560<description>
10561Finishes asynchronous initialization and returns the result.
10562See g_async_initable_init_async().
10563
10564Since: 2.22
10565
10566</description>
10567<parameters>
10568<parameter name="initable">
10569<parameter_description> a #GAsyncInitable.
10570</parameter_description>
10571</parameter>
10572<parameter name="res">
10573<parameter_description> a #GAsyncResult.
10574</parameter_description>
10575</parameter>
10576<parameter name="error">
10577<parameter_description> a #GError location to store the error occurring, or %NULL to
10578ignore.
10579</parameter_description>
10580</parameter>
10581</parameters>
10582<return> %TRUE if successful. If an error has occurred, this function
10583will return %FALSE and set @error appropriately if present.
10584
10585</return>
10586</function>
10587
10588<function name="g_async_initable_new_async">
10589<description>
10590Helper function for constructing #GAsyncInitable object. This is
10591similar to g_object_new() but also initializes the object asynchronously.
10592
10593When the initialization is finished, @callback will be called. You can
10594then call g_async_initable_new_finish() to get the new object and check
10595for any errors.
10596
10597Since: 2.22
10598
10599</description>
10600<parameters>
10601<parameter name="object_type">
10602<parameter_description> a #GType supporting #GAsyncInitable.
10603</parameter_description>
10604</parameter>
10605<parameter name="io_priority">
10606<parameter_description> the [I/O priority][io-priority] of the operation
10607</parameter_description>
10608</parameter>
10609<parameter name="cancellable">
10610<parameter_description> optional #GCancellable object, %NULL to ignore.
10611</parameter_description>
10612</parameter>
10613<parameter name="callback">
10614<parameter_description> a #GAsyncReadyCallback to call when the initialization is
10615finished
10616</parameter_description>
10617</parameter>
10618<parameter name="user_data">
10619<parameter_description> the data to pass to callback function
10620</parameter_description>
10621</parameter>
10622<parameter name="first_property_name">
10623<parameter_description> the name of the first property, or %NULL if no
10624properties
10625</parameter_description>
10626</parameter>
10627<parameter name="Varargs">
10628<parameter_description>  the value of the first property, followed by other property
10629value pairs, and ended by %NULL.
10630</parameter_description>
10631</parameter>
10632</parameters>
10633<return></return>
10634</function>
10635
10636<function name="g_async_initable_new_finish">
10637<description>
10638Finishes the async construction for the various g_async_initable_new
10639calls, returning the created object or %NULL on error.
10640
10641Since: 2.22
10642
10643</description>
10644<parameters>
10645<parameter name="initable">
10646<parameter_description> the #GAsyncInitable from the callback
10647</parameter_description>
10648</parameter>
10649<parameter name="res">
10650<parameter_description> the #GAsyncResult from the callback
10651</parameter_description>
10652</parameter>
10653<parameter name="error">
10654<parameter_description> return location for errors, or %NULL to ignore
10655</parameter_description>
10656</parameter>
10657</parameters>
10658<return> a newly created #GObject,
10659or %NULL on error. Free with g_object_unref().
10660
10661</return>
10662</function>
10663
10664<function name="g_async_initable_new_valist_async">
10665<description>
10666Helper function for constructing #GAsyncInitable object. This is
10667similar to g_object_new_valist() but also initializes the object
10668asynchronously.
10669
10670When the initialization is finished, @callback will be called. You can
10671then call g_async_initable_new_finish() to get the new object and check
10672for any errors.
10673
10674Since: 2.22
10675
10676</description>
10677<parameters>
10678<parameter name="object_type">
10679<parameter_description> a #GType supporting #GAsyncInitable.
10680</parameter_description>
10681</parameter>
10682<parameter name="first_property_name">
10683<parameter_description> the name of the first property, followed by
10684the value, and other property value pairs, and ended by %NULL.
10685</parameter_description>
10686</parameter>
10687<parameter name="var_args">
10688<parameter_description> The var args list generated from @first_property_name.
10689</parameter_description>
10690</parameter>
10691<parameter name="io_priority">
10692<parameter_description> the [I/O priority][io-priority] of the operation
10693</parameter_description>
10694</parameter>
10695<parameter name="cancellable">
10696<parameter_description> optional #GCancellable object, %NULL to ignore.
10697</parameter_description>
10698</parameter>
10699<parameter name="callback">
10700<parameter_description> a #GAsyncReadyCallback to call when the initialization is
10701finished
10702</parameter_description>
10703</parameter>
10704<parameter name="user_data">
10705<parameter_description> the data to pass to callback function
10706</parameter_description>
10707</parameter>
10708</parameters>
10709<return></return>
10710</function>
10711
10712<function name="g_async_initable_newv_async">
10713<description>
10714Helper function for constructing #GAsyncInitable object. This is
10715similar to g_object_newv() but also initializes the object asynchronously.
10716
10717When the initialization is finished, @callback will be called. You can
10718then call g_async_initable_new_finish() to get the new object and check
10719for any errors.
10720
10721Since: 2.22
10722Deprecated: 2.54: Use g_object_new_with_properties() and
10723g_async_initable_init_async() instead. See #GParameter for more information.
10724
10725</description>
10726<parameters>
10727<parameter name="object_type">
10728<parameter_description> a #GType supporting #GAsyncInitable.
10729</parameter_description>
10730</parameter>
10731<parameter name="n_parameters">
10732<parameter_description> the number of parameters in @parameters
10733</parameter_description>
10734</parameter>
10735<parameter name="parameters">
10736<parameter_description> the parameters to use to construct the object
10737</parameter_description>
10738</parameter>
10739<parameter name="io_priority">
10740<parameter_description> the [I/O priority][io-priority] of the operation
10741</parameter_description>
10742</parameter>
10743<parameter name="cancellable">
10744<parameter_description> optional #GCancellable object, %NULL to ignore.
10745</parameter_description>
10746</parameter>
10747<parameter name="callback">
10748<parameter_description> a #GAsyncReadyCallback to call when the initialization is
10749finished
10750</parameter_description>
10751</parameter>
10752<parameter name="user_data">
10753<parameter_description> the data to pass to callback function
10754</parameter_description>
10755</parameter>
10756</parameters>
10757<return></return>
10758</function>
10759
10760<function name="g_async_result_get_source_object">
10761<description>
10762Gets the source object from a #GAsyncResult.
10763
10764
10765</description>
10766<parameters>
10767<parameter name="res">
10768<parameter_description> a #GAsyncResult
10769</parameter_description>
10770</parameter>
10771</parameters>
10772<return> a new reference to the source
10773object for the @res, or %NULL if there is none.
10774</return>
10775</function>
10776
10777<function name="g_async_result_get_user_data">
10778<description>
10779Gets the user data from a #GAsyncResult.
10780
10781
10782</description>
10783<parameters>
10784<parameter name="res">
10785<parameter_description> a #GAsyncResult.
10786</parameter_description>
10787</parameter>
10788</parameters>
10789<return> the user data for @res.
10790</return>
10791</function>
10792
10793<function name="g_async_result_is_tagged">
10794<description>
10795Checks if @res has the given @source_tag (generally a function
10796pointer indicating the function @res was created by).
10797
10798Since: 2.34
10799
10800</description>
10801<parameters>
10802<parameter name="res">
10803<parameter_description> a #GAsyncResult
10804</parameter_description>
10805</parameter>
10806<parameter name="source_tag">
10807<parameter_description> an application-defined tag
10808</parameter_description>
10809</parameter>
10810</parameters>
10811<return> %TRUE if @res has the indicated @source_tag, %FALSE if
10812not.
10813
10814</return>
10815</function>
10816
10817<function name="g_async_result_legacy_propagate_error">
10818<description>
10819If @res is a #GSimpleAsyncResult, this is equivalent to
10820g_simple_async_result_propagate_error(). Otherwise it returns
10821%FALSE.
10822
10823This can be used for legacy error handling in async *_finish()
10824wrapper functions that traditionally handled #GSimpleAsyncResult
10825error returns themselves rather than calling into the virtual method.
10826This should not be used in new code; #GAsyncResult errors that are
10827set by virtual methods should also be extracted by virtual methods,
10828to enable subclasses to chain up correctly.
10829
10830Since: 2.34
10831
10832</description>
10833<parameters>
10834<parameter name="res">
10835<parameter_description> a #GAsyncResult
10836</parameter_description>
10837</parameter>
10838<parameter name="error">
10839<parameter_description> a location to propagate the error to.
10840</parameter_description>
10841</parameter>
10842</parameters>
10843<return> %TRUE if @error is has been filled in with an error from
10844@res, %FALSE if not.
10845
10846</return>
10847</function>
10848
10849<function name="g_buffered_input_stream_fill">
10850<description>
10851Tries to read @count bytes from the stream into the buffer.
10852Will block during this read.
10853
10854If @count is zero, returns zero and does nothing. A value of @count
10855larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
10856
10857On success, the number of bytes read into the buffer is returned.
10858It is not an error if this is not the same as the requested size, as it
10859can happen e.g. near the end of a file. Zero is returned on end of file
10860(or if @count is zero),  but never otherwise.
10861
10862If @count is -1 then the attempted read size is equal to the number of
10863bytes that are required to fill the buffer.
10864
10865If @cancellable is not %NULL, then the operation can be cancelled by
10866triggering the cancellable object from another thread. If the operation
10867was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
10868operation was partially finished when the operation was cancelled the
10869partial result will be returned, without an error.
10870
10871On error -1 is returned and @error is set accordingly.
10872
10873For the asynchronous, non-blocking, version of this function, see
10874g_buffered_input_stream_fill_async().
10875
10876
10877</description>
10878<parameters>
10879<parameter name="stream">
10880<parameter_description> a #GBufferedInputStream
10881</parameter_description>
10882</parameter>
10883<parameter name="count">
10884<parameter_description> the number of bytes that will be read from the stream
10885</parameter_description>
10886</parameter>
10887<parameter name="cancellable">
10888<parameter_description> optional #GCancellable object, %NULL to ignore
10889</parameter_description>
10890</parameter>
10891<parameter name="error">
10892<parameter_description> location to store the error occurring, or %NULL to ignore
10893</parameter_description>
10894</parameter>
10895</parameters>
10896<return> the number of bytes read into @stream's buffer, up to @count,
10897or -1 on error.
10898</return>
10899</function>
10900
10901<function name="g_buffered_input_stream_fill_async">
10902<description>
10903Reads data into @stream's buffer asynchronously, up to @count size.
10904@io_priority can be used to prioritize reads. For the synchronous
10905version of this function, see g_buffered_input_stream_fill().
10906
10907If @count is -1 then the attempted read size is equal to the number
10908of bytes that are required to fill the buffer.
10909
10910</description>
10911<parameters>
10912<parameter name="stream">
10913<parameter_description> a #GBufferedInputStream
10914</parameter_description>
10915</parameter>
10916<parameter name="count">
10917<parameter_description> the number of bytes that will be read from the stream
10918</parameter_description>
10919</parameter>
10920<parameter name="io_priority">
10921<parameter_description> the [I/O priority][io-priority] of the request
10922</parameter_description>
10923</parameter>
10924<parameter name="cancellable">
10925<parameter_description> optional #GCancellable object
10926</parameter_description>
10927</parameter>
10928<parameter name="callback">
10929<parameter_description> a #GAsyncReadyCallback
10930</parameter_description>
10931</parameter>
10932<parameter name="user_data">
10933<parameter_description> a #gpointer
10934</parameter_description>
10935</parameter>
10936</parameters>
10937<return></return>
10938</function>
10939
10940<function name="g_buffered_input_stream_fill_finish">
10941<description>
10942Finishes an asynchronous read.
10943
10944
10945</description>
10946<parameters>
10947<parameter name="stream">
10948<parameter_description> a #GBufferedInputStream
10949</parameter_description>
10950</parameter>
10951<parameter name="result">
10952<parameter_description> a #GAsyncResult
10953</parameter_description>
10954</parameter>
10955<parameter name="error">
10956<parameter_description> a #GError
10957</parameter_description>
10958</parameter>
10959</parameters>
10960<return> a #gssize of the read stream, or `-1` on an error.
10961</return>
10962</function>
10963
10964<function name="g_buffered_input_stream_get_available">
10965<description>
10966Gets the size of the available data within the stream.
10967
10968
10969</description>
10970<parameters>
10971<parameter name="stream">
10972<parameter_description> #GBufferedInputStream
10973</parameter_description>
10974</parameter>
10975</parameters>
10976<return> size of the available stream.
10977</return>
10978</function>
10979
10980<function name="g_buffered_input_stream_get_buffer_size">
10981<description>
10982Gets the size of the input buffer.
10983
10984
10985</description>
10986<parameters>
10987<parameter name="stream">
10988<parameter_description> a #GBufferedInputStream
10989</parameter_description>
10990</parameter>
10991</parameters>
10992<return> the current buffer size.
10993</return>
10994</function>
10995
10996<function name="g_buffered_input_stream_new">
10997<description>
10998Creates a new #GInputStream from the given @base_stream, with
10999a buffer set to the default size (4 kilobytes).
11000
11001
11002</description>
11003<parameters>
11004<parameter name="base_stream">
11005<parameter_description> a #GInputStream
11006</parameter_description>
11007</parameter>
11008</parameters>
11009<return> a #GInputStream for the given @base_stream.
11010</return>
11011</function>
11012
11013<function name="g_buffered_input_stream_new_sized">
11014<description>
11015Creates a new #GBufferedInputStream from the given @base_stream,
11016with a buffer set to @size.
11017
11018
11019</description>
11020<parameters>
11021<parameter name="base_stream">
11022<parameter_description> a #GInputStream
11023</parameter_description>
11024</parameter>
11025<parameter name="size">
11026<parameter_description> a #gsize
11027</parameter_description>
11028</parameter>
11029</parameters>
11030<return> a #GInputStream.
11031</return>
11032</function>
11033
11034<function name="g_buffered_input_stream_peek">
11035<description>
11036Peeks in the buffer, copying data of size @count into @buffer,
11037offset @offset bytes.
11038
11039
11040</description>
11041<parameters>
11042<parameter name="stream">
11043<parameter_description> a #GBufferedInputStream
11044</parameter_description>
11045</parameter>
11046<parameter name="buffer">
11047<parameter_description> a pointer to
11048an allocated chunk of memory
11049</parameter_description>
11050</parameter>
11051<parameter name="offset">
11052<parameter_description> a #gsize
11053</parameter_description>
11054</parameter>
11055<parameter name="count">
11056<parameter_description> a #gsize
11057</parameter_description>
11058</parameter>
11059</parameters>
11060<return> a #gsize of the number of bytes peeked, or -1 on error.
11061</return>
11062</function>
11063
11064<function name="g_buffered_input_stream_peek_buffer">
11065<description>
11066Returns the buffer with the currently available bytes. The returned
11067buffer must not be modified and will become invalid when reading from
11068the stream or filling the buffer.
11069
11070
11071</description>
11072<parameters>
11073<parameter name="stream">
11074<parameter_description> a #GBufferedInputStream
11075</parameter_description>
11076</parameter>
11077<parameter name="count">
11078<parameter_description> a #gsize to get the number of bytes available in the buffer
11079</parameter_description>
11080</parameter>
11081</parameters>
11082<return>
11083read-only buffer
11084</return>
11085</function>
11086
11087<function name="g_buffered_input_stream_read_byte">
11088<description>
11089Tries to read a single byte from the stream or the buffer. Will block
11090during this read.
11091
11092On success, the byte read from the stream is returned. On end of stream
11093-1 is returned but it's not an exceptional error and @error is not set.
11094
11095If @cancellable is not %NULL, then the operation can be cancelled by
11096triggering the cancellable object from another thread. If the operation
11097was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
11098operation was partially finished when the operation was cancelled the
11099partial result will be returned, without an error.
11100
11101On error -1 is returned and @error is set accordingly.
11102
11103
11104</description>
11105<parameters>
11106<parameter name="stream">
11107<parameter_description> a #GBufferedInputStream
11108</parameter_description>
11109</parameter>
11110<parameter name="cancellable">
11111<parameter_description> optional #GCancellable object, %NULL to ignore
11112</parameter_description>
11113</parameter>
11114<parameter name="error">
11115<parameter_description> location to store the error occurring, or %NULL to ignore
11116</parameter_description>
11117</parameter>
11118</parameters>
11119<return> the byte read from the @stream, or -1 on end of stream or error.
11120</return>
11121</function>
11122
11123<function name="g_buffered_input_stream_set_buffer_size">
11124<description>
11125Sets the size of the internal buffer of @stream to @size, or to the
11126size of the contents of the buffer. The buffer can never be resized
11127smaller than its current contents.
11128
11129</description>
11130<parameters>
11131<parameter name="stream">
11132<parameter_description> a #GBufferedInputStream
11133</parameter_description>
11134</parameter>
11135<parameter name="size">
11136<parameter_description> a #gsize
11137</parameter_description>
11138</parameter>
11139</parameters>
11140<return></return>
11141</function>
11142
11143<function name="g_buffered_output_stream_get_auto_grow">
11144<description>
11145Checks if the buffer automatically grows as data is added.
11146
11147
11148</description>
11149<parameters>
11150<parameter name="stream">
11151<parameter_description> a #GBufferedOutputStream.
11152</parameter_description>
11153</parameter>
11154</parameters>
11155<return> %TRUE if the @stream's buffer automatically grows,
11156%FALSE otherwise.
11157</return>
11158</function>
11159
11160<function name="g_buffered_output_stream_get_buffer_size">
11161<description>
11162Gets the size of the buffer in the @stream.
11163
11164
11165</description>
11166<parameters>
11167<parameter name="stream">
11168<parameter_description> a #GBufferedOutputStream.
11169</parameter_description>
11170</parameter>
11171</parameters>
11172<return> the current size of the buffer.
11173</return>
11174</function>
11175
11176<function name="g_buffered_output_stream_new">
11177<description>
11178Creates a new buffered output stream for a base stream.
11179
11180
11181</description>
11182<parameters>
11183<parameter name="base_stream">
11184<parameter_description> a #GOutputStream.
11185</parameter_description>
11186</parameter>
11187</parameters>
11188<return> a #GOutputStream for the given @base_stream.
11189</return>
11190</function>
11191
11192<function name="g_buffered_output_stream_new_sized">
11193<description>
11194Creates a new buffered output stream with a given buffer size.
11195
11196
11197</description>
11198<parameters>
11199<parameter name="base_stream">
11200<parameter_description> a #GOutputStream.
11201</parameter_description>
11202</parameter>
11203<parameter name="size">
11204<parameter_description> a #gsize.
11205</parameter_description>
11206</parameter>
11207</parameters>
11208<return> a #GOutputStream with an internal buffer set to @size.
11209</return>
11210</function>
11211
11212<function name="g_buffered_output_stream_set_auto_grow">
11213<description>
11214Sets whether or not the @stream's buffer should automatically grow.
11215If @auto_grow is true, then each write will just make the buffer
11216larger, and you must manually flush the buffer to actually write out
11217the data to the underlying stream.
11218
11219</description>
11220<parameters>
11221<parameter name="stream">
11222<parameter_description> a #GBufferedOutputStream.
11223</parameter_description>
11224</parameter>
11225<parameter name="auto_grow">
11226<parameter_description> a #gboolean.
11227</parameter_description>
11228</parameter>
11229</parameters>
11230<return></return>
11231</function>
11232
11233<function name="g_buffered_output_stream_set_buffer_size">
11234<description>
11235Sets the size of the internal buffer to @size.
11236
11237</description>
11238<parameters>
11239<parameter name="stream">
11240<parameter_description> a #GBufferedOutputStream.
11241</parameter_description>
11242</parameter>
11243<parameter name="size">
11244<parameter_description> a #gsize.
11245</parameter_description>
11246</parameter>
11247</parameters>
11248<return></return>
11249</function>
11250
11251<function name="g_bus_get">
11252<description>
11253Asynchronously connects to the message bus specified by @bus_type.
11254
11255When the operation is finished, @callback will be invoked. You can
11256then call g_bus_get_finish() to get the result of the operation.
11257
11258This is an asynchronous failable function. See g_bus_get_sync() for
11259the synchronous version.
11260
11261Since: 2.26
11262
11263</description>
11264<parameters>
11265<parameter name="bus_type">
11266<parameter_description> a #GBusType
11267</parameter_description>
11268</parameter>
11269<parameter name="cancellable">
11270<parameter_description> a #GCancellable or %NULL
11271</parameter_description>
11272</parameter>
11273<parameter name="callback">
11274<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
11275</parameter_description>
11276</parameter>
11277<parameter name="user_data">
11278<parameter_description> the data to pass to @callback
11279</parameter_description>
11280</parameter>
11281</parameters>
11282<return></return>
11283</function>
11284
11285<function name="g_bus_get_finish">
11286<description>
11287Finishes an operation started with g_bus_get().
11288
11289The returned object is a singleton, that is, shared with other
11290callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the
11291event that you need a private message bus connection, use
11292g_dbus_address_get_for_bus_sync() and
11293g_dbus_connection_new_for_address().
11294
11295Note that the returned #GDBusConnection object will (usually) have
11296the #GDBusConnection:exit-on-close property set to %TRUE.
11297
11298Since: 2.26
11299
11300</description>
11301<parameters>
11302<parameter name="res">
11303<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed
11304to g_bus_get()
11305</parameter_description>
11306</parameter>
11307<parameter name="error">
11308<parameter_description> return location for error or %NULL
11309</parameter_description>
11310</parameter>
11311</parameters>
11312<return> a #GDBusConnection or %NULL if @error is set.
11313Free with g_object_unref().
11314
11315</return>
11316</function>
11317
11318<function name="g_bus_get_sync">
11319<description>
11320Synchronously connects to the message bus specified by @bus_type.
11321Note that the returned object may shared with other callers,
11322e.g. if two separate parts of a process calls this function with
11323the same @bus_type, they will share the same object.
11324
11325This is a synchronous failable function. See g_bus_get() and
11326g_bus_get_finish() for the asynchronous version.
11327
11328The returned object is a singleton, that is, shared with other
11329callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the
11330event that you need a private message bus connection, use
11331g_dbus_address_get_for_bus_sync() and
11332g_dbus_connection_new_for_address().
11333
11334Note that the returned #GDBusConnection object will (usually) have
11335the #GDBusConnection:exit-on-close property set to %TRUE.
11336
11337Since: 2.26
11338
11339</description>
11340<parameters>
11341<parameter name="bus_type">
11342<parameter_description> a #GBusType
11343</parameter_description>
11344</parameter>
11345<parameter name="cancellable">
11346<parameter_description> a #GCancellable or %NULL
11347</parameter_description>
11348</parameter>
11349<parameter name="error">
11350<parameter_description> return location for error or %NULL
11351</parameter_description>
11352</parameter>
11353</parameters>
11354<return> a #GDBusConnection or %NULL if @error is set.
11355Free with g_object_unref().
11356
11357</return>
11358</function>
11359
11360<function name="g_bus_own_name">
11361<description>
11362Starts acquiring @name on the bus specified by @bus_type and calls
11363@name_acquired_handler and @name_lost_handler when the name is
11364acquired respectively lost. Callbacks will be invoked in the
11365[thread-default main context][g-main-context-push-thread-default]
11366of the thread you are calling this function from.
11367
11368You are guaranteed that one of the @name_acquired_handler and @name_lost_handler
11369callbacks will be invoked after calling this function - there are three
11370possible cases:
11371
11372- @name_lost_handler with a %NULL connection (if a connection to the bus
11373can't be made).
11374
11375- @bus_acquired_handler then @name_lost_handler (if the name can't be
11376obtained)
11377
11378- @bus_acquired_handler then @name_acquired_handler (if the name was
11379obtained).
11380
11381When you are done owning the name, just call g_bus_unown_name()
11382with the owner id this function returns.
11383
11384If the name is acquired or lost (for example another application
11385could acquire the name if you allow replacement or the application
11386currently owning the name exits), the handlers are also invoked.
11387If the #GDBusConnection that is used for attempting to own the name
11388closes, then @name_lost_handler is invoked since it is no longer
11389possible for other processes to access the process.
11390
11391You cannot use g_bus_own_name() several times for the same name (unless
11392interleaved with calls to g_bus_unown_name()) - only the first call
11393will work.
11394
11395Another guarantee is that invocations of @name_acquired_handler
11396and @name_lost_handler are guaranteed to alternate; that
11397is, if @name_acquired_handler is invoked then you are
11398guaranteed that the next time one of the handlers is invoked, it
11399will be @name_lost_handler. The reverse is also true.
11400
11401If you plan on exporting objects (using e.g.
11402g_dbus_connection_register_object()), note that it is generally too late
11403to export the objects in @name_acquired_handler. Instead, you can do this
11404in @bus_acquired_handler since you are guaranteed that this will run
11405before @name is requested from the bus.
11406
11407This behavior makes it very simple to write applications that wants
11408to [own names][gdbus-owning-names] and export objects.
11409Simply register objects to be exported in @bus_acquired_handler and
11410unregister the objects (if any) in @name_lost_handler.
11411
11412Since: 2.26
11413
11414</description>
11415<parameters>
11416<parameter name="bus_type">
11417<parameter_description> the type of bus to own a name on
11418</parameter_description>
11419</parameter>
11420<parameter name="name">
11421<parameter_description> the well-known name to own
11422</parameter_description>
11423</parameter>
11424<parameter name="flags">
11425<parameter_description> a set of flags from the #GBusNameOwnerFlags enumeration
11426</parameter_description>
11427</parameter>
11428<parameter name="bus_acquired_handler">
11429<parameter_description> handler to invoke when connected to the bus of type @bus_type or %NULL
11430</parameter_description>
11431</parameter>
11432<parameter name="name_acquired_handler">
11433<parameter_description> handler to invoke when @name is acquired or %NULL
11434</parameter_description>
11435</parameter>
11436<parameter name="name_lost_handler">
11437<parameter_description> handler to invoke when @name is lost or %NULL
11438</parameter_description>
11439</parameter>
11440<parameter name="user_data">
11441<parameter_description> user data to pass to handlers
11442</parameter_description>
11443</parameter>
11444<parameter name="user_data_free_func">
11445<parameter_description> function for freeing @user_data or %NULL
11446</parameter_description>
11447</parameter>
11448</parameters>
11449<return> an identifier (never 0) that can be used with
11450g_bus_unown_name() to stop owning the name.
11451
11452</return>
11453</function>
11454
11455<function name="g_bus_own_name_on_connection">
11456<description>
11457Like g_bus_own_name() but takes a #GDBusConnection instead of a
11458#GBusType.
11459
11460Since: 2.26
11461
11462</description>
11463<parameters>
11464<parameter name="connection">
11465<parameter_description> a #GDBusConnection
11466</parameter_description>
11467</parameter>
11468<parameter name="name">
11469<parameter_description> the well-known name to own
11470</parameter_description>
11471</parameter>
11472<parameter name="flags">
11473<parameter_description> a set of flags from the #GBusNameOwnerFlags enumeration
11474</parameter_description>
11475</parameter>
11476<parameter name="name_acquired_handler">
11477<parameter_description> handler to invoke when @name is acquired or %NULL
11478</parameter_description>
11479</parameter>
11480<parameter name="name_lost_handler">
11481<parameter_description> handler to invoke when @name is lost or %NULL
11482</parameter_description>
11483</parameter>
11484<parameter name="user_data">
11485<parameter_description> user data to pass to handlers
11486</parameter_description>
11487</parameter>
11488<parameter name="user_data_free_func">
11489<parameter_description> function for freeing @user_data or %NULL
11490</parameter_description>
11491</parameter>
11492</parameters>
11493<return> an identifier (never 0) that can be used with
11494g_bus_unown_name() to stop owning the name
11495
11496</return>
11497</function>
11498
11499<function name="g_bus_own_name_on_connection_with_closures">
11500<description>
11501Version of g_bus_own_name_on_connection() using closures instead of
11502callbacks for easier binding in other languages.
11503
11504Since: 2.26
11505
11506</description>
11507<parameters>
11508<parameter name="connection">
11509<parameter_description> a #GDBusConnection
11510</parameter_description>
11511</parameter>
11512<parameter name="name">
11513<parameter_description> the well-known name to own
11514</parameter_description>
11515</parameter>
11516<parameter name="flags">
11517<parameter_description> a set of flags from the #GBusNameOwnerFlags enumeration
11518</parameter_description>
11519</parameter>
11520<parameter name="name_acquired_closure">
11521<parameter_description> #GClosure to invoke when @name is
11522acquired or %NULL
11523</parameter_description>
11524</parameter>
11525<parameter name="name_lost_closure">
11526<parameter_description> #GClosure to invoke when @name is lost
11527or %NULL
11528</parameter_description>
11529</parameter>
11530</parameters>
11531<return> an identifier (never 0) that can be used with
11532g_bus_unown_name() to stop owning the name.
11533
11534</return>
11535</function>
11536
11537<function name="g_bus_own_name_with_closures">
11538<description>
11539Version of g_bus_own_name() using closures instead of callbacks for
11540easier binding in other languages.
11541
11542Since: 2.26
11543
11544</description>
11545<parameters>
11546<parameter name="bus_type">
11547<parameter_description> the type of bus to own a name on
11548</parameter_description>
11549</parameter>
11550<parameter name="name">
11551<parameter_description> the well-known name to own
11552</parameter_description>
11553</parameter>
11554<parameter name="flags">
11555<parameter_description> a set of flags from the #GBusNameOwnerFlags enumeration
11556</parameter_description>
11557</parameter>
11558<parameter name="bus_acquired_closure">
11559<parameter_description> #GClosure to invoke when connected to
11560the bus of type @bus_type or %NULL
11561</parameter_description>
11562</parameter>
11563<parameter name="name_acquired_closure">
11564<parameter_description> #GClosure to invoke when @name is
11565acquired or %NULL
11566</parameter_description>
11567</parameter>
11568<parameter name="name_lost_closure">
11569<parameter_description> #GClosure to invoke when @name is lost or
11570%NULL
11571</parameter_description>
11572</parameter>
11573</parameters>
11574<return> an identifier (never 0) that can be used with
11575g_bus_unown_name() to stop owning the name.
11576
11577</return>
11578</function>
11579
11580<function name="g_bus_unown_name">
11581<description>
11582Stops owning a name.
11583
11584Note that there may still be D-Bus traffic to process (relating to owning
11585and unowning the name) in the current thread-default #GMainContext after
11586this function has returned. You should continue to iterate the #GMainContext
11587until the #GDestroyNotify function passed to g_bus_own_name() is called, in
11588order to avoid memory leaks through callbacks queued on the #GMainContext
11589after it’s stopped being iterated.
11590
11591Since: 2.26
11592
11593</description>
11594<parameters>
11595<parameter name="owner_id">
11596<parameter_description> an identifier obtained from g_bus_own_name()
11597</parameter_description>
11598</parameter>
11599</parameters>
11600<return></return>
11601</function>
11602
11603<function name="g_bus_unwatch_name">
11604<description>
11605Stops watching a name.
11606
11607Note that there may still be D-Bus traffic to process (relating to watching
11608and unwatching the name) in the current thread-default #GMainContext after
11609this function has returned. You should continue to iterate the #GMainContext
11610until the #GDestroyNotify function passed to g_bus_watch_name() is called, in
11611order to avoid memory leaks through callbacks queued on the #GMainContext
11612after it’s stopped being iterated.
11613
11614Since: 2.26
11615
11616</description>
11617<parameters>
11618<parameter name="watcher_id">
11619<parameter_description> An identifier obtained from g_bus_watch_name()
11620</parameter_description>
11621</parameter>
11622</parameters>
11623<return></return>
11624</function>
11625
11626<function name="g_bus_watch_name">
11627<description>
11628Starts watching @name on the bus specified by @bus_type and calls
11629@name_appeared_handler and @name_vanished_handler when the name is
11630known to have an owner respectively known to lose its
11631owner. Callbacks will be invoked in the
11632[thread-default main context][g-main-context-push-thread-default]
11633of the thread you are calling this function from.
11634
11635You are guaranteed that one of the handlers will be invoked after
11636calling this function. When you are done watching the name, just
11637call g_bus_unwatch_name() with the watcher id this function
11638returns.
11639
11640If the name vanishes or appears (for example the application owning
11641the name could restart), the handlers are also invoked. If the
11642#GDBusConnection that is used for watching the name disconnects, then
11643@name_vanished_handler is invoked since it is no longer
11644possible to access the name.
11645
11646Another guarantee is that invocations of @name_appeared_handler
11647and @name_vanished_handler are guaranteed to alternate; that
11648is, if @name_appeared_handler is invoked then you are
11649guaranteed that the next time one of the handlers is invoked, it
11650will be @name_vanished_handler. The reverse is also true.
11651
11652This behavior makes it very simple to write applications that want
11653to take action when a certain [name exists][gdbus-watching-names].
11654Basically, the application should create object proxies in
11655@name_appeared_handler and destroy them again (if any) in
11656@name_vanished_handler.
11657
11658Since: 2.26
11659
11660</description>
11661<parameters>
11662<parameter name="bus_type">
11663<parameter_description> The type of bus to watch a name on.
11664</parameter_description>
11665</parameter>
11666<parameter name="name">
11667<parameter_description> The name (well-known or unique) to watch.
11668</parameter_description>
11669</parameter>
11670<parameter name="flags">
11671<parameter_description> Flags from the #GBusNameWatcherFlags enumeration.
11672</parameter_description>
11673</parameter>
11674<parameter name="name_appeared_handler">
11675<parameter_description> Handler to invoke when @name is known to exist or %NULL.
11676</parameter_description>
11677</parameter>
11678<parameter name="name_vanished_handler">
11679<parameter_description> Handler to invoke when @name is known to not exist or %NULL.
11680</parameter_description>
11681</parameter>
11682<parameter name="user_data">
11683<parameter_description> User data to pass to handlers.
11684</parameter_description>
11685</parameter>
11686<parameter name="user_data_free_func">
11687<parameter_description> Function for freeing @user_data or %NULL.
11688</parameter_description>
11689</parameter>
11690</parameters>
11691<return> An identifier (never 0) that can be used with
11692g_bus_unwatch_name() to stop watching the name.
11693
11694</return>
11695</function>
11696
11697<function name="g_bus_watch_name_on_connection">
11698<description>
11699Like g_bus_watch_name() but takes a #GDBusConnection instead of a
11700#GBusType.
11701
11702Since: 2.26
11703
11704</description>
11705<parameters>
11706<parameter name="connection">
11707<parameter_description> A #GDBusConnection.
11708</parameter_description>
11709</parameter>
11710<parameter name="name">
11711<parameter_description> The name (well-known or unique) to watch.
11712</parameter_description>
11713</parameter>
11714<parameter name="flags">
11715<parameter_description> Flags from the #GBusNameWatcherFlags enumeration.
11716</parameter_description>
11717</parameter>
11718<parameter name="name_appeared_handler">
11719<parameter_description> Handler to invoke when @name is known to exist or %NULL.
11720</parameter_description>
11721</parameter>
11722<parameter name="name_vanished_handler">
11723<parameter_description> Handler to invoke when @name is known to not exist or %NULL.
11724</parameter_description>
11725</parameter>
11726<parameter name="user_data">
11727<parameter_description> User data to pass to handlers.
11728</parameter_description>
11729</parameter>
11730<parameter name="user_data_free_func">
11731<parameter_description> Function for freeing @user_data or %NULL.
11732</parameter_description>
11733</parameter>
11734</parameters>
11735<return> An identifier (never 0) that can be used with
11736g_bus_unwatch_name() to stop watching the name.
11737
11738</return>
11739</function>
11740
11741<function name="g_bus_watch_name_on_connection_with_closures">
11742<description>
11743Version of g_bus_watch_name_on_connection() using closures instead of callbacks for
11744easier binding in other languages.
11745
11746Since: 2.26
11747
11748</description>
11749<parameters>
11750<parameter name="connection">
11751<parameter_description> A #GDBusConnection.
11752</parameter_description>
11753</parameter>
11754<parameter name="name">
11755<parameter_description> The name (well-known or unique) to watch.
11756</parameter_description>
11757</parameter>
11758<parameter name="flags">
11759<parameter_description> Flags from the #GBusNameWatcherFlags enumeration.
11760</parameter_description>
11761</parameter>
11762<parameter name="name_appeared_closure">
11763<parameter_description> #GClosure to invoke when @name is known
11764to exist or %NULL.
11765</parameter_description>
11766</parameter>
11767<parameter name="name_vanished_closure">
11768<parameter_description> #GClosure to invoke when @name is known
11769to not exist or %NULL.
11770</parameter_description>
11771</parameter>
11772</parameters>
11773<return> An identifier (never 0) that can be used with
11774g_bus_unwatch_name() to stop watching the name.
11775
11776</return>
11777</function>
11778
11779<function name="g_bus_watch_name_with_closures">
11780<description>
11781Version of g_bus_watch_name() using closures instead of callbacks for
11782easier binding in other languages.
11783
11784Since: 2.26
11785
11786</description>
11787<parameters>
11788<parameter name="bus_type">
11789<parameter_description> The type of bus to watch a name on.
11790</parameter_description>
11791</parameter>
11792<parameter name="name">
11793<parameter_description> The name (well-known or unique) to watch.
11794</parameter_description>
11795</parameter>
11796<parameter name="flags">
11797<parameter_description> Flags from the #GBusNameWatcherFlags enumeration.
11798</parameter_description>
11799</parameter>
11800<parameter name="name_appeared_closure">
11801<parameter_description> #GClosure to invoke when @name is known
11802to exist or %NULL.
11803</parameter_description>
11804</parameter>
11805<parameter name="name_vanished_closure">
11806<parameter_description> #GClosure to invoke when @name is known
11807to not exist or %NULL.
11808</parameter_description>
11809</parameter>
11810</parameters>
11811<return> An identifier (never 0) that can be used with
11812g_bus_unwatch_name() to stop watching the name.
11813
11814</return>
11815</function>
11816
11817<function name="g_bytes_icon_get_bytes">
11818<description>
11819Gets the #GBytes associated with the given @icon.
11820
11821Since: 2.38
11822
11823</description>
11824<parameters>
11825<parameter name="icon">
11826<parameter_description> a #GIcon.
11827</parameter_description>
11828</parameter>
11829</parameters>
11830<return> a #GBytes, or %NULL.
11831
11832</return>
11833</function>
11834
11835<function name="g_bytes_icon_new">
11836<description>
11837Creates a new icon for a bytes.
11838
11839Since: 2.38
11840
11841</description>
11842<parameters>
11843<parameter name="bytes">
11844<parameter_description> a #GBytes.
11845</parameter_description>
11846</parameter>
11847</parameters>
11848<return> a #GIcon for the given
11849@bytes, or %NULL on error.
11850
11851</return>
11852</function>
11853
11854<function name="g_cancellable_cancel">
11855<description>
11856Will set @cancellable to cancelled, and will emit the
11857#GCancellable::cancelled signal. (However, see the warning about
11858race conditions in the documentation for that signal if you are
11859planning to connect to it.)
11860
11861This function is thread-safe. In other words, you can safely call
11862it from a thread other than the one running the operation that was
11863passed the @cancellable.
11864
11865If @cancellable is %NULL, this function returns immediately for convenience.
11866
11867The convention within GIO is that cancelling an asynchronous
11868operation causes it to complete asynchronously. That is, if you
11869cancel the operation from the same thread in which it is running,
11870then the operation's #GAsyncReadyCallback will not be invoked until
11871the application returns to the main loop.
11872
11873</description>
11874<parameters>
11875<parameter name="cancellable">
11876<parameter_description> a #GCancellable object.
11877</parameter_description>
11878</parameter>
11879</parameters>
11880<return></return>
11881</function>
11882
11883<function name="g_cancellable_connect">
11884<description>
11885Convenience function to connect to the #GCancellable::cancelled
11886signal. Also handles the race condition that may happen
11887if the cancellable is cancelled right before connecting.
11888
11889@callback is called at most once, either directly at the
11890time of the connect if @cancellable is already cancelled,
11891or when @cancellable is cancelled in some thread.
11892
11893@data_destroy_func will be called when the handler is
11894disconnected, or immediately if the cancellable is already
11895cancelled.
11896
11897See #GCancellable::cancelled for details on how to use this.
11898
11899Since GLib 2.40, the lock protecting @cancellable is not held when
11900@callback is invoked.  This lifts a restriction in place for
11901earlier GLib versions which now makes it easier to write cleanup
11902code that unconditionally invokes e.g. g_cancellable_cancel().
11903
11904Since: 2.22
11905
11906</description>
11907<parameters>
11908<parameter name="cancellable">
11909<parameter_description> A #GCancellable.
11910</parameter_description>
11911</parameter>
11912<parameter name="callback">
11913<parameter_description> The #GCallback to connect.
11914</parameter_description>
11915</parameter>
11916<parameter name="data">
11917<parameter_description> Data to pass to @callback.
11918</parameter_description>
11919</parameter>
11920<parameter name="data_destroy_func">
11921<parameter_description> Free function for @data or %NULL.
11922</parameter_description>
11923</parameter>
11924</parameters>
11925<return> The id of the signal handler or 0 if @cancellable has already
11926been cancelled.
11927
11928</return>
11929</function>
11930
11931<function name="g_cancellable_disconnect">
11932<description>
11933Disconnects a handler from a cancellable instance similar to
11934g_signal_handler_disconnect().  Additionally, in the event that a
11935signal handler is currently running, this call will block until the
11936handler has finished.  Calling this function from a
11937#GCancellable::cancelled signal handler will therefore result in a
11938deadlock.
11939
11940This avoids a race condition where a thread cancels at the
11941same time as the cancellable operation is finished and the
11942signal handler is removed. See #GCancellable::cancelled for
11943details on how to use this.
11944
11945If @cancellable is %NULL or @handler_id is `0` this function does
11946nothing.
11947
11948Since: 2.22
11949
11950</description>
11951<parameters>
11952<parameter name="cancellable">
11953<parameter_description> A #GCancellable or %NULL.
11954</parameter_description>
11955</parameter>
11956<parameter name="handler_id">
11957<parameter_description> Handler id of the handler to be disconnected, or `0`.
11958</parameter_description>
11959</parameter>
11960</parameters>
11961<return></return>
11962</function>
11963
11964<function name="g_cancellable_get_current">
11965<description>
11966Gets the top cancellable from the stack.
11967
11968
11969</description>
11970<parameters>
11971</parameters>
11972<return> a #GCancellable from the top
11973of the stack, or %NULL if the stack is empty.
11974</return>
11975</function>
11976
11977<function name="g_cancellable_get_fd">
11978<description>
11979Gets the file descriptor for a cancellable job. This can be used to
11980implement cancellable operations on Unix systems. The returned fd will
11981turn readable when @cancellable is cancelled.
11982
11983You are not supposed to read from the fd yourself, just check for
11984readable status. Reading to unset the readable status is done
11985with g_cancellable_reset().
11986
11987After a successful return from this function, you should use
11988g_cancellable_release_fd() to free up resources allocated for
11989the returned file descriptor.
11990
11991See also g_cancellable_make_pollfd().
11992
11993
11994</description>
11995<parameters>
11996<parameter name="cancellable">
11997<parameter_description> a #GCancellable.
11998</parameter_description>
11999</parameter>
12000</parameters>
12001<return> A valid file descriptor. `-1` if the file descriptor
12002is not supported, or on errors.
12003</return>
12004</function>
12005
12006<function name="g_cancellable_is_cancelled">
12007<description>
12008Checks if a cancellable job has been cancelled.
12009
12010
12011</description>
12012<parameters>
12013<parameter name="cancellable">
12014<parameter_description> a #GCancellable or %NULL
12015</parameter_description>
12016</parameter>
12017</parameters>
12018<return> %TRUE if @cancellable is cancelled,
12019FALSE if called with %NULL or if item is not cancelled.
12020</return>
12021</function>
12022
12023<function name="g_cancellable_make_pollfd">
12024<description>
12025Creates a #GPollFD corresponding to @cancellable; this can be passed
12026to g_poll() and used to poll for cancellation. This is useful both
12027for unix systems without a native poll and for portability to
12028windows.
12029
12030When this function returns %TRUE, you should use
12031g_cancellable_release_fd() to free up resources allocated for the
12032@pollfd. After a %FALSE return, do not call g_cancellable_release_fd().
12033
12034If this function returns %FALSE, either no @cancellable was given or
12035resource limits prevent this function from allocating the necessary
12036structures for polling. (On Linux, you will likely have reached
12037the maximum number of file descriptors.) The suggested way to handle
12038these cases is to ignore the @cancellable.
12039
12040You are not supposed to read from the fd yourself, just check for
12041readable status. Reading to unset the readable status is done
12042with g_cancellable_reset().
12043
12044Since: 2.22
12045
12046</description>
12047<parameters>
12048<parameter name="cancellable">
12049<parameter_description> a #GCancellable or %NULL
12050</parameter_description>
12051</parameter>
12052<parameter name="pollfd">
12053<parameter_description> a pointer to a #GPollFD
12054</parameter_description>
12055</parameter>
12056</parameters>
12057<return> %TRUE if @pollfd was successfully initialized, %FALSE on
12058failure to prepare the cancellable.
12059
12060</return>
12061</function>
12062
12063<function name="g_cancellable_new">
12064<description>
12065Creates a new #GCancellable object.
12066
12067Applications that want to start one or more operations
12068that should be cancellable should create a #GCancellable
12069and pass it to the operations.
12070
12071One #GCancellable can be used in multiple consecutive
12072operations or in multiple concurrent operations.
12073
12074
12075</description>
12076<parameters>
12077</parameters>
12078<return> a #GCancellable.
12079</return>
12080</function>
12081
12082<function name="g_cancellable_pop_current">
12083<description>
12084Pops @cancellable off the cancellable stack (verifying that @cancellable
12085is on the top of the stack).
12086
12087</description>
12088<parameters>
12089<parameter name="cancellable">
12090<parameter_description> a #GCancellable object
12091</parameter_description>
12092</parameter>
12093</parameters>
12094<return></return>
12095</function>
12096
12097<function name="g_cancellable_push_current">
12098<description>
12099Pushes @cancellable onto the cancellable stack. The current
12100cancellable can then be received using g_cancellable_get_current().
12101
12102This is useful when implementing cancellable operations in
12103code that does not allow you to pass down the cancellable object.
12104
12105This is typically called automatically by e.g. #GFile operations,
12106so you rarely have to call this yourself.
12107
12108</description>
12109<parameters>
12110<parameter name="cancellable">
12111<parameter_description> a #GCancellable object
12112</parameter_description>
12113</parameter>
12114</parameters>
12115<return></return>
12116</function>
12117
12118<function name="g_cancellable_release_fd">
12119<description>
12120Releases a resources previously allocated by g_cancellable_get_fd()
12121or g_cancellable_make_pollfd().
12122
12123For compatibility reasons with older releases, calling this function
12124is not strictly required, the resources will be automatically freed
12125when the @cancellable is finalized. However, the @cancellable will
12126block scarce file descriptors until it is finalized if this function
12127is not called. This can cause the application to run out of file
12128descriptors when many #GCancellables are used at the same time.
12129
12130Since: 2.22
12131
12132</description>
12133<parameters>
12134<parameter name="cancellable">
12135<parameter_description> a #GCancellable
12136</parameter_description>
12137</parameter>
12138</parameters>
12139<return></return>
12140</function>
12141
12142<function name="g_cancellable_reset">
12143<description>
12144Resets @cancellable to its uncancelled state.
12145
12146If cancellable is currently in use by any cancellable operation
12147then the behavior of this function is undefined.
12148
12149Note that it is generally not a good idea to reuse an existing
12150cancellable for more operations after it has been cancelled once,
12151as this function might tempt you to do. The recommended practice
12152is to drop the reference to a cancellable after cancelling it,
12153and let it die with the outstanding async operations. You should
12154create a fresh cancellable for further async operations.
12155
12156</description>
12157<parameters>
12158<parameter name="cancellable">
12159<parameter_description> a #GCancellable object.
12160</parameter_description>
12161</parameter>
12162</parameters>
12163<return></return>
12164</function>
12165
12166<function name="g_cancellable_set_error_if_cancelled">
12167<description>
12168If the @cancellable is cancelled, sets the error to notify
12169that the operation was cancelled.
12170
12171
12172</description>
12173<parameters>
12174<parameter name="cancellable">
12175<parameter_description> a #GCancellable or %NULL
12176</parameter_description>
12177</parameter>
12178<parameter name="error">
12179<parameter_description> #GError to append error state to
12180</parameter_description>
12181</parameter>
12182</parameters>
12183<return> %TRUE if @cancellable was cancelled, %FALSE if it was not
12184</return>
12185</function>
12186
12187<function name="g_cancellable_source_new">
12188<description>
12189Creates a source that triggers if @cancellable is cancelled and
12190calls its callback of type #GCancellableSourceFunc. This is
12191primarily useful for attaching to another (non-cancellable) source
12192with g_source_add_child_source() to add cancellability to it.
12193
12194For convenience, you can call this with a %NULL #GCancellable,
12195in which case the source will never trigger.
12196
12197The new #GSource will hold a reference to the #GCancellable.
12198
12199Since: 2.28
12200
12201</description>
12202<parameters>
12203<parameter name="cancellable">
12204<parameter_description> a #GCancellable, or %NULL
12205</parameter_description>
12206</parameter>
12207</parameters>
12208<return> the new #GSource.
12209
12210</return>
12211</function>
12212
12213<function name="g_charset_converter_get_num_fallbacks">
12214<description>
12215Gets the number of fallbacks that @converter has applied so far.
12216
12217Since: 2.24
12218
12219</description>
12220<parameters>
12221<parameter name="converter">
12222<parameter_description> a #GCharsetConverter
12223</parameter_description>
12224</parameter>
12225</parameters>
12226<return> the number of fallbacks that @converter has applied
12227
12228</return>
12229</function>
12230
12231<function name="g_charset_converter_get_use_fallback">
12232<description>
12233Gets the #GCharsetConverter:use-fallback property.
12234
12235Since: 2.24
12236
12237</description>
12238<parameters>
12239<parameter name="converter">
12240<parameter_description> a #GCharsetConverter
12241</parameter_description>
12242</parameter>
12243</parameters>
12244<return> %TRUE if fallbacks are used by @converter
12245
12246</return>
12247</function>
12248
12249<function name="g_charset_converter_new">
12250<description>
12251Creates a new #GCharsetConverter.
12252
12253Since: 2.24
12254
12255</description>
12256<parameters>
12257<parameter name="to_charset">
12258<parameter_description> destination charset
12259</parameter_description>
12260</parameter>
12261<parameter name="from_charset">
12262<parameter_description> source charset
12263</parameter_description>
12264</parameter>
12265<parameter name="error">
12266<parameter_description> #GError for error reporting, or %NULL to ignore.
12267</parameter_description>
12268</parameter>
12269</parameters>
12270<return> a new #GCharsetConverter or %NULL on error.
12271
12272</return>
12273</function>
12274
12275<function name="g_charset_converter_set_use_fallback">
12276<description>
12277Sets the #GCharsetConverter:use-fallback property.
12278
12279Since: 2.24
12280
12281</description>
12282<parameters>
12283<parameter name="converter">
12284<parameter_description> a #GCharsetConverter
12285</parameter_description>
12286</parameter>
12287<parameter name="use_fallback">
12288<parameter_description> %TRUE to use fallbacks
12289</parameter_description>
12290</parameter>
12291</parameters>
12292<return></return>
12293</function>
12294
12295<function name="g_content_type_can_be_executable">
12296<description>
12297Checks if a content type can be executable. Note that for instance
12298things like text files can be executables (i.e. scripts and batch files).
12299
12300
12301</description>
12302<parameters>
12303<parameter name="type">
12304<parameter_description> a content type string
12305</parameter_description>
12306</parameter>
12307</parameters>
12308<return> %TRUE if the file type corresponds to a type that
12309can be executable, %FALSE otherwise.
12310</return>
12311</function>
12312
12313<function name="g_content_type_equals">
12314<description>
12315Compares two content types for equality.
12316
12317
12318</description>
12319<parameters>
12320<parameter name="type1">
12321<parameter_description> a content type string
12322</parameter_description>
12323</parameter>
12324<parameter name="type2">
12325<parameter_description> a content type string
12326</parameter_description>
12327</parameter>
12328</parameters>
12329<return> %TRUE if the two strings are identical or equivalent,
12330%FALSE otherwise.
12331</return>
12332</function>
12333
12334<function name="g_content_type_from_mime_type">
12335<description>
12336Tries to find a content type based on the mime type name.
12337
12338Since: 2.18
12339
12340</description>
12341<parameters>
12342<parameter name="mime_type">
12343<parameter_description> a mime type string
12344</parameter_description>
12345</parameter>
12346</parameters>
12347<return> Newly allocated string with content type or
12348%NULL. Free with g_free()
12349
12350</return>
12351</function>
12352
12353<function name="g_content_type_get_description">
12354<description>
12355Gets the human readable description of the content type.
12356
12357
12358</description>
12359<parameters>
12360<parameter name="type">
12361<parameter_description> a content type string
12362</parameter_description>
12363</parameter>
12364</parameters>
12365<return> a short description of the content type @type. Free the
12366returned string with g_free()
12367</return>
12368</function>
12369
12370<function name="g_content_type_get_generic_icon_name">
12371<description>
12372Gets the generic icon name for a content type.
12373
12374See the
12375[shared-mime-info](http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec)
12376specification for more on the generic icon name.
12377
12378Since: 2.34
12379
12380</description>
12381<parameters>
12382<parameter name="type">
12383<parameter_description> a content type string
12384</parameter_description>
12385</parameter>
12386</parameters>
12387<return> the registered generic icon name for the given @type,
12388or %NULL if unknown. Free with g_free()
12389
12390</return>
12391</function>
12392
12393<function name="g_content_type_get_icon">
12394<description>
12395Gets the icon for a content type.
12396
12397
12398</description>
12399<parameters>
12400<parameter name="type">
12401<parameter_description> a content type string
12402</parameter_description>
12403</parameter>
12404</parameters>
12405<return> #GIcon corresponding to the content type. Free the returned
12406object with g_object_unref()
12407</return>
12408</function>
12409
12410<function name="g_content_type_get_mime_dirs">
12411<description>
12412Get the list of directories which MIME data is loaded from. See
12413g_content_type_set_mime_dirs() for details.
12414
12415Since: 2.60
12416
12417</description>
12418<parameters>
12419</parameters>
12420<return> %NULL-terminated list of
12421directories to load MIME data from, including any `mime/` subdirectory,
12422and with the first directory to try listed first
12423</return>
12424</function>
12425
12426<function name="g_content_type_get_mime_type">
12427<description>
12428Gets the mime type for the content type, if one is registered.
12429
12430
12431</description>
12432<parameters>
12433<parameter name="type">
12434<parameter_description> a content type string
12435</parameter_description>
12436</parameter>
12437</parameters>
12438<return> the registered mime type for the
12439given @type, or %NULL if unknown; free with g_free().
12440</return>
12441</function>
12442
12443<function name="g_content_type_get_symbolic_icon">
12444<description>
12445Gets the symbolic icon for a content type.
12446
12447Since: 2.34
12448
12449</description>
12450<parameters>
12451<parameter name="type">
12452<parameter_description> a content type string
12453</parameter_description>
12454</parameter>
12455</parameters>
12456<return> symbolic #GIcon corresponding to the content type.
12457Free the returned object with g_object_unref()
12458
12459</return>
12460</function>
12461
12462<function name="g_content_type_guess">
12463<description>
12464Guesses the content type based on example data. If the function is
12465uncertain, @result_uncertain will be set to %TRUE. Either @filename
12466or @data may be %NULL, in which case the guess will be based solely
12467on the other argument.
12468
12469
12470</description>
12471<parameters>
12472<parameter name="filename">
12473<parameter_description> a string, or %NULL
12474</parameter_description>
12475</parameter>
12476<parameter name="data">
12477<parameter_description> a stream of data, or %NULL
12478</parameter_description>
12479</parameter>
12480<parameter name="data_size">
12481<parameter_description> the size of @data
12482</parameter_description>
12483</parameter>
12484<parameter name="result_uncertain">
12485<parameter_description> return location for the certainty
12486of the result, or %NULL
12487</parameter_description>
12488</parameter>
12489</parameters>
12490<return> a string indicating a guessed content type for the
12491given data. Free with g_free()
12492</return>
12493</function>
12494
12495<function name="g_content_type_guess_for_tree">
12496<description>
12497Tries to guess the type of the tree with root @root, by
12498looking at the files it contains. The result is an array
12499of content types, with the best guess coming first.
12500
12501The types returned all have the form x-content/foo, e.g.
12502x-content/audio-cdda (for audio CDs) or x-content/image-dcf
12503(for a camera memory card). See the
12504[shared-mime-info](http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec)
12505specification for more on x-content types.
12506
12507This function is useful in the implementation of
12508g_mount_guess_content_type().
12509
12510Since: 2.18
12511
12512</description>
12513<parameters>
12514<parameter name="root">
12515<parameter_description> the root of the tree to guess a type for
12516</parameter_description>
12517</parameter>
12518</parameters>
12519<return> an %NULL-terminated
12520array of zero or more content types. Free with g_strfreev()
12521
12522</return>
12523</function>
12524
12525<function name="g_content_type_is_a">
12526<description>
12527Determines if @type is a subset of @supertype.
12528
12529
12530</description>
12531<parameters>
12532<parameter name="type">
12533<parameter_description> a content type string
12534</parameter_description>
12535</parameter>
12536<parameter name="supertype">
12537<parameter_description> a content type string
12538</parameter_description>
12539</parameter>
12540</parameters>
12541<return> %TRUE if @type is a kind of @supertype,
12542%FALSE otherwise.
12543</return>
12544</function>
12545
12546<function name="g_content_type_is_mime_type">
12547<description>
12548Determines if @type is a subset of @mime_type.
12549Convenience wrapper around g_content_type_is_a().
12550
12551Since: 2.52
12552
12553</description>
12554<parameters>
12555<parameter name="type">
12556<parameter_description> a content type string
12557</parameter_description>
12558</parameter>
12559<parameter name="mime_type">
12560<parameter_description> a mime type string
12561</parameter_description>
12562</parameter>
12563</parameters>
12564<return> %TRUE if @type is a kind of @mime_type,
12565%FALSE otherwise.
12566
12567</return>
12568</function>
12569
12570<function name="g_content_type_is_unknown">
12571<description>
12572Checks if the content type is the generic &quot;unknown&quot; type.
12573On UNIX this is the &quot;application/octet-stream&quot; mimetype,
12574while on win32 it is &quot;*&quot; and on OSX it is a dynamic type
12575or octet-stream.
12576
12577
12578</description>
12579<parameters>
12580<parameter name="type">
12581<parameter_description> a content type string
12582</parameter_description>
12583</parameter>
12584</parameters>
12585<return> %TRUE if the type is the unknown type.
12586</return>
12587</function>
12588
12589<function name="g_content_type_set_mime_dirs">
12590<description>
12591Set the list of directories used by GIO to load the MIME database.
12592If @dirs is %NULL, the directories used are the default:
12593
12594- the `mime` subdirectory of the directory in `$XDG_DATA_HOME`
12595- the `mime` subdirectory of every directory in `$XDG_DATA_DIRS`
12596
12597This function is intended to be used when writing tests that depend on
12598information stored in the MIME database, in order to control the data.
12599
12600Typically, in case your tests use %G_TEST_OPTION_ISOLATE_DIRS, but they
12601depend on the system’s MIME database, you should call this function
12602with @dirs set to %NULL before calling g_test_init(), for instance:
12603
12604|[&lt;!-- language=&quot;C&quot; --&gt;
12605// Load MIME data from the system
12606g_content_type_set_mime_dirs (NULL);
12607// Isolate the environment
12608g_test_init (&amp;argc, &amp;argv, G_TEST_OPTION_ISOLATE_DIRS, NULL);
12609
1261012611
12612return g_test_run ();
12613]|
12614
12615Since: 2.60
12616
12617</description>
12618<parameters>
12619<parameter name="dirs">
12620<parameter_description> %NULL-terminated list of
12621directories to load MIME data from, including any `mime/` subdirectory,
12622and with the first directory to try listed first
12623</parameter_description>
12624</parameter>
12625</parameters>
12626<return></return>
12627</function>
12628
12629<function name="g_content_types_get_registered">
12630<description>
12631Gets a list of strings containing all the registered content types
12632known to the system. The list and its data should be freed using
12633`g_list_free_full (list, g_free)`.
12634
12635
12636</description>
12637<parameters>
12638</parameters>
12639<return> list of the registered
12640content types
12641</return>
12642</function>
12643
12644<function name="g_converter_convert">
12645<description>
12646This is the main operation used when converting data. It is to be called
12647multiple times in a loop, and each time it will do some work, i.e.
12648producing some output (in @outbuf) or consuming some input (from @inbuf) or
12649both. If its not possible to do any work an error is returned.
12650
12651Note that a single call may not consume all input (or any input at all).
12652Also a call may produce output even if given no input, due to state stored
12653in the converter producing output.
12654
12655If any data was either produced or consumed, and then an error happens, then
12656only the successful conversion is reported and the error is returned on the
12657next call.
12658
12659A full conversion loop involves calling this method repeatedly, each time
12660giving it new input and space output space. When there is no more input
12661data after the data in @inbuf, the flag %G_CONVERTER_INPUT_AT_END must be set.
12662The loop will be (unless some error happens) returning %G_CONVERTER_CONVERTED
12663each time until all data is consumed and all output is produced, then
12664%G_CONVERTER_FINISHED is returned instead. Note, that %G_CONVERTER_FINISHED
12665may be returned even if %G_CONVERTER_INPUT_AT_END is not set, for instance
12666in a decompression converter where the end of data is detectable from the
12667data (and there might even be other data after the end of the compressed data).
12668
12669When some data has successfully been converted @bytes_read and is set to
12670the number of bytes read from @inbuf, and @bytes_written is set to indicate
12671how many bytes was written to @outbuf. If there are more data to output
12672or consume (i.e. unless the %G_CONVERTER_INPUT_AT_END is specified) then
12673%G_CONVERTER_CONVERTED is returned, and if no more data is to be output
12674then %G_CONVERTER_FINISHED is returned.
12675
12676On error %G_CONVERTER_ERROR is returned and @error is set accordingly.
12677Some errors need special handling:
12678
12679%G_IO_ERROR_NO_SPACE is returned if there is not enough space
12680to write the resulting converted data, the application should
12681call the function again with a larger @outbuf to continue.
12682
12683%G_IO_ERROR_PARTIAL_INPUT is returned if there is not enough
12684input to fully determine what the conversion should produce,
12685and the %G_CONVERTER_INPUT_AT_END flag is not set. This happens for
12686example with an incomplete multibyte sequence when converting text,
12687or when a regexp matches up to the end of the input (and may match
12688further input). It may also happen when @inbuf_size is zero and
12689there is no more data to produce.
12690
12691When this happens the application should read more input and then
12692call the function again. If further input shows that there is no
12693more data call the function again with the same data but with
12694the %G_CONVERTER_INPUT_AT_END flag set. This may cause the conversion
12695to finish as e.g. in the regexp match case (or, to fail again with
12696%G_IO_ERROR_PARTIAL_INPUT in e.g. a charset conversion where the
12697input is actually partial).
12698
12699After g_converter_convert() has returned %G_CONVERTER_FINISHED the
12700converter object is in an invalid state where its not allowed
12701to call g_converter_convert() anymore. At this time you can only
12702free the object or call g_converter_reset() to reset it to the
12703initial state.
12704
12705If the flag %G_CONVERTER_FLUSH is set then conversion is modified
12706to try to write out all internal state to the output. The application
12707has to call the function multiple times with the flag set, and when
12708the available input has been consumed and all internal state has
12709been produced then %G_CONVERTER_FLUSHED (or %G_CONVERTER_FINISHED if
12710really at the end) is returned instead of %G_CONVERTER_CONVERTED.
12711This is somewhat similar to what happens at the end of the input stream,
12712but done in the middle of the data.
12713
12714This has different meanings for different conversions. For instance
12715in a compression converter it would mean that we flush all the
12716compression state into output such that if you uncompress the
12717compressed data you get back all the input data. Doing this may
12718make the final file larger due to padding though. Another example
12719is a regexp conversion, where if you at the end of the flushed data
12720have a match, but there is also a potential longer match. In the
12721non-flushed case we would ask for more input, but when flushing we
12722treat this as the end of input and do the match.
12723
12724Flushing is not always possible (like if a charset converter flushes
12725at a partial multibyte sequence). Converters are supposed to try
12726to produce as much output as possible and then return an error
12727(typically %G_IO_ERROR_PARTIAL_INPUT).
12728
12729Since: 2.24
12730
12731</description>
12732<parameters>
12733<parameter name="converter">
12734<parameter_description> a #GConverter.
12735</parameter_description>
12736</parameter>
12737<parameter name="inbuf">
12738<parameter_description> the buffer
12739containing the data to convert.
12740</parameter_description>
12741</parameter>
12742<parameter name="inbuf_size">
12743<parameter_description> the number of bytes in @inbuf
12744</parameter_description>
12745</parameter>
12746<parameter name="outbuf">
12747<parameter_description> a buffer to write
12748converted data in.
12749</parameter_description>
12750</parameter>
12751<parameter name="outbuf_size">
12752<parameter_description> the number of bytes in @outbuf, must be at least one
12753</parameter_description>
12754</parameter>
12755<parameter name="flags">
12756<parameter_description> a #GConverterFlags controlling the conversion details
12757</parameter_description>
12758</parameter>
12759<parameter name="bytes_read">
12760<parameter_description> will be set to the number of bytes read from @inbuf on success
12761</parameter_description>
12762</parameter>
12763<parameter name="bytes_written">
12764<parameter_description> will be set to the number of bytes written to @outbuf on success
12765</parameter_description>
12766</parameter>
12767<parameter name="error">
12768<parameter_description> location to store the error occurring, or %NULL to ignore
12769</parameter_description>
12770</parameter>
12771</parameters>
12772<return> a #GConverterResult, %G_CONVERTER_ERROR on error.
12773
12774</return>
12775</function>
12776
12777<function name="g_converter_input_stream_get_converter">
12778<description>
12779Gets the #GConverter that is used by @converter_stream.
12780
12781Since: 2.24
12782
12783</description>
12784<parameters>
12785<parameter name="converter_stream">
12786<parameter_description> a #GConverterInputStream
12787</parameter_description>
12788</parameter>
12789</parameters>
12790<return> the converter of the converter input stream
12791
12792</return>
12793</function>
12794
12795<function name="g_converter_input_stream_new">
12796<description>
12797Creates a new converter input stream for the @base_stream.
12798
12799
12800</description>
12801<parameters>
12802<parameter name="base_stream">
12803<parameter_description> a #GInputStream
12804</parameter_description>
12805</parameter>
12806<parameter name="converter">
12807<parameter_description> a #GConverter
12808</parameter_description>
12809</parameter>
12810</parameters>
12811<return> a new #GInputStream.
12812</return>
12813</function>
12814
12815<function name="g_converter_output_stream_get_converter">
12816<description>
12817Gets the #GConverter that is used by @converter_stream.
12818
12819Since: 2.24
12820
12821</description>
12822<parameters>
12823<parameter name="converter_stream">
12824<parameter_description> a #GConverterOutputStream
12825</parameter_description>
12826</parameter>
12827</parameters>
12828<return> the converter of the converter output stream
12829
12830</return>
12831</function>
12832
12833<function name="g_converter_output_stream_new">
12834<description>
12835Creates a new converter output stream for the @base_stream.
12836
12837
12838</description>
12839<parameters>
12840<parameter name="base_stream">
12841<parameter_description> a #GOutputStream
12842</parameter_description>
12843</parameter>
12844<parameter name="converter">
12845<parameter_description> a #GConverter
12846</parameter_description>
12847</parameter>
12848</parameters>
12849<return> a new #GOutputStream.
12850</return>
12851</function>
12852
12853<function name="g_converter_reset">
12854<description>
12855Resets all internal state in the converter, making it behave
12856as if it was just created. If the converter has any internal
12857state that would produce output then that output is lost.
12858
12859Since: 2.24
12860
12861</description>
12862<parameters>
12863<parameter name="converter">
12864<parameter_description> a #GConverter.
12865</parameter_description>
12866</parameter>
12867</parameters>
12868<return></return>
12869</function>
12870
12871<function name="g_credentials_get_native">
12872<description>
12873Gets a pointer to native credentials of type @native_type from
12874@credentials.
12875
12876It is a programming error (which will cause a warning to be
12877logged) to use this method if there is no #GCredentials support for
12878the OS or if @native_type isn't supported by the OS.
12879
12880Since: 2.26
12881
12882</description>
12883<parameters>
12884<parameter name="credentials">
12885<parameter_description> A #GCredentials.
12886</parameter_description>
12887</parameter>
12888<parameter name="native_type">
12889<parameter_description> The type of native credentials to get.
12890</parameter_description>
12891</parameter>
12892</parameters>
12893<return> The pointer to native credentials or %NULL if the
12894operation there is no #GCredentials support for the OS or if
12895@native_type isn't supported by the OS. Do not free the returned
12896data, it is owned by @credentials.
12897
12898</return>
12899</function>
12900
12901<function name="g_credentials_get_unix_pid">
12902<description>
12903Tries to get the UNIX process identifier from @credentials. This
12904method is only available on UNIX platforms.
12905
12906This operation can fail if #GCredentials is not supported on the
12907OS or if the native credentials type does not contain information
12908about the UNIX process ID.
12909
12910Since: 2.36
12911
12912</description>
12913<parameters>
12914<parameter name="credentials">
12915<parameter_description> A #GCredentials
12916</parameter_description>
12917</parameter>
12918<parameter name="error">
12919<parameter_description> Return location for error or %NULL.
12920</parameter_description>
12921</parameter>
12922</parameters>
12923<return> The UNIX process ID, or -1 if @error is set.
12924
12925</return>
12926</function>
12927
12928<function name="g_credentials_get_unix_user">
12929<description>
12930Tries to get the UNIX user identifier from @credentials. This
12931method is only available on UNIX platforms.
12932
12933This operation can fail if #GCredentials is not supported on the
12934OS or if the native credentials type does not contain information
12935about the UNIX user.
12936
12937Since: 2.26
12938
12939</description>
12940<parameters>
12941<parameter name="credentials">
12942<parameter_description> A #GCredentials
12943</parameter_description>
12944</parameter>
12945<parameter name="error">
12946<parameter_description> Return location for error or %NULL.
12947</parameter_description>
12948</parameter>
12949</parameters>
12950<return> The UNIX user identifier or -1 if @error is set.
12951
12952</return>
12953</function>
12954
12955<function name="g_credentials_is_same_user">
12956<description>
12957Checks if @credentials and @other_credentials is the same user.
12958
12959This operation can fail if #GCredentials is not supported on the
12960the OS.
12961
12962Since: 2.26
12963
12964</description>
12965<parameters>
12966<parameter name="credentials">
12967<parameter_description> A #GCredentials.
12968</parameter_description>
12969</parameter>
12970<parameter name="other_credentials">
12971<parameter_description> A #GCredentials.
12972</parameter_description>
12973</parameter>
12974<parameter name="error">
12975<parameter_description> Return location for error or %NULL.
12976</parameter_description>
12977</parameter>
12978</parameters>
12979<return> %TRUE if @credentials and @other_credentials has the same
12980user, %FALSE otherwise or if @error is set.
12981
12982</return>
12983</function>
12984
12985<function name="g_credentials_new">
12986<description>
12987Creates a new #GCredentials object with credentials matching the
12988the current process.
12989
12990Since: 2.26
12991
12992</description>
12993<parameters>
12994</parameters>
12995<return> A #GCredentials. Free with g_object_unref().
12996
12997</return>
12998</function>
12999
13000<function name="g_credentials_set_native">
13001<description>
13002Copies the native credentials of type @native_type from @native
13003into @credentials.
13004
13005It is a programming error (which will cause a warning to be
13006logged) to use this method if there is no #GCredentials support for
13007the OS or if @native_type isn't supported by the OS.
13008
13009Since: 2.26
13010
13011</description>
13012<parameters>
13013<parameter name="credentials">
13014<parameter_description> A #GCredentials.
13015</parameter_description>
13016</parameter>
13017<parameter name="native_type">
13018<parameter_description> The type of native credentials to set.
13019</parameter_description>
13020</parameter>
13021<parameter name="native">
13022<parameter_description> A pointer to native credentials.
13023</parameter_description>
13024</parameter>
13025</parameters>
13026<return></return>
13027</function>
13028
13029<function name="g_credentials_set_unix_user">
13030<description>
13031Tries to set the UNIX user identifier on @credentials. This method
13032is only available on UNIX platforms.
13033
13034This operation can fail if #GCredentials is not supported on the
13035OS or if the native credentials type does not contain information
13036about the UNIX user. It can also fail if the OS does not allow the
13037use of &quot;spoofed&quot; credentials.
13038
13039Since: 2.26
13040
13041</description>
13042<parameters>
13043<parameter name="credentials">
13044<parameter_description> A #GCredentials.
13045</parameter_description>
13046</parameter>
13047<parameter name="uid">
13048<parameter_description> The UNIX user identifier to set.
13049</parameter_description>
13050</parameter>
13051<parameter name="error">
13052<parameter_description> Return location for error or %NULL.
13053</parameter_description>
13054</parameter>
13055</parameters>
13056<return> %TRUE if @uid was set, %FALSE if error is set.
13057
13058</return>
13059</function>
13060
13061<function name="g_credentials_to_string">
13062<description>
13063Creates a human-readable textual representation of @credentials
13064that can be used in logging and debug messages. The format of the
13065returned string may change in future GLib release.
13066
13067Since: 2.26
13068
13069</description>
13070<parameters>
13071<parameter name="credentials">
13072<parameter_description> A #GCredentials object.
13073</parameter_description>
13074</parameter>
13075</parameters>
13076<return> A string that should be freed with g_free().
13077
13078</return>
13079</function>
13080
13081<function name="g_data_input_stream_get_byte_order">
13082<description>
13083Gets the byte order for the data input stream.
13084
13085
13086</description>
13087<parameters>
13088<parameter name="stream">
13089<parameter_description> a given #GDataInputStream.
13090</parameter_description>
13091</parameter>
13092</parameters>
13093<return> the @stream's current #GDataStreamByteOrder.
13094</return>
13095</function>
13096
13097<function name="g_data_input_stream_get_newline_type">
13098<description>
13099Gets the current newline type for the @stream.
13100
13101
13102</description>
13103<parameters>
13104<parameter name="stream">
13105<parameter_description> a given #GDataInputStream.
13106</parameter_description>
13107</parameter>
13108</parameters>
13109<return> #GDataStreamNewlineType for the given @stream.
13110</return>
13111</function>
13112
13113<function name="g_data_input_stream_new">
13114<description>
13115Creates a new data input stream for the @base_stream.
13116
13117
13118</description>
13119<parameters>
13120<parameter name="base_stream">
13121<parameter_description> a #GInputStream.
13122</parameter_description>
13123</parameter>
13124</parameters>
13125<return> a new #GDataInputStream.
13126</return>
13127</function>
13128
13129<function name="g_data_input_stream_read_byte">
13130<description>
13131Reads an unsigned 8-bit/1-byte value from @stream.
13132
13133
13134</description>
13135<parameters>
13136<parameter name="stream">
13137<parameter_description> a given #GDataInputStream.
13138</parameter_description>
13139</parameter>
13140<parameter name="cancellable">
13141<parameter_description> optional #GCancellable object, %NULL to ignore.
13142</parameter_description>
13143</parameter>
13144<parameter name="error">
13145<parameter_description> #GError for error reporting.
13146</parameter_description>
13147</parameter>
13148</parameters>
13149<return> an unsigned 8-bit/1-byte value read from the @stream or `0`
13150if an error occurred.
13151</return>
13152</function>
13153
13154<function name="g_data_input_stream_read_int16">
13155<description>
13156Reads a 16-bit/2-byte value from @stream.
13157
13158In order to get the correct byte order for this read operation,
13159see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
13160
13161
13162</description>
13163<parameters>
13164<parameter name="stream">
13165<parameter_description> a given #GDataInputStream.
13166</parameter_description>
13167</parameter>
13168<parameter name="cancellable">
13169<parameter_description> optional #GCancellable object, %NULL to ignore.
13170</parameter_description>
13171</parameter>
13172<parameter name="error">
13173<parameter_description> #GError for error reporting.
13174</parameter_description>
13175</parameter>
13176</parameters>
13177<return> a signed 16-bit/2-byte value read from @stream or `0` if
13178an error occurred.
13179</return>
13180</function>
13181
13182<function name="g_data_input_stream_read_int32">
13183<description>
13184Reads a signed 32-bit/4-byte value from @stream.
13185
13186In order to get the correct byte order for this read operation,
13187see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
13188
13189If @cancellable is not %NULL, then the operation can be cancelled by
13190triggering the cancellable object from another thread. If the operation
13191was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13192
13193
13194</description>
13195<parameters>
13196<parameter name="stream">
13197<parameter_description> a given #GDataInputStream.
13198</parameter_description>
13199</parameter>
13200<parameter name="cancellable">
13201<parameter_description> optional #GCancellable object, %NULL to ignore.
13202</parameter_description>
13203</parameter>
13204<parameter name="error">
13205<parameter_description> #GError for error reporting.
13206</parameter_description>
13207</parameter>
13208</parameters>
13209<return> a signed 32-bit/4-byte value read from the @stream or `0` if
13210an error occurred.
13211</return>
13212</function>
13213
13214<function name="g_data_input_stream_read_int64">
13215<description>
13216Reads a 64-bit/8-byte value from @stream.
13217
13218In order to get the correct byte order for this read operation,
13219see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
13220
13221If @cancellable is not %NULL, then the operation can be cancelled by
13222triggering the cancellable object from another thread. If the operation
13223was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13224
13225
13226</description>
13227<parameters>
13228<parameter name="stream">
13229<parameter_description> a given #GDataInputStream.
13230</parameter_description>
13231</parameter>
13232<parameter name="cancellable">
13233<parameter_description> optional #GCancellable object, %NULL to ignore.
13234</parameter_description>
13235</parameter>
13236<parameter name="error">
13237<parameter_description> #GError for error reporting.
13238</parameter_description>
13239</parameter>
13240</parameters>
13241<return> a signed 64-bit/8-byte value read from @stream or `0` if
13242an error occurred.
13243</return>
13244</function>
13245
13246<function name="g_data_input_stream_read_line">
13247<description>
13248Reads a line from the data input stream.  Note that no encoding
13249checks or conversion is performed; the input is not guaranteed to
13250be UTF-8, and may in fact have embedded NUL characters.
13251
13252If @cancellable is not %NULL, then the operation can be cancelled by
13253triggering the cancellable object from another thread. If the operation
13254was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13255
13256
13257</description>
13258<parameters>
13259<parameter name="stream">
13260<parameter_description> a given #GDataInputStream.
13261</parameter_description>
13262</parameter>
13263<parameter name="length">
13264<parameter_description> a #gsize to get the length of the data read in.
13265</parameter_description>
13266</parameter>
13267<parameter name="cancellable">
13268<parameter_description> optional #GCancellable object, %NULL to ignore.
13269</parameter_description>
13270</parameter>
13271<parameter name="error">
13272<parameter_description> #GError for error reporting.
13273</parameter_description>
13274</parameter>
13275</parameters>
13276<return>
13277a NUL terminated byte array with the line that was read in
13278(without the newlines).  Set @length to a #gsize to get the length
13279of the read line.  On an error, it will return %NULL and @error
13280will be set. If there's no content to read, it will still return
13281%NULL, but @error won't be set.
13282</return>
13283</function>
13284
13285<function name="g_data_input_stream_read_line_async">
13286<description>
13287The asynchronous version of g_data_input_stream_read_line().  It is
13288an error to have two outstanding calls to this function.
13289
13290When the operation is finished, @callback will be called. You
13291can then call g_data_input_stream_read_line_finish() to get
13292the result of the operation.
13293
13294Since: 2.20
13295
13296</description>
13297<parameters>
13298<parameter name="stream">
13299<parameter_description> a given #GDataInputStream.
13300</parameter_description>
13301</parameter>
13302<parameter name="io_priority">
13303<parameter_description> the [I/O priority][io-priority] of the request
13304</parameter_description>
13305</parameter>
13306<parameter name="cancellable">
13307<parameter_description> optional #GCancellable object, %NULL to ignore.
13308</parameter_description>
13309</parameter>
13310<parameter name="callback">
13311<parameter_description> callback to call when the request is satisfied.
13312</parameter_description>
13313</parameter>
13314<parameter name="user_data">
13315<parameter_description> the data to pass to callback function.
13316</parameter_description>
13317</parameter>
13318</parameters>
13319<return></return>
13320</function>
13321
13322<function name="g_data_input_stream_read_line_finish">
13323<description>
13324Finish an asynchronous call started by
13325g_data_input_stream_read_line_async().  Note the warning about
13326string encoding in g_data_input_stream_read_line() applies here as
13327well.
13328
13329Since: 2.20
13330
13331</description>
13332<parameters>
13333<parameter name="stream">
13334<parameter_description> a given #GDataInputStream.
13335</parameter_description>
13336</parameter>
13337<parameter name="result">
13338<parameter_description> the #GAsyncResult that was provided to the callback.
13339</parameter_description>
13340</parameter>
13341<parameter name="length">
13342<parameter_description> a #gsize to get the length of the data read in.
13343</parameter_description>
13344</parameter>
13345<parameter name="error">
13346<parameter_description> #GError for error reporting.
13347</parameter_description>
13348</parameter>
13349</parameters>
13350<return>
13351a NUL-terminated byte array with the line that was read in
13352(without the newlines).  Set @length to a #gsize to get the length
13353of the read line.  On an error, it will return %NULL and @error
13354will be set. If there's no content to read, it will still return
13355%NULL, but @error won't be set.
13356
13357</return>
13358</function>
13359
13360<function name="g_data_input_stream_read_line_finish_utf8">
13361<description>
13362Finish an asynchronous call started by
13363g_data_input_stream_read_line_async().
13364
13365Since: 2.30
13366
13367</description>
13368<parameters>
13369<parameter name="stream">
13370<parameter_description> a given #GDataInputStream.
13371</parameter_description>
13372</parameter>
13373<parameter name="result">
13374<parameter_description> the #GAsyncResult that was provided to the callback.
13375</parameter_description>
13376</parameter>
13377<parameter name="length">
13378<parameter_description> a #gsize to get the length of the data read in.
13379</parameter_description>
13380</parameter>
13381<parameter name="error">
13382<parameter_description> #GError for error reporting.
13383</parameter_description>
13384</parameter>
13385</parameters>
13386<return> a string with the line that
13387was read in (without the newlines).  Set @length to a #gsize to
13388get the length of the read line.  On an error, it will return
13389%NULL and @error will be set. For UTF-8 conversion errors, the set
13390error domain is %G_CONVERT_ERROR.  If there's no content to read,
13391it will still return %NULL, but @error won't be set.
13392
13393</return>
13394</function>
13395
13396<function name="g_data_input_stream_read_line_utf8">
13397<description>
13398Reads a UTF-8 encoded line from the data input stream.
13399
13400If @cancellable is not %NULL, then the operation can be cancelled by
13401triggering the cancellable object from another thread. If the operation
13402was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13403
13404Since: 2.30
13405
13406</description>
13407<parameters>
13408<parameter name="stream">
13409<parameter_description> a given #GDataInputStream.
13410</parameter_description>
13411</parameter>
13412<parameter name="length">
13413<parameter_description> a #gsize to get the length of the data read in.
13414</parameter_description>
13415</parameter>
13416<parameter name="cancellable">
13417<parameter_description> optional #GCancellable object, %NULL to ignore.
13418</parameter_description>
13419</parameter>
13420<parameter name="error">
13421<parameter_description> #GError for error reporting.
13422</parameter_description>
13423</parameter>
13424</parameters>
13425<return> a NUL terminated UTF-8 string
13426with the line that was read in (without the newlines).  Set
13427@length to a #gsize to get the length of the read line.  On an
13428error, it will return %NULL and @error will be set.  For UTF-8
13429conversion errors, the set error domain is %G_CONVERT_ERROR.  If
13430there's no content to read, it will still return %NULL, but @error
13431won't be set.
13432
13433</return>
13434</function>
13435
13436<function name="g_data_input_stream_read_uint16">
13437<description>
13438Reads an unsigned 16-bit/2-byte value from @stream.
13439
13440In order to get the correct byte order for this read operation,
13441see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
13442
13443
13444</description>
13445<parameters>
13446<parameter name="stream">
13447<parameter_description> a given #GDataInputStream.
13448</parameter_description>
13449</parameter>
13450<parameter name="cancellable">
13451<parameter_description> optional #GCancellable object, %NULL to ignore.
13452</parameter_description>
13453</parameter>
13454<parameter name="error">
13455<parameter_description> #GError for error reporting.
13456</parameter_description>
13457</parameter>
13458</parameters>
13459<return> an unsigned 16-bit/2-byte value read from the @stream or `0` if
13460an error occurred.
13461</return>
13462</function>
13463
13464<function name="g_data_input_stream_read_uint32">
13465<description>
13466Reads an unsigned 32-bit/4-byte value from @stream.
13467
13468In order to get the correct byte order for this read operation,
13469see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
13470
13471If @cancellable is not %NULL, then the operation can be cancelled by
13472triggering the cancellable object from another thread. If the operation
13473was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13474
13475
13476</description>
13477<parameters>
13478<parameter name="stream">
13479<parameter_description> a given #GDataInputStream.
13480</parameter_description>
13481</parameter>
13482<parameter name="cancellable">
13483<parameter_description> optional #GCancellable object, %NULL to ignore.
13484</parameter_description>
13485</parameter>
13486<parameter name="error">
13487<parameter_description> #GError for error reporting.
13488</parameter_description>
13489</parameter>
13490</parameters>
13491<return> an unsigned 32-bit/4-byte value read from the @stream or `0` if
13492an error occurred.
13493</return>
13494</function>
13495
13496<function name="g_data_input_stream_read_uint64">
13497<description>
13498Reads an unsigned 64-bit/8-byte value from @stream.
13499
13500In order to get the correct byte order for this read operation,
13501see g_data_input_stream_get_byte_order().
13502
13503If @cancellable is not %NULL, then the operation can be cancelled by
13504triggering the cancellable object from another thread. If the operation
13505was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
13506
13507
13508</description>
13509<parameters>
13510<parameter name="stream">
13511<parameter_description> a given #GDataInputStream.
13512</parameter_description>
13513</parameter>
13514<parameter name="cancellable">
13515<parameter_description> optional #GCancellable object, %NULL to ignore.
13516</parameter_description>
13517</parameter>
13518<parameter name="error">
13519<parameter_description> #GError for error reporting.
13520</parameter_description>
13521</parameter>
13522</parameters>
13523<return> an unsigned 64-bit/8-byte read from @stream or `0` if
13524an error occurred.
13525</return>
13526</function>
13527
13528<function name="g_data_input_stream_read_until">
13529<description>
13530Reads a string from the data input stream, up to the first
13531occurrence of any of the stop characters.
13532
13533Note that, in contrast to g_data_input_stream_read_until_async(),
13534this function consumes the stop character that it finds.
13535
13536Don't use this function in new code.  Its functionality is
13537inconsistent with g_data_input_stream_read_until_async().  Both
13538functions will be marked as deprecated in a future release.  Use
13539g_data_input_stream_read_upto() instead, but note that that function
13540does not consume the stop character.
13541
13542Deprecated: 2.56: Use g_data_input_stream_read_upto() instead, which has more
13543consistent behaviour regarding the stop character.
13544
13545</description>
13546<parameters>
13547<parameter name="stream">
13548<parameter_description> a given #GDataInputStream.
13549</parameter_description>
13550</parameter>
13551<parameter name="stop_chars">
13552<parameter_description> characters to terminate the read.
13553</parameter_description>
13554</parameter>
13555<parameter name="length">
13556<parameter_description> a #gsize to get the length of the data read in.
13557</parameter_description>
13558</parameter>
13559<parameter name="cancellable">
13560<parameter_description> optional #GCancellable object, %NULL to ignore.
13561</parameter_description>
13562</parameter>
13563<parameter name="error">
13564<parameter_description> #GError for error reporting.
13565</parameter_description>
13566</parameter>
13567</parameters>
13568<return> a string with the data that was read
13569before encountering any of the stop characters. Set @length to
13570a #gsize to get the length of the string. This function will
13571return %NULL on an error.
13572</return>
13573</function>
13574
13575<function name="g_data_input_stream_read_until_async">
13576<description>
13577The asynchronous version of g_data_input_stream_read_until().
13578It is an error to have two outstanding calls to this function.
13579
13580Note that, in contrast to g_data_input_stream_read_until(),
13581this function does not consume the stop character that it finds.  You
13582must read it for yourself.
13583
13584When the operation is finished, @callback will be called. You
13585can then call g_data_input_stream_read_until_finish() to get
13586the result of the operation.
13587
13588Don't use this function in new code.  Its functionality is
13589inconsistent with g_data_input_stream_read_until().  Both functions
13590will be marked as deprecated in a future release.  Use
13591g_data_input_stream_read_upto_async() instead.
13592
13593Since: 2.20
13594Deprecated: 2.56: Use g_data_input_stream_read_upto_async() instead, which
13595has more consistent behaviour regarding the stop character.
13596
13597</description>
13598<parameters>
13599<parameter name="stream">
13600<parameter_description> a given #GDataInputStream.
13601</parameter_description>
13602</parameter>
13603<parameter name="stop_chars">
13604<parameter_description> characters to terminate the read.
13605</parameter_description>
13606</parameter>
13607<parameter name="io_priority">
13608<parameter_description> the [I/O priority][io-priority] of the request
13609</parameter_description>
13610</parameter>
13611<parameter name="cancellable">
13612<parameter_description> optional #GCancellable object, %NULL to ignore.
13613</parameter_description>
13614</parameter>
13615<parameter name="callback">
13616<parameter_description> callback to call when the request is satisfied.
13617</parameter_description>
13618</parameter>
13619<parameter name="user_data">
13620<parameter_description> the data to pass to callback function.
13621</parameter_description>
13622</parameter>
13623</parameters>
13624<return></return>
13625</function>
13626
13627<function name="g_data_input_stream_read_until_finish">
13628<description>
13629Finish an asynchronous call started by
13630g_data_input_stream_read_until_async().
13631
13632Since: 2.20
13633
13634Deprecated: 2.56: Use g_data_input_stream_read_upto_finish() instead, which
13635has more consistent behaviour regarding the stop character.
13636
13637</description>
13638<parameters>
13639<parameter name="stream">
13640<parameter_description> a given #GDataInputStream.
13641</parameter_description>
13642</parameter>
13643<parameter name="result">
13644<parameter_description> the #GAsyncResult that was provided to the callback.
13645</parameter_description>
13646</parameter>
13647<parameter name="length">
13648<parameter_description> a #gsize to get the length of the data read in.
13649</parameter_description>
13650</parameter>
13651<parameter name="error">
13652<parameter_description> #GError for error reporting.
13653</parameter_description>
13654</parameter>
13655</parameters>
13656<return> a string with the data that was read
13657before encountering any of the stop characters. Set @length to
13658a #gsize to get the length of the string. This function will
13659return %NULL on an error.
13660</return>
13661</function>
13662
13663<function name="g_data_input_stream_read_upto">
13664<description>
13665Reads a string from the data input stream, up to the first
13666occurrence of any of the stop characters.
13667
13668In contrast to g_data_input_stream_read_until(), this function
13669does not consume the stop character. You have to use
13670g_data_input_stream_read_byte() to get it before calling
13671g_data_input_stream_read_upto() again.
13672
13673Note that @stop_chars may contain '\0' if @stop_chars_len is
13674specified.
13675
13676The returned string will always be nul-terminated on success.
13677
13678Since: 2.26
13679
13680</description>
13681<parameters>
13682<parameter name="stream">
13683<parameter_description> a #GDataInputStream
13684</parameter_description>
13685</parameter>
13686<parameter name="stop_chars">
13687<parameter_description> characters to terminate the read
13688</parameter_description>
13689</parameter>
13690<parameter name="stop_chars_len">
13691<parameter_description> length of @stop_chars. May be -1 if @stop_chars is
13692nul-terminated
13693</parameter_description>
13694</parameter>
13695<parameter name="length">
13696<parameter_description> a #gsize to get the length of the data read in
13697</parameter_description>
13698</parameter>
13699<parameter name="cancellable">
13700<parameter_description> optional #GCancellable object, %NULL to ignore
13701</parameter_description>
13702</parameter>
13703<parameter name="error">
13704<parameter_description> #GError for error reporting
13705</parameter_description>
13706</parameter>
13707</parameters>
13708<return> a string with the data that was read
13709before encountering any of the stop characters. Set @length to
13710a #gsize to get the length of the string. This function will
13711return %NULL on an error
13712
13713</return>
13714</function>
13715
13716<function name="g_data_input_stream_read_upto_async">
13717<description>
13718The asynchronous version of g_data_input_stream_read_upto().
13719It is an error to have two outstanding calls to this function.
13720
13721In contrast to g_data_input_stream_read_until(), this function
13722does not consume the stop character. You have to use
13723g_data_input_stream_read_byte() to get it before calling
13724g_data_input_stream_read_upto() again.
13725
13726Note that @stop_chars may contain '\0' if @stop_chars_len is
13727specified.
13728
13729When the operation is finished, @callback will be called. You
13730can then call g_data_input_stream_read_upto_finish() to get
13731the result of the operation.
13732
13733Since: 2.26
13734
13735</description>
13736<parameters>
13737<parameter name="stream">
13738<parameter_description> a #GDataInputStream
13739</parameter_description>
13740</parameter>
13741<parameter name="stop_chars">
13742<parameter_description> characters to terminate the read
13743</parameter_description>
13744</parameter>
13745<parameter name="stop_chars_len">
13746<parameter_description> length of @stop_chars. May be -1 if @stop_chars is
13747nul-terminated
13748</parameter_description>
13749</parameter>
13750<parameter name="io_priority">
13751<parameter_description> the [I/O priority][io-priority] of the request
13752</parameter_description>
13753</parameter>
13754<parameter name="cancellable">
13755<parameter_description> optional #GCancellable object, %NULL to ignore
13756</parameter_description>
13757</parameter>
13758<parameter name="callback">
13759<parameter_description> callback to call when the request is satisfied
13760</parameter_description>
13761</parameter>
13762<parameter name="user_data">
13763<parameter_description> the data to pass to callback function
13764</parameter_description>
13765</parameter>
13766</parameters>
13767<return></return>
13768</function>
13769
13770<function name="g_data_input_stream_read_upto_finish">
13771<description>
13772Finish an asynchronous call started by
13773g_data_input_stream_read_upto_async().
13774
13775Note that this function does not consume the stop character. You
13776have to use g_data_input_stream_read_byte() to get it before calling
13777g_data_input_stream_read_upto_async() again.
13778
13779The returned string will always be nul-terminated on success.
13780
13781Since: 2.24
13782
13783</description>
13784<parameters>
13785<parameter name="stream">
13786<parameter_description> a #GDataInputStream
13787</parameter_description>
13788</parameter>
13789<parameter name="result">
13790<parameter_description> the #GAsyncResult that was provided to the callback
13791</parameter_description>
13792</parameter>
13793<parameter name="length">
13794<parameter_description> a #gsize to get the length of the data read in
13795</parameter_description>
13796</parameter>
13797<parameter name="error">
13798<parameter_description> #GError for error reporting
13799</parameter_description>
13800</parameter>
13801</parameters>
13802<return> a string with the data that was read
13803before encountering any of the stop characters. Set @length to
13804a #gsize to get the length of the string. This function will
13805return %NULL on an error.
13806
13807</return>
13808</function>
13809
13810<function name="g_data_input_stream_set_byte_order">
13811<description>
13812This function sets the byte order for the given @stream. All subsequent
13813reads from the @stream will be read in the given @order.
13814
13815
13816</description>
13817<parameters>
13818<parameter name="stream">
13819<parameter_description> a given #GDataInputStream.
13820</parameter_description>
13821</parameter>
13822<parameter name="order">
13823<parameter_description> a #GDataStreamByteOrder to set.
13824</parameter_description>
13825</parameter>
13826</parameters>
13827<return></return>
13828</function>
13829
13830<function name="g_data_input_stream_set_newline_type">
13831<description>
13832Sets the newline type for the @stream.
13833
13834Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read
13835chunk ends in &quot;CR&quot; we must read an additional byte to know if this is &quot;CR&quot; or
13836&quot;CR LF&quot;, and this might block if there is no more data available.
13837
13838
13839</description>
13840<parameters>
13841<parameter name="stream">
13842<parameter_description> a #GDataInputStream.
13843</parameter_description>
13844</parameter>
13845<parameter name="type">
13846<parameter_description> the type of new line return as #GDataStreamNewlineType.
13847</parameter_description>
13848</parameter>
13849</parameters>
13850<return></return>
13851</function>
13852
13853<function name="g_data_output_stream_get_byte_order">
13854<description>
13855Gets the byte order for the stream.
13856
13857
13858</description>
13859<parameters>
13860<parameter name="stream">
13861<parameter_description> a #GDataOutputStream.
13862</parameter_description>
13863</parameter>
13864</parameters>
13865<return> the #GDataStreamByteOrder for the @stream.
13866</return>
13867</function>
13868
13869<function name="g_data_output_stream_new">
13870<description>
13871Creates a new data output stream for @base_stream.
13872
13873
13874</description>
13875<parameters>
13876<parameter name="base_stream">
13877<parameter_description> a #GOutputStream.
13878</parameter_description>
13879</parameter>
13880</parameters>
13881<return> #GDataOutputStream.
13882</return>
13883</function>
13884
13885<function name="g_data_output_stream_put_byte">
13886<description>
13887Puts a byte into the output stream.
13888
13889
13890</description>
13891<parameters>
13892<parameter name="stream">
13893<parameter_description> a #GDataOutputStream.
13894</parameter_description>
13895</parameter>
13896<parameter name="data">
13897<parameter_description> a #guchar.
13898</parameter_description>
13899</parameter>
13900<parameter name="cancellable">
13901<parameter_description> optional #GCancellable object, %NULL to ignore.
13902</parameter_description>
13903</parameter>
13904<parameter name="error">
13905<parameter_description> a #GError, %NULL to ignore.
13906</parameter_description>
13907</parameter>
13908</parameters>
13909<return> %TRUE if @data was successfully added to the @stream.
13910</return>
13911</function>
13912
13913<function name="g_data_output_stream_put_int16">
13914<description>
13915Puts a signed 16-bit integer into the output stream.
13916
13917
13918</description>
13919<parameters>
13920<parameter name="stream">
13921<parameter_description> a #GDataOutputStream.
13922</parameter_description>
13923</parameter>
13924<parameter name="data">
13925<parameter_description> a #gint16.
13926</parameter_description>
13927</parameter>
13928<parameter name="cancellable">
13929<parameter_description> optional #GCancellable object, %NULL to ignore.
13930</parameter_description>
13931</parameter>
13932<parameter name="error">
13933<parameter_description> a #GError, %NULL to ignore.
13934</parameter_description>
13935</parameter>
13936</parameters>
13937<return> %TRUE if @data was successfully added to the @stream.
13938</return>
13939</function>
13940
13941<function name="g_data_output_stream_put_int32">
13942<description>
13943Puts a signed 32-bit integer into the output stream.
13944
13945
13946</description>
13947<parameters>
13948<parameter name="stream">
13949<parameter_description> a #GDataOutputStream.
13950</parameter_description>
13951</parameter>
13952<parameter name="data">
13953<parameter_description> a #gint32.
13954</parameter_description>
13955</parameter>
13956<parameter name="cancellable">
13957<parameter_description> optional #GCancellable object, %NULL to ignore.
13958</parameter_description>
13959</parameter>
13960<parameter name="error">
13961<parameter_description> a #GError, %NULL to ignore.
13962</parameter_description>
13963</parameter>
13964</parameters>
13965<return> %TRUE if @data was successfully added to the @stream.
13966</return>
13967</function>
13968
13969<function name="g_data_output_stream_put_int64">
13970<description>
13971Puts a signed 64-bit integer into the stream.
13972
13973
13974</description>
13975<parameters>
13976<parameter name="stream">
13977<parameter_description> a #GDataOutputStream.
13978</parameter_description>
13979</parameter>
13980<parameter name="data">
13981<parameter_description> a #gint64.
13982</parameter_description>
13983</parameter>
13984<parameter name="cancellable">
13985<parameter_description> optional #GCancellable object, %NULL to ignore.
13986</parameter_description>
13987</parameter>
13988<parameter name="error">
13989<parameter_description> a #GError, %NULL to ignore.
13990</parameter_description>
13991</parameter>
13992</parameters>
13993<return> %TRUE if @data was successfully added to the @stream.
13994</return>
13995</function>
13996
13997<function name="g_data_output_stream_put_string">
13998<description>
13999Puts a string into the output stream.
14000
14001
14002</description>
14003<parameters>
14004<parameter name="stream">
14005<parameter_description> a #GDataOutputStream.
14006</parameter_description>
14007</parameter>
14008<parameter name="str">
14009<parameter_description> a string.
14010</parameter_description>
14011</parameter>
14012<parameter name="cancellable">
14013<parameter_description> optional #GCancellable object, %NULL to ignore.
14014</parameter_description>
14015</parameter>
14016<parameter name="error">
14017<parameter_description> a #GError, %NULL to ignore.
14018</parameter_description>
14019</parameter>
14020</parameters>
14021<return> %TRUE if @string was successfully added to the @stream.
14022</return>
14023</function>
14024
14025<function name="g_data_output_stream_put_uint16">
14026<description>
14027Puts an unsigned 16-bit integer into the output stream.
14028
14029
14030</description>
14031<parameters>
14032<parameter name="stream">
14033<parameter_description> a #GDataOutputStream.
14034</parameter_description>
14035</parameter>
14036<parameter name="data">
14037<parameter_description> a #guint16.
14038</parameter_description>
14039</parameter>
14040<parameter name="cancellable">
14041<parameter_description> optional #GCancellable object, %NULL to ignore.
14042</parameter_description>
14043</parameter>
14044<parameter name="error">
14045<parameter_description> a #GError, %NULL to ignore.
14046</parameter_description>
14047</parameter>
14048</parameters>
14049<return> %TRUE if @data was successfully added to the @stream.
14050</return>
14051</function>
14052
14053<function name="g_data_output_stream_put_uint32">
14054<description>
14055Puts an unsigned 32-bit integer into the stream.
14056
14057
14058</description>
14059<parameters>
14060<parameter name="stream">
14061<parameter_description> a #GDataOutputStream.
14062</parameter_description>
14063</parameter>
14064<parameter name="data">
14065<parameter_description> a #guint32.
14066</parameter_description>
14067</parameter>
14068<parameter name="cancellable">
14069<parameter_description> optional #GCancellable object, %NULL to ignore.
14070</parameter_description>
14071</parameter>
14072<parameter name="error">
14073<parameter_description> a #GError, %NULL to ignore.
14074</parameter_description>
14075</parameter>
14076</parameters>
14077<return> %TRUE if @data was successfully added to the @stream.
14078</return>
14079</function>
14080
14081<function name="g_data_output_stream_put_uint64">
14082<description>
14083Puts an unsigned 64-bit integer into the stream.
14084
14085
14086</description>
14087<parameters>
14088<parameter name="stream">
14089<parameter_description> a #GDataOutputStream.
14090</parameter_description>
14091</parameter>
14092<parameter name="data">
14093<parameter_description> a #guint64.
14094</parameter_description>
14095</parameter>
14096<parameter name="cancellable">
14097<parameter_description> optional #GCancellable object, %NULL to ignore.
14098</parameter_description>
14099</parameter>
14100<parameter name="error">
14101<parameter_description> a #GError, %NULL to ignore.
14102</parameter_description>
14103</parameter>
14104</parameters>
14105<return> %TRUE if @data was successfully added to the @stream.
14106</return>
14107</function>
14108
14109<function name="g_data_output_stream_set_byte_order">
14110<description>
14111Sets the byte order of the data output stream to @order.
14112
14113</description>
14114<parameters>
14115<parameter name="stream">
14116<parameter_description> a #GDataOutputStream.
14117</parameter_description>
14118</parameter>
14119<parameter name="order">
14120<parameter_description> a %GDataStreamByteOrder.
14121</parameter_description>
14122</parameter>
14123</parameters>
14124<return></return>
14125</function>
14126
14127<function name="g_datagram_based_condition_check">
14128<description>
14129Checks on the readiness of @datagram_based to perform operations. The
14130operations specified in @condition are checked for and masked against the
14131currently-satisfied conditions on @datagram_based. The result is returned.
14132
14133%G_IO_IN will be set in the return value if data is available to read with
14134g_datagram_based_receive_messages(), or if the connection is closed remotely
14135(EOS); and if the datagram_based has not been closed locally using some
14136implementation-specific method (such as g_socket_close() or
14137g_socket_shutdown() with @shutdown_read set, if it’s a #GSocket).
14138
14139If the connection is shut down or closed (by calling g_socket_close() or
14140g_socket_shutdown() with @shutdown_read set, if it’s a #GSocket, for
14141example), all calls to this function will return %G_IO_ERROR_CLOSED.
14142
14143%G_IO_OUT will be set if it is expected that at least one byte can be sent
14144using g_datagram_based_send_messages() without blocking. It will not be set
14145if the datagram_based has been closed locally.
14146
14147%G_IO_HUP will be set if the connection has been closed locally.
14148
14149%G_IO_ERR will be set if there was an asynchronous error in transmitting data
14150previously enqueued using g_datagram_based_send_messages().
14151
14152Note that on Windows, it is possible for an operation to return
14153%G_IO_ERROR_WOULD_BLOCK even immediately after
14154g_datagram_based_condition_check() has claimed that the #GDatagramBased is
14155ready for writing. Rather than calling g_datagram_based_condition_check() and
14156then writing to the #GDatagramBased if it succeeds, it is generally better to
14157simply try writing right away, and try again later if the initial attempt
14158returns %G_IO_ERROR_WOULD_BLOCK.
14159
14160It is meaningless to specify %G_IO_ERR or %G_IO_HUP in @condition; these
14161conditions will always be set in the output if they are true. Apart from
14162these flags, the output is guaranteed to be masked by @condition.
14163
14164This call never blocks.
14165
14166Since: 2.48
14167
14168</description>
14169<parameters>
14170<parameter name="datagram_based">
14171<parameter_description> a #GDatagramBased
14172</parameter_description>
14173</parameter>
14174<parameter name="condition">
14175<parameter_description> a #GIOCondition mask to check
14176</parameter_description>
14177</parameter>
14178</parameters>
14179<return> the #GIOCondition mask of the current state
14180
14181</return>
14182</function>
14183
14184<function name="g_datagram_based_condition_wait">
14185<description>
14186Waits for up to @timeout microseconds for condition to become true on
14187@datagram_based. If the condition is met, %TRUE is returned.
14188
14189If @cancellable is cancelled before the condition is met, or if @timeout is
14190reached before the condition is met, then %FALSE is returned and @error is
14191set appropriately (%G_IO_ERROR_CANCELLED or %G_IO_ERROR_TIMED_OUT).
14192
14193Since: 2.48
14194
14195</description>
14196<parameters>
14197<parameter name="datagram_based">
14198<parameter_description> a #GDatagramBased
14199</parameter_description>
14200</parameter>
14201<parameter name="condition">
14202<parameter_description> a #GIOCondition mask to wait for
14203</parameter_description>
14204</parameter>
14205<parameter name="timeout">
14206<parameter_description> the maximum time (in microseconds) to wait, 0 to not block, or -1
14207to block indefinitely
14208</parameter_description>
14209</parameter>
14210<parameter name="cancellable">
14211<parameter_description> a #GCancellable
14212</parameter_description>
14213</parameter>
14214<parameter name="error">
14215<parameter_description> return location for a #GError
14216</parameter_description>
14217</parameter>
14218</parameters>
14219<return> %TRUE if the condition was met, %FALSE otherwise
14220
14221</return>
14222</function>
14223
14224<function name="g_datagram_based_create_source">
14225<description>
14226Creates a #GSource that can be attached to a #GMainContext to monitor for
14227the availability of the specified @condition on the #GDatagramBased. The
14228#GSource keeps a reference to the @datagram_based.
14229
14230The callback on the source is of the #GDatagramBasedSourceFunc type.
14231
14232It is meaningless to specify %G_IO_ERR or %G_IO_HUP in @condition; these
14233conditions will always be reported in the callback if they are true.
14234
14235If non-%NULL, @cancellable can be used to cancel the source, which will
14236cause the source to trigger, reporting the current condition (which is
14237likely 0 unless cancellation happened at the same time as a condition
14238change). You can check for this in the callback using
14239g_cancellable_is_cancelled().
14240
14241Since: 2.48
14242
14243</description>
14244<parameters>
14245<parameter name="datagram_based">
14246<parameter_description> a #GDatagramBased
14247</parameter_description>
14248</parameter>
14249<parameter name="condition">
14250<parameter_description> a #GIOCondition mask to monitor
14251</parameter_description>
14252</parameter>
14253<parameter name="cancellable">
14254<parameter_description> a #GCancellable
14255</parameter_description>
14256</parameter>
14257</parameters>
14258<return> a newly allocated #GSource
14259
14260</return>
14261</function>
14262
14263<function name="g_datagram_based_receive_messages">
14264<description>
14265Receive one or more data messages from @datagram_based in one go.
14266
14267@messages must point to an array of #GInputMessage structs and
14268@num_messages must be the length of this array. Each #GInputMessage
14269contains a pointer to an array of #GInputVector structs describing the
14270buffers that the data received in each message will be written to.
14271
14272@flags modify how all messages are received. The commonly available
14273arguments for this are available in the #GSocketMsgFlags enum, but the
14274values there are the same as the system values, and the flags
14275are passed in as-is, so you can pass in system-specific flags too. These
14276flags affect the overall receive operation. Flags affecting individual
14277messages are returned in #GInputMessage.flags.
14278
14279The other members of #GInputMessage are treated as described in its
14280documentation.
14281
14282If @timeout is negative the call will block until @num_messages have been
14283received, the connection is closed remotely (EOS), @cancellable is cancelled,
14284or an error occurs.
14285
14286If @timeout is 0 the call will return up to @num_messages without blocking,
14287or %G_IO_ERROR_WOULD_BLOCK if no messages are queued in the operating system
14288to be received.
14289
14290If @timeout is positive the call will block on the same conditions as if
14291@timeout were negative. If the timeout is reached
14292before any messages are received, %G_IO_ERROR_TIMED_OUT is returned,
14293otherwise it will return the number of messages received before timing out.
14294(Note: This is effectively the behaviour of `MSG_WAITFORONE` with
14295recvmmsg().)
14296
14297To be notified when messages are available, wait for the %G_IO_IN condition.
14298Note though that you may still receive %G_IO_ERROR_WOULD_BLOCK from
14299g_datagram_based_receive_messages() even if you were previously notified of a
14300%G_IO_IN condition.
14301
14302If the remote peer closes the connection, any messages queued in the
14303underlying receive buffer will be returned, and subsequent calls to
14304g_datagram_based_receive_messages() will return 0 (with no error set).
14305
14306If the connection is shut down or closed (by calling g_socket_close() or
14307g_socket_shutdown() with @shutdown_read set, if it’s a #GSocket, for
14308example), all calls to this function will return %G_IO_ERROR_CLOSED.
14309
14310On error -1 is returned and @error is set accordingly. An error will only
14311be returned if zero messages could be received; otherwise the number of
14312messages successfully received before the error will be returned. If
14313@cancellable is cancelled, %G_IO_ERROR_CANCELLED is returned as with any
14314other error.
14315
14316Since: 2.48
14317
14318</description>
14319<parameters>
14320<parameter name="datagram_based">
14321<parameter_description> a #GDatagramBased
14322</parameter_description>
14323</parameter>
14324<parameter name="messages">
14325<parameter_description> an array of #GInputMessage structs
14326</parameter_description>
14327</parameter>
14328<parameter name="num_messages">
14329<parameter_description> the number of elements in @messages
14330</parameter_description>
14331</parameter>
14332<parameter name="flags">
14333<parameter_description> an int containing #GSocketMsgFlags flags for the overall operation
14334</parameter_description>
14335</parameter>
14336<parameter name="timeout">
14337<parameter_description> the maximum time (in microseconds) to wait, 0 to not block, or -1
14338to block indefinitely
14339</parameter_description>
14340</parameter>
14341<parameter name="cancellable">
14342<parameter_description> a %GCancellable
14343</parameter_description>
14344</parameter>
14345<parameter name="error">
14346<parameter_description> return location for a #GError
14347</parameter_description>
14348</parameter>
14349</parameters>
14350<return> number of messages received, or -1 on error. Note that the number
14351of messages received may be smaller than @num_messages if @timeout is
14352zero or positive, if the peer closed the connection, or if @num_messages
14353was larger than `UIO_MAXIOV` (1024), in which case the caller may re-try
14354to receive the remaining messages.
14355
14356</return>
14357</function>
14358
14359<function name="g_datagram_based_send_messages">
14360<description>
14361Send one or more data messages from @datagram_based in one go.
14362
14363@messages must point to an array of #GOutputMessage structs and
14364@num_messages must be the length of this array. Each #GOutputMessage
14365contains an address to send the data to, and a pointer to an array of
14366#GOutputVector structs to describe the buffers that the data to be sent
14367for each message will be gathered from.
14368
14369@flags modify how the message is sent. The commonly available arguments
14370for this are available in the #GSocketMsgFlags enum, but the
14371values there are the same as the system values, and the flags
14372are passed in as-is, so you can pass in system-specific flags too.
14373
14374The other members of #GOutputMessage are treated as described in its
14375documentation.
14376
14377If @timeout is negative the call will block until @num_messages have been
14378sent, @cancellable is cancelled, or an error occurs.
14379
14380If @timeout is 0 the call will send up to @num_messages without blocking,
14381or will return %G_IO_ERROR_WOULD_BLOCK if there is no space to send messages.
14382
14383If @timeout is positive the call will block on the same conditions as if
14384@timeout were negative. If the timeout is reached before any messages are
14385sent, %G_IO_ERROR_TIMED_OUT is returned, otherwise it will return the number
14386of messages sent before timing out.
14387
14388To be notified when messages can be sent, wait for the %G_IO_OUT condition.
14389Note though that you may still receive %G_IO_ERROR_WOULD_BLOCK from
14390g_datagram_based_send_messages() even if you were previously notified of a
14391%G_IO_OUT condition. (On Windows in particular, this is very common due to
14392the way the underlying APIs work.)
14393
14394If the connection is shut down or closed (by calling g_socket_close() or
14395g_socket_shutdown() with @shutdown_write set, if it’s a #GSocket, for
14396example), all calls to this function will return %G_IO_ERROR_CLOSED.
14397
14398On error -1 is returned and @error is set accordingly. An error will only
14399be returned if zero messages could be sent; otherwise the number of messages
14400successfully sent before the error will be returned. If @cancellable is
14401cancelled, %G_IO_ERROR_CANCELLED is returned as with any other error.
14402
14403Since: 2.48
14404
14405</description>
14406<parameters>
14407<parameter name="datagram_based">
14408<parameter_description> a #GDatagramBased
14409</parameter_description>
14410</parameter>
14411<parameter name="messages">
14412<parameter_description> an array of #GOutputMessage structs
14413</parameter_description>
14414</parameter>
14415<parameter name="num_messages">
14416<parameter_description> the number of elements in @messages
14417</parameter_description>
14418</parameter>
14419<parameter name="flags">
14420<parameter_description> an int containing #GSocketMsgFlags flags
14421</parameter_description>
14422</parameter>
14423<parameter name="timeout">
14424<parameter_description> the maximum time (in microseconds) to wait, 0 to not block, or -1
14425to block indefinitely
14426</parameter_description>
14427</parameter>
14428<parameter name="cancellable">
14429<parameter_description> a %GCancellable
14430</parameter_description>
14431</parameter>
14432<parameter name="error">
14433<parameter_description> return location for a #GError
14434</parameter_description>
14435</parameter>
14436</parameters>
14437<return> number of messages sent, or -1 on error. Note that the number of
14438messages sent may be smaller than @num_messages if @timeout is zero
14439or positive, or if @num_messages was larger than `UIO_MAXIOV` (1024), in
14440which case the caller may re-try to send the remaining messages.
14441
14442</return>
14443</function>
14444
14445<function name="g_dbus_action_group_get">
14446<description>
14447Obtains a #GDBusActionGroup for the action group which is exported at
14448the given @bus_name and @object_path.
14449
14450The thread default main context is taken at the time of this call.
14451All signals on the menu model (and any linked models) are reported
14452with respect to this context.  All calls on the returned menu model
14453(and linked models) must also originate from this same context, with
14454the thread default main context unchanged.
14455
14456This call is non-blocking.  The returned action group may or may not
14457already be filled in.  The correct thing to do is connect the signals
14458for the action group to monitor for changes and then to call
14459g_action_group_list_actions() to get the initial list.
14460
14461Since: 2.32
14462
14463</description>
14464<parameters>
14465<parameter name="connection">
14466<parameter_description> A #GDBusConnection
14467</parameter_description>
14468</parameter>
14469<parameter name="bus_name">
14470<parameter_description> the bus name which exports the action
14471group or %NULL if @connection is not a message bus connection
14472</parameter_description>
14473</parameter>
14474<parameter name="object_path">
14475<parameter_description> the object path at which the action group is exported
14476</parameter_description>
14477</parameter>
14478</parameters>
14479<return> a #GDBusActionGroup
14480
14481</return>
14482</function>
14483
14484<function name="g_dbus_address_escape_value">
14485<description>
14486Escape @string so it can appear in a D-Bus address as the value
14487part of a key-value pair.
14488
14489For instance, if @string is `/run/bus-for-:0`,
14490this function would return `/run/bus-for-%3A0`,
14491which could be used in a D-Bus address like
14492`unix:nonce-tcp:host=127.0.0.1,port=42,noncefile=/run/bus-for-%3A0`.
14493
14494Since: 2.36
14495
14496</description>
14497<parameters>
14498<parameter name="string">
14499<parameter_description> an unescaped string to be included in a D-Bus address
14500as the value in a key-value pair
14501</parameter_description>
14502</parameter>
14503</parameters>
14504<return> a copy of @string with all
14505non-optionally-escaped bytes escaped
14506
14507</return>
14508</function>
14509
14510<function name="g_dbus_address_get_for_bus_sync">
14511<description>
14512Synchronously looks up the D-Bus address for the well-known message
14513bus instance specified by @bus_type. This may involve using various
14514platform specific mechanisms.
14515
14516The returned address will be in the
14517[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
14518
14519Since: 2.26
14520
14521</description>
14522<parameters>
14523<parameter name="bus_type">
14524<parameter_description> a #GBusType
14525</parameter_description>
14526</parameter>
14527<parameter name="cancellable">
14528<parameter_description> a #GCancellable or %NULL
14529</parameter_description>
14530</parameter>
14531<parameter name="error">
14532<parameter_description> return location for error or %NULL
14533</parameter_description>
14534</parameter>
14535</parameters>
14536<return> a valid D-Bus address string for @bus_type or
14537%NULL if @error is set
14538
14539</return>
14540</function>
14541
14542<function name="g_dbus_address_get_stream">
14543<description>
14544Asynchronously connects to an endpoint specified by @address and
14545sets up the connection so it is in a state to run the client-side
14546of the D-Bus authentication conversation. @address must be in the
14547[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
14548
14549When the operation is finished, @callback will be invoked. You can
14550then call g_dbus_address_get_stream_finish() to get the result of
14551the operation.
14552
14553This is an asynchronous failable function. See
14554g_dbus_address_get_stream_sync() for the synchronous version.
14555
14556Since: 2.26
14557
14558</description>
14559<parameters>
14560<parameter name="address">
14561<parameter_description> A valid D-Bus address.
14562</parameter_description>
14563</parameter>
14564<parameter name="cancellable">
14565<parameter_description> A #GCancellable or %NULL.
14566</parameter_description>
14567</parameter>
14568<parameter name="callback">
14569<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied.
14570</parameter_description>
14571</parameter>
14572<parameter name="user_data">
14573<parameter_description> Data to pass to @callback.
14574</parameter_description>
14575</parameter>
14576</parameters>
14577<return></return>
14578</function>
14579
14580<function name="g_dbus_address_get_stream_finish">
14581<description>
14582Finishes an operation started with g_dbus_address_get_stream().
14583
14584Since: 2.26
14585
14586</description>
14587<parameters>
14588<parameter name="res">
14589<parameter_description> A #GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_address_get_stream().
14590</parameter_description>
14591</parameter>
14592<parameter name="out_guid">
14593<parameter_description> %NULL or return location to store the GUID extracted from @address, if any.
14594</parameter_description>
14595</parameter>
14596<parameter name="error">
14597<parameter_description> Return location for error or %NULL.
14598</parameter_description>
14599</parameter>
14600</parameters>
14601<return> A #GIOStream or %NULL if @error is set.
14602
14603</return>
14604</function>
14605
14606<function name="g_dbus_address_get_stream_sync">
14607<description>
14608Synchronously connects to an endpoint specified by @address and
14609sets up the connection so it is in a state to run the client-side
14610of the D-Bus authentication conversation. @address must be in the
14611[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
14612
14613This is a synchronous failable function. See
14614g_dbus_address_get_stream() for the asynchronous version.
14615
14616Since: 2.26
14617
14618</description>
14619<parameters>
14620<parameter name="address">
14621<parameter_description> A valid D-Bus address.
14622</parameter_description>
14623</parameter>
14624<parameter name="out_guid">
14625<parameter_description> %NULL or return location to store the GUID extracted from @address, if any.
14626</parameter_description>
14627</parameter>
14628<parameter name="cancellable">
14629<parameter_description> A #GCancellable or %NULL.
14630</parameter_description>
14631</parameter>
14632<parameter name="error">
14633<parameter_description> Return location for error or %NULL.
14634</parameter_description>
14635</parameter>
14636</parameters>
14637<return> A #GIOStream or %NULL if @error is set.
14638
14639</return>
14640</function>
14641
14642<function name="g_dbus_annotation_info_lookup">
14643<description>
14644Looks up the value of an annotation.
14645
14646The cost of this function is O(n) in number of annotations.
14647
14648Since: 2.26
14649
14650</description>
14651<parameters>
14652<parameter name="annotations">
14653<parameter_description> A %NULL-terminated array of annotations or %NULL.
14654</parameter_description>
14655</parameter>
14656<parameter name="name">
14657<parameter_description> The name of the annotation to look up.
14658</parameter_description>
14659</parameter>
14660</parameters>
14661<return> The value or %NULL if not found. Do not free, it is owned by @annotations.
14662
14663</return>
14664</function>
14665
14666<function name="g_dbus_annotation_info_ref">
14667<description>
14668If @info is statically allocated does nothing. Otherwise increases
14669the reference count.
14670
14671Since: 2.26
14672
14673</description>
14674<parameters>
14675<parameter name="info">
14676<parameter_description> A #GDBusNodeInfo
14677</parameter_description>
14678</parameter>
14679</parameters>
14680<return> The same @info.
14681
14682</return>
14683</function>
14684
14685<function name="g_dbus_annotation_info_unref">
14686<description>
14687If @info is statically allocated, does nothing. Otherwise decreases
14688the reference count of @info. When its reference count drops to 0,
14689the memory used is freed.
14690
14691Since: 2.26
14692
14693</description>
14694<parameters>
14695<parameter name="info">
14696<parameter_description> A #GDBusAnnotationInfo.
14697</parameter_description>
14698</parameter>
14699</parameters>
14700<return></return>
14701</function>
14702
14703<function name="g_dbus_arg_info_ref">
14704<description>
14705If @info is statically allocated does nothing. Otherwise increases
14706the reference count.
14707
14708Since: 2.26
14709
14710</description>
14711<parameters>
14712<parameter name="info">
14713<parameter_description> A #GDBusArgInfo
14714</parameter_description>
14715</parameter>
14716</parameters>
14717<return> The same @info.
14718
14719</return>
14720</function>
14721
14722<function name="g_dbus_arg_info_unref">
14723<description>
14724If @info is statically allocated, does nothing. Otherwise decreases
14725the reference count of @info. When its reference count drops to 0,
14726the memory used is freed.
14727
14728Since: 2.26
14729
14730</description>
14731<parameters>
14732<parameter name="info">
14733<parameter_description> A #GDBusArgInfo.
14734</parameter_description>
14735</parameter>
14736</parameters>
14737<return></return>
14738</function>
14739
14740<function name="g_dbus_auth_observer_allow_mechanism">
14741<description>
14742Emits the #GDBusAuthObserver::allow-mechanism signal on @observer.
14743
14744Since: 2.34
14745
14746</description>
14747<parameters>
14748<parameter name="observer">
14749<parameter_description> A #GDBusAuthObserver.
14750</parameter_description>
14751</parameter>
14752<parameter name="mechanism">
14753<parameter_description> The name of the mechanism, e.g. `DBUS_COOKIE_SHA1`.
14754</parameter_description>
14755</parameter>
14756</parameters>
14757<return> %TRUE if @mechanism can be used to authenticate the other peer, %FALSE if not.
14758
14759</return>
14760</function>
14761
14762<function name="g_dbus_auth_observer_authorize_authenticated_peer">
14763<description>
14764Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer.
14765
14766Since: 2.26
14767
14768</description>
14769<parameters>
14770<parameter name="observer">
14771<parameter_description> A #GDBusAuthObserver.
14772</parameter_description>
14773</parameter>
14774<parameter name="stream">
14775<parameter_description> A #GIOStream for the #GDBusConnection.
14776</parameter_description>
14777</parameter>
14778<parameter name="credentials">
14779<parameter_description> Credentials received from the peer or %NULL.
14780</parameter_description>
14781</parameter>
14782</parameters>
14783<return> %TRUE if the peer is authorized, %FALSE if not.
14784
14785</return>
14786</function>
14787
14788<function name="g_dbus_auth_observer_new">
14789<description>
14790Creates a new #GDBusAuthObserver object.
14791
14792Since: 2.26
14793
14794</description>
14795<parameters>
14796</parameters>
14797<return> A #GDBusAuthObserver. Free with g_object_unref().
14798
14799</return>
14800</function>
14801
14802<function name="g_dbus_connection_add_filter">
14803<description>
14804Adds a message filter. Filters are handlers that are run on all
14805incoming and outgoing messages, prior to standard dispatch. Filters
14806are run in the order that they were added.  The same handler can be
14807added as a filter more than once, in which case it will be run more
14808than once.  Filters added during a filter callback won't be run on
14809the message being processed. Filter functions are allowed to modify
14810and even drop messages.
14811
14812Note that filters are run in a dedicated message handling thread so
14813they can't block and, generally, can't do anything but signal a
14814worker thread. Also note that filters are rarely needed - use API
14815such as g_dbus_connection_send_message_with_reply(),
14816g_dbus_connection_signal_subscribe() or g_dbus_connection_call() instead.
14817
14818If a filter consumes an incoming message the message is not
14819dispatched anywhere else - not even the standard dispatch machinery
14820(that API such as g_dbus_connection_signal_subscribe() and
14821g_dbus_connection_send_message_with_reply() relies on) will see the
14822message. Similarly, if a filter consumes an outgoing message, the
14823message will not be sent to the other peer.
14824
14825If @user_data_free_func is non-%NULL, it will be called (in the
14826thread-default main context of the thread you are calling this
14827method from) at some point after @user_data is no longer
14828needed. (It is not guaranteed to be called synchronously when the
14829filter is removed, and may be called after @connection has been
14830destroyed.)
14831
14832Since: 2.26
14833
14834</description>
14835<parameters>
14836<parameter name="connection">
14837<parameter_description> a #GDBusConnection
14838</parameter_description>
14839</parameter>
14840<parameter name="filter_function">
14841<parameter_description> a filter function
14842</parameter_description>
14843</parameter>
14844<parameter name="user_data">
14845<parameter_description> user data to pass to @filter_function
14846</parameter_description>
14847</parameter>
14848<parameter name="user_data_free_func">
14849<parameter_description> function to free @user_data with when filter
14850is removed or %NULL
14851</parameter_description>
14852</parameter>
14853</parameters>
14854<return> a filter identifier that can be used with
14855g_dbus_connection_remove_filter()
14856
14857</return>
14858</function>
14859
14860<function name="g_dbus_connection_call">
14861<description>
14862Asynchronously invokes the @method_name method on the
14863@interface_name D-Bus interface on the remote object at
14864@object_path owned by @bus_name.
14865
14866If @connection is closed then the operation will fail with
14867%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
14868fail with %G_IO_ERROR_CANCELLED. If @parameters contains a value
14869not compatible with the D-Bus protocol, the operation fails with
14870%G_IO_ERROR_INVALID_ARGUMENT.
14871
14872If @reply_type is non-%NULL then the reply will be checked for having this type and an
14873error will be raised if it does not match.  Said another way, if you give a @reply_type
14874then any non-%NULL return value will be of this type. Unless it’s
14875%G_VARIANT_TYPE_UNIT, the @reply_type will be a tuple containing one or more
14876values.
14877
14878If the @parameters #GVariant is floating, it is consumed. This allows
14879convenient 'inline' use of g_variant_new(), e.g.:
14880|[&lt;!-- language=&quot;C&quot; --&gt;
14881g_dbus_connection_call (connection,
14882&quot;org.freedesktop.StringThings&quot;,
14883&quot;/org/freedesktop/StringThings&quot;,
14884&quot;org.freedesktop.StringThings&quot;,
14885&quot;TwoStrings&quot;,
14886g_variant_new (&quot;(ss)&quot;,
14887&quot;Thing One&quot;,
14888&quot;Thing Two&quot;),
14889NULL,
14890G_DBUS_CALL_FLAGS_NONE,
14891-1,
14892NULL,
14893(GAsyncReadyCallback) two_strings_done,
14894NULL);
14895]|
14896
14897This is an asynchronous method. When the operation is finished,
14898@callback will be invoked in the
14899[thread-default main context][g-main-context-push-thread-default]
14900of the thread you are calling this method from. You can then call
14901g_dbus_connection_call_finish() to get the result of the operation.
14902See g_dbus_connection_call_sync() for the synchronous version of this
14903function.
14904
14905If @callback is %NULL then the D-Bus method call message will be sent with
14906the %G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED flag set.
14907
14908Since: 2.26
14909
14910</description>
14911<parameters>
14912<parameter name="connection">
14913<parameter_description> a #GDBusConnection
14914</parameter_description>
14915</parameter>
14916<parameter name="bus_name">
14917<parameter_description> a unique or well-known bus name or %NULL if
14918@connection is not a message bus connection
14919</parameter_description>
14920</parameter>
14921<parameter name="object_path">
14922<parameter_description> path of remote object
14923</parameter_description>
14924</parameter>
14925<parameter name="interface_name">
14926<parameter_description> D-Bus interface to invoke method on
14927</parameter_description>
14928</parameter>
14929<parameter name="method_name">
14930<parameter_description> the name of the method to invoke
14931</parameter_description>
14932</parameter>
14933<parameter name="parameters">
14934<parameter_description> a #GVariant tuple with parameters for the method
14935or %NULL if not passing parameters
14936</parameter_description>
14937</parameter>
14938<parameter name="reply_type">
14939<parameter_description> the expected type of the reply (which will be a
14940tuple), or %NULL
14941</parameter_description>
14942</parameter>
14943<parameter name="flags">
14944<parameter_description> flags from the #GDBusCallFlags enumeration
14945</parameter_description>
14946</parameter>
14947<parameter name="timeout_msec">
14948<parameter_description> the timeout in milliseconds, -1 to use the default
14949timeout or %G_MAXINT for no timeout
14950</parameter_description>
14951</parameter>
14952<parameter name="cancellable">
14953<parameter_description> a #GCancellable or %NULL
14954</parameter_description>
14955</parameter>
14956<parameter name="callback">
14957<parameter_description> a #GAsyncReadyCallback to call when the request
14958is satisfied or %NULL if you don't care about the result of the
14959method invocation
14960</parameter_description>
14961</parameter>
14962<parameter name="user_data">
14963<parameter_description> the data to pass to @callback
14964</parameter_description>
14965</parameter>
14966</parameters>
14967<return></return>
14968</function>
14969
14970<function name="g_dbus_connection_call_finish">
14971<description>
14972Finishes an operation started with g_dbus_connection_call().
14973
14974Since: 2.26
14975
14976</description>
14977<parameters>
14978<parameter name="connection">
14979<parameter_description> a #GDBusConnection
14980</parameter_description>
14981</parameter>
14982<parameter name="res">
14983<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_call()
14984</parameter_description>
14985</parameter>
14986<parameter name="error">
14987<parameter_description> return location for error or %NULL
14988</parameter_description>
14989</parameter>
14990</parameters>
14991<return> %NULL if @error is set. Otherwise a #GVariant tuple with
14992return values. Free with g_variant_unref().
14993
14994</return>
14995</function>
14996
14997<function name="g_dbus_connection_call_sync">
14998<description>
14999Synchronously invokes the @method_name method on the
15000@interface_name D-Bus interface on the remote object at
15001@object_path owned by @bus_name.
15002
15003If @connection is closed then the operation will fail with
15004%G_IO_ERROR_CLOSED. If @cancellable is canceled, the
15005operation will fail with %G_IO_ERROR_CANCELLED. If @parameters
15006contains a value not compatible with the D-Bus protocol, the operation
15007fails with %G_IO_ERROR_INVALID_ARGUMENT.
15008
15009If @reply_type is non-%NULL then the reply will be checked for having
15010this type and an error will be raised if it does not match.  Said
15011another way, if you give a @reply_type then any non-%NULL return
15012value will be of this type.
15013
15014If the @parameters #GVariant is floating, it is consumed.
15015This allows convenient 'inline' use of g_variant_new(), e.g.:
15016|[&lt;!-- language=&quot;C&quot; --&gt;
15017g_dbus_connection_call_sync (connection,
15018&quot;org.freedesktop.StringThings&quot;,
15019&quot;/org/freedesktop/StringThings&quot;,
15020&quot;org.freedesktop.StringThings&quot;,
15021&quot;TwoStrings&quot;,
15022g_variant_new (&quot;(ss)&quot;,
15023&quot;Thing One&quot;,
15024&quot;Thing Two&quot;),
15025NULL,
15026G_DBUS_CALL_FLAGS_NONE,
15027-1,
15028NULL,
15029&amp;error);
15030]|
15031
15032The calling thread is blocked until a reply is received. See
15033g_dbus_connection_call() for the asynchronous version of
15034this method.
15035
15036Since: 2.26
15037
15038</description>
15039<parameters>
15040<parameter name="connection">
15041<parameter_description> a #GDBusConnection
15042</parameter_description>
15043</parameter>
15044<parameter name="bus_name">
15045<parameter_description> a unique or well-known bus name or %NULL if
15046@connection is not a message bus connection
15047</parameter_description>
15048</parameter>
15049<parameter name="object_path">
15050<parameter_description> path of remote object
15051</parameter_description>
15052</parameter>
15053<parameter name="interface_name">
15054<parameter_description> D-Bus interface to invoke method on
15055</parameter_description>
15056</parameter>
15057<parameter name="method_name">
15058<parameter_description> the name of the method to invoke
15059</parameter_description>
15060</parameter>
15061<parameter name="parameters">
15062<parameter_description> a #GVariant tuple with parameters for the method
15063or %NULL if not passing parameters
15064</parameter_description>
15065</parameter>
15066<parameter name="reply_type">
15067<parameter_description> the expected type of the reply, or %NULL
15068</parameter_description>
15069</parameter>
15070<parameter name="flags">
15071<parameter_description> flags from the #GDBusCallFlags enumeration
15072</parameter_description>
15073</parameter>
15074<parameter name="timeout_msec">
15075<parameter_description> the timeout in milliseconds, -1 to use the default
15076timeout or %G_MAXINT for no timeout
15077</parameter_description>
15078</parameter>
15079<parameter name="cancellable">
15080<parameter_description> a #GCancellable or %NULL
15081</parameter_description>
15082</parameter>
15083<parameter name="error">
15084<parameter_description> return location for error or %NULL
15085</parameter_description>
15086</parameter>
15087</parameters>
15088<return> %NULL if @error is set. Otherwise a #GVariant tuple with
15089return values. Free with g_variant_unref().
15090
15091</return>
15092</function>
15093
15094<function name="g_dbus_connection_call_with_unix_fd_list">
15095<description>
15096Like g_dbus_connection_call() but also takes a #GUnixFDList object.
15097
15098This method is only available on UNIX.
15099
15100Since: 2.30
15101
15102</description>
15103<parameters>
15104<parameter name="connection">
15105<parameter_description> a #GDBusConnection
15106</parameter_description>
15107</parameter>
15108<parameter name="bus_name">
15109<parameter_description> a unique or well-known bus name or %NULL if
15110@connection is not a message bus connection
15111</parameter_description>
15112</parameter>
15113<parameter name="object_path">
15114<parameter_description> path of remote object
15115</parameter_description>
15116</parameter>
15117<parameter name="interface_name">
15118<parameter_description> D-Bus interface to invoke method on
15119</parameter_description>
15120</parameter>
15121<parameter name="method_name">
15122<parameter_description> the name of the method to invoke
15123</parameter_description>
15124</parameter>
15125<parameter name="parameters">
15126<parameter_description> a #GVariant tuple with parameters for the method
15127or %NULL if not passing parameters
15128</parameter_description>
15129</parameter>
15130<parameter name="reply_type">
15131<parameter_description> the expected type of the reply, or %NULL
15132</parameter_description>
15133</parameter>
15134<parameter name="flags">
15135<parameter_description> flags from the #GDBusCallFlags enumeration
15136</parameter_description>
15137</parameter>
15138<parameter name="timeout_msec">
15139<parameter_description> the timeout in milliseconds, -1 to use the default
15140timeout or %G_MAXINT for no timeout
15141</parameter_description>
15142</parameter>
15143<parameter name="fd_list">
15144<parameter_description> a #GUnixFDList or %NULL
15145</parameter_description>
15146</parameter>
15147<parameter name="cancellable">
15148<parameter_description> a #GCancellable or %NULL
15149</parameter_description>
15150</parameter>
15151<parameter name="callback">
15152<parameter_description> a #GAsyncReadyCallback to call when the request is
15153satisfied or %NULL if you don't * care about the result of the
15154method invocation
15155</parameter_description>
15156</parameter>
15157<parameter name="user_data">
15158<parameter_description> The data to pass to @callback.
15159</parameter_description>
15160</parameter>
15161</parameters>
15162<return></return>
15163</function>
15164
15165<function name="g_dbus_connection_call_with_unix_fd_list_finish">
15166<description>
15167Finishes an operation started with g_dbus_connection_call_with_unix_fd_list().
15168
15169Since: 2.30
15170
15171</description>
15172<parameters>
15173<parameter name="connection">
15174<parameter_description> a #GDBusConnection
15175</parameter_description>
15176</parameter>
15177<parameter name="out_fd_list">
15178<parameter_description> return location for a #GUnixFDList or %NULL
15179</parameter_description>
15180</parameter>
15181<parameter name="res">
15182<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed to
15183g_dbus_connection_call_with_unix_fd_list()
15184</parameter_description>
15185</parameter>
15186<parameter name="error">
15187<parameter_description> return location for error or %NULL
15188</parameter_description>
15189</parameter>
15190</parameters>
15191<return> %NULL if @error is set. Otherwise a #GVariant tuple with
15192return values. Free with g_variant_unref().
15193
15194</return>
15195</function>
15196
15197<function name="g_dbus_connection_call_with_unix_fd_list_sync">
15198<description>
15199Like g_dbus_connection_call_sync() but also takes and returns #GUnixFDList objects.
15200
15201This method is only available on UNIX.
15202
15203Since: 2.30
15204
15205</description>
15206<parameters>
15207<parameter name="connection">
15208<parameter_description> a #GDBusConnection
15209</parameter_description>
15210</parameter>
15211<parameter name="bus_name">
15212<parameter_description> a unique or well-known bus name or %NULL
15213if @connection is not a message bus connection
15214</parameter_description>
15215</parameter>
15216<parameter name="object_path">
15217<parameter_description> path of remote object
15218</parameter_description>
15219</parameter>
15220<parameter name="interface_name">
15221<parameter_description> D-Bus interface to invoke method on
15222</parameter_description>
15223</parameter>
15224<parameter name="method_name">
15225<parameter_description> the name of the method to invoke
15226</parameter_description>
15227</parameter>
15228<parameter name="parameters">
15229<parameter_description> a #GVariant tuple with parameters for
15230the method or %NULL if not passing parameters
15231</parameter_description>
15232</parameter>
15233<parameter name="reply_type">
15234<parameter_description> the expected type of the reply, or %NULL
15235</parameter_description>
15236</parameter>
15237<parameter name="flags">
15238<parameter_description> flags from the #GDBusCallFlags enumeration
15239</parameter_description>
15240</parameter>
15241<parameter name="timeout_msec">
15242<parameter_description> the timeout in milliseconds, -1 to use the default
15243timeout or %G_MAXINT for no timeout
15244</parameter_description>
15245</parameter>
15246<parameter name="fd_list">
15247<parameter_description> a #GUnixFDList or %NULL
15248</parameter_description>
15249</parameter>
15250<parameter name="out_fd_list">
15251<parameter_description> return location for a #GUnixFDList or %NULL
15252</parameter_description>
15253</parameter>
15254<parameter name="cancellable">
15255<parameter_description> a #GCancellable or %NULL
15256</parameter_description>
15257</parameter>
15258<parameter name="error">
15259<parameter_description> return location for error or %NULL
15260</parameter_description>
15261</parameter>
15262</parameters>
15263<return> %NULL if @error is set. Otherwise a #GVariant tuple with
15264return values. Free with g_variant_unref().
15265
15266</return>
15267</function>
15268
15269<function name="g_dbus_connection_close">
15270<description>
15271Closes @connection. Note that this never causes the process to
15272exit (this might only happen if the other end of a shared message
15273bus connection disconnects, see #GDBusConnection:exit-on-close).
15274
15275Once the connection is closed, operations such as sending a message
15276will return with the error %G_IO_ERROR_CLOSED. Closing a connection
15277will not automatically flush the connection so queued messages may
15278be lost. Use g_dbus_connection_flush() if you need such guarantees.
15279
15280If @connection is already closed, this method fails with
15281%G_IO_ERROR_CLOSED.
15282
15283When @connection has been closed, the #GDBusConnection::closed
15284signal is emitted in the
15285[thread-default main context][g-main-context-push-thread-default]
15286of the thread that @connection was constructed in.
15287
15288This is an asynchronous method. When the operation is finished,
15289@callback will be invoked in the
15290[thread-default main context][g-main-context-push-thread-default]
15291of the thread you are calling this method from. You can
15292then call g_dbus_connection_close_finish() to get the result of the
15293operation. See g_dbus_connection_close_sync() for the synchronous
15294version.
15295
15296Since: 2.26
15297
15298</description>
15299<parameters>
15300<parameter name="connection">
15301<parameter_description> a #GDBusConnection
15302</parameter_description>
15303</parameter>
15304<parameter name="cancellable">
15305<parameter_description> a #GCancellable or %NULL
15306</parameter_description>
15307</parameter>
15308<parameter name="callback">
15309<parameter_description> a #GAsyncReadyCallback to call when the request is
15310satisfied or %NULL if you don't care about the result
15311</parameter_description>
15312</parameter>
15313<parameter name="user_data">
15314<parameter_description> The data to pass to @callback
15315</parameter_description>
15316</parameter>
15317</parameters>
15318<return></return>
15319</function>
15320
15321<function name="g_dbus_connection_close_finish">
15322<description>
15323Finishes an operation started with g_dbus_connection_close().
15324
15325Since: 2.26
15326
15327</description>
15328<parameters>
15329<parameter name="connection">
15330<parameter_description> a #GDBusConnection
15331</parameter_description>
15332</parameter>
15333<parameter name="res">
15334<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed
15335to g_dbus_connection_close()
15336</parameter_description>
15337</parameter>
15338<parameter name="error">
15339<parameter_description> return location for error or %NULL
15340</parameter_description>
15341</parameter>
15342</parameters>
15343<return> %TRUE if the operation succeeded, %FALSE if @error is set
15344
15345</return>
15346</function>
15347
15348<function name="g_dbus_connection_close_sync">
15349<description>
15350Synchronously closes @connection. The calling thread is blocked
15351until this is done. See g_dbus_connection_close() for the
15352asynchronous version of this method and more details about what it
15353does.
15354
15355Since: 2.26
15356
15357</description>
15358<parameters>
15359<parameter name="connection">
15360<parameter_description> a #GDBusConnection
15361</parameter_description>
15362</parameter>
15363<parameter name="cancellable">
15364<parameter_description> a #GCancellable or %NULL
15365</parameter_description>
15366</parameter>
15367<parameter name="error">
15368<parameter_description> return location for error or %NULL
15369</parameter_description>
15370</parameter>
15371</parameters>
15372<return> %TRUE if the operation succeeded, %FALSE if @error is set
15373
15374</return>
15375</function>
15376
15377<function name="g_dbus_connection_emit_signal">
15378<description>
15379Emits a signal.
15380
15381If the parameters GVariant is floating, it is consumed.
15382
15383This can only fail if @parameters is not compatible with the D-Bus protocol
15384(%G_IO_ERROR_INVALID_ARGUMENT), or if @connection has been closed
15385(%G_IO_ERROR_CLOSED).
15386
15387Since: 2.26
15388
15389</description>
15390<parameters>
15391<parameter name="connection">
15392<parameter_description> a #GDBusConnection
15393</parameter_description>
15394</parameter>
15395<parameter name="destination_bus_name">
15396<parameter_description> the unique bus name for the destination
15397for the signal or %NULL to emit to all listeners
15398</parameter_description>
15399</parameter>
15400<parameter name="object_path">
15401<parameter_description> path of remote object
15402</parameter_description>
15403</parameter>
15404<parameter name="interface_name">
15405<parameter_description> D-Bus interface to emit a signal on
15406</parameter_description>
15407</parameter>
15408<parameter name="signal_name">
15409<parameter_description> the name of the signal to emit
15410</parameter_description>
15411</parameter>
15412<parameter name="parameters">
15413<parameter_description> a #GVariant tuple with parameters for the signal
15414or %NULL if not passing parameters
15415</parameter_description>
15416</parameter>
15417<parameter name="error">
15418<parameter_description> Return location for error or %NULL
15419</parameter_description>
15420</parameter>
15421</parameters>
15422<return> %TRUE unless @error is set
15423
15424</return>
15425</function>
15426
15427<function name="g_dbus_connection_export_action_group">
15428<description>
15429Exports @action_group on @connection at @object_path.
15430
15431The implemented D-Bus API should be considered private.  It is
15432subject to change in the future.
15433
15434A given object path can only have one action group exported on it.
15435If this constraint is violated, the export will fail and 0 will be
15436returned (with @error set accordingly).
15437
15438You can unexport the action group using
15439g_dbus_connection_unexport_action_group() with the return value of
15440this function.
15441
15442The thread default main context is taken at the time of this call.
15443All incoming action activations and state change requests are
15444reported from this context.  Any changes on the action group that
15445cause it to emit signals must also come from this same context.
15446Since incoming action activations and state change requests are
15447rather likely to cause changes on the action group, this effectively
15448limits a given action group to being exported from only one main
15449context.
15450
15451Since: 2.32
15452
15453</description>
15454<parameters>
15455<parameter name="connection">
15456<parameter_description> a #GDBusConnection
15457</parameter_description>
15458</parameter>
15459<parameter name="object_path">
15460<parameter_description> a D-Bus object path
15461</parameter_description>
15462</parameter>
15463<parameter name="action_group">
15464<parameter_description> a #GActionGroup
15465</parameter_description>
15466</parameter>
15467<parameter name="error">
15468<parameter_description> a pointer to a %NULL #GError, or %NULL
15469</parameter_description>
15470</parameter>
15471</parameters>
15472<return> the ID of the export (never zero), or 0 in case of failure
15473
15474</return>
15475</function>
15476
15477<function name="g_dbus_connection_export_menu_model">
15478<description>
15479Exports @menu on @connection at @object_path.
15480
15481The implemented D-Bus API should be considered private.
15482It is subject to change in the future.
15483
15484An object path can only have one menu model exported on it. If this
15485constraint is violated, the export will fail and 0 will be
15486returned (with @error set accordingly).
15487
15488You can unexport the menu model using
15489g_dbus_connection_unexport_menu_model() with the return value of
15490this function.
15491
15492Since: 2.32
15493
15494</description>
15495<parameters>
15496<parameter name="connection">
15497<parameter_description> a #GDBusConnection
15498</parameter_description>
15499</parameter>
15500<parameter name="object_path">
15501<parameter_description> a D-Bus object path
15502</parameter_description>
15503</parameter>
15504<parameter name="menu">
15505<parameter_description> a #GMenuModel
15506</parameter_description>
15507</parameter>
15508<parameter name="error">
15509<parameter_description> return location for an error, or %NULL
15510</parameter_description>
15511</parameter>
15512</parameters>
15513<return> the ID of the export (never zero), or 0 in case of failure
15514
15515</return>
15516</function>
15517
15518<function name="g_dbus_connection_flush">
15519<description>
15520Asynchronously flushes @connection, that is, writes all queued
15521outgoing message to the transport and then flushes the transport
15522(using g_output_stream_flush_async()). This is useful in programs
15523that wants to emit a D-Bus signal and then exit immediately. Without
15524flushing the connection, there is no guaranteed that the message has
15525been sent to the networking buffers in the OS kernel.
15526
15527This is an asynchronous method. When the operation is finished,
15528@callback will be invoked in the
15529[thread-default main context][g-main-context-push-thread-default]
15530of the thread you are calling this method from. You can
15531then call g_dbus_connection_flush_finish() to get the result of the
15532operation. See g_dbus_connection_flush_sync() for the synchronous
15533version.
15534
15535Since: 2.26
15536
15537</description>
15538<parameters>
15539<parameter name="connection">
15540<parameter_description> a #GDBusConnection
15541</parameter_description>
15542</parameter>
15543<parameter name="cancellable">
15544<parameter_description> a #GCancellable or %NULL
15545</parameter_description>
15546</parameter>
15547<parameter name="callback">
15548<parameter_description> a #GAsyncReadyCallback to call when the
15549request is satisfied or %NULL if you don't care about the result
15550</parameter_description>
15551</parameter>
15552<parameter name="user_data">
15553<parameter_description> The data to pass to @callback
15554</parameter_description>
15555</parameter>
15556</parameters>
15557<return></return>
15558</function>
15559
15560<function name="g_dbus_connection_flush_finish">
15561<description>
15562Finishes an operation started with g_dbus_connection_flush().
15563
15564Since: 2.26
15565
15566</description>
15567<parameters>
15568<parameter name="connection">
15569<parameter_description> a #GDBusConnection
15570</parameter_description>
15571</parameter>
15572<parameter name="res">
15573<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed
15574to g_dbus_connection_flush()
15575</parameter_description>
15576</parameter>
15577<parameter name="error">
15578<parameter_description> return location for error or %NULL
15579</parameter_description>
15580</parameter>
15581</parameters>
15582<return> %TRUE if the operation succeeded, %FALSE if @error is set
15583
15584</return>
15585</function>
15586
15587<function name="g_dbus_connection_flush_sync">
15588<description>
15589Synchronously flushes @connection. The calling thread is blocked
15590until this is done. See g_dbus_connection_flush() for the
15591asynchronous version of this method and more details about what it
15592does.
15593
15594Since: 2.26
15595
15596</description>
15597<parameters>
15598<parameter name="connection">
15599<parameter_description> a #GDBusConnection
15600</parameter_description>
15601</parameter>
15602<parameter name="cancellable">
15603<parameter_description> a #GCancellable or %NULL
15604</parameter_description>
15605</parameter>
15606<parameter name="error">
15607<parameter_description> return location for error or %NULL
15608</parameter_description>
15609</parameter>
15610</parameters>
15611<return> %TRUE if the operation succeeded, %FALSE if @error is set
15612
15613</return>
15614</function>
15615
15616<function name="g_dbus_connection_get_capabilities">
15617<description>
15618Gets the capabilities negotiated with the remote peer
15619
15620Since: 2.26
15621
15622</description>
15623<parameters>
15624<parameter name="connection">
15625<parameter_description> a #GDBusConnection
15626</parameter_description>
15627</parameter>
15628</parameters>
15629<return> zero or more flags from the #GDBusCapabilityFlags enumeration
15630
15631</return>
15632</function>
15633
15634<function name="g_dbus_connection_get_exit_on_close">
15635<description>
15636Gets whether the process is terminated when @connection is
15637closed by the remote peer. See
15638#GDBusConnection:exit-on-close for more details.
15639
15640Since: 2.26
15641
15642</description>
15643<parameters>
15644<parameter name="connection">
15645<parameter_description> a #GDBusConnection
15646</parameter_description>
15647</parameter>
15648</parameters>
15649<return> whether the process is terminated when @connection is
15650closed by the remote peer
15651
15652</return>
15653</function>
15654
15655<function name="g_dbus_connection_get_flags">
15656<description>
15657Gets the flags used to construct this connection
15658
15659Since: 2.60
15660
15661</description>
15662<parameters>
15663<parameter name="connection">
15664<parameter_description> a #GDBusConnection
15665</parameter_description>
15666</parameter>
15667</parameters>
15668<return> zero or more flags from the #GDBusConnectionFlags enumeration
15669
15670</return>
15671</function>
15672
15673<function name="g_dbus_connection_get_guid">
15674<description>
15675The GUID of the peer performing the role of server when
15676authenticating. See #GDBusConnection:guid for more details.
15677
15678Since: 2.26
15679
15680</description>
15681<parameters>
15682<parameter name="connection">
15683<parameter_description> a #GDBusConnection
15684</parameter_description>
15685</parameter>
15686</parameters>
15687<return> The GUID. Do not free this string, it is owned by
15688@connection.
15689
15690</return>
15691</function>
15692
15693<function name="g_dbus_connection_get_last_serial">
15694<description>
15695Retrieves the last serial number assigned to a #GDBusMessage on
15696the current thread. This includes messages sent via both low-level
15697API such as g_dbus_connection_send_message() as well as
15698high-level API such as g_dbus_connection_emit_signal(),
15699g_dbus_connection_call() or g_dbus_proxy_call().
15700
15701Since: 2.34
15702
15703</description>
15704<parameters>
15705<parameter name="connection">
15706<parameter_description> a #GDBusConnection
15707</parameter_description>
15708</parameter>
15709</parameters>
15710<return> the last used serial or zero when no message has been sent
15711within the current thread
15712
15713</return>
15714</function>
15715
15716<function name="g_dbus_connection_get_peer_credentials">
15717<description>
15718Gets the credentials of the authenticated peer. This will always
15719return %NULL unless @connection acted as a server
15720(e.g. %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER was passed)
15721when set up and the client passed credentials as part of the
15722authentication process.
15723
15724In a message bus setup, the message bus is always the server and
15725each application is a client. So this method will always return
15726%NULL for message bus clients.
15727
15728Since: 2.26
15729
15730</description>
15731<parameters>
15732<parameter name="connection">
15733<parameter_description> a #GDBusConnection
15734</parameter_description>
15735</parameter>
15736</parameters>
15737<return> a #GCredentials or %NULL if not
15738available. Do not free this object, it is owned by @connection.
15739
15740</return>
15741</function>
15742
15743<function name="g_dbus_connection_get_stream">
15744<description>
15745Gets the underlying stream used for IO.
15746
15747While the #GDBusConnection is active, it will interact with this
15748stream from a worker thread, so it is not safe to interact with
15749the stream directly.
15750
15751Since: 2.26
15752
15753</description>
15754<parameters>
15755<parameter name="connection">
15756<parameter_description> a #GDBusConnection
15757</parameter_description>
15758</parameter>
15759</parameters>
15760<return> the stream used for IO
15761
15762</return>
15763</function>
15764
15765<function name="g_dbus_connection_get_unique_name">
15766<description>
15767Gets the unique name of @connection as assigned by the message
15768bus. This can also be used to figure out if @connection is a
15769message bus connection.
15770
15771Since: 2.26
15772
15773</description>
15774<parameters>
15775<parameter name="connection">
15776<parameter_description> a #GDBusConnection
15777</parameter_description>
15778</parameter>
15779</parameters>
15780<return> the unique name or %NULL if @connection is not a message
15781bus connection. Do not free this string, it is owned by
15782@connection.
15783
15784</return>
15785</function>
15786
15787<function name="g_dbus_connection_is_closed">
15788<description>
15789Gets whether @connection is closed.
15790
15791Since: 2.26
15792
15793</description>
15794<parameters>
15795<parameter name="connection">
15796<parameter_description> a #GDBusConnection
15797</parameter_description>
15798</parameter>
15799</parameters>
15800<return> %TRUE if the connection is closed, %FALSE otherwise
15801
15802</return>
15803</function>
15804
15805<function name="g_dbus_connection_new">
15806<description>
15807Asynchronously sets up a D-Bus connection for exchanging D-Bus messages
15808with the end represented by @stream.
15809
15810If @stream is a #GSocketConnection, then the corresponding #GSocket
15811will be put into non-blocking mode.
15812
15813The D-Bus connection will interact with @stream from a worker thread.
15814As a result, the caller should not interact with @stream after this
15815method has been called, except by calling g_object_unref() on it.
15816
15817If @observer is not %NULL it may be used to control the
15818authentication process.
15819
15820When the operation is finished, @callback will be invoked. You can
15821then call g_dbus_connection_new_finish() to get the result of the
15822operation.
15823
15824This is an asynchronous failable constructor. See
15825g_dbus_connection_new_sync() for the synchronous
15826version.
15827
15828Since: 2.26
15829
15830</description>
15831<parameters>
15832<parameter name="stream">
15833<parameter_description> a #GIOStream
15834</parameter_description>
15835</parameter>
15836<parameter name="guid">
15837<parameter_description> the GUID to use if authenticating as a server or %NULL
15838</parameter_description>
15839</parameter>
15840<parameter name="flags">
15841<parameter_description> flags describing how to make the connection
15842</parameter_description>
15843</parameter>
15844<parameter name="observer">
15845<parameter_description> a #GDBusAuthObserver or %NULL
15846</parameter_description>
15847</parameter>
15848<parameter name="cancellable">
15849<parameter_description> a #GCancellable or %NULL
15850</parameter_description>
15851</parameter>
15852<parameter name="callback">
15853<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
15854</parameter_description>
15855</parameter>
15856<parameter name="user_data">
15857<parameter_description> the data to pass to @callback
15858</parameter_description>
15859</parameter>
15860</parameters>
15861<return></return>
15862</function>
15863
15864<function name="g_dbus_connection_new_finish">
15865<description>
15866Finishes an operation started with g_dbus_connection_new().
15867
15868Since: 2.26
15869
15870</description>
15871<parameters>
15872<parameter name="res">
15873<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback
15874passed to g_dbus_connection_new().
15875</parameter_description>
15876</parameter>
15877<parameter name="error">
15878<parameter_description> return location for error or %NULL
15879</parameter_description>
15880</parameter>
15881</parameters>
15882<return> a #GDBusConnection or %NULL if @error is set. Free
15883with g_object_unref().
15884
15885</return>
15886</function>
15887
15888<function name="g_dbus_connection_new_for_address">
15889<description>
15890Asynchronously connects and sets up a D-Bus client connection for
15891exchanging D-Bus messages with an endpoint specified by @address
15892which must be in the
15893[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
15894
15895This constructor can only be used to initiate client-side
15896connections - use g_dbus_connection_new() if you need to act as the
15897server. In particular, @flags cannot contain the
15898%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
15899%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
15900
15901When the operation is finished, @callback will be invoked. You can
15902then call g_dbus_connection_new_for_address_finish() to get the result of
15903the operation.
15904
15905If @observer is not %NULL it may be used to control the
15906authentication process.
15907
15908This is an asynchronous failable constructor. See
15909g_dbus_connection_new_for_address_sync() for the synchronous
15910version.
15911
15912Since: 2.26
15913
15914</description>
15915<parameters>
15916<parameter name="address">
15917<parameter_description> a D-Bus address
15918</parameter_description>
15919</parameter>
15920<parameter name="flags">
15921<parameter_description> flags describing how to make the connection
15922</parameter_description>
15923</parameter>
15924<parameter name="observer">
15925<parameter_description> a #GDBusAuthObserver or %NULL
15926</parameter_description>
15927</parameter>
15928<parameter name="cancellable">
15929<parameter_description> a #GCancellable or %NULL
15930</parameter_description>
15931</parameter>
15932<parameter name="callback">
15933<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
15934</parameter_description>
15935</parameter>
15936<parameter name="user_data">
15937<parameter_description> the data to pass to @callback
15938</parameter_description>
15939</parameter>
15940</parameters>
15941<return></return>
15942</function>
15943
15944<function name="g_dbus_connection_new_for_address_finish">
15945<description>
15946Finishes an operation started with g_dbus_connection_new_for_address().
15947
15948Since: 2.26
15949
15950</description>
15951<parameters>
15952<parameter name="res">
15953<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed
15954to g_dbus_connection_new()
15955</parameter_description>
15956</parameter>
15957<parameter name="error">
15958<parameter_description> return location for error or %NULL
15959</parameter_description>
15960</parameter>
15961</parameters>
15962<return> a #GDBusConnection or %NULL if @error is set. Free with
15963g_object_unref().
15964
15965</return>
15966</function>
15967
15968<function name="g_dbus_connection_new_for_address_sync">
15969<description>
15970Synchronously connects and sets up a D-Bus client connection for
15971exchanging D-Bus messages with an endpoint specified by @address
15972which must be in the
15973[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
15974
15975This constructor can only be used to initiate client-side
15976connections - use g_dbus_connection_new_sync() if you need to act
15977as the server. In particular, @flags cannot contain the
15978%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
15979%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
15980
15981This is a synchronous failable constructor. See
15982g_dbus_connection_new_for_address() for the asynchronous version.
15983
15984If @observer is not %NULL it may be used to control the
15985authentication process.
15986
15987Since: 2.26
15988
15989</description>
15990<parameters>
15991<parameter name="address">
15992<parameter_description> a D-Bus address
15993</parameter_description>
15994</parameter>
15995<parameter name="flags">
15996<parameter_description> flags describing how to make the connection
15997</parameter_description>
15998</parameter>
15999<parameter name="observer">
16000<parameter_description> a #GDBusAuthObserver or %NULL
16001</parameter_description>
16002</parameter>
16003<parameter name="cancellable">
16004<parameter_description> a #GCancellable or %NULL
16005</parameter_description>
16006</parameter>
16007<parameter name="error">
16008<parameter_description> return location for error or %NULL
16009</parameter_description>
16010</parameter>
16011</parameters>
16012<return> a #GDBusConnection or %NULL if @error is set. Free with
16013g_object_unref().
16014
16015</return>
16016</function>
16017
16018<function name="g_dbus_connection_new_sync">
16019<description>
16020Synchronously sets up a D-Bus connection for exchanging D-Bus messages
16021with the end represented by @stream.
16022
16023If @stream is a #GSocketConnection, then the corresponding #GSocket
16024will be put into non-blocking mode.
16025
16026The D-Bus connection will interact with @stream from a worker thread.
16027As a result, the caller should not interact with @stream after this
16028method has been called, except by calling g_object_unref() on it.
16029
16030If @observer is not %NULL it may be used to control the
16031authentication process.
16032
16033This is a synchronous failable constructor. See
16034g_dbus_connection_new() for the asynchronous version.
16035
16036Since: 2.26
16037
16038</description>
16039<parameters>
16040<parameter name="stream">
16041<parameter_description> a #GIOStream
16042</parameter_description>
16043</parameter>
16044<parameter name="guid">
16045<parameter_description> the GUID to use if authenticating as a server or %NULL
16046</parameter_description>
16047</parameter>
16048<parameter name="flags">
16049<parameter_description> flags describing how to make the connection
16050</parameter_description>
16051</parameter>
16052<parameter name="observer">
16053<parameter_description> a #GDBusAuthObserver or %NULL
16054</parameter_description>
16055</parameter>
16056<parameter name="cancellable">
16057<parameter_description> a #GCancellable or %NULL
16058</parameter_description>
16059</parameter>
16060<parameter name="error">
16061<parameter_description> return location for error or %NULL
16062</parameter_description>
16063</parameter>
16064</parameters>
16065<return> a #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
16066
16067</return>
16068</function>
16069
16070<function name="g_dbus_connection_register_object">
16071<description>
16072Registers callbacks for exported objects at @object_path with the
16073D-Bus interface that is described in @interface_info.
16074
16075Calls to functions in @vtable (and @user_data_free_func) will happen
16076in the
16077[thread-default main context][g-main-context-push-thread-default]
16078of the thread you are calling this method from.
16079
16080Note that all #GVariant values passed to functions in @vtable will match
16081the signature given in @interface_info - if a remote caller passes
16082incorrect values, the `org.freedesktop.DBus.Error.InvalidArgs`
16083is returned to the remote caller.
16084
16085Additionally, if the remote caller attempts to invoke methods or
16086access properties not mentioned in @interface_info the
16087`org.freedesktop.DBus.Error.UnknownMethod` resp.
16088`org.freedesktop.DBus.Error.InvalidArgs` errors
16089are returned to the caller.
16090
16091It is considered a programming error if the
16092#GDBusInterfaceGetPropertyFunc function in @vtable returns a
16093#GVariant of incorrect type.
16094
16095If an existing callback is already registered at @object_path and
16096@interface_name, then @error is set to #G_IO_ERROR_EXISTS.
16097
16098GDBus automatically implements the standard D-Bus interfaces
16099org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable
16100and org.freedesktop.Peer, so you don't have to implement those for the
16101objects you export. You can implement org.freedesktop.DBus.Properties
16102yourself, e.g. to handle getting and setting of properties asynchronously.
16103
16104Note that the reference count on @interface_info will be
16105incremented by 1 (unless allocated statically, e.g. if the
16106reference count is -1, see g_dbus_interface_info_ref()) for as long
16107as the object is exported. Also note that @vtable will be copied.
16108
16109See this [server][gdbus-server] for an example of how to use this method.
16110
16111Since: 2.26
16112
16113</description>
16114<parameters>
16115<parameter name="connection">
16116<parameter_description> a #GDBusConnection
16117</parameter_description>
16118</parameter>
16119<parameter name="object_path">
16120<parameter_description> the object path to register at
16121</parameter_description>
16122</parameter>
16123<parameter name="interface_info">
16124<parameter_description> introspection data for the interface
16125</parameter_description>
16126</parameter>
16127<parameter name="vtable">
16128<parameter_description> a #GDBusInterfaceVTable to call into or %NULL
16129</parameter_description>
16130</parameter>
16131<parameter name="user_data">
16132<parameter_description> data to pass to functions in @vtable
16133</parameter_description>
16134</parameter>
16135<parameter name="user_data_free_func">
16136<parameter_description> function to call when the object path is unregistered
16137</parameter_description>
16138</parameter>
16139<parameter name="error">
16140<parameter_description> return location for error or %NULL
16141</parameter_description>
16142</parameter>
16143</parameters>
16144<return> 0 if @error is set, otherwise a registration id (never 0)
16145that can be used with g_dbus_connection_unregister_object()
16146
16147</return>
16148</function>
16149
16150<function name="g_dbus_connection_register_object_with_closures">
16151<description>
16152Version of g_dbus_connection_register_object() using closures instead of a
16153#GDBusInterfaceVTable for easier binding in other languages.
16154
16155Since: 2.46
16156
16157</description>
16158<parameters>
16159<parameter name="connection">
16160<parameter_description> A #GDBusConnection.
16161</parameter_description>
16162</parameter>
16163<parameter name="object_path">
16164<parameter_description> The object path to register at.
16165</parameter_description>
16166</parameter>
16167<parameter name="interface_info">
16168<parameter_description> Introspection data for the interface.
16169</parameter_description>
16170</parameter>
16171<parameter name="method_call_closure">
16172<parameter_description> #GClosure for handling incoming method calls.
16173</parameter_description>
16174</parameter>
16175<parameter name="get_property_closure">
16176<parameter_description> #GClosure for getting a property.
16177</parameter_description>
16178</parameter>
16179<parameter name="set_property_closure">
16180<parameter_description> #GClosure for setting a property.
16181</parameter_description>
16182</parameter>
16183<parameter name="error">
16184<parameter_description> Return location for error or %NULL.
16185</parameter_description>
16186</parameter>
16187</parameters>
16188<return> 0 if @error is set, otherwise a registration id (never 0)
16189that can be used with g_dbus_connection_unregister_object() .
16190
16191</return>
16192</function>
16193
16194<function name="g_dbus_connection_register_subtree">
16195<description>
16196Registers a whole subtree of dynamic objects.
16197
16198The @enumerate and @introspection functions in @vtable are used to
16199convey, to remote callers, what nodes exist in the subtree rooted
16200by @object_path.
16201
16202When handling remote calls into any node in the subtree, first the
16203@enumerate function is used to check if the node exists. If the node exists
16204or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set
16205the @introspection function is used to check if the node supports the
16206requested method. If so, the @dispatch function is used to determine
16207where to dispatch the call. The collected #GDBusInterfaceVTable and
16208#gpointer will be used to call into the interface vtable for processing
16209the request.
16210
16211All calls into user-provided code will be invoked in the
16212[thread-default main context][g-main-context-push-thread-default]
16213of the thread you are calling this method from.
16214
16215If an existing subtree is already registered at @object_path or
16216then @error is set to #G_IO_ERROR_EXISTS.
16217
16218Note that it is valid to register regular objects (using
16219g_dbus_connection_register_object()) in a subtree registered with
16220g_dbus_connection_register_subtree() - if so, the subtree handler
16221is tried as the last resort. One way to think about a subtree
16222handler is to consider it a fallback handler for object paths not
16223registered via g_dbus_connection_register_object() or other bindings.
16224
16225Note that @vtable will be copied so you cannot change it after
16226registration.
16227
16228See this [server][gdbus-subtree-server] for an example of how to use
16229this method.
16230
16231Since: 2.26
16232
16233</description>
16234<parameters>
16235<parameter name="connection">
16236<parameter_description> a #GDBusConnection
16237</parameter_description>
16238</parameter>
16239<parameter name="object_path">
16240<parameter_description> the object path to register the subtree at
16241</parameter_description>
16242</parameter>
16243<parameter name="vtable">
16244<parameter_description> a #GDBusSubtreeVTable to enumerate, introspect and
16245dispatch nodes in the subtree
16246</parameter_description>
16247</parameter>
16248<parameter name="flags">
16249<parameter_description> flags used to fine tune the behavior of the subtree
16250</parameter_description>
16251</parameter>
16252<parameter name="user_data">
16253<parameter_description> data to pass to functions in @vtable
16254</parameter_description>
16255</parameter>
16256<parameter name="user_data_free_func">
16257<parameter_description> function to call when the subtree is unregistered
16258</parameter_description>
16259</parameter>
16260<parameter name="error">
16261<parameter_description> return location for error or %NULL
16262</parameter_description>
16263</parameter>
16264</parameters>
16265<return> 0 if @error is set, otherwise a subtree registration id (never 0)
16266that can be used with g_dbus_connection_unregister_subtree() .
16267
16268</return>
16269</function>
16270
16271<function name="g_dbus_connection_remove_filter">
16272<description>
16273Removes a filter.
16274
16275Note that since filters run in a different thread, there is a race
16276condition where it is possible that the filter will be running even
16277after calling g_dbus_connection_remove_filter(), so you cannot just
16278free data that the filter might be using. Instead, you should pass
16279a #GDestroyNotify to g_dbus_connection_add_filter(), which will be
16280called when it is guaranteed that the data is no longer needed.
16281
16282Since: 2.26
16283
16284</description>
16285<parameters>
16286<parameter name="connection">
16287<parameter_description> a #GDBusConnection
16288</parameter_description>
16289</parameter>
16290<parameter name="filter_id">
16291<parameter_description> an identifier obtained from g_dbus_connection_add_filter()
16292</parameter_description>
16293</parameter>
16294</parameters>
16295<return></return>
16296</function>
16297
16298<function name="g_dbus_connection_send_message">
16299<description>
16300Asynchronously sends @message to the peer represented by @connection.
16301
16302Unless @flags contain the
16303%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
16304will be assigned by @connection and set on @message via
16305g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
16306serial number used will be written to this location prior to
16307submitting the message to the underlying transport.
16308
16309If @connection is closed then the operation will fail with
16310%G_IO_ERROR_CLOSED. If @message is not well-formed,
16311the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
16312
16313See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
16314for an example of how to use this low-level API to send and receive
16315UNIX file descriptors.
16316
16317Note that @message must be unlocked, unless @flags contain the
16318%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
16319
16320Since: 2.26
16321
16322</description>
16323<parameters>
16324<parameter name="connection">
16325<parameter_description> a #GDBusConnection
16326</parameter_description>
16327</parameter>
16328<parameter name="message">
16329<parameter_description> a #GDBusMessage
16330</parameter_description>
16331</parameter>
16332<parameter name="flags">
16333<parameter_description> flags affecting how the message is sent
16334</parameter_description>
16335</parameter>
16336<parameter name="out_serial">
16337<parameter_description> return location for serial number assigned
16338to @message when sending it or %NULL
16339</parameter_description>
16340</parameter>
16341<parameter name="error">
16342<parameter_description> Return location for error or %NULL
16343</parameter_description>
16344</parameter>
16345</parameters>
16346<return> %TRUE if the message was well-formed and queued for
16347transmission, %FALSE if @error is set
16348
16349</return>
16350</function>
16351
16352<function name="g_dbus_connection_send_message_with_reply">
16353<description>
16354Asynchronously sends @message to the peer represented by @connection.
16355
16356Unless @flags contain the
16357%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
16358will be assigned by @connection and set on @message via
16359g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
16360serial number used will be written to this location prior to
16361submitting the message to the underlying transport.
16362
16363If @connection is closed then the operation will fail with
16364%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
16365fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed,
16366the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
16367
16368This is an asynchronous method. When the operation is finished, @callback
16369will be invoked in the
16370[thread-default main context][g-main-context-push-thread-default]
16371of the thread you are calling this method from. You can then call
16372g_dbus_connection_send_message_with_reply_finish() to get the result of the operation.
16373See g_dbus_connection_send_message_with_reply_sync() for the synchronous version.
16374
16375Note that @message must be unlocked, unless @flags contain the
16376%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
16377
16378See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
16379for an example of how to use this low-level API to send and receive
16380UNIX file descriptors.
16381
16382Since: 2.26
16383
16384</description>
16385<parameters>
16386<parameter name="connection">
16387<parameter_description> a #GDBusConnection
16388</parameter_description>
16389</parameter>
16390<parameter name="message">
16391<parameter_description> a #GDBusMessage
16392</parameter_description>
16393</parameter>
16394<parameter name="flags">
16395<parameter_description> flags affecting how the message is sent
16396</parameter_description>
16397</parameter>
16398<parameter name="timeout_msec">
16399<parameter_description> the timeout in milliseconds, -1 to use the default
16400timeout or %G_MAXINT for no timeout
16401</parameter_description>
16402</parameter>
16403<parameter name="out_serial">
16404<parameter_description> return location for serial number assigned
16405to @message when sending it or %NULL
16406</parameter_description>
16407</parameter>
16408<parameter name="cancellable">
16409<parameter_description> a #GCancellable or %NULL
16410</parameter_description>
16411</parameter>
16412<parameter name="callback">
16413<parameter_description> a #GAsyncReadyCallback to call when the request
16414is satisfied or %NULL if you don't care about the result
16415</parameter_description>
16416</parameter>
16417<parameter name="user_data">
16418<parameter_description> The data to pass to @callback
16419</parameter_description>
16420</parameter>
16421</parameters>
16422<return></return>
16423</function>
16424
16425<function name="g_dbus_connection_send_message_with_reply_finish">
16426<description>
16427Finishes an operation started with g_dbus_connection_send_message_with_reply().
16428
16429Note that @error is only set if a local in-process error
16430occurred. That is to say that the returned #GDBusMessage object may
16431be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use
16432g_dbus_message_to_gerror() to transcode this to a #GError.
16433
16434See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
16435for an example of how to use this low-level API to send and receive
16436UNIX file descriptors.
16437
16438Since: 2.26
16439
16440</description>
16441<parameters>
16442<parameter name="connection">
16443<parameter_description> a #GDBusConnection
16444</parameter_description>
16445</parameter>
16446<parameter name="res">
16447<parameter_description> a #GAsyncResult obtained from the #GAsyncReadyCallback passed to
16448g_dbus_connection_send_message_with_reply()
16449</parameter_description>
16450</parameter>
16451<parameter name="error">
16452<parameter_description> teturn location for error or %NULL
16453</parameter_description>
16454</parameter>
16455</parameters>
16456<return> a locked #GDBusMessage or %NULL if @error is set
16457
16458</return>
16459</function>
16460
16461<function name="g_dbus_connection_send_message_with_reply_sync">
16462<description>
16463Synchronously sends @message to the peer represented by @connection
16464and blocks the calling thread until a reply is received or the
16465timeout is reached. See g_dbus_connection_send_message_with_reply()
16466for the asynchronous version of this method.
16467
16468Unless @flags contain the
16469%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number
16470will be assigned by @connection and set on @message via
16471g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
16472serial number used will be written to this location prior to
16473submitting the message to the underlying transport.
16474
16475If @connection is closed then the operation will fail with
16476%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
16477fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed,
16478the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
16479
16480Note that @error is only set if a local in-process error
16481occurred. That is to say that the returned #GDBusMessage object may
16482be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use
16483g_dbus_message_to_gerror() to transcode this to a #GError.
16484
16485See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
16486for an example of how to use this low-level API to send and receive
16487UNIX file descriptors.
16488
16489Note that @message must be unlocked, unless @flags contain the
16490%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
16491
16492Since: 2.26
16493
16494</description>
16495<parameters>
16496<parameter name="connection">
16497<parameter_description> a #GDBusConnection
16498</parameter_description>
16499</parameter>
16500<parameter name="message">
16501<parameter_description> a #GDBusMessage
16502</parameter_description>
16503</parameter>
16504<parameter name="flags">
16505<parameter_description> flags affecting how the message is sent.
16506</parameter_description>
16507</parameter>
16508<parameter name="timeout_msec">
16509<parameter_description> the timeout in milliseconds, -1 to use the default
16510timeout or %G_MAXINT for no timeout
16511</parameter_description>
16512</parameter>
16513<parameter name="out_serial">
16514<parameter_description> return location for serial number
16515assigned to @message when sending it or %NULL
16516</parameter_description>
16517</parameter>
16518<parameter name="cancellable">
16519<parameter_description> a #GCancellable or %NULL
16520</parameter_description>
16521</parameter>
16522<parameter name="error">
16523<parameter_description> return location for error or %NULL
16524</parameter_description>
16525</parameter>
16526</parameters>
16527<return> a locked #GDBusMessage that is the reply
16528to @message or %NULL if @error is set
16529
16530</return>
16531</function>
16532
16533<function name="g_dbus_connection_set_exit_on_close">
16534<description>
16535Sets whether the process should be terminated when @connection is
16536closed by the remote peer. See #GDBusConnection:exit-on-close for
16537more details.
16538
16539Note that this function should be used with care. Most modern UNIX
16540desktops tie the notion of a user session with the session bus, and expect
16541all of a user's applications to quit when their bus connection goes away.
16542If you are setting @exit_on_close to %FALSE for the shared session
16543bus connection, you should make sure that your application exits
16544when the user session ends.
16545
16546Since: 2.26
16547
16548</description>
16549<parameters>
16550<parameter name="connection">
16551<parameter_description> a #GDBusConnection
16552</parameter_description>
16553</parameter>
16554<parameter name="exit_on_close">
16555<parameter_description> whether the process should be terminated
16556when @connection is closed by the remote peer
16557</parameter_description>
16558</parameter>
16559</parameters>
16560<return></return>
16561</function>
16562
16563<function name="g_dbus_connection_signal_subscribe">
16564<description>
16565Subscribes to signals on @connection and invokes @callback with a whenever
16566the signal is received. Note that @callback will be invoked in the
16567[thread-default main context][g-main-context-push-thread-default]
16568of the thread you are calling this method from.
16569
16570If @connection is not a message bus connection, @sender must be
16571%NULL.
16572
16573If @sender is a well-known name note that @callback is invoked with
16574the unique name for the owner of @sender, not the well-known name
16575as one would expect. This is because the message bus rewrites the
16576name. As such, to avoid certain race conditions, users should be
16577tracking the name owner of the well-known name and use that when
16578processing the received signal.
16579
16580If one of %G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE or
16581%G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH are given, @arg0 is
16582interpreted as part of a namespace or path.  The first argument
16583of a signal is matched against that part as specified by D-Bus.
16584
16585If @user_data_free_func is non-%NULL, it will be called (in the
16586thread-default main context of the thread you are calling this
16587method from) at some point after @user_data is no longer
16588needed. (It is not guaranteed to be called synchronously when the
16589signal is unsubscribed from, and may be called after @connection
16590has been destroyed.)
16591
16592As @callback is potentially invoked in a different thread from where it’s
16593emitted, it’s possible for this to happen after
16594g_dbus_connection_signal_unsubscribe() has been called in another thread.
16595Due to this, @user_data should have a strong reference which is freed with
16596@user_data_free_func, rather than pointing to data whose lifecycle is tied
16597to the signal subscription. For example, if a #GObject is used to store the
16598subscription ID from g_dbus_connection_signal_subscribe(), a strong reference
16599to that #GObject must be passed to @user_data, and g_object_unref() passed to
16600@user_data_free_func. You are responsible for breaking the resulting
16601reference count cycle by explicitly unsubscribing from the signal when
16602dropping the last external reference to the #GObject. Alternatively, a weak
16603reference may be used.
16604
16605It is guaranteed that if you unsubscribe from a signal using
16606g_dbus_connection_signal_unsubscribe() from the same thread which made the
16607corresponding g_dbus_connection_signal_subscribe() call, @callback will not
16608be invoked after g_dbus_connection_signal_unsubscribe() returns.
16609
16610The returned subscription identifier is an opaque value which is guaranteed
16611to never be zero.
16612
16613This function can never fail.
16614
16615Since: 2.26
16616
16617</description>
16618<parameters>
16619<parameter name="connection">
16620<parameter_description> a #GDBusConnection
16621</parameter_description>
16622</parameter>
16623<parameter name="sender">
16624<parameter_description> sender name to match on (unique or well-known name)
16625or %NULL to listen from all senders
16626</parameter_description>
16627</parameter>
16628<parameter name="interface_name">
16629<parameter_description> D-Bus interface name to match on or %NULL to
16630match on all interfaces
16631</parameter_description>
16632</parameter>
16633<parameter name="member">
16634<parameter_description> D-Bus signal name to match on or %NULL to match on
16635all signals
16636</parameter_description>
16637</parameter>
16638<parameter name="object_path">
16639<parameter_description> object path to match on or %NULL to match on
16640all object paths
16641</parameter_description>
16642</parameter>
16643<parameter name="arg0">
16644<parameter_description> contents of first string argument to match on or %NULL
16645to match on all kinds of arguments
16646</parameter_description>
16647</parameter>
16648<parameter name="flags">
16649<parameter_description> #GDBusSignalFlags describing how arg0 is used in subscribing to the
16650signal
16651</parameter_description>
16652</parameter>
16653<parameter name="callback">
16654<parameter_description> callback to invoke when there is a signal matching the requested data
16655</parameter_description>
16656</parameter>
16657<parameter name="user_data">
16658<parameter_description> user data to pass to @callback
16659</parameter_description>
16660</parameter>
16661<parameter name="user_data_free_func">
16662<parameter_description> function to free @user_data with when
16663subscription is removed or %NULL
16664</parameter_description>
16665</parameter>
16666</parameters>
16667<return> a subscription identifier that can be used with g_dbus_connection_signal_unsubscribe()
16668
16669</return>
16670</function>
16671
16672<function name="g_dbus_connection_signal_unsubscribe">
16673<description>
16674Unsubscribes from signals.
16675
16676Note that there may still be D-Bus traffic to process (relating to this
16677signal subscription) in the current thread-default #GMainContext after this
16678function has returned. You should continue to iterate the #GMainContext
16679until the #GDestroyNotify function passed to
16680g_dbus_connection_signal_subscribe() is called, in order to avoid memory
16681leaks through callbacks queued on the #GMainContext after it’s stopped being
16682iterated.
16683
16684Since: 2.26
16685
16686</description>
16687<parameters>
16688<parameter name="connection">
16689<parameter_description> a #GDBusConnection
16690</parameter_description>
16691</parameter>
16692<parameter name="subscription_id">
16693<parameter_description> a subscription id obtained from
16694g_dbus_connection_signal_subscribe()
16695</parameter_description>
16696</parameter>
16697</parameters>
16698<return></return>
16699</function>
16700
16701<function name="g_dbus_connection_start_message_processing">
16702<description>
16703If @connection was created with
16704%G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING, this method
16705starts processing messages. Does nothing on if @connection wasn't
16706created with this flag or if the method has already been called.
16707
16708Since: 2.26
16709
16710</description>
16711<parameters>
16712<parameter name="connection">
16713<parameter_description> a #GDBusConnection
16714</parameter_description>
16715</parameter>
16716</parameters>
16717<return></return>
16718</function>
16719
16720<function name="g_dbus_connection_unexport_action_group">
16721<description>
16722Reverses the effect of a previous call to
16723g_dbus_connection_export_action_group().
16724
16725It is an error to call this function with an ID that wasn't returned
16726from g_dbus_connection_export_action_group() or to call it with the
16727same ID more than once.
16728
16729Since: 2.32
16730
16731</description>
16732<parameters>
16733<parameter name="connection">
16734<parameter_description> a #GDBusConnection
16735</parameter_description>
16736</parameter>
16737<parameter name="export_id">
16738<parameter_description> the ID from g_dbus_connection_export_action_group()
16739</parameter_description>
16740</parameter>
16741</parameters>
16742<return></return>
16743</function>
16744
16745<function name="g_dbus_connection_unexport_menu_model">
16746<description>
16747Reverses the effect of a previous call to
16748g_dbus_connection_export_menu_model().
16749
16750It is an error to call this function with an ID that wasn't returned
16751from g_dbus_connection_export_menu_model() or to call it with the
16752same ID more than once.
16753
16754Since: 2.32
16755
16756</description>
16757<parameters>
16758<parameter name="connection">
16759<parameter_description> a #GDBusConnection
16760</parameter_description>
16761</parameter>
16762<parameter name="export_id">
16763<parameter_description> the ID from g_dbus_connection_export_menu_model()
16764</parameter_description>
16765</parameter>
16766</parameters>
16767<return></return>
16768</function>
16769
16770<function name="g_dbus_connection_unregister_object">
16771<description>
16772Unregisters an object.
16773
16774Since: 2.26
16775
16776</description>
16777<parameters>
16778<parameter name="connection">
16779<parameter_description> a #GDBusConnection
16780</parameter_description>
16781</parameter>
16782<parameter name="registration_id">
16783<parameter_description> a registration id obtained from
16784g_dbus_connection_register_object()
16785</parameter_description>
16786</parameter>
16787</parameters>
16788<return> %TRUE if the object was unregistered, %FALSE otherwise
16789
16790</return>
16791</function>
16792
16793<function name="g_dbus_connection_unregister_subtree">
16794<description>
16795Unregisters a subtree.
16796
16797Since: 2.26
16798
16799</description>
16800<parameters>
16801<parameter name="connection">
16802<parameter_description> a #GDBusConnection
16803</parameter_description>
16804</parameter>
16805<parameter name="registration_id">
16806<parameter_description> a subtree registration id obtained from
16807g_dbus_connection_register_subtree()
16808</parameter_description>
16809</parameter>
16810</parameters>
16811<return> %TRUE if the subtree was unregistered, %FALSE otherwise
16812
16813</return>
16814</function>
16815
16816<function name="g_dbus_error_encode_gerror">
16817<description>
16818Creates a D-Bus error name to use for @error. If @error matches
16819a registered error (cf. g_dbus_error_register_error()), the corresponding
16820D-Bus error name will be returned.
16821
16822Otherwise the a name of the form
16823`org.gtk.GDBus.UnmappedGError.Quark._ESCAPED_QUARK_NAME.Code_ERROR_CODE`
16824will be used. This allows other GDBus applications to map the error
16825on the wire back to a #GError using g_dbus_error_new_for_dbus_error().
16826
16827This function is typically only used in object mappings to put a
16828#GError on the wire. Regular applications should not use it.
16829
16830Since: 2.26
16831
16832</description>
16833<parameters>
16834<parameter name="error">
16835<parameter_description> A #GError.
16836</parameter_description>
16837</parameter>
16838</parameters>
16839<return> A D-Bus error name (never %NULL). Free with g_free().
16840
16841</return>
16842</function>
16843
16844<function name="g_dbus_error_get_remote_error">
16845<description>
16846Gets the D-Bus error name used for @error, if any.
16847
16848This function is guaranteed to return a D-Bus error name for all
16849#GErrors returned from functions handling remote method calls
16850(e.g. g_dbus_connection_call_finish()) unless
16851g_dbus_error_strip_remote_error() has been used on @error.
16852
16853Since: 2.26
16854
16855</description>
16856<parameters>
16857<parameter name="error">
16858<parameter_description> a #GError
16859</parameter_description>
16860</parameter>
16861</parameters>
16862<return> an allocated string or %NULL if the D-Bus error name
16863could not be found. Free with g_free().
16864
16865</return>
16866</function>
16867
16868<function name="g_dbus_error_is_remote_error">
16869<description>
16870Checks if @error represents an error received via D-Bus from a remote peer. If so,
16871use g_dbus_error_get_remote_error() to get the name of the error.
16872
16873Since: 2.26
16874
16875</description>
16876<parameters>
16877<parameter name="error">
16878<parameter_description> A #GError.
16879</parameter_description>
16880</parameter>
16881</parameters>
16882<return> %TRUE if @error represents an error from a remote peer,
16883%FALSE otherwise.
16884
16885</return>
16886</function>
16887
16888<function name="g_dbus_error_new_for_dbus_error">
16889<description>
16890Creates a #GError based on the contents of @dbus_error_name and
16891@dbus_error_message.
16892
16893Errors registered with g_dbus_error_register_error() will be looked
16894up using @dbus_error_name and if a match is found, the error domain
16895and code is used. Applications can use g_dbus_error_get_remote_error()
16896to recover @dbus_error_name.
16897
16898If a match against a registered error is not found and the D-Bus
16899error name is in a form as returned by g_dbus_error_encode_gerror()
16900the error domain and code encoded in the name is used to
16901create the #GError. Also, @dbus_error_name is added to the error message
16902such that it can be recovered with g_dbus_error_get_remote_error().
16903
16904Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR
16905in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is
16906added to the error message such that it can be recovered with
16907g_dbus_error_get_remote_error().
16908
16909In all three cases, @dbus_error_name can always be recovered from the
16910returned #GError using the g_dbus_error_get_remote_error() function
16911(unless g_dbus_error_strip_remote_error() hasn't been used on the returned error).
16912
16913This function is typically only used in object mappings to prepare
16914#GError instances for applications. Regular applications should not use
16915it.
16916
16917Since: 2.26
16918
16919</description>
16920<parameters>
16921<parameter name="dbus_error_name">
16922<parameter_description> D-Bus error name.
16923</parameter_description>
16924</parameter>
16925<parameter name="dbus_error_message">
16926<parameter_description> D-Bus error message.
16927</parameter_description>
16928</parameter>
16929</parameters>
16930<return> An allocated #GError. Free with g_error_free().
16931
16932</return>
16933</function>
16934
16935<function name="g_dbus_error_register_error">
16936<description>
16937Creates an association to map between @dbus_error_name and
16938#GErrors specified by @error_domain and @error_code.
16939
16940This is typically done in the routine that returns the #GQuark for
16941an error domain.
16942
16943Since: 2.26
16944
16945</description>
16946<parameters>
16947<parameter name="error_domain">
16948<parameter_description> A #GQuark for an error domain.
16949</parameter_description>
16950</parameter>
16951<parameter name="error_code">
16952<parameter_description> An error code.
16953</parameter_description>
16954</parameter>
16955<parameter name="dbus_error_name">
16956<parameter_description> A D-Bus error name.
16957</parameter_description>
16958</parameter>
16959</parameters>
16960<return> %TRUE if the association was created, %FALSE if it already
16961exists.
16962
16963</return>
16964</function>
16965
16966<function name="g_dbus_error_register_error_domain">
16967<description>
16968Helper function for associating a #GError error domain with D-Bus error names.
16969
16970Since: 2.26
16971
16972</description>
16973<parameters>
16974<parameter name="error_domain_quark_name">
16975<parameter_description> The error domain name.
16976</parameter_description>
16977</parameter>
16978<parameter name="quark_volatile">
16979<parameter_description> A pointer where to store the #GQuark.
16980</parameter_description>
16981</parameter>
16982<parameter name="entries">
16983<parameter_description> A pointer to @num_entries #GDBusErrorEntry struct items.
16984</parameter_description>
16985</parameter>
16986<parameter name="num_entries">
16987<parameter_description> Number of items to register.
16988</parameter_description>
16989</parameter>
16990</parameters>
16991<return></return>
16992</function>
16993
16994<function name="g_dbus_error_set_dbus_error">
16995<description>
16996Does nothing if @error is %NULL. Otherwise sets *@error to
16997a new #GError created with g_dbus_error_new_for_dbus_error()
16998with @dbus_error_message prepend with @format (unless %NULL).
16999
17000Since: 2.26
17001
17002</description>
17003<parameters>
17004<parameter name="error">
17005<parameter_description> A pointer to a #GError or %NULL.
17006</parameter_description>
17007</parameter>
17008<parameter name="dbus_error_name">
17009<parameter_description> D-Bus error name.
17010</parameter_description>
17011</parameter>
17012<parameter name="dbus_error_message">
17013<parameter_description> D-Bus error message.
17014</parameter_description>
17015</parameter>
17016<parameter name="format">
17017<parameter_description> printf()-style format to prepend to @dbus_error_message or %NULL.
17018</parameter_description>
17019</parameter>
17020<parameter name="Varargs">
17021<parameter_description> Arguments for @format.
17022</parameter_description>
17023</parameter>
17024</parameters>
17025<return></return>
17026</function>
17027
17028<function name="g_dbus_error_set_dbus_error_valist">
17029<description>
17030Like g_dbus_error_set_dbus_error() but intended for language bindings.
17031
17032Since: 2.26
17033
17034</description>
17035<parameters>
17036<parameter name="error">
17037<parameter_description> A pointer to a #GError or %NULL.
17038</parameter_description>
17039</parameter>
17040<parameter name="dbus_error_name">
17041<parameter_description> D-Bus error name.
17042</parameter_description>
17043</parameter>
17044<parameter name="dbus_error_message">
17045<parameter_description> D-Bus error message.
17046</parameter_description>
17047</parameter>
17048<parameter name="format">
17049<parameter_description> printf()-style format to prepend to @dbus_error_message or %NULL.
17050</parameter_description>
17051</parameter>
17052<parameter name="var_args">
17053<parameter_description> Arguments for @format.
17054</parameter_description>
17055</parameter>
17056</parameters>
17057<return></return>
17058</function>
17059
17060<function name="g_dbus_error_strip_remote_error">
17061<description>
17062Looks for extra information in the error message used to recover
17063the D-Bus error name and strips it if found. If stripped, the
17064message field in @error will correspond exactly to what was
17065received on the wire.
17066
17067This is typically used when presenting errors to the end user.
17068
17069Since: 2.26
17070
17071</description>
17072<parameters>
17073<parameter name="error">
17074<parameter_description> A #GError.
17075</parameter_description>
17076</parameter>
17077</parameters>
17078<return> %TRUE if information was stripped, %FALSE otherwise.
17079
17080</return>
17081</function>
17082
17083<function name="g_dbus_error_unregister_error">
17084<description>
17085Destroys an association previously set up with g_dbus_error_register_error().
17086
17087Since: 2.26
17088
17089</description>
17090<parameters>
17091<parameter name="error_domain">
17092<parameter_description> A #GQuark for an error domain.
17093</parameter_description>
17094</parameter>
17095<parameter name="error_code">
17096<parameter_description> An error code.
17097</parameter_description>
17098</parameter>
17099<parameter name="dbus_error_name">
17100<parameter_description> A D-Bus error name.
17101</parameter_description>
17102</parameter>
17103</parameters>
17104<return> %TRUE if the association was destroyed, %FALSE if it wasn't found.
17105
17106</return>
17107</function>
17108
17109<function name="g_dbus_generate_guid">
17110<description>
17111Generate a D-Bus GUID that can be used with
17112e.g. g_dbus_connection_new().
17113
17114See the D-Bus specification regarding what strings are valid D-Bus
17115GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).
17116
17117Since: 2.26
17118
17119</description>
17120<parameters>
17121</parameters>
17122<return> A valid D-Bus GUID. Free with g_free().
17123
17124</return>
17125</function>
17126
17127<function name="g_dbus_gvalue_to_gvariant">
17128<description>
17129Converts a #GValue to a #GVariant of the type indicated by the @type
17130parameter.
17131
17132The conversion is using the following rules:
17133
17134- #G_TYPE_STRING: 's', 'o', 'g' or 'ay'
17135- #G_TYPE_STRV: 'as', 'ao' or 'aay'
17136- #G_TYPE_BOOLEAN: 'b'
17137- #G_TYPE_UCHAR: 'y'
17138- #G_TYPE_INT: 'i', 'n'
17139- #G_TYPE_UINT: 'u', 'q'
17140- #G_TYPE_INT64 'x'
17141- #G_TYPE_UINT64: 't'
17142- #G_TYPE_DOUBLE: 'd'
17143- #G_TYPE_VARIANT: Any #GVariantType
17144
17145This can fail if e.g. @gvalue is of type #G_TYPE_STRING and @type
17146is ['i'][G-VARIANT-TYPE-INT32:CAPS]. It will also fail for any #GType
17147(including e.g. #G_TYPE_OBJECT and #G_TYPE_BOXED derived-types) not
17148in the table above.
17149
17150Note that if @gvalue is of type #G_TYPE_VARIANT and its value is
17151%NULL, the empty #GVariant instance (never %NULL) for @type is
17152returned (e.g. 0 for scalar types, the empty string for string types,
17153'/' for object path types, the empty array for any array type and so on).
17154
17155See the g_dbus_gvariant_to_gvalue() function for how to convert a
17156#GVariant to a #GValue.
17157
17158Since: 2.30
17159
17160</description>
17161<parameters>
17162<parameter name="gvalue">
17163<parameter_description> A #GValue to convert to a #GVariant
17164</parameter_description>
17165</parameter>
17166<parameter name="type">
17167<parameter_description> A #GVariantType
17168</parameter_description>
17169</parameter>
17170</parameters>
17171<return> A #GVariant (never floating) of #GVariantType @type holding
17172the data from @gvalue or %NULL in case of failure. Free with
17173g_variant_unref().
17174
17175</return>
17176</function>
17177
17178<function name="g_dbus_gvariant_to_gvalue">
17179<description>
17180Converts a #GVariant to a #GValue. If @value is floating, it is consumed.
17181
17182The rules specified in the g_dbus_gvalue_to_gvariant() function are
17183used - this function is essentially its reverse form. So, a #GVariant
17184containing any basic or string array type will be converted to a #GValue
17185containing a basic value or string array. Any other #GVariant (handle,
17186variant, tuple, dict entry) will be converted to a #GValue containing that
17187#GVariant.
17188
17189The conversion never fails - a valid #GValue is always returned in
17190@out_gvalue.
17191
17192Since: 2.30
17193
17194</description>
17195<parameters>
17196<parameter name="value">
17197<parameter_description> A #GVariant.
17198</parameter_description>
17199</parameter>
17200<parameter name="out_gvalue">
17201<parameter_description> Return location pointing to a zero-filled (uninitialized) #GValue.
17202</parameter_description>
17203</parameter>
17204</parameters>
17205<return></return>
17206</function>
17207
17208<function name="g_dbus_interface_dup_object">
17209<description>
17210Gets the #GDBusObject that @interface_ belongs to, if any.
17211
17212Since: 2.32
17213
17214</description>
17215<parameters>
17216<parameter name="interface_">
17217<parameter_description> An exported D-Bus interface.
17218</parameter_description>
17219</parameter>
17220</parameters>
17221<return> A #GDBusObject or %NULL. The returned
17222reference should be freed with g_object_unref().
17223
17224</return>
17225</function>
17226
17227<function name="g_dbus_interface_get_info">
17228<description>
17229Gets D-Bus introspection information for the D-Bus interface
17230implemented by @interface_.
17231
17232Since: 2.30
17233
17234</description>
17235<parameters>
17236<parameter name="interface_">
17237<parameter_description> An exported D-Bus interface.
17238</parameter_description>
17239</parameter>
17240</parameters>
17241<return> A #GDBusInterfaceInfo. Do not free.
17242
17243</return>
17244</function>
17245
17246<function name="g_dbus_interface_get_object">
17247<description>
17248Gets the #GDBusObject that @interface_ belongs to, if any.
17249
17250It is not safe to use the returned object if @interface_ or
17251the returned object is being used from other threads. See
17252g_dbus_interface_dup_object() for a thread-safe alternative.
17253
17254Since: 2.30
17255
17256</description>
17257<parameters>
17258<parameter name="interface_">
17259<parameter_description> An exported D-Bus interface
17260</parameter_description>
17261</parameter>
17262</parameters>
17263<return> A #GDBusObject or %NULL. The returned
17264reference belongs to @interface_ and should not be freed.
17265
17266</return>
17267</function>
17268
17269<function name="g_dbus_interface_info_cache_build">
17270<description>
17271Builds a lookup-cache to speed up
17272g_dbus_interface_info_lookup_method(),
17273g_dbus_interface_info_lookup_signal() and
17274g_dbus_interface_info_lookup_property().
17275
17276If this has already been called with @info, the existing cache is
17277used and its use count is increased.
17278
17279Note that @info cannot be modified until
17280g_dbus_interface_info_cache_release() is called.
17281
17282Since: 2.30
17283
17284</description>
17285<parameters>
17286<parameter name="info">
17287<parameter_description> A #GDBusInterfaceInfo.
17288</parameter_description>
17289</parameter>
17290</parameters>
17291<return></return>
17292</function>
17293
17294<function name="g_dbus_interface_info_cache_release">
17295<description>
17296Decrements the usage count for the cache for @info built by
17297g_dbus_interface_info_cache_build() (if any) and frees the
17298resources used by the cache if the usage count drops to zero.
17299
17300Since: 2.30
17301
17302</description>
17303<parameters>
17304<parameter name="info">
17305<parameter_description> A GDBusInterfaceInfo
17306</parameter_description>
17307</parameter>
17308</parameters>
17309<return></return>
17310</function>
17311
17312<function name="g_dbus_interface_info_generate_xml">
17313<description>
17314Appends an XML representation of @info (and its children) to @string_builder.
17315
17316This function is typically used for generating introspection XML
17317documents at run-time for handling the
17318`org.freedesktop.DBus.Introspectable.Introspect`
17319method.
17320
17321Since: 2.26
17322
17323</description>
17324<parameters>
17325<parameter name="info">
17326<parameter_description> A #GDBusNodeInfo
17327</parameter_description>
17328</parameter>
17329<parameter name="indent">
17330<parameter_description> Indentation level.
17331</parameter_description>
17332</parameter>
17333<parameter name="string_builder">
17334<parameter_description> A #GString to to append XML data to.
17335</parameter_description>
17336</parameter>
17337</parameters>
17338<return></return>
17339</function>
17340
17341<function name="g_dbus_interface_info_lookup_method">
17342<description>
17343Looks up information about a method.
17344
17345The cost of this function is O(n) in number of methods unless
17346g_dbus_interface_info_cache_build() has been used on @info.
17347
17348Since: 2.26
17349
17350</description>
17351<parameters>
17352<parameter name="info">
17353<parameter_description> A #GDBusInterfaceInfo.
17354</parameter_description>
17355</parameter>
17356<parameter name="name">
17357<parameter_description> A D-Bus method name (typically in CamelCase)
17358</parameter_description>
17359</parameter>
17360</parameters>
17361<return> A #GDBusMethodInfo or %NULL if not found. Do not free, it is owned by @info.
17362
17363</return>
17364</function>
17365
17366<function name="g_dbus_interface_info_lookup_property">
17367<description>
17368Looks up information about a property.
17369
17370The cost of this function is O(n) in number of properties unless
17371g_dbus_interface_info_cache_build() has been used on @info.
17372
17373Since: 2.26
17374
17375</description>
17376<parameters>
17377<parameter name="info">
17378<parameter_description> A #GDBusInterfaceInfo.
17379</parameter_description>
17380</parameter>
17381<parameter name="name">
17382<parameter_description> A D-Bus property name (typically in CamelCase).
17383</parameter_description>
17384</parameter>
17385</parameters>
17386<return> A #GDBusPropertyInfo or %NULL if not found. Do not free, it is owned by @info.
17387
17388</return>
17389</function>
17390
17391<function name="g_dbus_interface_info_lookup_signal">
17392<description>
17393Looks up information about a signal.
17394
17395The cost of this function is O(n) in number of signals unless
17396g_dbus_interface_info_cache_build() has been used on @info.
17397
17398Since: 2.26
17399
17400</description>
17401<parameters>
17402<parameter name="info">
17403<parameter_description> A #GDBusInterfaceInfo.
17404</parameter_description>
17405</parameter>
17406<parameter name="name">
17407<parameter_description> A D-Bus signal name (typically in CamelCase)
17408</parameter_description>
17409</parameter>
17410</parameters>
17411<return> A #GDBusSignalInfo or %NULL if not found. Do not free, it is owned by @info.
17412
17413</return>
17414</function>
17415
17416<function name="g_dbus_interface_info_ref">
17417<description>
17418If @info is statically allocated does nothing. Otherwise increases
17419the reference count.
17420
17421Since: 2.26
17422
17423</description>
17424<parameters>
17425<parameter name="info">
17426<parameter_description> A #GDBusInterfaceInfo
17427</parameter_description>
17428</parameter>
17429</parameters>
17430<return> The same @info.
17431
17432</return>
17433</function>
17434
17435<function name="g_dbus_interface_info_unref">
17436<description>
17437If @info is statically allocated, does nothing. Otherwise decreases
17438the reference count of @info. When its reference count drops to 0,
17439the memory used is freed.
17440
17441Since: 2.26
17442
17443</description>
17444<parameters>
17445<parameter name="info">
17446<parameter_description> A #GDBusInterfaceInfo.
17447</parameter_description>
17448</parameter>
17449</parameters>
17450<return></return>
17451</function>
17452
17453<function name="g_dbus_interface_set_object">
17454<description>
17455Sets the #GDBusObject for @interface_ to @object.
17456
17457Note that @interface_ will hold a weak reference to @object.
17458
17459Since: 2.30
17460
17461</description>
17462<parameters>
17463<parameter name="interface_">
17464<parameter_description> An exported D-Bus interface.
17465</parameter_description>
17466</parameter>
17467<parameter name="object">
17468<parameter_description> A #GDBusObject or %NULL.
17469</parameter_description>
17470</parameter>
17471</parameters>
17472<return></return>
17473</function>
17474
17475<function name="g_dbus_interface_skeleton_export">
17476<description>
17477Exports @interface_ at @object_path on @connection.
17478
17479This can be called multiple times to export the same @interface_
17480onto multiple connections however the @object_path provided must be
17481the same for all connections.
17482
17483Use g_dbus_interface_skeleton_unexport() to unexport the object.
17484
17485Since: 2.30
17486
17487</description>
17488<parameters>
17489<parameter name="interface_">
17490<parameter_description> The D-Bus interface to export.
17491</parameter_description>
17492</parameter>
17493<parameter name="connection">
17494<parameter_description> A #GDBusConnection to export @interface_ on.
17495</parameter_description>
17496</parameter>
17497<parameter name="object_path">
17498<parameter_description> The path to export the interface at.
17499</parameter_description>
17500</parameter>
17501<parameter name="error">
17502<parameter_description> Return location for error or %NULL.
17503</parameter_description>
17504</parameter>
17505</parameters>
17506<return> %TRUE if the interface was exported on @connection, otherwise %FALSE with
17507@error set.
17508
17509</return>
17510</function>
17511
17512<function name="g_dbus_interface_skeleton_flush">
17513<description>
17514If @interface_ has outstanding changes, request for these changes to be
17515emitted immediately.
17516
17517For example, an exported D-Bus interface may queue up property
17518changes and emit the
17519`org.freedesktop.DBus.Properties.PropertiesChanged`
17520signal later (e.g. in an idle handler). This technique is useful
17521for collapsing multiple property changes into one.
17522
17523Since: 2.30
17524
17525</description>
17526<parameters>
17527<parameter name="interface_">
17528<parameter_description> A #GDBusInterfaceSkeleton.
17529</parameter_description>
17530</parameter>
17531</parameters>
17532<return></return>
17533</function>
17534
17535<function name="g_dbus_interface_skeleton_get_connection">
17536<description>
17537Gets the first connection that @interface_ is exported on, if any.
17538
17539Since: 2.30
17540
17541</description>
17542<parameters>
17543<parameter name="interface_">
17544<parameter_description> A #GDBusInterfaceSkeleton.
17545</parameter_description>
17546</parameter>
17547</parameters>
17548<return> A #GDBusConnection or %NULL if @interface_ is
17549not exported anywhere. Do not free, the object belongs to @interface_.
17550
17551</return>
17552</function>
17553
17554<function name="g_dbus_interface_skeleton_get_connections">
17555<description>
17556Gets a list of the connections that @interface_ is exported on.
17557
17558Since: 2.32
17559
17560</description>
17561<parameters>
17562<parameter name="interface_">
17563<parameter_description> A #GDBusInterfaceSkeleton.
17564</parameter_description>
17565</parameter>
17566</parameters>
17567<return> A list of
17568all the connections that @interface_ is exported on. The returned
17569list should be freed with g_list_free() after each element has
17570been freed with g_object_unref().
17571
17572</return>
17573</function>
17574
17575<function name="g_dbus_interface_skeleton_get_flags">
17576<description>
17577Gets the #GDBusInterfaceSkeletonFlags that describes what the behavior
17578of @interface_
17579
17580Since: 2.30
17581
17582</description>
17583<parameters>
17584<parameter name="interface_">
17585<parameter_description> A #GDBusInterfaceSkeleton.
17586</parameter_description>
17587</parameter>
17588</parameters>
17589<return> One or more flags from the #GDBusInterfaceSkeletonFlags enumeration.
17590
17591</return>
17592</function>
17593
17594<function name="g_dbus_interface_skeleton_get_info">
17595<description>
17596Gets D-Bus introspection information for the D-Bus interface
17597implemented by @interface_.
17598
17599Since: 2.30
17600
17601</description>
17602<parameters>
17603<parameter name="interface_">
17604<parameter_description> A #GDBusInterfaceSkeleton.
17605</parameter_description>
17606</parameter>
17607</parameters>
17608<return> A #GDBusInterfaceInfo (never %NULL). Do not free.
17609
17610</return>
17611</function>
17612
17613<function name="g_dbus_interface_skeleton_get_object_path">
17614<description>
17615Gets the object path that @interface_ is exported on, if any.
17616
17617Since: 2.30
17618
17619</description>
17620<parameters>
17621<parameter name="interface_">
17622<parameter_description> A #GDBusInterfaceSkeleton.
17623</parameter_description>
17624</parameter>
17625</parameters>
17626<return> A string owned by @interface_ or %NULL if @interface_ is not exported
17627anywhere. Do not free, the string belongs to @interface_.
17628
17629</return>
17630</function>
17631
17632<function name="g_dbus_interface_skeleton_get_properties">
17633<description>
17634Gets all D-Bus properties for @interface_.
17635
17636Since: 2.30
17637
17638</description>
17639<parameters>
17640<parameter name="interface_">
17641<parameter_description> A #GDBusInterfaceSkeleton.
17642</parameter_description>
17643</parameter>
17644</parameters>
17645<return> A #GVariant of type
17646['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS].
17647Free with g_variant_unref().
17648
17649</return>
17650</function>
17651
17652<function name="g_dbus_interface_skeleton_get_vtable">
17653<description>
17654Gets the interface vtable for the D-Bus interface implemented by
17655@interface_. The returned function pointers should expect @interface_
17656itself to be passed as @user_data.
17657
17658Since: 2.30
17659
17660</description>
17661<parameters>
17662<parameter name="interface_">
17663<parameter_description> A #GDBusInterfaceSkeleton.
17664</parameter_description>
17665</parameter>
17666</parameters>
17667<return> A #GDBusInterfaceVTable (never %NULL).
17668
17669</return>
17670</function>
17671
17672<function name="g_dbus_interface_skeleton_has_connection">
17673<description>
17674Checks if @interface_ is exported on @connection.
17675
17676Since: 2.32
17677
17678</description>
17679<parameters>
17680<parameter name="interface_">
17681<parameter_description> A #GDBusInterfaceSkeleton.
17682</parameter_description>
17683</parameter>
17684<parameter name="connection">
17685<parameter_description> A #GDBusConnection.
17686</parameter_description>
17687</parameter>
17688</parameters>
17689<return> %TRUE if @interface_ is exported on @connection, %FALSE otherwise.
17690
17691</return>
17692</function>
17693
17694<function name="g_dbus_interface_skeleton_set_flags">
17695<description>
17696Sets flags describing what the behavior of @skeleton should be.
17697
17698Since: 2.30
17699
17700</description>
17701<parameters>
17702<parameter name="interface_">
17703<parameter_description> A #GDBusInterfaceSkeleton.
17704</parameter_description>
17705</parameter>
17706<parameter name="flags">
17707<parameter_description> Flags from the #GDBusInterfaceSkeletonFlags enumeration.
17708</parameter_description>
17709</parameter>
17710</parameters>
17711<return></return>
17712</function>
17713
17714<function name="g_dbus_interface_skeleton_unexport">
17715<description>
17716Stops exporting @interface_ on all connections it is exported on.
17717
17718To unexport @interface_ from only a single connection, use
17719g_dbus_interface_skeleton_unexport_from_connection()
17720
17721Since: 2.30
17722
17723</description>
17724<parameters>
17725<parameter name="interface_">
17726<parameter_description> A #GDBusInterfaceSkeleton.
17727</parameter_description>
17728</parameter>
17729</parameters>
17730<return></return>
17731</function>
17732
17733<function name="g_dbus_interface_skeleton_unexport_from_connection">
17734<description>
17735Stops exporting @interface_ on @connection.
17736
17737To stop exporting on all connections the interface is exported on,
17738use g_dbus_interface_skeleton_unexport().
17739
17740Since: 2.32
17741
17742</description>
17743<parameters>
17744<parameter name="interface_">
17745<parameter_description> A #GDBusInterfaceSkeleton.
17746</parameter_description>
17747</parameter>
17748<parameter name="connection">
17749<parameter_description> A #GDBusConnection.
17750</parameter_description>
17751</parameter>
17752</parameters>
17753<return></return>
17754</function>
17755
17756<function name="g_dbus_is_address">
17757<description>
17758Checks if @string is a
17759[D-Bus address](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
17760
17761This doesn't check if @string is actually supported by #GDBusServer
17762or #GDBusConnection - use g_dbus_is_supported_address() to do more
17763checks.
17764
17765Since: 2.26
17766
17767</description>
17768<parameters>
17769<parameter name="string">
17770<parameter_description> A string.
17771</parameter_description>
17772</parameter>
17773</parameters>
17774<return> %TRUE if @string is a valid D-Bus address, %FALSE otherwise.
17775
17776</return>
17777</function>
17778
17779<function name="g_dbus_is_guid">
17780<description>
17781Checks if @string is a D-Bus GUID.
17782
17783See the D-Bus specification regarding what strings are valid D-Bus
17784GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).
17785
17786Since: 2.26
17787
17788</description>
17789<parameters>
17790<parameter name="string">
17791<parameter_description> The string to check.
17792</parameter_description>
17793</parameter>
17794</parameters>
17795<return> %TRUE if @string is a guid, %FALSE otherwise.
17796
17797</return>
17798</function>
17799
17800<function name="g_dbus_is_interface_name">
17801<description>
17802Checks if @string is a valid D-Bus interface name.
17803
17804Since: 2.26
17805
17806</description>
17807<parameters>
17808<parameter name="string">
17809<parameter_description> The string to check.
17810</parameter_description>
17811</parameter>
17812</parameters>
17813<return> %TRUE if valid, %FALSE otherwise.
17814
17815</return>
17816</function>
17817
17818<function name="g_dbus_is_member_name">
17819<description>
17820Checks if @string is a valid D-Bus member (e.g. signal or method) name.
17821
17822Since: 2.26
17823
17824</description>
17825<parameters>
17826<parameter name="string">
17827<parameter_description> The string to check.
17828</parameter_description>
17829</parameter>
17830</parameters>
17831<return> %TRUE if valid, %FALSE otherwise.
17832
17833</return>
17834</function>
17835
17836<function name="g_dbus_is_name">
17837<description>
17838Checks if @string is a valid D-Bus bus name (either unique or well-known).
17839
17840Since: 2.26
17841
17842</description>
17843<parameters>
17844<parameter name="string">
17845<parameter_description> The string to check.
17846</parameter_description>
17847</parameter>
17848</parameters>
17849<return> %TRUE if valid, %FALSE otherwise.
17850
17851</return>
17852</function>
17853
17854<function name="g_dbus_is_supported_address">
17855<description>
17856Like g_dbus_is_address() but also checks if the library supports the
17857transports in @string and that key/value pairs for each transport
17858are valid. See the specification of the
17859[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
17860
17861Since: 2.26
17862
17863</description>
17864<parameters>
17865<parameter name="string">
17866<parameter_description> A string.
17867</parameter_description>
17868</parameter>
17869<parameter name="error">
17870<parameter_description> Return location for error or %NULL.
17871</parameter_description>
17872</parameter>
17873</parameters>
17874<return> %TRUE if @string is a valid D-Bus address that is
17875supported by this library, %FALSE if @error is set.
17876
17877</return>
17878</function>
17879
17880<function name="g_dbus_is_unique_name">
17881<description>
17882Checks if @string is a valid D-Bus unique bus name.
17883
17884Since: 2.26
17885
17886</description>
17887<parameters>
17888<parameter name="string">
17889<parameter_description> The string to check.
17890</parameter_description>
17891</parameter>
17892</parameters>
17893<return> %TRUE if valid, %FALSE otherwise.
17894
17895</return>
17896</function>
17897
17898<function name="g_dbus_menu_model_get">
17899<description>
17900Obtains a #GDBusMenuModel for the menu model which is exported
17901at the given @bus_name and @object_path.
17902
17903The thread default main context is taken at the time of this call.
17904All signals on the menu model (and any linked models) are reported
17905with respect to this context.  All calls on the returned menu model
17906(and linked models) must also originate from this same context, with
17907the thread default main context unchanged.
17908
17909Since: 2.32
17910
17911</description>
17912<parameters>
17913<parameter name="connection">
17914<parameter_description> a #GDBusConnection
17915</parameter_description>
17916</parameter>
17917<parameter name="bus_name">
17918<parameter_description> the bus name which exports the menu model
17919or %NULL if @connection is not a message bus connection
17920</parameter_description>
17921</parameter>
17922<parameter name="object_path">
17923<parameter_description> the object path at which the menu model is exported
17924</parameter_description>
17925</parameter>
17926</parameters>
17927<return> a #GDBusMenuModel object. Free with
17928g_object_unref().
17929
17930</return>
17931</function>
17932
17933<function name="g_dbus_message_bytes_needed">
17934<description>
17935Utility function to calculate how many bytes are needed to
17936completely deserialize the D-Bus message stored at @blob.
17937
17938Since: 2.26
17939
17940</description>
17941<parameters>
17942<parameter name="blob">
17943<parameter_description> A blob representing a binary D-Bus message.
17944</parameter_description>
17945</parameter>
17946<parameter name="blob_len">
17947<parameter_description> The length of @blob (must be at least 16).
17948</parameter_description>
17949</parameter>
17950<parameter name="error">
17951<parameter_description> Return location for error or %NULL.
17952</parameter_description>
17953</parameter>
17954</parameters>
17955<return> Number of bytes needed or -1 if @error is set (e.g. if
17956@blob contains invalid data or not enough data is available to
17957determine the size).
17958
17959</return>
17960</function>
17961
17962<function name="g_dbus_message_copy">
17963<description>
17964Copies @message. The copy is a deep copy and the returned
17965#GDBusMessage is completely identical except that it is guaranteed
17966to not be locked.
17967
17968This operation can fail if e.g. @message contains file descriptors
17969and the per-process or system-wide open files limit is reached.
17970
17971Since: 2.26
17972
17973</description>
17974<parameters>
17975<parameter name="message">
17976<parameter_description> A #GDBusMessage.
17977</parameter_description>
17978</parameter>
17979<parameter name="error">
17980<parameter_description> Return location for error or %NULL.
17981</parameter_description>
17982</parameter>
17983</parameters>
17984<return> A new #GDBusMessage or %NULL if @error is set.
17985Free with g_object_unref().
17986
17987</return>
17988</function>
17989
17990<function name="g_dbus_message_get_arg0">
17991<description>
17992Convenience to get the first item in the body of @message.
17993
17994Since: 2.26
17995
17996</description>
17997<parameters>
17998<parameter name="message">
17999<parameter_description> A #GDBusMessage.
18000</parameter_description>
18001</parameter>
18002</parameters>
18003<return> The string item or %NULL if the first item in the body of
18004@message is not a string.
18005
18006</return>
18007</function>
18008
18009<function name="g_dbus_message_get_body">
18010<description>
18011Gets the body of a message.
18012
18013Since: 2.26
18014
18015</description>
18016<parameters>
18017<parameter name="message">
18018<parameter_description> A #GDBusMessage.
18019</parameter_description>
18020</parameter>
18021</parameters>
18022<return> A #GVariant or %NULL if the body is
18023empty. Do not free, it is owned by @message.
18024
18025</return>
18026</function>
18027
18028<function name="g_dbus_message_get_byte_order">
18029<description>
18030Gets the byte order of @message.
18031
18032
18033</description>
18034<parameters>
18035<parameter name="message">
18036<parameter_description> A #GDBusMessage.
18037</parameter_description>
18038</parameter>
18039</parameters>
18040<return> The byte order.
18041</return>
18042</function>
18043
18044<function name="g_dbus_message_get_destination">
18045<description>
18046Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
18047
18048Since: 2.26
18049
18050</description>
18051<parameters>
18052<parameter name="message">
18053<parameter_description> A #GDBusMessage.
18054</parameter_description>
18055</parameter>
18056</parameters>
18057<return> The value.
18058
18059</return>
18060</function>
18061
18062<function name="g_dbus_message_get_error_name">
18063<description>
18064Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
18065
18066Since: 2.26
18067
18068</description>
18069<parameters>
18070<parameter name="message">
18071<parameter_description> A #GDBusMessage.
18072</parameter_description>
18073</parameter>
18074</parameters>
18075<return> The value.
18076
18077</return>
18078</function>
18079
18080<function name="g_dbus_message_get_flags">
18081<description>
18082Gets the flags for @message.
18083
18084Since: 2.26
18085
18086</description>
18087<parameters>
18088<parameter name="message">
18089<parameter_description> A #GDBusMessage.
18090</parameter_description>
18091</parameter>
18092</parameters>
18093<return> Flags that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together).
18094
18095</return>
18096</function>
18097
18098<function name="g_dbus_message_get_header">
18099<description>
18100Gets a header field on @message.
18101
18102The caller is responsible for checking the type of the returned #GVariant
18103matches what is expected.
18104
18105Since: 2.26
18106
18107</description>
18108<parameters>
18109<parameter name="message">
18110<parameter_description> A #GDBusMessage.
18111</parameter_description>
18112</parameter>
18113<parameter name="header_field">
18114<parameter_description> A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration)
18115</parameter_description>
18116</parameter>
18117</parameters>
18118<return> A #GVariant with the value if the header was found, %NULL
18119otherwise. Do not free, it is owned by @message.
18120
18121</return>
18122</function>
18123
18124<function name="g_dbus_message_get_header_fields">
18125<description>
18126Gets an array of all header fields on @message that are set.
18127
18128Since: 2.26
18129
18130</description>
18131<parameters>
18132<parameter name="message">
18133<parameter_description> A #GDBusMessage.
18134</parameter_description>
18135</parameter>
18136</parameters>
18137<return> An array of header fields
18138terminated by %G_DBUS_MESSAGE_HEADER_FIELD_INVALID.  Each element
18139is a #guchar. Free with g_free().
18140
18141</return>
18142</function>
18143
18144<function name="g_dbus_message_get_interface">
18145<description>
18146Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
18147
18148Since: 2.26
18149
18150</description>
18151<parameters>
18152<parameter name="message">
18153<parameter_description> A #GDBusMessage.
18154</parameter_description>
18155</parameter>
18156</parameters>
18157<return> The value.
18158
18159</return>
18160</function>
18161
18162<function name="g_dbus_message_get_locked">
18163<description>
18164Checks whether @message is locked. To monitor changes to this
18165value, conncet to the #GObject::notify signal to listen for changes
18166on the #GDBusMessage:locked property.
18167
18168Since: 2.26
18169
18170</description>
18171<parameters>
18172<parameter name="message">
18173<parameter_description> A #GDBusMessage.
18174</parameter_description>
18175</parameter>
18176</parameters>
18177<return> %TRUE if @message is locked, %FALSE otherwise.
18178
18179</return>
18180</function>
18181
18182<function name="g_dbus_message_get_member">
18183<description>
18184Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
18185
18186Since: 2.26
18187
18188</description>
18189<parameters>
18190<parameter name="message">
18191<parameter_description> A #GDBusMessage.
18192</parameter_description>
18193</parameter>
18194</parameters>
18195<return> The value.
18196
18197</return>
18198</function>
18199
18200<function name="g_dbus_message_get_message_type">
18201<description>
18202Gets the type of @message.
18203
18204Since: 2.26
18205
18206</description>
18207<parameters>
18208<parameter name="message">
18209<parameter_description> A #GDBusMessage.
18210</parameter_description>
18211</parameter>
18212</parameters>
18213<return> A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration).
18214
18215</return>
18216</function>
18217
18218<function name="g_dbus_message_get_num_unix_fds">
18219<description>
18220Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
18221
18222Since: 2.26
18223
18224</description>
18225<parameters>
18226<parameter name="message">
18227<parameter_description> A #GDBusMessage.
18228</parameter_description>
18229</parameter>
18230</parameters>
18231<return> The value.
18232
18233</return>
18234</function>
18235
18236<function name="g_dbus_message_get_path">
18237<description>
18238Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
18239
18240Since: 2.26
18241
18242</description>
18243<parameters>
18244<parameter name="message">
18245<parameter_description> A #GDBusMessage.
18246</parameter_description>
18247</parameter>
18248</parameters>
18249<return> The value.
18250
18251</return>
18252</function>
18253
18254<function name="g_dbus_message_get_reply_serial">
18255<description>
18256Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
18257
18258Since: 2.26
18259
18260</description>
18261<parameters>
18262<parameter name="message">
18263<parameter_description> A #GDBusMessage.
18264</parameter_description>
18265</parameter>
18266</parameters>
18267<return> The value.
18268
18269</return>
18270</function>
18271
18272<function name="g_dbus_message_get_sender">
18273<description>
18274Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
18275
18276Since: 2.26
18277
18278</description>
18279<parameters>
18280<parameter name="message">
18281<parameter_description> A #GDBusMessage.
18282</parameter_description>
18283</parameter>
18284</parameters>
18285<return> The value.
18286
18287</return>
18288</function>
18289
18290<function name="g_dbus_message_get_serial">
18291<description>
18292Gets the serial for @message.
18293
18294Since: 2.26
18295
18296</description>
18297<parameters>
18298<parameter name="message">
18299<parameter_description> A #GDBusMessage.
18300</parameter_description>
18301</parameter>
18302</parameters>
18303<return> A #guint32.
18304
18305</return>
18306</function>
18307
18308<function name="g_dbus_message_get_signature">
18309<description>
18310Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
18311
18312Since: 2.26
18313
18314</description>
18315<parameters>
18316<parameter name="message">
18317<parameter_description> A #GDBusMessage.
18318</parameter_description>
18319</parameter>
18320</parameters>
18321<return> The value.
18322
18323</return>
18324</function>
18325
18326<function name="g_dbus_message_get_unix_fd_list">
18327<description>
18328Gets the UNIX file descriptors associated with @message, if any.
18329
18330This method is only available on UNIX.
18331
18332Since: 2.26
18333
18334</description>
18335<parameters>
18336<parameter name="message">
18337<parameter_description> A #GDBusMessage.
18338</parameter_description>
18339</parameter>
18340</parameters>
18341<return>A #GUnixFDList or %NULL if no file descriptors are
18342associated. Do not free, this object is owned by @message.
18343
18344</return>
18345</function>
18346
18347<function name="g_dbus_message_lock">
18348<description>
18349If @message is locked, does nothing. Otherwise locks the message.
18350
18351Since: 2.26
18352
18353</description>
18354<parameters>
18355<parameter name="message">
18356<parameter_description> A #GDBusMessage.
18357</parameter_description>
18358</parameter>
18359</parameters>
18360<return></return>
18361</function>
18362
18363<function name="g_dbus_message_new">
18364<description>
18365Creates a new empty #GDBusMessage.
18366
18367Since: 2.26
18368
18369</description>
18370<parameters>
18371</parameters>
18372<return> A #GDBusMessage. Free with g_object_unref().
18373
18374</return>
18375</function>
18376
18377<function name="g_dbus_message_new_from_blob">
18378<description>
18379Creates a new #GDBusMessage from the data stored at @blob. The byte
18380order that the message was in can be retrieved using
18381g_dbus_message_get_byte_order().
18382
18383If the @blob cannot be parsed, contains invalid fields, or contains invalid
18384headers, %G_IO_ERROR_INVALID_ARGUMENT will be returned.
18385
18386Since: 2.26
18387
18388</description>
18389<parameters>
18390<parameter name="blob">
18391<parameter_description> A blob representing a binary D-Bus message.
18392</parameter_description>
18393</parameter>
18394<parameter name="blob_len">
18395<parameter_description> The length of @blob.
18396</parameter_description>
18397</parameter>
18398<parameter name="capabilities">
18399<parameter_description> A #GDBusCapabilityFlags describing what protocol features are supported.
18400</parameter_description>
18401</parameter>
18402<parameter name="error">
18403<parameter_description> Return location for error or %NULL.
18404</parameter_description>
18405</parameter>
18406</parameters>
18407<return> A new #GDBusMessage or %NULL if @error is set. Free with
18408g_object_unref().
18409
18410</return>
18411</function>
18412
18413<function name="g_dbus_message_new_method_call">
18414<description>
18415Creates a new #GDBusMessage for a method call.
18416
18417Since: 2.26
18418
18419</description>
18420<parameters>
18421<parameter name="name">
18422<parameter_description> A valid D-Bus name or %NULL.
18423</parameter_description>
18424</parameter>
18425<parameter name="path">
18426<parameter_description> A valid object path.
18427</parameter_description>
18428</parameter>
18429<parameter name="interface_">
18430<parameter_description> A valid D-Bus interface name or %NULL.
18431</parameter_description>
18432</parameter>
18433<parameter name="method">
18434<parameter_description> A valid method name.
18435</parameter_description>
18436</parameter>
18437</parameters>
18438<return> A #GDBusMessage. Free with g_object_unref().
18439
18440</return>
18441</function>
18442
18443<function name="g_dbus_message_new_method_error">
18444<description>
18445Creates a new #GDBusMessage that is an error reply to @method_call_message.
18446
18447Since: 2.26
18448
18449</description>
18450<parameters>
18451<parameter name="method_call_message">
18452<parameter_description> A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to
18453create a reply message to.
18454</parameter_description>
18455</parameter>
18456<parameter name="error_name">
18457<parameter_description> A valid D-Bus error name.
18458</parameter_description>
18459</parameter>
18460<parameter name="error_message_format">
18461<parameter_description> The D-Bus error message in a printf() format.
18462</parameter_description>
18463</parameter>
18464<parameter name="Varargs">
18465<parameter_description> Arguments for @error_message_format.
18466</parameter_description>
18467</parameter>
18468</parameters>
18469<return> A #GDBusMessage. Free with g_object_unref().
18470
18471</return>
18472</function>
18473
18474<function name="g_dbus_message_new_method_error_literal">
18475<description>
18476Creates a new #GDBusMessage that is an error reply to @method_call_message.
18477
18478Since: 2.26
18479
18480</description>
18481<parameters>
18482<parameter name="method_call_message">
18483<parameter_description> A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to
18484create a reply message to.
18485</parameter_description>
18486</parameter>
18487<parameter name="error_name">
18488<parameter_description> A valid D-Bus error name.
18489</parameter_description>
18490</parameter>
18491<parameter name="error_message">
18492<parameter_description> The D-Bus error message.
18493</parameter_description>
18494</parameter>
18495</parameters>
18496<return> A #GDBusMessage. Free with g_object_unref().
18497
18498</return>
18499</function>
18500
18501<function name="g_dbus_message_new_method_error_valist">
18502<description>
18503Like g_dbus_message_new_method_error() but intended for language bindings.
18504
18505Since: 2.26
18506
18507</description>
18508<parameters>
18509<parameter name="method_call_message">
18510<parameter_description> A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to
18511create a reply message to.
18512</parameter_description>
18513</parameter>
18514<parameter name="error_name">
18515<parameter_description> A valid D-Bus error name.
18516</parameter_description>
18517</parameter>
18518<parameter name="error_message_format">
18519<parameter_description> The D-Bus error message in a printf() format.
18520</parameter_description>
18521</parameter>
18522<parameter name="var_args">
18523<parameter_description> Arguments for @error_message_format.
18524</parameter_description>
18525</parameter>
18526</parameters>
18527<return> A #GDBusMessage. Free with g_object_unref().
18528
18529</return>
18530</function>
18531
18532<function name="g_dbus_message_new_method_reply">
18533<description>
18534Creates a new #GDBusMessage that is a reply to @method_call_message.
18535
18536Since: 2.26
18537
18538</description>
18539<parameters>
18540<parameter name="method_call_message">
18541<parameter_description> A message of type %G_DBUS_MESSAGE_TYPE_METHOD_CALL to
18542create a reply message to.
18543</parameter_description>
18544</parameter>
18545</parameters>
18546<return>  #GDBusMessage. Free with g_object_unref().
18547
18548</return>
18549</function>
18550
18551<function name="g_dbus_message_new_signal">
18552<description>
18553Creates a new #GDBusMessage for a signal emission.
18554
18555Since: 2.26
18556
18557</description>
18558<parameters>
18559<parameter name="path">
18560<parameter_description> A valid object path.
18561</parameter_description>
18562</parameter>
18563<parameter name="interface_">
18564<parameter_description> A valid D-Bus interface name.
18565</parameter_description>
18566</parameter>
18567<parameter name="signal">
18568<parameter_description> A valid signal name.
18569</parameter_description>
18570</parameter>
18571</parameters>
18572<return> A #GDBusMessage. Free with g_object_unref().
18573
18574</return>
18575</function>
18576
18577<function name="g_dbus_message_print">
18578<description>
18579Produces a human-readable multi-line description of @message.
18580
18581The contents of the description has no ABI guarantees, the contents
18582and formatting is subject to change at any time. Typical output
18583looks something like this:
18584|[
18585Type:    method-call
18586Flags:   none
18587Version: 0
18588Serial:  4
18589Headers:
18590path -&gt; objectpath '/org/gtk/GDBus/TestObject'
18591interface -&gt; 'org.gtk.GDBus.TestInterface'
18592member -&gt; 'GimmeStdout'
18593destination -&gt; ':1.146'
18594Body: ()
18595UNIX File Descriptors:
18596(none)
18597]|
18598or
18599|[
18600Type:    method-return
18601Flags:   no-reply-expected
18602Version: 0
18603Serial:  477
18604Headers:
18605reply-serial -&gt; uint32 4
18606destination -&gt; ':1.159'
18607sender -&gt; ':1.146'
18608num-unix-fds -&gt; uint32 1
18609Body: ()
18610UNIX File Descriptors:
18611fd 12: dev=0:10,mode=020620,ino=5,uid=500,gid=5,rdev=136:2,size=0,atime=1273085037,mtime=1273085851,ctime=1272982635
18612]|
18613
18614Since: 2.26
18615
18616</description>
18617<parameters>
18618<parameter name="message">
18619<parameter_description> A #GDBusMessage.
18620</parameter_description>
18621</parameter>
18622<parameter name="indent">
18623<parameter_description> Indentation level.
18624</parameter_description>
18625</parameter>
18626</parameters>
18627<return> A string that should be freed with g_free().
18628
18629</return>
18630</function>
18631
18632<function name="g_dbus_message_set_body">
18633<description>
18634Sets the body @message. As a side-effect the
18635%G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field is set to the
18636type string of @body (or cleared if @body is %NULL).
18637
18638If @body is floating, @message assumes ownership of @body.
18639
18640Since: 2.26
18641
18642</description>
18643<parameters>
18644<parameter name="message">
18645<parameter_description> A #GDBusMessage.
18646</parameter_description>
18647</parameter>
18648<parameter name="body">
18649<parameter_description> Either %NULL or a #GVariant that is a tuple.
18650</parameter_description>
18651</parameter>
18652</parameters>
18653<return></return>
18654</function>
18655
18656<function name="g_dbus_message_set_byte_order">
18657<description>
18658Sets the byte order of @message.
18659
18660</description>
18661<parameters>
18662<parameter name="message">
18663<parameter_description> A #GDBusMessage.
18664</parameter_description>
18665</parameter>
18666<parameter name="byte_order">
18667<parameter_description> The byte order.
18668</parameter_description>
18669</parameter>
18670</parameters>
18671<return></return>
18672</function>
18673
18674<function name="g_dbus_message_set_destination">
18675<description>
18676Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.
18677
18678Since: 2.26
18679
18680</description>
18681<parameters>
18682<parameter name="message">
18683<parameter_description> A #GDBusMessage.
18684</parameter_description>
18685</parameter>
18686<parameter name="value">
18687<parameter_description> The value to set.
18688</parameter_description>
18689</parameter>
18690</parameters>
18691<return></return>
18692</function>
18693
18694<function name="g_dbus_message_set_error_name">
18695<description>
18696Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.
18697
18698Since: 2.26
18699
18700</description>
18701<parameters>
18702<parameter name="message">
18703<parameter_description> A #GDBusMessage.
18704</parameter_description>
18705</parameter>
18706<parameter name="value">
18707<parameter_description> The value to set.
18708</parameter_description>
18709</parameter>
18710</parameters>
18711<return></return>
18712</function>
18713
18714<function name="g_dbus_message_set_flags">
18715<description>
18716Sets the flags to set on @message.
18717
18718Since: 2.26
18719
18720</description>
18721<parameters>
18722<parameter name="message">
18723<parameter_description> A #GDBusMessage.
18724</parameter_description>
18725</parameter>
18726<parameter name="flags">
18727<parameter_description> Flags for @message that are set (typically values from the #GDBusMessageFlags
18728enumeration bitwise ORed together).
18729</parameter_description>
18730</parameter>
18731</parameters>
18732<return></return>
18733</function>
18734
18735<function name="g_dbus_message_set_header">
18736<description>
18737Sets a header field on @message.
18738
18739If @value is floating, @message assumes ownership of @value.
18740
18741Since: 2.26
18742
18743</description>
18744<parameters>
18745<parameter name="message">
18746<parameter_description> A #GDBusMessage.
18747</parameter_description>
18748</parameter>
18749<parameter name="header_field">
18750<parameter_description> A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration)
18751</parameter_description>
18752</parameter>
18753<parameter name="value">
18754<parameter_description> A #GVariant to set the header field or %NULL to clear the header field.
18755</parameter_description>
18756</parameter>
18757</parameters>
18758<return></return>
18759</function>
18760
18761<function name="g_dbus_message_set_interface">
18762<description>
18763Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.
18764
18765Since: 2.26
18766
18767</description>
18768<parameters>
18769<parameter name="message">
18770<parameter_description> A #GDBusMessage.
18771</parameter_description>
18772</parameter>
18773<parameter name="value">
18774<parameter_description> The value to set.
18775</parameter_description>
18776</parameter>
18777</parameters>
18778<return></return>
18779</function>
18780
18781<function name="g_dbus_message_set_member">
18782<description>
18783Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.
18784
18785Since: 2.26
18786
18787</description>
18788<parameters>
18789<parameter name="message">
18790<parameter_description> A #GDBusMessage.
18791</parameter_description>
18792</parameter>
18793<parameter name="value">
18794<parameter_description> The value to set.
18795</parameter_description>
18796</parameter>
18797</parameters>
18798<return></return>
18799</function>
18800
18801<function name="g_dbus_message_set_message_type">
18802<description>
18803Sets @message to be of @type.
18804
18805Since: 2.26
18806
18807</description>
18808<parameters>
18809<parameter name="message">
18810<parameter_description> A #GDBusMessage.
18811</parameter_description>
18812</parameter>
18813<parameter name="type">
18814<parameter_description> A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration).
18815</parameter_description>
18816</parameter>
18817</parameters>
18818<return></return>
18819</function>
18820
18821<function name="g_dbus_message_set_num_unix_fds">
18822<description>
18823Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.
18824
18825Since: 2.26
18826
18827</description>
18828<parameters>
18829<parameter name="message">
18830<parameter_description> A #GDBusMessage.
18831</parameter_description>
18832</parameter>
18833<parameter name="value">
18834<parameter_description> The value to set.
18835</parameter_description>
18836</parameter>
18837</parameters>
18838<return></return>
18839</function>
18840
18841<function name="g_dbus_message_set_path">
18842<description>
18843Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.
18844
18845Since: 2.26
18846
18847</description>
18848<parameters>
18849<parameter name="message">
18850<parameter_description> A #GDBusMessage.
18851</parameter_description>
18852</parameter>
18853<parameter name="value">
18854<parameter_description> The value to set.
18855</parameter_description>
18856</parameter>
18857</parameters>
18858<return></return>
18859</function>
18860
18861<function name="g_dbus_message_set_reply_serial">
18862<description>
18863Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.
18864
18865Since: 2.26
18866
18867</description>
18868<parameters>
18869<parameter name="message">
18870<parameter_description> A #GDBusMessage.
18871</parameter_description>
18872</parameter>
18873<parameter name="value">
18874<parameter_description> The value to set.
18875</parameter_description>
18876</parameter>
18877</parameters>
18878<return></return>
18879</function>
18880
18881<function name="g_dbus_message_set_sender">
18882<description>
18883Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.
18884
18885Since: 2.26
18886
18887</description>
18888<parameters>
18889<parameter name="message">
18890<parameter_description> A #GDBusMessage.
18891</parameter_description>
18892</parameter>
18893<parameter name="value">
18894<parameter_description> The value to set.
18895</parameter_description>
18896</parameter>
18897</parameters>
18898<return></return>
18899</function>
18900
18901<function name="g_dbus_message_set_serial">
18902<description>
18903Sets the serial for @message.
18904
18905Since: 2.26
18906
18907</description>
18908<parameters>
18909<parameter name="message">
18910<parameter_description> A #GDBusMessage.
18911</parameter_description>
18912</parameter>
18913<parameter name="serial">
18914<parameter_description> A #guint32.
18915</parameter_description>
18916</parameter>
18917</parameters>
18918<return></return>
18919</function>
18920
18921<function name="g_dbus_message_set_signature">
18922<description>
18923Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
18924
18925Since: 2.26
18926
18927</description>
18928<parameters>
18929<parameter name="message">
18930<parameter_description> A #GDBusMessage.
18931</parameter_description>
18932</parameter>
18933<parameter name="value">
18934<parameter_description> The value to set.
18935</parameter_description>
18936</parameter>
18937</parameters>
18938<return></return>
18939</function>
18940
18941<function name="g_dbus_message_set_unix_fd_list">
18942<description>
18943Sets the UNIX file descriptors associated with @message. As a
18944side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header
18945field is set to the number of fds in @fd_list (or cleared if
18946@fd_list is %NULL).
18947
18948This method is only available on UNIX.
18949
18950Since: 2.26
18951
18952</description>
18953<parameters>
18954<parameter name="message">
18955<parameter_description> A #GDBusMessage.
18956</parameter_description>
18957</parameter>
18958<parameter name="fd_list">
18959<parameter_description> A #GUnixFDList or %NULL.
18960</parameter_description>
18961</parameter>
18962</parameters>
18963<return></return>
18964</function>
18965
18966<function name="g_dbus_message_to_blob">
18967<description>
18968Serializes @message to a blob. The byte order returned by
18969g_dbus_message_get_byte_order() will be used.
18970
18971Since: 2.26
18972
18973</description>
18974<parameters>
18975<parameter name="message">
18976<parameter_description> A #GDBusMessage.
18977</parameter_description>
18978</parameter>
18979<parameter name="out_size">
18980<parameter_description> Return location for size of generated blob.
18981</parameter_description>
18982</parameter>
18983<parameter name="capabilities">
18984<parameter_description> A #GDBusCapabilityFlags describing what protocol features are supported.
18985</parameter_description>
18986</parameter>
18987<parameter name="error">
18988<parameter_description> Return location for error.
18989</parameter_description>
18990</parameter>
18991</parameters>
18992<return> A pointer to a
18993valid binary D-Bus message of @out_size bytes generated by @message
18994or %NULL if @error is set. Free with g_free().
18995
18996</return>
18997</function>
18998
18999<function name="g_dbus_message_to_gerror">
19000<description>
19001If @message is not of type %G_DBUS_MESSAGE_TYPE_ERROR does
19002nothing and returns %FALSE.
19003
19004Otherwise this method encodes the error in @message as a #GError
19005using g_dbus_error_set_dbus_error() using the information in the
19006%G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of @message as
19007well as the first string item in @message's body.
19008
19009Since: 2.26
19010
19011</description>
19012<parameters>
19013<parameter name="message">
19014<parameter_description> A #GDBusMessage.
19015</parameter_description>
19016</parameter>
19017<parameter name="error">
19018<parameter_description> The #GError to set.
19019</parameter_description>
19020</parameter>
19021</parameters>
19022<return> %TRUE if @error was set, %FALSE otherwise.
19023
19024</return>
19025</function>
19026
19027<function name="g_dbus_method_info_ref">
19028<description>
19029If @info is statically allocated does nothing. Otherwise increases
19030the reference count.
19031
19032Since: 2.26
19033
19034</description>
19035<parameters>
19036<parameter name="info">
19037<parameter_description> A #GDBusMethodInfo
19038</parameter_description>
19039</parameter>
19040</parameters>
19041<return> The same @info.
19042
19043</return>
19044</function>
19045
19046<function name="g_dbus_method_info_unref">
19047<description>
19048If @info is statically allocated, does nothing. Otherwise decreases
19049the reference count of @info. When its reference count drops to 0,
19050the memory used is freed.
19051
19052Since: 2.26
19053
19054</description>
19055<parameters>
19056<parameter name="info">
19057<parameter_description> A #GDBusMethodInfo.
19058</parameter_description>
19059</parameter>
19060</parameters>
19061<return></return>
19062</function>
19063
19064<function name="g_dbus_method_invocation_get_connection">
19065<description>
19066Gets the #GDBusConnection the method was invoked on.
19067
19068Since: 2.26
19069
19070</description>
19071<parameters>
19072<parameter name="invocation">
19073<parameter_description> A #GDBusMethodInvocation.
19074</parameter_description>
19075</parameter>
19076</parameters>
19077<return>A #GDBusConnection. Do not free, it is owned by @invocation.
19078
19079</return>
19080</function>
19081
19082<function name="g_dbus_method_invocation_get_interface_name">
19083<description>
19084Gets the name of the D-Bus interface the method was invoked on.
19085
19086If this method call is a property Get, Set or GetAll call that has
19087been redirected to the method call handler then
19088&quot;org.freedesktop.DBus.Properties&quot; will be returned.  See
19089#GDBusInterfaceVTable for more information.
19090
19091Since: 2.26
19092
19093</description>
19094<parameters>
19095<parameter name="invocation">
19096<parameter_description> A #GDBusMethodInvocation.
19097</parameter_description>
19098</parameter>
19099</parameters>
19100<return> A string. Do not free, it is owned by @invocation.
19101
19102</return>
19103</function>
19104
19105<function name="g_dbus_method_invocation_get_message">
19106<description>
19107Gets the #GDBusMessage for the method invocation. This is useful if
19108you need to use low-level protocol features, such as UNIX file
19109descriptor passing, that cannot be properly expressed in the
19110#GVariant API.
19111
19112See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
19113for an example of how to use this low-level API to send and receive
19114UNIX file descriptors.
19115
19116Since: 2.26
19117
19118</description>
19119<parameters>
19120<parameter name="invocation">
19121<parameter_description> A #GDBusMethodInvocation.
19122</parameter_description>
19123</parameter>
19124</parameters>
19125<return> #GDBusMessage. Do not free, it is owned by @invocation.
19126
19127</return>
19128</function>
19129
19130<function name="g_dbus_method_invocation_get_method_info">
19131<description>
19132Gets information about the method call, if any.
19133
19134If this method invocation is a property Get, Set or GetAll call that
19135has been redirected to the method call handler then %NULL will be
19136returned.  See g_dbus_method_invocation_get_property_info() and
19137#GDBusInterfaceVTable for more information.
19138
19139Since: 2.26
19140
19141</description>
19142<parameters>
19143<parameter name="invocation">
19144<parameter_description> A #GDBusMethodInvocation.
19145</parameter_description>
19146</parameter>
19147</parameters>
19148<return> A #GDBusMethodInfo or %NULL. Do not free, it is owned by @invocation.
19149
19150</return>
19151</function>
19152
19153<function name="g_dbus_method_invocation_get_method_name">
19154<description>
19155Gets the name of the method that was invoked.
19156
19157Since: 2.26
19158
19159</description>
19160<parameters>
19161<parameter name="invocation">
19162<parameter_description> A #GDBusMethodInvocation.
19163</parameter_description>
19164</parameter>
19165</parameters>
19166<return> A string. Do not free, it is owned by @invocation.
19167
19168</return>
19169</function>
19170
19171<function name="g_dbus_method_invocation_get_object_path">
19172<description>
19173Gets the object path the method was invoked on.
19174
19175Since: 2.26
19176
19177</description>
19178<parameters>
19179<parameter name="invocation">
19180<parameter_description> A #GDBusMethodInvocation.
19181</parameter_description>
19182</parameter>
19183</parameters>
19184<return> A string. Do not free, it is owned by @invocation.
19185
19186</return>
19187</function>
19188
19189<function name="g_dbus_method_invocation_get_parameters">
19190<description>
19191Gets the parameters of the method invocation. If there are no input
19192parameters then this will return a GVariant with 0 children rather than NULL.
19193
19194Since: 2.26
19195
19196</description>
19197<parameters>
19198<parameter name="invocation">
19199<parameter_description> A #GDBusMethodInvocation.
19200</parameter_description>
19201</parameter>
19202</parameters>
19203<return> A #GVariant tuple. Do not unref this because it is owned by @invocation.
19204
19205</return>
19206</function>
19207
19208<function name="g_dbus_method_invocation_get_property_info">
19209<description>
19210Gets information about the property that this method call is for, if
19211any.
19212
19213This will only be set in the case of an invocation in response to a
19214property Get or Set call that has been directed to the method call
19215handler for an object on account of its property_get() or
19216property_set() vtable pointers being unset.
19217
19218See #GDBusInterfaceVTable for more information.
19219
19220If the call was GetAll, %NULL will be returned.
19221
19222Since: 2.38
19223
19224</description>
19225<parameters>
19226<parameter name="invocation">
19227<parameter_description> A #GDBusMethodInvocation
19228</parameter_description>
19229</parameter>
19230</parameters>
19231<return> a #GDBusPropertyInfo or %NULL
19232
19233</return>
19234</function>
19235
19236<function name="g_dbus_method_invocation_get_sender">
19237<description>
19238Gets the bus name that invoked the method.
19239
19240Since: 2.26
19241
19242</description>
19243<parameters>
19244<parameter name="invocation">
19245<parameter_description> A #GDBusMethodInvocation.
19246</parameter_description>
19247</parameter>
19248</parameters>
19249<return> A string. Do not free, it is owned by @invocation.
19250
19251</return>
19252</function>
19253
19254<function name="g_dbus_method_invocation_get_user_data">
19255<description>
19256Gets the @user_data #gpointer passed to g_dbus_connection_register_object().
19257
19258Since: 2.26
19259
19260</description>
19261<parameters>
19262<parameter name="invocation">
19263<parameter_description> A #GDBusMethodInvocation.
19264</parameter_description>
19265</parameter>
19266</parameters>
19267<return> A #gpointer.
19268
19269</return>
19270</function>
19271
19272<function name="g_dbus_method_invocation_return_dbus_error">
19273<description>
19274Finishes handling a D-Bus method call by returning an error.
19275
19276This method will take ownership of @invocation. See
19277#GDBusInterfaceVTable for more information about the ownership of
19278@invocation.
19279
19280Since: 2.26
19281
19282</description>
19283<parameters>
19284<parameter name="invocation">
19285<parameter_description> A #GDBusMethodInvocation.
19286</parameter_description>
19287</parameter>
19288<parameter name="error_name">
19289<parameter_description> A valid D-Bus error name.
19290</parameter_description>
19291</parameter>
19292<parameter name="error_message">
19293<parameter_description> A valid D-Bus error message.
19294</parameter_description>
19295</parameter>
19296</parameters>
19297<return></return>
19298</function>
19299
19300<function name="g_dbus_method_invocation_return_error">
19301<description>
19302Finishes handling a D-Bus method call by returning an error.
19303
19304See g_dbus_error_encode_gerror() for details about what error name
19305will be returned on the wire. In a nutshell, if the given error is
19306registered using g_dbus_error_register_error() the name given
19307during registration is used. Otherwise, a name of the form
19308`org.gtk.GDBus.UnmappedGError.Quark...` is used. This provides
19309transparent mapping of #GError between applications using GDBus.
19310
19311If you are writing an application intended to be portable,
19312always register errors with g_dbus_error_register_error()
19313or use g_dbus_method_invocation_return_dbus_error().
19314
19315This method will take ownership of @invocation. See
19316#GDBusInterfaceVTable for more information about the ownership of
19317@invocation.
19318
19319Since 2.48, if the method call requested for a reply not to be sent
19320then this call will free @invocation but otherwise do nothing (as per
19321the recommendations of the D-Bus specification).
19322
19323Since: 2.26
19324
19325</description>
19326<parameters>
19327<parameter name="invocation">
19328<parameter_description> A #GDBusMethodInvocation.
19329</parameter_description>
19330</parameter>
19331<parameter name="domain">
19332<parameter_description> A #GQuark for the #GError error domain.
19333</parameter_description>
19334</parameter>
19335<parameter name="code">
19336<parameter_description> The error code.
19337</parameter_description>
19338</parameter>
19339<parameter name="format">
19340<parameter_description> printf()-style format.
19341</parameter_description>
19342</parameter>
19343<parameter name="Varargs">
19344<parameter_description> Parameters for @format.
19345</parameter_description>
19346</parameter>
19347</parameters>
19348<return></return>
19349</function>
19350
19351<function name="g_dbus_method_invocation_return_error_literal">
19352<description>
19353Like g_dbus_method_invocation_return_error() but without printf()-style formatting.
19354
19355This method will take ownership of @invocation. See
19356#GDBusInterfaceVTable for more information about the ownership of
19357@invocation.
19358
19359Since: 2.26
19360
19361</description>
19362<parameters>
19363<parameter name="invocation">
19364<parameter_description> A #GDBusMethodInvocation.
19365</parameter_description>
19366</parameter>
19367<parameter name="domain">
19368<parameter_description> A #GQuark for the #GError error domain.
19369</parameter_description>
19370</parameter>
19371<parameter name="code">
19372<parameter_description> The error code.
19373</parameter_description>
19374</parameter>
19375<parameter name="message">
19376<parameter_description> The error message.
19377</parameter_description>
19378</parameter>
19379</parameters>
19380<return></return>
19381</function>
19382
19383<function name="g_dbus_method_invocation_return_error_valist">
19384<description>
19385Like g_dbus_method_invocation_return_error() but intended for
19386language bindings.
19387
19388This method will take ownership of @invocation. See
19389#GDBusInterfaceVTable for more information about the ownership of
19390@invocation.
19391
19392Since: 2.26
19393
19394</description>
19395<parameters>
19396<parameter name="invocation">
19397<parameter_description> A #GDBusMethodInvocation.
19398</parameter_description>
19399</parameter>
19400<parameter name="domain">
19401<parameter_description> A #GQuark for the #GError error domain.
19402</parameter_description>
19403</parameter>
19404<parameter name="code">
19405<parameter_description> The error code.
19406</parameter_description>
19407</parameter>
19408<parameter name="format">
19409<parameter_description> printf()-style format.
19410</parameter_description>
19411</parameter>
19412<parameter name="var_args">
19413<parameter_description> #va_list of parameters for @format.
19414</parameter_description>
19415</parameter>
19416</parameters>
19417<return></return>
19418</function>
19419
19420<function name="g_dbus_method_invocation_return_gerror">
19421<description>
19422Like g_dbus_method_invocation_return_error() but takes a #GError
19423instead of the error domain, error code and message.
19424
19425This method will take ownership of @invocation. See
19426#GDBusInterfaceVTable for more information about the ownership of
19427@invocation.
19428
19429Since: 2.26
19430
19431</description>
19432<parameters>
19433<parameter name="invocation">
19434<parameter_description> A #GDBusMethodInvocation.
19435</parameter_description>
19436</parameter>
19437<parameter name="error">
19438<parameter_description> A #GError.
19439</parameter_description>
19440</parameter>
19441</parameters>
19442<return></return>
19443</function>
19444
19445<function name="g_dbus_method_invocation_return_value">
19446<description>
19447Finishes handling a D-Bus method call by returning @parameters.
19448If the @parameters GVariant is floating, it is consumed.
19449
19450It is an error if @parameters is not of the right format: it must be a tuple
19451containing the out-parameters of the D-Bus method. Even if the method has a
19452single out-parameter, it must be contained in a tuple. If the method has no
19453out-parameters, @parameters may be %NULL or an empty tuple.
19454
19455|[&lt;!-- language=&quot;C&quot; --&gt;
19456GDBusMethodInvocation *invocation = some_invocation;
19457g_autofree gchar *result_string = NULL;
19458g_autoptr (GError) error = NULL;
19459
19460result_string = calculate_result (&amp;error);
19461
19462if (error != NULL)
19463g_dbus_method_invocation_return_gerror (invocation, error);
19464else
19465g_dbus_method_invocation_return_value (invocation,
19466g_variant_new (&quot;(s)&quot;, result_string));
19467
19468// Do not free @invocation here; returning a value does that
19469]|
19470
19471This method will take ownership of @invocation. See
19472#GDBusInterfaceVTable for more information about the ownership of
19473@invocation.
19474
19475Since 2.48, if the method call requested for a reply not to be sent
19476then this call will sink @parameters and free @invocation, but
19477otherwise do nothing (as per the recommendations of the D-Bus
19478specification).
19479
19480Since: 2.26
19481
19482</description>
19483<parameters>
19484<parameter name="invocation">
19485<parameter_description> A #GDBusMethodInvocation.
19486</parameter_description>
19487</parameter>
19488<parameter name="parameters">
19489<parameter_description> A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters.
19490</parameter_description>
19491</parameter>
19492</parameters>
19493<return></return>
19494</function>
19495
19496<function name="g_dbus_method_invocation_return_value_with_unix_fd_list">
19497<description>
19498Like g_dbus_method_invocation_return_value() but also takes a #GUnixFDList.
19499
19500This method is only available on UNIX.
19501
19502This method will take ownership of @invocation. See
19503#GDBusInterfaceVTable for more information about the ownership of
19504@invocation.
19505
19506Since: 2.30
19507
19508</description>
19509<parameters>
19510<parameter name="invocation">
19511<parameter_description> A #GDBusMethodInvocation.
19512</parameter_description>
19513</parameter>
19514<parameter name="parameters">
19515<parameter_description> A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters.
19516</parameter_description>
19517</parameter>
19518<parameter name="fd_list">
19519<parameter_description> A #GUnixFDList or %NULL.
19520</parameter_description>
19521</parameter>
19522</parameters>
19523<return></return>
19524</function>
19525
19526<function name="g_dbus_method_invocation_take_error">
19527<description>
19528Like g_dbus_method_invocation_return_gerror() but takes ownership
19529of @error so the caller does not need to free it.
19530
19531This method will take ownership of @invocation. See
19532#GDBusInterfaceVTable for more information about the ownership of
19533@invocation.
19534
19535Since: 2.30
19536
19537</description>
19538<parameters>
19539<parameter name="invocation">
19540<parameter_description> A #GDBusMethodInvocation.
19541</parameter_description>
19542</parameter>
19543<parameter name="error">
19544<parameter_description> A #GError.
19545</parameter_description>
19546</parameter>
19547</parameters>
19548<return></return>
19549</function>
19550
19551<function name="g_dbus_node_info_generate_xml">
19552<description>
19553Appends an XML representation of @info (and its children) to @string_builder.
19554
19555This function is typically used for generating introspection XML documents at run-time for
19556handling the `org.freedesktop.DBus.Introspectable.Introspect`  method.
19557
19558Since: 2.26
19559
19560</description>
19561<parameters>
19562<parameter name="info">
19563<parameter_description> A #GDBusNodeInfo.
19564</parameter_description>
19565</parameter>
19566<parameter name="indent">
19567<parameter_description> Indentation level.
19568</parameter_description>
19569</parameter>
19570<parameter name="string_builder">
19571<parameter_description> A #GString to to append XML data to.
19572</parameter_description>
19573</parameter>
19574</parameters>
19575<return></return>
19576</function>
19577
19578<function name="g_dbus_node_info_lookup_interface">
19579<description>
19580Looks up information about an interface.
19581
19582The cost of this function is O(n) in number of interfaces.
19583
19584Since: 2.26
19585
19586</description>
19587<parameters>
19588<parameter name="info">
19589<parameter_description> A #GDBusNodeInfo.
19590</parameter_description>
19591</parameter>
19592<parameter name="name">
19593<parameter_description> A D-Bus interface name.
19594</parameter_description>
19595</parameter>
19596</parameters>
19597<return> A #GDBusInterfaceInfo or %NULL if not found. Do not free, it is owned by @info.
19598
19599</return>
19600</function>
19601
19602<function name="g_dbus_node_info_new_for_xml">
19603<description>
19604Parses @xml_data and returns a #GDBusNodeInfo representing the data.
19605
19606The introspection XML must contain exactly one top-level
19607&lt;node&gt; element.
19608
19609Note that this routine is using a
19610[GMarkup][glib-Simple-XML-Subset-Parser.description]-based
19611parser that only accepts a subset of valid XML documents.
19612
19613Since: 2.26
19614
19615</description>
19616<parameters>
19617<parameter name="xml_data">
19618<parameter_description> Valid D-Bus introspection XML.
19619</parameter_description>
19620</parameter>
19621<parameter name="error">
19622<parameter_description> Return location for error.
19623</parameter_description>
19624</parameter>
19625</parameters>
19626<return> A #GDBusNodeInfo structure or %NULL if @error is set. Free
19627with g_dbus_node_info_unref().
19628
19629</return>
19630</function>
19631
19632<function name="g_dbus_node_info_ref">
19633<description>
19634If @info is statically allocated does nothing. Otherwise increases
19635the reference count.
19636
19637Since: 2.26
19638
19639</description>
19640<parameters>
19641<parameter name="info">
19642<parameter_description> A #GDBusNodeInfo
19643</parameter_description>
19644</parameter>
19645</parameters>
19646<return> The same @info.
19647
19648</return>
19649</function>
19650
19651<function name="g_dbus_node_info_unref">
19652<description>
19653If @info is statically allocated, does nothing. Otherwise decreases
19654the reference count of @info. When its reference count drops to 0,
19655the memory used is freed.
19656
19657Since: 2.26
19658
19659</description>
19660<parameters>
19661<parameter name="info">
19662<parameter_description> A #GDBusNodeInfo.
19663</parameter_description>
19664</parameter>
19665</parameters>
19666<return></return>
19667</function>
19668
19669<function name="g_dbus_object_get_interface">
19670<description>
19671Gets the D-Bus interface with name @interface_name associated with
19672@object, if any.
19673
19674Since: 2.30
19675
19676</description>
19677<parameters>
19678<parameter name="object">
19679<parameter_description> A #GDBusObject.
19680</parameter_description>
19681</parameter>
19682<parameter name="interface_name">
19683<parameter_description> A D-Bus interface name.
19684</parameter_description>
19685</parameter>
19686</parameters>
19687<return> %NULL if not found, otherwise a
19688#GDBusInterface that must be freed with g_object_unref().
19689
19690</return>
19691</function>
19692
19693<function name="g_dbus_object_get_interfaces">
19694<description>
19695Gets the D-Bus interfaces associated with @object.
19696
19697Since: 2.30
19698
19699</description>
19700<parameters>
19701<parameter name="object">
19702<parameter_description> A #GDBusObject.
19703</parameter_description>
19704</parameter>
19705</parameters>
19706<return> A list of #GDBusInterface instances.
19707The returned list must be freed by g_list_free() after each element has been freed
19708with g_object_unref().
19709
19710</return>
19711</function>
19712
19713<function name="g_dbus_object_get_object_path">
19714<description>
19715Gets the object path for @object.
19716
19717Since: 2.30
19718
19719</description>
19720<parameters>
19721<parameter name="object">
19722<parameter_description> A #GDBusObject.
19723</parameter_description>
19724</parameter>
19725</parameters>
19726<return> A string owned by @object. Do not free.
19727
19728</return>
19729</function>
19730
19731<function name="g_dbus_object_manager_client_get_connection">
19732<description>
19733Gets the #GDBusConnection used by @manager.
19734
19735Since: 2.30
19736
19737</description>
19738<parameters>
19739<parameter name="manager">
19740<parameter_description> A #GDBusObjectManagerClient
19741</parameter_description>
19742</parameter>
19743</parameters>
19744<return> A #GDBusConnection object. Do not free,
19745the object belongs to @manager.
19746
19747</return>
19748</function>
19749
19750<function name="g_dbus_object_manager_client_get_flags">
19751<description>
19752Gets the flags that @manager was constructed with.
19753
19754Since: 2.30
19755
19756</description>
19757<parameters>
19758<parameter name="manager">
19759<parameter_description> A #GDBusObjectManagerClient
19760</parameter_description>
19761</parameter>
19762</parameters>
19763<return> Zero of more flags from the #GDBusObjectManagerClientFlags
19764enumeration.
19765
19766</return>
19767</function>
19768
19769<function name="g_dbus_object_manager_client_get_name">
19770<description>
19771Gets the name that @manager is for, or %NULL if not a message bus
19772connection.
19773
19774Since: 2.30
19775
19776</description>
19777<parameters>
19778<parameter name="manager">
19779<parameter_description> A #GDBusObjectManagerClient
19780</parameter_description>
19781</parameter>
19782</parameters>
19783<return> A unique or well-known name. Do not free, the string
19784belongs to @manager.
19785
19786</return>
19787</function>
19788
19789<function name="g_dbus_object_manager_client_get_name_owner">
19790<description>
19791The unique name that owns the name that @manager is for or %NULL if
19792no-one currently owns that name. You can connect to the
19793#GObject::notify signal to track changes to the
19794#GDBusObjectManagerClient:name-owner property.
19795
19796Since: 2.30
19797
19798</description>
19799<parameters>
19800<parameter name="manager">
19801<parameter_description> A #GDBusObjectManagerClient.
19802</parameter_description>
19803</parameter>
19804</parameters>
19805<return> The name owner or %NULL if no name owner
19806exists. Free with g_free().
19807
19808</return>
19809</function>
19810
19811<function name="g_dbus_object_manager_client_new">
19812<description>
19813Asynchronously creates a new #GDBusObjectManagerClient object.
19814
19815This is an asynchronous failable constructor. When the result is
19816ready, @callback will be invoked in the
19817[thread-default main context][g-main-context-push-thread-default]
19818of the thread you are calling this method from. You can
19819then call g_dbus_object_manager_client_new_finish() to get the result. See
19820g_dbus_object_manager_client_new_sync() for the synchronous version.
19821
19822Since: 2.30
19823
19824</description>
19825<parameters>
19826<parameter name="connection">
19827<parameter_description> A #GDBusConnection.
19828</parameter_description>
19829</parameter>
19830<parameter name="flags">
19831<parameter_description> Zero or more flags from the #GDBusObjectManagerClientFlags enumeration.
19832</parameter_description>
19833</parameter>
19834<parameter name="name">
19835<parameter_description> The owner of the control object (unique or well-known name).
19836</parameter_description>
19837</parameter>
19838<parameter name="object_path">
19839<parameter_description> The object path of the control object.
19840</parameter_description>
19841</parameter>
19842<parameter name="get_proxy_type_func">
19843<parameter_description> A #GDBusProxyTypeFunc function or %NULL to always construct #GDBusProxy proxies.
19844</parameter_description>
19845</parameter>
19846<parameter name="get_proxy_type_user_data">
19847<parameter_description> User data to pass to @get_proxy_type_func.
19848</parameter_description>
19849</parameter>
19850<parameter name="get_proxy_type_destroy_notify">
19851<parameter_description> Free function for @get_proxy_type_user_data or %NULL.
19852</parameter_description>
19853</parameter>
19854<parameter name="cancellable">
19855<parameter_description> A #GCancellable or %NULL
19856</parameter_description>
19857</parameter>
19858<parameter name="callback">
19859<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied.
19860</parameter_description>
19861</parameter>
19862<parameter name="user_data">
19863<parameter_description> The data to pass to @callback.
19864</parameter_description>
19865</parameter>
19866</parameters>
19867<return></return>
19868</function>
19869
19870<function name="g_dbus_object_manager_client_new_finish">
19871<description>
19872Finishes an operation started with g_dbus_object_manager_client_new().
19873
19874Since: 2.30
19875
19876</description>
19877<parameters>
19878<parameter name="res">
19879<parameter_description> A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_object_manager_client_new().
19880</parameter_description>
19881</parameter>
19882<parameter name="error">
19883<parameter_description> Return location for error or %NULL.
19884</parameter_description>
19885</parameter>
19886</parameters>
19887<return> A
19888#GDBusObjectManagerClient object or %NULL if @error is set. Free
19889with g_object_unref().
19890
19891</return>
19892</function>
19893
19894<function name="g_dbus_object_manager_client_new_for_bus">
19895<description>
19896Like g_dbus_object_manager_client_new() but takes a #GBusType instead of a
19897#GDBusConnection.
19898
19899This is an asynchronous failable constructor. When the result is
19900ready, @callback will be invoked in the
19901[thread-default main loop][g-main-context-push-thread-default]
19902of the thread you are calling this method from. You can
19903then call g_dbus_object_manager_client_new_for_bus_finish() to get the result. See
19904g_dbus_object_manager_client_new_for_bus_sync() for the synchronous version.
19905
19906Since: 2.30
19907
19908</description>
19909<parameters>
19910<parameter name="bus_type">
19911<parameter_description> A #GBusType.
19912</parameter_description>
19913</parameter>
19914<parameter name="flags">
19915<parameter_description> Zero or more flags from the #GDBusObjectManagerClientFlags enumeration.
19916</parameter_description>
19917</parameter>
19918<parameter name="name">
19919<parameter_description> The owner of the control object (unique or well-known name).
19920</parameter_description>
19921</parameter>
19922<parameter name="object_path">
19923<parameter_description> The object path of the control object.
19924</parameter_description>
19925</parameter>
19926<parameter name="get_proxy_type_func">
19927<parameter_description> A #GDBusProxyTypeFunc function or %NULL to always construct #GDBusProxy proxies.
19928</parameter_description>
19929</parameter>
19930<parameter name="get_proxy_type_user_data">
19931<parameter_description> User data to pass to @get_proxy_type_func.
19932</parameter_description>
19933</parameter>
19934<parameter name="get_proxy_type_destroy_notify">
19935<parameter_description> Free function for @get_proxy_type_user_data or %NULL.
19936</parameter_description>
19937</parameter>
19938<parameter name="cancellable">
19939<parameter_description> A #GCancellable or %NULL
19940</parameter_description>
19941</parameter>
19942<parameter name="callback">
19943<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied.
19944</parameter_description>
19945</parameter>
19946<parameter name="user_data">
19947<parameter_description> The data to pass to @callback.
19948</parameter_description>
19949</parameter>
19950</parameters>
19951<return></return>
19952</function>
19953
19954<function name="g_dbus_object_manager_client_new_for_bus_finish">
19955<description>
19956Finishes an operation started with g_dbus_object_manager_client_new_for_bus().
19957
19958Since: 2.30
19959
19960</description>
19961<parameters>
19962<parameter name="res">
19963<parameter_description> A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_object_manager_client_new_for_bus().
19964</parameter_description>
19965</parameter>
19966<parameter name="error">
19967<parameter_description> Return location for error or %NULL.
19968</parameter_description>
19969</parameter>
19970</parameters>
19971<return> A
19972#GDBusObjectManagerClient object or %NULL if @error is set. Free
19973with g_object_unref().
19974
19975</return>
19976</function>
19977
19978<function name="g_dbus_object_manager_client_new_for_bus_sync">
19979<description>
19980Like g_dbus_object_manager_client_new_sync() but takes a #GBusType instead
19981of a #GDBusConnection.
19982
19983This is a synchronous failable constructor - the calling thread is
19984blocked until a reply is received. See g_dbus_object_manager_client_new_for_bus()
19985for the asynchronous version.
19986
19987Since: 2.30
19988
19989</description>
19990<parameters>
19991<parameter name="bus_type">
19992<parameter_description> A #GBusType.
19993</parameter_description>
19994</parameter>
19995<parameter name="flags">
19996<parameter_description> Zero or more flags from the #GDBusObjectManagerClientFlags enumeration.
19997</parameter_description>
19998</parameter>
19999<parameter name="name">
20000<parameter_description> The owner of the control object (unique or well-known name).
20001</parameter_description>
20002</parameter>
20003<parameter name="object_path">
20004<parameter_description> The object path of the control object.
20005</parameter_description>
20006</parameter>
20007<parameter name="get_proxy_type_func">
20008<parameter_description> A #GDBusProxyTypeFunc function or %NULL to always construct #GDBusProxy proxies.
20009</parameter_description>
20010</parameter>
20011<parameter name="get_proxy_type_user_data">
20012<parameter_description> User data to pass to @get_proxy_type_func.
20013</parameter_description>
20014</parameter>
20015<parameter name="get_proxy_type_destroy_notify">
20016<parameter_description> Free function for @get_proxy_type_user_data or %NULL.
20017</parameter_description>
20018</parameter>
20019<parameter name="cancellable">
20020<parameter_description> A #GCancellable or %NULL
20021</parameter_description>
20022</parameter>
20023<parameter name="error">
20024<parameter_description> Return location for error or %NULL.
20025</parameter_description>
20026</parameter>
20027</parameters>
20028<return> A
20029#GDBusObjectManagerClient object or %NULL if @error is set. Free
20030with g_object_unref().
20031
20032</return>
20033</function>
20034
20035<function name="g_dbus_object_manager_client_new_sync">
20036<description>
20037Creates a new #GDBusObjectManagerClient object.
20038
20039This is a synchronous failable constructor - the calling thread is
20040blocked until a reply is received. See g_dbus_object_manager_client_new()
20041for the asynchronous version.
20042
20043Since: 2.30
20044
20045</description>
20046<parameters>
20047<parameter name="connection">
20048<parameter_description> A #GDBusConnection.
20049</parameter_description>
20050</parameter>
20051<parameter name="flags">
20052<parameter_description> Zero or more flags from the #GDBusObjectManagerClientFlags enumeration.
20053</parameter_description>
20054</parameter>
20055<parameter name="name">
20056<parameter_description> The owner of the control object (unique or well-known name), or %NULL when not using a message bus connection.
20057</parameter_description>
20058</parameter>
20059<parameter name="object_path">
20060<parameter_description> The object path of the control object.
20061</parameter_description>
20062</parameter>
20063<parameter name="get_proxy_type_func">
20064<parameter_description> A #GDBusProxyTypeFunc function or %NULL to always construct #GDBusProxy proxies.
20065</parameter_description>
20066</parameter>
20067<parameter name="get_proxy_type_user_data">
20068<parameter_description> User data to pass to @get_proxy_type_func.
20069</parameter_description>
20070</parameter>
20071<parameter name="get_proxy_type_destroy_notify">
20072<parameter_description> Free function for @get_proxy_type_user_data or %NULL.
20073</parameter_description>
20074</parameter>
20075<parameter name="cancellable">
20076<parameter_description> A #GCancellable or %NULL
20077</parameter_description>
20078</parameter>
20079<parameter name="error">
20080<parameter_description> Return location for error or %NULL.
20081</parameter_description>
20082</parameter>
20083</parameters>
20084<return> A
20085#GDBusObjectManagerClient object or %NULL if @error is set. Free
20086with g_object_unref().
20087
20088</return>
20089</function>
20090
20091<function name="g_dbus_object_manager_get_interface">
20092<description>
20093Gets the interface proxy for @interface_name at @object_path, if
20094any.
20095
20096Since: 2.30
20097
20098</description>
20099<parameters>
20100<parameter name="manager">
20101<parameter_description> A #GDBusObjectManager.
20102</parameter_description>
20103</parameter>
20104<parameter name="object_path">
20105<parameter_description> Object path to look up.
20106</parameter_description>
20107</parameter>
20108<parameter name="interface_name">
20109<parameter_description> D-Bus interface name to look up.
20110</parameter_description>
20111</parameter>
20112</parameters>
20113<return> A #GDBusInterface instance or %NULL. Free
20114with g_object_unref().
20115
20116</return>
20117</function>
20118
20119<function name="g_dbus_object_manager_get_object">
20120<description>
20121Gets the #GDBusObjectProxy at @object_path, if any.
20122
20123Since: 2.30
20124
20125</description>
20126<parameters>
20127<parameter name="manager">
20128<parameter_description> A #GDBusObjectManager.
20129</parameter_description>
20130</parameter>
20131<parameter name="object_path">
20132<parameter_description> Object path to look up.
20133</parameter_description>
20134</parameter>
20135</parameters>
20136<return> A #GDBusObject or %NULL. Free with
20137g_object_unref().
20138
20139</return>
20140</function>
20141
20142<function name="g_dbus_object_manager_get_object_path">
20143<description>
20144Gets the object path that @manager is for.
20145
20146Since: 2.30
20147
20148</description>
20149<parameters>
20150<parameter name="manager">
20151<parameter_description> A #GDBusObjectManager.
20152</parameter_description>
20153</parameter>
20154</parameters>
20155<return> A string owned by @manager. Do not free.
20156
20157</return>
20158</function>
20159
20160<function name="g_dbus_object_manager_get_objects">
20161<description>
20162Gets all #GDBusObject objects known to @manager.
20163
20164Since: 2.30
20165
20166</description>
20167<parameters>
20168<parameter name="manager">
20169<parameter_description> A #GDBusObjectManager.
20170</parameter_description>
20171</parameter>
20172</parameters>
20173<return> A list of
20174#GDBusObject objects. The returned list should be freed with
20175g_list_free() after each element has been freed with
20176g_object_unref().
20177
20178</return>
20179</function>
20180
20181<function name="g_dbus_object_manager_server_export">
20182<description>
20183Exports @object on @manager.
20184
20185If there is already a #GDBusObject exported at the object path,
20186then the old object is removed.
20187
20188The object path for @object must be in the hierarchy rooted by the
20189object path for @manager.
20190
20191Note that @manager will take a reference on @object for as long as
20192it is exported.
20193
20194Since: 2.30
20195
20196</description>
20197<parameters>
20198<parameter name="manager">
20199<parameter_description> A #GDBusObjectManagerServer.
20200</parameter_description>
20201</parameter>
20202<parameter name="object">
20203<parameter_description> A #GDBusObjectSkeleton.
20204</parameter_description>
20205</parameter>
20206</parameters>
20207<return></return>
20208</function>
20209
20210<function name="g_dbus_object_manager_server_export_uniquely">
20211<description>
20212Like g_dbus_object_manager_server_export() but appends a string of
20213the form _N (with N being a natural number) to @object's object path
20214if an object with the given path already exists. As such, the
20215#GDBusObjectProxy:g-object-path property of @object may be modified.
20216
20217Since: 2.30
20218
20219</description>
20220<parameters>
20221<parameter name="manager">
20222<parameter_description> A #GDBusObjectManagerServer.
20223</parameter_description>
20224</parameter>
20225<parameter name="object">
20226<parameter_description> An object.
20227</parameter_description>
20228</parameter>
20229</parameters>
20230<return></return>
20231</function>
20232
20233<function name="g_dbus_object_manager_server_get_connection">
20234<description>
20235Gets the #GDBusConnection used by @manager.
20236
20237Since: 2.30
20238
20239</description>
20240<parameters>
20241<parameter name="manager">
20242<parameter_description> A #GDBusObjectManagerServer
20243</parameter_description>
20244</parameter>
20245</parameters>
20246<return> A #GDBusConnection object or %NULL if
20247@manager isn't exported on a connection. The returned object should
20248be freed with g_object_unref().
20249
20250</return>
20251</function>
20252
20253<function name="g_dbus_object_manager_server_is_exported">
20254<description>
20255Returns whether @object is currently exported on @manager.
20256
20257Since: 2.34
20258
20259</description>
20260<parameters>
20261<parameter name="manager">
20262<parameter_description> A #GDBusObjectManagerServer.
20263</parameter_description>
20264</parameter>
20265<parameter name="object">
20266<parameter_description> An object.
20267</parameter_description>
20268</parameter>
20269</parameters>
20270<return> %TRUE if @object is exported
20271
20272</return>
20273</function>
20274
20275<function name="g_dbus_object_manager_server_new">
20276<description>
20277Creates a new #GDBusObjectManagerServer object.
20278
20279The returned server isn't yet exported on any connection. To do so,
20280use g_dbus_object_manager_server_set_connection(). Normally you
20281want to export all of your objects before doing so to avoid
20282[InterfacesAdded](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager)
20283signals being emitted.
20284
20285Since: 2.30
20286
20287</description>
20288<parameters>
20289<parameter name="object_path">
20290<parameter_description> The object path to export the manager object at.
20291</parameter_description>
20292</parameter>
20293</parameters>
20294<return> A #GDBusObjectManagerServer object. Free with g_object_unref().
20295
20296</return>
20297</function>
20298
20299<function name="g_dbus_object_manager_server_set_connection">
20300<description>
20301Exports all objects managed by @manager on @connection. If
20302@connection is %NULL, stops exporting objects.
20303
20304</description>
20305<parameters>
20306<parameter name="manager">
20307<parameter_description> A #GDBusObjectManagerServer.
20308</parameter_description>
20309</parameter>
20310<parameter name="connection">
20311<parameter_description> A #GDBusConnection or %NULL.
20312</parameter_description>
20313</parameter>
20314</parameters>
20315<return></return>
20316</function>
20317
20318<function name="g_dbus_object_manager_server_unexport">
20319<description>
20320If @manager has an object at @path, removes the object. Otherwise
20321does nothing.
20322
20323Note that @object_path must be in the hierarchy rooted by the
20324object path for @manager.
20325
20326Since: 2.30
20327
20328</description>
20329<parameters>
20330<parameter name="manager">
20331<parameter_description> A #GDBusObjectManagerServer.
20332</parameter_description>
20333</parameter>
20334<parameter name="object_path">
20335<parameter_description> An object path.
20336</parameter_description>
20337</parameter>
20338</parameters>
20339<return> %TRUE if object at @object_path was removed, %FALSE otherwise.
20340
20341</return>
20342</function>
20343
20344<function name="g_dbus_object_proxy_get_connection">
20345<description>
20346Gets the connection that @proxy is for.
20347
20348Since: 2.30
20349
20350</description>
20351<parameters>
20352<parameter name="proxy">
20353<parameter_description> a #GDBusObjectProxy
20354</parameter_description>
20355</parameter>
20356</parameters>
20357<return> A #GDBusConnection. Do not free, the
20358object is owned by @proxy.
20359
20360</return>
20361</function>
20362
20363<function name="g_dbus_object_proxy_new">
20364<description>
20365Creates a new #GDBusObjectProxy for the given connection and
20366object path.
20367
20368Since: 2.30
20369
20370</description>
20371<parameters>
20372<parameter name="connection">
20373<parameter_description> a #GDBusConnection
20374</parameter_description>
20375</parameter>
20376<parameter name="object_path">
20377<parameter_description> the object path
20378</parameter_description>
20379</parameter>
20380</parameters>
20381<return> a new #GDBusObjectProxy
20382
20383</return>
20384</function>
20385
20386<function name="g_dbus_object_skeleton_add_interface">
20387<description>
20388Adds @interface_ to @object.
20389
20390If @object already contains a #GDBusInterfaceSkeleton with the same
20391interface name, it is removed before @interface_ is added.
20392
20393Note that @object takes its own reference on @interface_ and holds
20394it until removed.
20395
20396Since: 2.30
20397
20398</description>
20399<parameters>
20400<parameter name="object">
20401<parameter_description> A #GDBusObjectSkeleton.
20402</parameter_description>
20403</parameter>
20404<parameter name="interface_">
20405<parameter_description> A #GDBusInterfaceSkeleton.
20406</parameter_description>
20407</parameter>
20408</parameters>
20409<return></return>
20410</function>
20411
20412<function name="g_dbus_object_skeleton_flush">
20413<description>
20414This method simply calls g_dbus_interface_skeleton_flush() on all
20415interfaces belonging to @object. See that method for when flushing
20416is useful.
20417
20418Since: 2.30
20419
20420</description>
20421<parameters>
20422<parameter name="object">
20423<parameter_description> A #GDBusObjectSkeleton.
20424</parameter_description>
20425</parameter>
20426</parameters>
20427<return></return>
20428</function>
20429
20430<function name="g_dbus_object_skeleton_new">
20431<description>
20432Creates a new #GDBusObjectSkeleton.
20433
20434Since: 2.30
20435
20436</description>
20437<parameters>
20438<parameter name="object_path">
20439<parameter_description> An object path.
20440</parameter_description>
20441</parameter>
20442</parameters>
20443<return> A #GDBusObjectSkeleton. Free with g_object_unref().
20444
20445</return>
20446</function>
20447
20448<function name="g_dbus_object_skeleton_remove_interface">
20449<description>
20450Removes @interface_ from @object.
20451
20452Since: 2.30
20453
20454</description>
20455<parameters>
20456<parameter name="object">
20457<parameter_description> A #GDBusObjectSkeleton.
20458</parameter_description>
20459</parameter>
20460<parameter name="interface_">
20461<parameter_description> A #GDBusInterfaceSkeleton.
20462</parameter_description>
20463</parameter>
20464</parameters>
20465<return></return>
20466</function>
20467
20468<function name="g_dbus_object_skeleton_remove_interface_by_name">
20469<description>
20470Removes the #GDBusInterface with @interface_name from @object.
20471
20472If no D-Bus interface of the given interface exists, this function
20473does nothing.
20474
20475Since: 2.30
20476
20477</description>
20478<parameters>
20479<parameter name="object">
20480<parameter_description> A #GDBusObjectSkeleton.
20481</parameter_description>
20482</parameter>
20483<parameter name="interface_name">
20484<parameter_description> A D-Bus interface name.
20485</parameter_description>
20486</parameter>
20487</parameters>
20488<return></return>
20489</function>
20490
20491<function name="g_dbus_object_skeleton_set_object_path">
20492<description>
20493Sets the object path for @object.
20494
20495Since: 2.30
20496
20497</description>
20498<parameters>
20499<parameter name="object">
20500<parameter_description> A #GDBusObjectSkeleton.
20501</parameter_description>
20502</parameter>
20503<parameter name="object_path">
20504<parameter_description> A valid D-Bus object path.
20505</parameter_description>
20506</parameter>
20507</parameters>
20508<return></return>
20509</function>
20510
20511<function name="g_dbus_property_info_ref">
20512<description>
20513If @info is statically allocated does nothing. Otherwise increases
20514the reference count.
20515
20516Since: 2.26
20517
20518</description>
20519<parameters>
20520<parameter name="info">
20521<parameter_description> A #GDBusPropertyInfo
20522</parameter_description>
20523</parameter>
20524</parameters>
20525<return> The same @info.
20526
20527</return>
20528</function>
20529
20530<function name="g_dbus_property_info_unref">
20531<description>
20532If @info is statically allocated, does nothing. Otherwise decreases
20533the reference count of @info. When its reference count drops to 0,
20534the memory used is freed.
20535
20536Since: 2.26
20537
20538</description>
20539<parameters>
20540<parameter name="info">
20541<parameter_description> A #GDBusPropertyInfo.
20542</parameter_description>
20543</parameter>
20544</parameters>
20545<return></return>
20546</function>
20547
20548<function name="g_dbus_proxy_call">
20549<description>
20550Asynchronously invokes the @method_name method on @proxy.
20551
20552If @method_name contains any dots, then @name is split into interface and
20553method name parts. This allows using @proxy for invoking methods on
20554other interfaces.
20555
20556If the #GDBusConnection associated with @proxy is closed then
20557the operation will fail with %G_IO_ERROR_CLOSED. If
20558@cancellable is canceled, the operation will fail with
20559%G_IO_ERROR_CANCELLED. If @parameters contains a value not
20560compatible with the D-Bus protocol, the operation fails with
20561%G_IO_ERROR_INVALID_ARGUMENT.
20562
20563If the @parameters #GVariant is floating, it is consumed. This allows
20564convenient 'inline' use of g_variant_new(), e.g.:
20565|[&lt;!-- language=&quot;C&quot; --&gt;
20566g_dbus_proxy_call (proxy,
20567&quot;TwoStrings&quot;,
20568g_variant_new (&quot;(ss)&quot;,
20569&quot;Thing One&quot;,
20570&quot;Thing Two&quot;),
20571G_DBUS_CALL_FLAGS_NONE,
20572-1,
20573NULL,
20574(GAsyncReadyCallback) two_strings_done,
20575&amp;data);
20576]|
20577
20578If @proxy has an expected interface (see
20579#GDBusProxy:g-interface-info) and @method_name is referenced by it,
20580then the return value is checked against the return type.
20581
20582This is an asynchronous method. When the operation is finished,
20583@callback will be invoked in the
20584[thread-default main context][g-main-context-push-thread-default]
20585of the thread you are calling this method from.
20586You can then call g_dbus_proxy_call_finish() to get the result of
20587the operation. See g_dbus_proxy_call_sync() for the synchronous
20588version of this method.
20589
20590If @callback is %NULL then the D-Bus method call message will be sent with
20591the %G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED flag set.
20592
20593Since: 2.26
20594
20595</description>
20596<parameters>
20597<parameter name="proxy">
20598<parameter_description> A #GDBusProxy.
20599</parameter_description>
20600</parameter>
20601<parameter name="method_name">
20602<parameter_description> Name of method to invoke.
20603</parameter_description>
20604</parameter>
20605<parameter name="parameters">
20606<parameter_description> A #GVariant tuple with parameters for the signal or %NULL if not passing parameters.
20607</parameter_description>
20608</parameter>
20609<parameter name="flags">
20610<parameter_description> Flags from the #GDBusCallFlags enumeration.
20611</parameter_description>
20612</parameter>
20613<parameter name="timeout_msec">
20614<parameter_description> The timeout in milliseconds (with %G_MAXINT meaning
20615&quot;infinite&quot;) or -1 to use the proxy default timeout.
20616</parameter_description>
20617</parameter>
20618<parameter name="cancellable">
20619<parameter_description> A #GCancellable or %NULL.
20620</parameter_description>
20621</parameter>
20622<parameter name="callback">
20623<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't
20624care about the result of the method invocation.
20625</parameter_description>
20626</parameter>
20627<parameter name="user_data">
20628<parameter_description> The data to pass to @callback.
20629</parameter_description>
20630</parameter>
20631</parameters>
20632<return></return>
20633</function>
20634
20635<function name="g_dbus_proxy_call_finish">
20636<description>
20637Finishes an operation started with g_dbus_proxy_call().
20638
20639Since: 2.26
20640
20641</description>
20642<parameters>
20643<parameter name="proxy">
20644<parameter_description> A #GDBusProxy.
20645</parameter_description>
20646</parameter>
20647<parameter name="res">
20648<parameter_description> A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_proxy_call().
20649</parameter_description>
20650</parameter>
20651<parameter name="error">
20652<parameter_description> Return location for error or %NULL.
20653</parameter_description>
20654</parameter>
20655</parameters>
20656<return> %NULL if @error is set. Otherwise a #GVariant tuple with
20657return values. Free with g_variant_unref().
20658
20659</return>
20660</function>
20661
20662<function name="g_dbus_proxy_call_sync">
20663<description>
20664Synchronously invokes the @method_name method on @proxy.
20665
20666If @method_name contains any dots, then @name is split into interface and
20667method name parts. This allows using @proxy for invoking methods on
20668other interfaces.
20669
20670If the #GDBusConnection associated with @proxy is disconnected then
20671the operation will fail with %G_IO_ERROR_CLOSED. If
20672@cancellable is canceled, the operation will fail with
20673%G_IO_ERROR_CANCELLED. If @parameters contains a value not
20674compatible with the D-Bus protocol, the operation fails with
20675%G_IO_ERROR_INVALID_ARGUMENT.
20676
20677If the @parameters #GVariant is floating, it is consumed. This allows
20678convenient 'inline' use of g_variant_new(), e.g.:
20679|[&lt;!-- language=&quot;C&quot; --&gt;
20680g_dbus_proxy_call_sync (proxy,
20681&quot;TwoStrings&quot;,
20682g_variant_new (&quot;(ss)&quot;,
20683&quot;Thing One&quot;,
20684&quot;Thing Two&quot;),
20685G_DBUS_CALL_FLAGS_NONE,
20686-1,
20687NULL,
20688&amp;error);
20689]|
20690
20691The calling thread is blocked until a reply is received. See
20692g_dbus_proxy_call() for the asynchronous version of this
20693method.
20694
20695If @proxy has an expected interface (see
20696#GDBusProxy:g-interface-info) and @method_name is referenced by it,
20697then the return value is checked against the return type.
20698
20699Since: 2.26
20700
20701</description>
20702<parameters>
20703<parameter name="proxy">
20704<parameter_description> A #GDBusProxy.
20705</parameter_description>
20706</parameter>
20707<parameter name="method_name">
20708<parameter_description> Name of method to invoke.
20709</parameter_description>
20710</parameter>
20711<parameter name="parameters">
20712<parameter_description> A #GVariant tuple with parameters for the signal
20713or %NULL if not passing parameters.
20714</parameter_description>
20715</parameter>
20716<parameter name="flags">
20717<parameter_description> Flags from the #GDBusCallFlags enumeration.
20718</parameter_description>
20719</parameter>
20720<parameter name="timeout_msec">
20721<parameter_description> The timeout in milliseconds (with %G_MAXINT meaning
20722&quot;infinite&quot;) or -1 to use the proxy default timeout.
20723</parameter_description>
20724</parameter>
20725<parameter name="cancellable">
20726<parameter_description> A #GCancellable or %NULL.
20727</parameter_description>
20728</parameter>
20729<parameter name="error">
20730<parameter_description> Return location for error or %NULL.
20731</parameter_description>
20732</parameter>
20733</parameters>
20734<return> %NULL if @error is set. Otherwise a #GVariant tuple with
20735return values. Free with g_variant_unref().
20736
20737</return>
20738</function>
20739
20740<function name="g_dbus_proxy_call_with_unix_fd_list">
20741<description>
20742Like g_dbus_proxy_call() but also takes a #GUnixFDList object.
20743
20744This method is only available on UNIX.
20745
20746Since: 2.30
20747
20748</description>
20749<parameters>
20750<parameter name="proxy">
20751<parameter_description> A #GDBusProxy.
20752</parameter_description>
20753</parameter>
20754<parameter name="method_name">
20755<parameter_description> Name of method to invoke.
20756</parameter_description>
20757</parameter>
20758<parameter name="parameters">
20759<parameter_description> A #GVariant tuple with parameters for the signal or %NULL if not passing parameters.
20760</parameter_description>
20761</parameter>
20762<parameter name="flags">
20763<parameter_description> Flags from the #GDBusCallFlags enumeration.
20764</parameter_description>
20765</parameter>
20766<parameter name="timeout_msec">
20767<parameter_description> The timeout in milliseconds (with %G_MAXINT meaning
20768&quot;infinite&quot;) or -1 to use the proxy default timeout.
20769</parameter_description>
20770</parameter>
20771<parameter name="fd_list">
20772<parameter_description> A #GUnixFDList or %NULL.
20773</parameter_description>
20774</parameter>
20775<parameter name="cancellable">
20776<parameter_description> A #GCancellable or %NULL.
20777</parameter_description>
20778</parameter>
20779<parameter name="callback">
20780<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't
20781care about the result of the method invocation.
20782</parameter_description>
20783</parameter>
20784<parameter name="user_data">
20785<parameter_description> The data to pass to @callback.
20786</parameter_description>
20787</parameter>
20788</parameters>
20789<return></return>
20790</function>
20791
20792<function name="g_dbus_proxy_call_with_unix_fd_list_finish">
20793<description>
20794Finishes an operation started with g_dbus_proxy_call_with_unix_fd_list().
20795
20796Since: 2.30
20797
20798</description>
20799<parameters>
20800<parameter name="proxy">
20801<parameter_description> A #GDBusProxy.
20802</parameter_description>
20803</parameter>
20804<parameter name="out_fd_list">
20805<parameter_description> Return location for a #GUnixFDList or %NULL.
20806</parameter_description>
20807</parameter>
20808<parameter name="res">
20809<parameter_description> A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_proxy_call_with_unix_fd_list().
20810</parameter_description>
20811</parameter>
20812<parameter name="error">
20813<parameter_description> Return location for error or %NULL.
20814</parameter_description>
20815</parameter>
20816</parameters>
20817<return> %NULL if @error is set. Otherwise a #GVariant tuple with
20818return values. Free with g_variant_unref().
20819
20820</return>
20821</function>
20822
20823<function name="g_dbus_proxy_call_with_unix_fd_list_sync">
20824<description>
20825Like g_dbus_proxy_call_sync() but also takes and returns #GUnixFDList objects.
20826
20827This method is only available on UNIX.
20828
20829Since: 2.30
20830
20831</description>
20832<parameters>
20833<parameter name="proxy">
20834<parameter_description> A #GDBusProxy.
20835</parameter_description>
20836</parameter>
20837<parameter name="method_name">
20838<parameter_description> Name of method to invoke.
20839</parameter_description>
20840</parameter>
20841<parameter name="parameters">
20842<parameter_description> A #GVariant tuple with parameters for the signal
20843or %NULL if not passing parameters.
20844</parameter_description>
20845</parameter>
20846<parameter name="flags">
20847<parameter_description> Flags from the #GDBusCallFlags enumeration.
20848</parameter_description>
20849</parameter>
20850<parameter name="timeout_msec">
20851<parameter_description> The timeout in milliseconds (with %G_MAXINT meaning
20852&quot;infinite&quot;) or -1 to use the proxy default timeout.
20853</parameter_description>
20854</parameter>
20855<parameter name="fd_list">
20856<parameter_description> A #GUnixFDList or %NULL.
20857</parameter_description>
20858</parameter>
20859<parameter name="out_fd_list">
20860<parameter_description> Return location for a #GUnixFDList or %NULL.
20861</parameter_description>
20862</parameter>
20863<parameter name="cancellable">
20864<parameter_description> A #GCancellable or %NULL.
20865</parameter_description>
20866</parameter>
20867<parameter name="error">
20868<parameter_description> Return location for error or %NULL.
20869</parameter_description>
20870</parameter>
20871</parameters>
20872<return> %NULL if @error is set. Otherwise a #GVariant tuple with
20873return values. Free with g_variant_unref().
20874
20875</return>
20876</function>
20877
20878<function name="g_dbus_proxy_get_cached_property">
20879<description>
20880Looks up the value for a property from the cache. This call does no
20881blocking IO.
20882
20883If @proxy has an expected interface (see
20884#GDBusProxy:g-interface-info) and @property_name is referenced by
20885it, then @value is checked against the type of the property.
20886
20887Since: 2.26
20888
20889</description>
20890<parameters>
20891<parameter name="proxy">
20892<parameter_description> A #GDBusProxy.
20893</parameter_description>
20894</parameter>
20895<parameter name="property_name">
20896<parameter_description> Property name.
20897</parameter_description>
20898</parameter>
20899</parameters>
20900<return> A reference to the #GVariant instance
20901that holds the value for @property_name or %NULL if the value is not in
20902the cache. The returned reference must be freed with g_variant_unref().
20903
20904</return>
20905</function>
20906
20907<function name="g_dbus_proxy_get_cached_property_names">
20908<description>
20909Gets the names of all cached properties on @proxy.
20910
20911Since: 2.26
20912
20913</description>
20914<parameters>
20915<parameter name="proxy">
20916<parameter_description> A #GDBusProxy.
20917</parameter_description>
20918</parameter>
20919</parameters>
20920<return> A
20921%NULL-terminated array of strings or %NULL if
20922@proxy has no cached properties. Free the returned array with
20923g_strfreev().
20924
20925</return>
20926</function>
20927
20928<function name="g_dbus_proxy_get_connection">
20929<description>
20930Gets the connection @proxy is for.
20931
20932Since: 2.26
20933
20934</description>
20935<parameters>
20936<parameter name="proxy">
20937<parameter_description> A #GDBusProxy.
20938</parameter_description>
20939</parameter>
20940</parameters>
20941<return> A #GDBusConnection owned by @proxy. Do not free.
20942
20943</return>
20944</function>
20945
20946<function name="g_dbus_proxy_get_default_timeout">
20947<description>
20948Gets the timeout to use if -1 (specifying default timeout) is
20949passed as @timeout_msec in the g_dbus_proxy_call() and
20950g_dbus_proxy_call_sync() functions.
20951
20952See the #GDBusProxy:g-default-timeout property for more details.
20953
20954Since: 2.26
20955
20956</description>
20957<parameters>
20958<parameter name="proxy">
20959<parameter_description> A #GDBusProxy.
20960</parameter_description>
20961</parameter>
20962</parameters>
20963<return> Timeout to use for @proxy.
20964
20965</return>
20966</function>
20967
20968<function name="g_dbus_proxy_get_flags">
20969<description>
20970Gets the flags that @proxy was constructed with.
20971
20972Since: 2.26
20973
20974</description>
20975<parameters>
20976<parameter name="proxy">
20977<parameter_description> A #GDBusProxy.
20978</parameter_description>
20979</parameter>
20980</parameters>
20981<return> Flags from the #GDBusProxyFlags enumeration.
20982
20983</return>
20984</function>
20985
20986<function name="g_dbus_proxy_get_interface_info">
20987<description>
20988Returns the #GDBusInterfaceInfo, if any, specifying the interface
20989that @proxy conforms to. See the #GDBusProxy:g-interface-info
20990property for more details.
20991
20992Since: 2.26
20993
20994</description>
20995<parameters>
20996<parameter name="proxy">
20997<parameter_description> A #GDBusProxy
20998</parameter_description>
20999</parameter>
21000</parameters>
21001<return> A #GDBusInterfaceInfo or %NULL.
21002Do not unref the returned object, it is owned by @proxy.
21003
21004</return>
21005</function>
21006
21007<function name="g_dbus_proxy_get_interface_name">
21008<description>
21009Gets the D-Bus interface name @proxy is for.
21010
21011Since: 2.26
21012
21013</description>
21014<parameters>
21015<parameter name="proxy">
21016<parameter_description> A #GDBusProxy.
21017</parameter_description>
21018</parameter>
21019</parameters>
21020<return> A string owned by @proxy. Do not free.
21021
21022</return>
21023</function>
21024
21025<function name="g_dbus_proxy_get_name">
21026<description>
21027Gets the name that @proxy was constructed for.
21028
21029Since: 2.26
21030
21031</description>
21032<parameters>
21033<parameter name="proxy">
21034<parameter_description> A #GDBusProxy.
21035</parameter_description>
21036</parameter>
21037</parameters>
21038<return> A string owned by @proxy. Do not free.
21039
21040</return>
21041</function>
21042
21043<function name="g_dbus_proxy_get_name_owner">
21044<description>
21045The unique name that owns the name that @proxy is for or %NULL if
21046no-one currently owns that name. You may connect to the
21047#GObject::notify signal to track changes to the
21048#GDBusProxy:g-name-owner property.
21049
21050Since: 2.26
21051
21052</description>
21053<parameters>
21054<parameter name="proxy">
21055<parameter_description> A #GDBusProxy.
21056</parameter_description>
21057</parameter>
21058</parameters>
21059<return> The name owner or %NULL if no name
21060owner exists. Free with g_free().
21061
21062</return>
21063</function>
21064
21065<function name="g_dbus_proxy_get_object_path">
21066<description>
21067Gets the object path @proxy is for.
21068
21069Since: 2.26
21070
21071</description>
21072<parameters>
21073<parameter name="proxy">
21074<parameter_description> A #GDBusProxy.
21075</parameter_description>
21076</parameter>
21077</parameters>
21078<return> A string owned by @proxy. Do not free.
21079
21080</return>
21081</function>
21082
21083<function name="g_dbus_proxy_new">
21084<description>
21085Creates a proxy for accessing @interface_name on the remote object
21086at @object_path owned by @name at @connection and asynchronously
21087loads D-Bus properties unless the
21088%G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used. Connect to
21089the #GDBusProxy::g-properties-changed signal to get notified about
21090property changes.
21091
21092If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up
21093match rules for signals. Connect to the #GDBusProxy::g-signal signal
21094to handle signals from the remote object.
21095
21096If both %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES and
21097%G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS are set, this constructor is
21098guaranteed to complete immediately without blocking.
21099
21100If @name is a well-known name and the
21101%G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START and %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION
21102flags aren't set and no name owner currently exists, the message bus
21103will be requested to launch a name owner for the name.
21104
21105This is a failable asynchronous constructor - when the proxy is
21106ready, @callback will be invoked and you can use
21107g_dbus_proxy_new_finish() to get the result.
21108
21109See g_dbus_proxy_new_sync() and for a synchronous version of this constructor.
21110
21111#GDBusProxy is used in this [example][gdbus-wellknown-proxy].
21112
21113Since: 2.26
21114
21115</description>
21116<parameters>
21117<parameter name="connection">
21118<parameter_description> A #GDBusConnection.
21119</parameter_description>
21120</parameter>
21121<parameter name="flags">
21122<parameter_description> Flags used when constructing the proxy.
21123</parameter_description>
21124</parameter>
21125<parameter name="info">
21126<parameter_description> A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
21127</parameter_description>
21128</parameter>
21129<parameter name="name">
21130<parameter_description> A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
21131</parameter_description>
21132</parameter>
21133<parameter name="object_path">
21134<parameter_description> An object path.
21135</parameter_description>
21136</parameter>
21137<parameter name="interface_name">
21138<parameter_description> A D-Bus interface name.
21139</parameter_description>
21140</parameter>
21141<parameter name="cancellable">
21142<parameter_description> A #GCancellable or %NULL.
21143</parameter_description>
21144</parameter>
21145<parameter name="callback">
21146<parameter_description> Callback function to invoke when the proxy is ready.
21147</parameter_description>
21148</parameter>
21149<parameter name="user_data">
21150<parameter_description> User data to pass to @callback.
21151</parameter_description>
21152</parameter>
21153</parameters>
21154<return></return>
21155</function>
21156
21157<function name="g_dbus_proxy_new_finish">
21158<description>
21159Finishes creating a #GDBusProxy.
21160
21161Since: 2.26
21162
21163</description>
21164<parameters>
21165<parameter name="res">
21166<parameter_description> A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new().
21167</parameter_description>
21168</parameter>
21169<parameter name="error">
21170<parameter_description> Return location for error or %NULL.
21171</parameter_description>
21172</parameter>
21173</parameters>
21174<return> A #GDBusProxy or %NULL if @error is set.
21175Free with g_object_unref().
21176
21177</return>
21178</function>
21179
21180<function name="g_dbus_proxy_new_for_bus">
21181<description>
21182Like g_dbus_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
21183
21184#GDBusProxy is used in this [example][gdbus-wellknown-proxy].
21185
21186Since: 2.26
21187
21188</description>
21189<parameters>
21190<parameter name="bus_type">
21191<parameter_description> A #GBusType.
21192</parameter_description>
21193</parameter>
21194<parameter name="flags">
21195<parameter_description> Flags used when constructing the proxy.
21196</parameter_description>
21197</parameter>
21198<parameter name="info">
21199<parameter_description> A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
21200</parameter_description>
21201</parameter>
21202<parameter name="name">
21203<parameter_description> A bus name (well-known or unique).
21204</parameter_description>
21205</parameter>
21206<parameter name="object_path">
21207<parameter_description> An object path.
21208</parameter_description>
21209</parameter>
21210<parameter name="interface_name">
21211<parameter_description> A D-Bus interface name.
21212</parameter_description>
21213</parameter>
21214<parameter name="cancellable">
21215<parameter_description> A #GCancellable or %NULL.
21216</parameter_description>
21217</parameter>
21218<parameter name="callback">
21219<parameter_description> Callback function to invoke when the proxy is ready.
21220</parameter_description>
21221</parameter>
21222<parameter name="user_data">
21223<parameter_description> User data to pass to @callback.
21224</parameter_description>
21225</parameter>
21226</parameters>
21227<return></return>
21228</function>
21229
21230<function name="g_dbus_proxy_new_for_bus_finish">
21231<description>
21232Finishes creating a #GDBusProxy.
21233
21234Since: 2.26
21235
21236</description>
21237<parameters>
21238<parameter name="res">
21239<parameter_description> A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new_for_bus().
21240</parameter_description>
21241</parameter>
21242<parameter name="error">
21243<parameter_description> Return location for error or %NULL.
21244</parameter_description>
21245</parameter>
21246</parameters>
21247<return> A #GDBusProxy or %NULL if @error is set.
21248Free with g_object_unref().
21249
21250</return>
21251</function>
21252
21253<function name="g_dbus_proxy_new_for_bus_sync">
21254<description>
21255Like g_dbus_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
21256
21257#GDBusProxy is used in this [example][gdbus-wellknown-proxy].
21258
21259Since: 2.26
21260
21261</description>
21262<parameters>
21263<parameter name="bus_type">
21264<parameter_description> A #GBusType.
21265</parameter_description>
21266</parameter>
21267<parameter name="flags">
21268<parameter_description> Flags used when constructing the proxy.
21269</parameter_description>
21270</parameter>
21271<parameter name="info">
21272<parameter_description> A #GDBusInterfaceInfo specifying the minimal interface
21273that @proxy conforms to or %NULL.
21274</parameter_description>
21275</parameter>
21276<parameter name="name">
21277<parameter_description> A bus name (well-known or unique).
21278</parameter_description>
21279</parameter>
21280<parameter name="object_path">
21281<parameter_description> An object path.
21282</parameter_description>
21283</parameter>
21284<parameter name="interface_name">
21285<parameter_description> A D-Bus interface name.
21286</parameter_description>
21287</parameter>
21288<parameter name="cancellable">
21289<parameter_description> A #GCancellable or %NULL.
21290</parameter_description>
21291</parameter>
21292<parameter name="error">
21293<parameter_description> Return location for error or %NULL.
21294</parameter_description>
21295</parameter>
21296</parameters>
21297<return> A #GDBusProxy or %NULL if error is set.
21298Free with g_object_unref().
21299
21300</return>
21301</function>
21302
21303<function name="g_dbus_proxy_new_sync">
21304<description>
21305Creates a proxy for accessing @interface_name on the remote object
21306at @object_path owned by @name at @connection and synchronously
21307loads D-Bus properties unless the
21308%G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used.
21309
21310If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up
21311match rules for signals. Connect to the #GDBusProxy::g-signal signal
21312to handle signals from the remote object.
21313
21314If both %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES and
21315%G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS are set, this constructor is
21316guaranteed to return immediately without blocking.
21317
21318If @name is a well-known name and the
21319%G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START and %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION
21320flags aren't set and no name owner currently exists, the message bus
21321will be requested to launch a name owner for the name.
21322
21323This is a synchronous failable constructor. See g_dbus_proxy_new()
21324and g_dbus_proxy_new_finish() for the asynchronous version.
21325
21326#GDBusProxy is used in this [example][gdbus-wellknown-proxy].
21327
21328Since: 2.26
21329
21330</description>
21331<parameters>
21332<parameter name="connection">
21333<parameter_description> A #GDBusConnection.
21334</parameter_description>
21335</parameter>
21336<parameter name="flags">
21337<parameter_description> Flags used when constructing the proxy.
21338</parameter_description>
21339</parameter>
21340<parameter name="info">
21341<parameter_description> A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL.
21342</parameter_description>
21343</parameter>
21344<parameter name="name">
21345<parameter_description> A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
21346</parameter_description>
21347</parameter>
21348<parameter name="object_path">
21349<parameter_description> An object path.
21350</parameter_description>
21351</parameter>
21352<parameter name="interface_name">
21353<parameter_description> A D-Bus interface name.
21354</parameter_description>
21355</parameter>
21356<parameter name="cancellable">
21357<parameter_description> A #GCancellable or %NULL.
21358</parameter_description>
21359</parameter>
21360<parameter name="error">
21361<parameter_description> Return location for error or %NULL.
21362</parameter_description>
21363</parameter>
21364</parameters>
21365<return> A #GDBusProxy or %NULL if error is set.
21366Free with g_object_unref().
21367
21368</return>
21369</function>
21370
21371<function name="g_dbus_proxy_set_cached_property">
21372<description>
21373If @value is not %NULL, sets the cached value for the property with
21374name @property_name to the value in @value.
21375
21376If @value is %NULL, then the cached value is removed from the
21377property cache.
21378
21379If @proxy has an expected interface (see
21380#GDBusProxy:g-interface-info) and @property_name is referenced by
21381it, then @value is checked against the type of the property.
21382
21383If the @value #GVariant is floating, it is consumed. This allows
21384convenient 'inline' use of g_variant_new(), e.g.
21385|[&lt;!-- language=&quot;C&quot; --&gt;
21386g_dbus_proxy_set_cached_property (proxy,
21387&quot;SomeProperty&quot;,
21388g_variant_new (&quot;(si)&quot;,
21389&quot;A String&quot;,
2139042));
21391]|
21392
21393Normally you will not need to use this method since @proxy
21394is tracking changes using the
21395`org.freedesktop.DBus.Properties.PropertiesChanged`
21396D-Bus signal. However, for performance reasons an object may
21397decide to not use this signal for some properties and instead
21398use a proprietary out-of-band mechanism to transmit changes.
21399
21400As a concrete example, consider an object with a property
21401`ChatroomParticipants` which is an array of strings. Instead of
21402transmitting the same (long) array every time the property changes,
21403it is more efficient to only transmit the delta using e.g. signals
21404`ChatroomParticipantJoined(String name)` and
21405`ChatroomParticipantParted(String name)`.
21406
21407Since: 2.26
21408
21409</description>
21410<parameters>
21411<parameter name="proxy">
21412<parameter_description> A #GDBusProxy
21413</parameter_description>
21414</parameter>
21415<parameter name="property_name">
21416<parameter_description> Property name.
21417</parameter_description>
21418</parameter>
21419<parameter name="value">
21420<parameter_description> Value for the property or %NULL to remove it from the cache.
21421</parameter_description>
21422</parameter>
21423</parameters>
21424<return></return>
21425</function>
21426
21427<function name="g_dbus_proxy_set_default_timeout">
21428<description>
21429Sets the timeout to use if -1 (specifying default timeout) is
21430passed as @timeout_msec in the g_dbus_proxy_call() and
21431g_dbus_proxy_call_sync() functions.
21432
21433See the #GDBusProxy:g-default-timeout property for more details.
21434
21435Since: 2.26
21436
21437</description>
21438<parameters>
21439<parameter name="proxy">
21440<parameter_description> A #GDBusProxy.
21441</parameter_description>
21442</parameter>
21443<parameter name="timeout_msec">
21444<parameter_description> Timeout in milliseconds.
21445</parameter_description>
21446</parameter>
21447</parameters>
21448<return></return>
21449</function>
21450
21451<function name="g_dbus_proxy_set_interface_info">
21452<description>
21453Ensure that interactions with @proxy conform to the given
21454interface. See the #GDBusProxy:g-interface-info property for more
21455details.
21456
21457Since: 2.26
21458
21459</description>
21460<parameters>
21461<parameter name="proxy">
21462<parameter_description> A #GDBusProxy
21463</parameter_description>
21464</parameter>
21465<parameter name="info">
21466<parameter_description> Minimum interface this proxy conforms to
21467or %NULL to unset.
21468</parameter_description>
21469</parameter>
21470</parameters>
21471<return></return>
21472</function>
21473
21474<function name="g_dbus_server_get_client_address">
21475<description>
21476Gets a
21477[D-Bus address](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses)
21478string that can be used by clients to connect to @server.
21479
21480Since: 2.26
21481
21482</description>
21483<parameters>
21484<parameter name="server">
21485<parameter_description> A #GDBusServer.
21486</parameter_description>
21487</parameter>
21488</parameters>
21489<return> A D-Bus address string. Do not free, the string is owned
21490by @server.
21491
21492</return>
21493</function>
21494
21495<function name="g_dbus_server_get_flags">
21496<description>
21497Gets the flags for @server.
21498
21499Since: 2.26
21500
21501</description>
21502<parameters>
21503<parameter name="server">
21504<parameter_description> A #GDBusServer.
21505</parameter_description>
21506</parameter>
21507</parameters>
21508<return> A set of flags from the #GDBusServerFlags enumeration.
21509
21510</return>
21511</function>
21512
21513<function name="g_dbus_server_get_guid">
21514<description>
21515Gets the GUID for @server.
21516
21517Since: 2.26
21518
21519</description>
21520<parameters>
21521<parameter name="server">
21522<parameter_description> A #GDBusServer.
21523</parameter_description>
21524</parameter>
21525</parameters>
21526<return> A D-Bus GUID. Do not free this string, it is owned by @server.
21527
21528</return>
21529</function>
21530
21531<function name="g_dbus_server_is_active">
21532<description>
21533Gets whether @server is active.
21534
21535Since: 2.26
21536
21537</description>
21538<parameters>
21539<parameter name="server">
21540<parameter_description> A #GDBusServer.
21541</parameter_description>
21542</parameter>
21543</parameters>
21544<return> %TRUE if server is active, %FALSE otherwise.
21545
21546</return>
21547</function>
21548
21549<function name="g_dbus_server_new_sync">
21550<description>
21551Creates a new D-Bus server that listens on the first address in
21552@address that works.
21553
21554Once constructed, you can use g_dbus_server_get_client_address() to
21555get a D-Bus address string that clients can use to connect.
21556
21557To have control over the available authentication mechanisms and
21558the users that are authorized to connect, it is strongly recommended
21559to provide a non-%NULL #GDBusAuthObserver.
21560
21561Connect to the #GDBusServer::new-connection signal to handle
21562incoming connections.
21563
21564The returned #GDBusServer isn't active - you have to start it with
21565g_dbus_server_start().
21566
21567#GDBusServer is used in this [example][gdbus-peer-to-peer].
21568
21569This is a synchronous failable constructor. There is currently no
21570asynchronous version.
21571
21572Since: 2.26
21573
21574</description>
21575<parameters>
21576<parameter name="address">
21577<parameter_description> A D-Bus address.
21578</parameter_description>
21579</parameter>
21580<parameter name="flags">
21581<parameter_description> Flags from the #GDBusServerFlags enumeration.
21582</parameter_description>
21583</parameter>
21584<parameter name="guid">
21585<parameter_description> A D-Bus GUID.
21586</parameter_description>
21587</parameter>
21588<parameter name="observer">
21589<parameter_description> A #GDBusAuthObserver or %NULL.
21590</parameter_description>
21591</parameter>
21592<parameter name="cancellable">
21593<parameter_description> A #GCancellable or %NULL.
21594</parameter_description>
21595</parameter>
21596<parameter name="error">
21597<parameter_description> Return location for server or %NULL.
21598</parameter_description>
21599</parameter>
21600</parameters>
21601<return> A #GDBusServer or %NULL if @error is set. Free with
21602g_object_unref().
21603
21604</return>
21605</function>
21606
21607<function name="g_dbus_server_start">
21608<description>
21609Starts @server.
21610
21611Since: 2.26
21612
21613</description>
21614<parameters>
21615<parameter name="server">
21616<parameter_description> A #GDBusServer.
21617</parameter_description>
21618</parameter>
21619</parameters>
21620<return></return>
21621</function>
21622
21623<function name="g_dbus_server_stop">
21624<description>
21625Stops @server.
21626
21627Since: 2.26
21628
21629</description>
21630<parameters>
21631<parameter name="server">
21632<parameter_description> A #GDBusServer.
21633</parameter_description>
21634</parameter>
21635</parameters>
21636<return></return>
21637</function>
21638
21639<function name="g_dbus_signal_info_ref">
21640<description>
21641If @info is statically allocated does nothing. Otherwise increases
21642the reference count.
21643
21644Since: 2.26
21645
21646</description>
21647<parameters>
21648<parameter name="info">
21649<parameter_description> A #GDBusSignalInfo
21650</parameter_description>
21651</parameter>
21652</parameters>
21653<return> The same @info.
21654
21655</return>
21656</function>
21657
21658<function name="g_dbus_signal_info_unref">
21659<description>
21660If @info is statically allocated, does nothing. Otherwise decreases
21661the reference count of @info. When its reference count drops to 0,
21662the memory used is freed.
21663
21664Since: 2.26
21665
21666</description>
21667<parameters>
21668<parameter name="info">
21669<parameter_description> A #GDBusSignalInfo.
21670</parameter_description>
21671</parameter>
21672</parameters>
21673<return></return>
21674</function>
21675
21676<function name="g_desktop_app_info_get_action_name">
21677<description>
21678Gets the user-visible display name of the &quot;additional application
21679action&quot; specified by @action_name.
21680
21681This corresponds to the &quot;Name&quot; key within the keyfile group for the
21682action.
21683
21684Since: 2.38
21685
21686</description>
21687<parameters>
21688<parameter name="info">
21689<parameter_description> a #GDesktopAppInfo
21690</parameter_description>
21691</parameter>
21692<parameter name="action_name">
21693<parameter_description> the name of the action as from
21694g_desktop_app_info_list_actions()
21695</parameter_description>
21696</parameter>
21697</parameters>
21698<return> the locale-specific action name
21699
21700</return>
21701</function>
21702
21703<function name="g_desktop_app_info_get_boolean">
21704<description>
21705Looks up a boolean value in the keyfile backing @info.
21706
21707The @key is looked up in the &quot;Desktop Entry&quot; group.
21708
21709Since: 2.36
21710
21711</description>
21712<parameters>
21713<parameter name="info">
21714<parameter_description> a #GDesktopAppInfo
21715</parameter_description>
21716</parameter>
21717<parameter name="key">
21718<parameter_description> the key to look up
21719</parameter_description>
21720</parameter>
21721</parameters>
21722<return> the boolean value, or %FALSE if the key
21723is not found
21724
21725</return>
21726</function>
21727
21728<function name="g_desktop_app_info_get_categories">
21729<description>
21730Gets the categories from the desktop file.
21731
21732
21733</description>
21734<parameters>
21735<parameter name="info">
21736<parameter_description> a #GDesktopAppInfo
21737</parameter_description>
21738</parameter>
21739</parameters>
21740<return> The unparsed Categories key from the desktop file;
21741i.e. no attempt is made to split it by ';' or validate it.
21742</return>
21743</function>
21744
21745<function name="g_desktop_app_info_get_filename">
21746<description>
21747When @info was created from a known filename, return it.  In some
21748situations such as the #GDesktopAppInfo returned from
21749g_desktop_app_info_new_from_keyfile(), this function will return %NULL.
21750
21751Since: 2.24
21752
21753</description>
21754<parameters>
21755<parameter name="info">
21756<parameter_description> a #GDesktopAppInfo
21757</parameter_description>
21758</parameter>
21759</parameters>
21760<return> The full path to the file for @info,
21761or %NULL if not known.
21762</return>
21763</function>
21764
21765<function name="g_desktop_app_info_get_generic_name">
21766<description>
21767Gets the generic name from the destkop file.
21768
21769
21770</description>
21771<parameters>
21772<parameter name="info">
21773<parameter_description> a #GDesktopAppInfo
21774</parameter_description>
21775</parameter>
21776</parameters>
21777<return> The value of the GenericName key
21778</return>
21779</function>
21780
21781<function name="g_desktop_app_info_get_implementations">
21782<description>
21783Gets all applications that implement @interface.
21784
21785An application implements an interface if that interface is listed in
21786the Implements= line of the desktop file of the application.
21787
21788Since: 2.42
21789
21790</description>
21791<parameters>
21792<parameter name="interface">
21793<parameter_description> the name of the interface
21794</parameter_description>
21795</parameter>
21796</parameters>
21797<return> a list of #GDesktopAppInfo
21798objects.
21799
21800</return>
21801</function>
21802
21803<function name="g_desktop_app_info_get_is_hidden">
21804<description>
21805A desktop file is hidden if the Hidden key in it is
21806set to True.
21807
21808
21809</description>
21810<parameters>
21811<parameter name="info">
21812<parameter_description> a #GDesktopAppInfo.
21813</parameter_description>
21814</parameter>
21815</parameters>
21816<return> %TRUE if hidden, %FALSE otherwise.
21817</return>
21818</function>
21819
21820<function name="g_desktop_app_info_get_keywords">
21821<description>
21822Gets the keywords from the desktop file.
21823
21824Since: 2.32
21825
21826</description>
21827<parameters>
21828<parameter name="info">
21829<parameter_description> a #GDesktopAppInfo
21830</parameter_description>
21831</parameter>
21832</parameters>
21833<return> The value of the Keywords key
21834
21835</return>
21836</function>
21837
21838<function name="g_desktop_app_info_get_locale_string">
21839<description>
21840Looks up a localized string value in the keyfile backing @info
21841translated to the current locale.
21842
21843The @key is looked up in the &quot;Desktop Entry&quot; group.
21844
21845Since: 2.56
21846
21847</description>
21848<parameters>
21849<parameter name="info">
21850<parameter_description> a #GDesktopAppInfo
21851</parameter_description>
21852</parameter>
21853<parameter name="key">
21854<parameter_description> the key to look up
21855</parameter_description>
21856</parameter>
21857</parameters>
21858<return> a newly allocated string, or %NULL if the key
21859is not found
21860
21861</return>
21862</function>
21863
21864<function name="g_desktop_app_info_get_nodisplay">
21865<description>
21866Gets the value of the NoDisplay key, which helps determine if the
21867application info should be shown in menus. See
21868#G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show().
21869
21870Since: 2.30
21871
21872</description>
21873<parameters>
21874<parameter name="info">
21875<parameter_description> a #GDesktopAppInfo
21876</parameter_description>
21877</parameter>
21878</parameters>
21879<return> The value of the NoDisplay key
21880
21881</return>
21882</function>
21883
21884<function name="g_desktop_app_info_get_show_in">
21885<description>
21886Checks if the application info should be shown in menus that list available
21887applications for a specific name of the desktop, based on the
21888`OnlyShowIn` and `NotShowIn` keys.
21889
21890@desktop_env should typically be given as %NULL, in which case the
21891`XDG_CURRENT_DESKTOP` environment variable is consulted.  If you want
21892to override the default mechanism then you may specify @desktop_env,
21893but this is not recommended.
21894
21895Note that g_app_info_should_show() for @info will include this check (with
21896%NULL for @desktop_env) as well as additional checks.
21897
21898Since: 2.30
21899
21900</description>
21901<parameters>
21902<parameter name="info">
21903<parameter_description> a #GDesktopAppInfo
21904</parameter_description>
21905</parameter>
21906<parameter name="desktop_env">
21907<parameter_description> a string specifying a desktop name
21908</parameter_description>
21909</parameter>
21910</parameters>
21911<return> %TRUE if the @info should be shown in @desktop_env according to the
21912`OnlyShowIn` and `NotShowIn` keys, %FALSE
21913otherwise.
21914
21915</return>
21916</function>
21917
21918<function name="g_desktop_app_info_get_startup_wm_class">
21919<description>
21920Retrieves the StartupWMClass field from @info. This represents the
21921WM_CLASS property of the main window of the application, if launched
21922through @info.
21923
21924Since: 2.34
21925
21926</description>
21927<parameters>
21928<parameter name="info">
21929<parameter_description> a #GDesktopAppInfo that supports startup notify
21930</parameter_description>
21931</parameter>
21932</parameters>
21933<return> the startup WM class, or %NULL if none is set
21934in the desktop file.
21935
21936</return>
21937</function>
21938
21939<function name="g_desktop_app_info_get_string">
21940<description>
21941Looks up a string value in the keyfile backing @info.
21942
21943The @key is looked up in the &quot;Desktop Entry&quot; group.
21944
21945Since: 2.36
21946
21947</description>
21948<parameters>
21949<parameter name="info">
21950<parameter_description> a #GDesktopAppInfo
21951</parameter_description>
21952</parameter>
21953<parameter name="key">
21954<parameter_description> the key to look up
21955</parameter_description>
21956</parameter>
21957</parameters>
21958<return> a newly allocated string, or %NULL if the key
21959is not found
21960
21961</return>
21962</function>
21963
21964<function name="g_desktop_app_info_get_string_list">
21965<description>
21966Looks up a string list value in the keyfile backing @info.
21967
21968The @key is looked up in the &quot;Desktop Entry&quot; group.
21969
21970Since: 2.60
21971
21972</description>
21973<parameters>
21974<parameter name="info">
21975<parameter_description> a #GDesktopAppInfo
21976</parameter_description>
21977</parameter>
21978<parameter name="key">
21979<parameter_description> the key to look up
21980</parameter_description>
21981</parameter>
21982<parameter name="length">
21983<parameter_description> return location for the number of returned strings, or %NULL
21984</parameter_description>
21985</parameter>
21986</parameters>
21987<return>
21988a %NULL-terminated string array or %NULL if the specified
21989key cannot be found. The array should be freed with g_strfreev().
21990
21991</return>
21992</function>
21993
21994<function name="g_desktop_app_info_has_key">
21995<description>
21996Returns whether @key exists in the &quot;Desktop Entry&quot; group
21997of the keyfile backing @info.
21998
21999Since: 2.36
22000
22001</description>
22002<parameters>
22003<parameter name="info">
22004<parameter_description> a #GDesktopAppInfo
22005</parameter_description>
22006</parameter>
22007<parameter name="key">
22008<parameter_description> the key to look up
22009</parameter_description>
22010</parameter>
22011</parameters>
22012<return> %TRUE if the @key exists
22013
22014</return>
22015</function>
22016
22017<function name="g_desktop_app_info_launch_action">
22018<description>
22019Activates the named application action.
22020
22021You may only call this function on action names that were
22022returned from g_desktop_app_info_list_actions().
22023
22024Note that if the main entry of the desktop file indicates that the
22025application supports startup notification, and @launch_context is
22026non-%NULL, then startup notification will be used when activating the
22027action (and as such, invocation of the action on the receiving side
22028must signal the end of startup notification when it is completed).
22029This is the expected behaviour of applications declaring additional
22030actions, as per the desktop file specification.
22031
22032As with g_app_info_launch() there is no way to detect failures that
22033occur while using this function.
22034
22035Since: 2.38
22036
22037</description>
22038<parameters>
22039<parameter name="info">
22040<parameter_description> a #GDesktopAppInfo
22041</parameter_description>
22042</parameter>
22043<parameter name="action_name">
22044<parameter_description> the name of the action as from
22045g_desktop_app_info_list_actions()
22046</parameter_description>
22047</parameter>
22048<parameter name="launch_context">
22049<parameter_description> a #GAppLaunchContext
22050</parameter_description>
22051</parameter>
22052</parameters>
22053<return></return>
22054</function>
22055
22056<function name="g_desktop_app_info_launch_uris_as_manager">
22057<description>
22058This function performs the equivalent of g_app_info_launch_uris(),
22059but is intended primarily for operating system components that
22060launch applications.  Ordinary applications should use
22061g_app_info_launch_uris().
22062
22063If the application is launched via GSpawn, then @spawn_flags, @user_setup
22064and @user_setup_data are used for the call to g_spawn_async().
22065Additionally, @pid_callback (with @pid_callback_data) will be called to
22066inform about the PID of the created process. See g_spawn_async_with_pipes()
22067for information on certain parameter conditions that can enable an
22068optimized posix_spawn() codepath to be used.
22069
22070If application launching occurs via some other mechanism (eg: D-Bus
22071activation) then @spawn_flags, @user_setup, @user_setup_data,
22072@pid_callback and @pid_callback_data are ignored.
22073
22074
22075</description>
22076<parameters>
22077<parameter name="appinfo">
22078<parameter_description> a #GDesktopAppInfo
22079</parameter_description>
22080</parameter>
22081<parameter name="uris">
22082<parameter_description> List of URIs
22083</parameter_description>
22084</parameter>
22085<parameter name="launch_context">
22086<parameter_description> a #GAppLaunchContext
22087</parameter_description>
22088</parameter>
22089<parameter name="spawn_flags">
22090<parameter_description> #GSpawnFlags, used for each process
22091</parameter_description>
22092</parameter>
22093<parameter name="user_setup">
22094<parameter_description> a #GSpawnChildSetupFunc, used once
22095for each process.
22096</parameter_description>
22097</parameter>
22098<parameter name="user_setup_data">
22099<parameter_description> User data for @user_setup
22100</parameter_description>
22101</parameter>
22102<parameter name="pid_callback">
22103<parameter_description> Callback for child processes
22104</parameter_description>
22105</parameter>
22106<parameter name="pid_callback_data">
22107<parameter_description> User data for @callback
22108</parameter_description>
22109</parameter>
22110<parameter name="error">
22111<parameter_description> return location for a #GError, or %NULL
22112</parameter_description>
22113</parameter>
22114</parameters>
22115<return> %TRUE on successful launch, %FALSE otherwise.
22116</return>
22117</function>
22118
22119<function name="g_desktop_app_info_launch_uris_as_manager_with_fds">
22120<description>
22121Equivalent to g_desktop_app_info_launch_uris_as_manager() but allows
22122you to pass in file descriptors for the stdin, stdout and stderr streams
22123of the launched process.
22124
22125If application launching occurs via some non-spawn mechanism (e.g. D-Bus
22126activation) then @stdin_fd, @stdout_fd and @stderr_fd are ignored.
22127
22128Since: 2.58
22129
22130</description>
22131<parameters>
22132<parameter name="appinfo">
22133<parameter_description> a #GDesktopAppInfo
22134</parameter_description>
22135</parameter>
22136<parameter name="uris">
22137<parameter_description> List of URIs
22138</parameter_description>
22139</parameter>
22140<parameter name="launch_context">
22141<parameter_description> a #GAppLaunchContext
22142</parameter_description>
22143</parameter>
22144<parameter name="spawn_flags">
22145<parameter_description> #GSpawnFlags, used for each process
22146</parameter_description>
22147</parameter>
22148<parameter name="user_setup">
22149<parameter_description> a #GSpawnChildSetupFunc, used once
22150for each process.
22151</parameter_description>
22152</parameter>
22153<parameter name="user_setup_data">
22154<parameter_description> User data for @user_setup
22155</parameter_description>
22156</parameter>
22157<parameter name="pid_callback">
22158<parameter_description> Callback for child processes
22159</parameter_description>
22160</parameter>
22161<parameter name="pid_callback_data">
22162<parameter_description> User data for @callback
22163</parameter_description>
22164</parameter>
22165<parameter name="stdin_fd">
22166<parameter_description> file descriptor to use for child's stdin, or -1
22167</parameter_description>
22168</parameter>
22169<parameter name="stdout_fd">
22170<parameter_description> file descriptor to use for child's stdout, or -1
22171</parameter_description>
22172</parameter>
22173<parameter name="stderr_fd">
22174<parameter_description> file descriptor to use for child's stderr, or -1
22175</parameter_description>
22176</parameter>
22177<parameter name="error">
22178<parameter_description> return location for a #GError, or %NULL
22179</parameter_description>
22180</parameter>
22181</parameters>
22182<return> %TRUE on successful launch, %FALSE otherwise.
22183
22184</return>
22185</function>
22186
22187<function name="g_desktop_app_info_list_actions">
22188<description>
22189Returns the list of &quot;additional application actions&quot; supported on the
22190desktop file, as per the desktop file specification.
22191
22192As per the specification, this is the list of actions that are
22193explicitly listed in the &quot;Actions&quot; key of the [Desktop Entry] group.
22194
22195Since: 2.38
22196
22197</description>
22198<parameters>
22199<parameter name="info">
22200<parameter_description> a #GDesktopAppInfo
22201</parameter_description>
22202</parameter>
22203</parameters>
22204<return> a list of strings, always non-%NULL
22205
22206</return>
22207</function>
22208
22209<function name="g_desktop_app_info_lookup_get_default_for_uri_scheme">
22210<description>
22211Gets the default application for launching applications
22212using this URI scheme for a particular #GDesktopAppInfoLookup
22213implementation.
22214
22215The #GDesktopAppInfoLookup interface and this function is used
22216to implement g_app_info_get_default_for_uri_scheme() backends
22217in a GIO module. There is no reason for applications to use it
22218directly. Applications should use g_app_info_get_default_for_uri_scheme().
22219
22220Deprecated: 2.28: The #GDesktopAppInfoLookup interface is deprecated and
22221unused by GIO.
22222
22223</description>
22224<parameters>
22225<parameter name="lookup">
22226<parameter_description> a #GDesktopAppInfoLookup
22227</parameter_description>
22228</parameter>
22229<parameter name="uri_scheme">
22230<parameter_description> a string containing a URI scheme.
22231</parameter_description>
22232</parameter>
22233</parameters>
22234<return> #GAppInfo for given @uri_scheme or %NULL on error.
22235
22236</return>
22237</function>
22238
22239<function name="g_desktop_app_info_new">
22240<description>
22241Creates a new #GDesktopAppInfo based on a desktop file id.
22242
22243A desktop file id is the basename of the desktop file, including the
22244.desktop extension. GIO is looking for a desktop file with this name
22245in the `applications` subdirectories of the XDG
22246data directories (i.e. the directories specified in the `XDG_DATA_HOME`
22247and `XDG_DATA_DIRS` environment variables). GIO also supports the
22248prefix-to-subdirectory mapping that is described in the
22249[Menu Spec](http://standards.freedesktop.org/menu-spec/latest/)
22250(i.e. a desktop id of kde-foo.desktop will match
22251`/usr/share/applications/kde/foo.desktop`).
22252
22253
22254</description>
22255<parameters>
22256<parameter name="desktop_id">
22257<parameter_description> the desktop file id
22258</parameter_description>
22259</parameter>
22260</parameters>
22261<return> a new #GDesktopAppInfo, or %NULL if no desktop
22262file with that id exists.
22263</return>
22264</function>
22265
22266<function name="g_desktop_app_info_new_from_filename">
22267<description>
22268Creates a new #GDesktopAppInfo.
22269
22270
22271</description>
22272<parameters>
22273<parameter name="filename">
22274<parameter_description> the path of a desktop file, in the GLib
22275filename encoding
22276</parameter_description>
22277</parameter>
22278</parameters>
22279<return> a new #GDesktopAppInfo or %NULL on error.
22280</return>
22281</function>
22282
22283<function name="g_desktop_app_info_new_from_keyfile">
22284<description>
22285Creates a new #GDesktopAppInfo.
22286
22287Since: 2.18
22288
22289</description>
22290<parameters>
22291<parameter name="key_file">
22292<parameter_description> an opened #GKeyFile
22293</parameter_description>
22294</parameter>
22295</parameters>
22296<return> a new #GDesktopAppInfo or %NULL on error.
22297
22298</return>
22299</function>
22300
22301<function name="g_desktop_app_info_search">
22302<description>
22303Searches desktop files for ones that match @search_string.
22304
22305The return value is an array of strvs.  Each strv contains a list of
22306applications that matched @search_string with an equal score.  The
22307outer list is sorted by score so that the first strv contains the
22308best-matching applications, and so on.
22309The algorithm for determining matches is undefined and may change at
22310any time.
22311
22312
22313</description>
22314<parameters>
22315<parameter name="search_string">
22316<parameter_description> the search string to use
22317</parameter_description>
22318</parameter>
22319</parameters>
22320<return> a
22321list of strvs.  Free each item with g_strfreev() and free the outer
22322list with g_free().
22323</return>
22324</function>
22325
22326<function name="g_desktop_app_info_set_desktop_env">
22327<description>
22328Sets the name of the desktop that the application is running in.
22329This is used by g_app_info_should_show() and
22330g_desktop_app_info_get_show_in() to evaluate the
22331`OnlyShowIn` and `NotShowIn`
22332desktop entry fields.
22333
22334Should be called only once; subsequent calls are ignored.
22335
22336Deprecated:2.42:do not use this API.  Since 2.42 the value of the
22337`XDG_CURRENT_DESKTOP` environment variable will be used.
22338
22339</description>
22340<parameters>
22341<parameter name="desktop_env">
22342<parameter_description> a string specifying what desktop this is
22343</parameter_description>
22344</parameter>
22345</parameters>
22346<return></return>
22347</function>
22348
22349<function name="g_drive_can_eject">
22350<description>
22351Checks if a drive can be ejected.
22352
22353
22354</description>
22355<parameters>
22356<parameter name="drive">
22357<parameter_description> a #GDrive.
22358</parameter_description>
22359</parameter>
22360</parameters>
22361<return> %TRUE if the @drive can be ejected, %FALSE otherwise.
22362</return>
22363</function>
22364
22365<function name="g_drive_can_poll_for_media">
22366<description>
22367Checks if a drive can be polled for media changes.
22368
22369
22370</description>
22371<parameters>
22372<parameter name="drive">
22373<parameter_description> a #GDrive.
22374</parameter_description>
22375</parameter>
22376</parameters>
22377<return> %TRUE if the @drive can be polled for media changes,
22378%FALSE otherwise.
22379</return>
22380</function>
22381
22382<function name="g_drive_can_start">
22383<description>
22384Checks if a drive can be started.
22385
22386Since: 2.22
22387
22388</description>
22389<parameters>
22390<parameter name="drive">
22391<parameter_description> a #GDrive.
22392</parameter_description>
22393</parameter>
22394</parameters>
22395<return> %TRUE if the @drive can be started, %FALSE otherwise.
22396
22397</return>
22398</function>
22399
22400<function name="g_drive_can_start_degraded">
22401<description>
22402Checks if a drive can be started degraded.
22403
22404Since: 2.22
22405
22406</description>
22407<parameters>
22408<parameter name="drive">
22409<parameter_description> a #GDrive.
22410</parameter_description>
22411</parameter>
22412</parameters>
22413<return> %TRUE if the @drive can be started degraded, %FALSE otherwise.
22414
22415</return>
22416</function>
22417
22418<function name="g_drive_can_stop">
22419<description>
22420Checks if a drive can be stopped.
22421
22422Since: 2.22
22423
22424</description>
22425<parameters>
22426<parameter name="drive">
22427<parameter_description> a #GDrive.
22428</parameter_description>
22429</parameter>
22430</parameters>
22431<return> %TRUE if the @drive can be stopped, %FALSE otherwise.
22432
22433</return>
22434</function>
22435
22436<function name="g_drive_eject">
22437<description>
22438Asynchronously ejects a drive.
22439
22440When the operation is finished, @callback will be called.
22441You can then call g_drive_eject_finish() to obtain the
22442result of the operation.
22443
22444Deprecated: 2.22: Use g_drive_eject_with_operation() instead.
22445
22446</description>
22447<parameters>
22448<parameter name="drive">
22449<parameter_description> a #GDrive.
22450</parameter_description>
22451</parameter>
22452<parameter name="flags">
22453<parameter_description> flags affecting the unmount if required for eject
22454</parameter_description>
22455</parameter>
22456<parameter name="cancellable">
22457<parameter_description> optional #GCancellable object, %NULL to ignore.
22458</parameter_description>
22459</parameter>
22460<parameter name="callback">
22461<parameter_description> a #GAsyncReadyCallback, or %NULL.
22462</parameter_description>
22463</parameter>
22464<parameter name="user_data">
22465<parameter_description> user data to pass to @callback
22466</parameter_description>
22467</parameter>
22468</parameters>
22469<return></return>
22470</function>
22471
22472<function name="g_drive_eject_finish">
22473<description>
22474Finishes ejecting a drive.
22475
22476Deprecated: 2.22: Use g_drive_eject_with_operation_finish() instead.
22477
22478</description>
22479<parameters>
22480<parameter name="drive">
22481<parameter_description> a #GDrive.
22482</parameter_description>
22483</parameter>
22484<parameter name="result">
22485<parameter_description> a #GAsyncResult.
22486</parameter_description>
22487</parameter>
22488<parameter name="error">
22489<parameter_description> a #GError, or %NULL
22490</parameter_description>
22491</parameter>
22492</parameters>
22493<return> %TRUE if the drive has been ejected successfully,
22494%FALSE otherwise.
22495
22496</return>
22497</function>
22498
22499<function name="g_drive_eject_with_operation">
22500<description>
22501Ejects a drive. This is an asynchronous operation, and is
22502finished by calling g_drive_eject_with_operation_finish() with the @drive
22503and #GAsyncResult data returned in the @callback.
22504
22505Since: 2.22
22506
22507</description>
22508<parameters>
22509<parameter name="drive">
22510<parameter_description> a #GDrive.
22511</parameter_description>
22512</parameter>
22513<parameter name="flags">
22514<parameter_description> flags affecting the unmount if required for eject
22515</parameter_description>
22516</parameter>
22517<parameter name="mount_operation">
22518<parameter_description> a #GMountOperation or %NULL to avoid
22519user interaction.
22520</parameter_description>
22521</parameter>
22522<parameter name="cancellable">
22523<parameter_description> optional #GCancellable object, %NULL to ignore.
22524</parameter_description>
22525</parameter>
22526<parameter name="callback">
22527<parameter_description> a #GAsyncReadyCallback, or %NULL.
22528</parameter_description>
22529</parameter>
22530<parameter name="user_data">
22531<parameter_description> user data passed to @callback.
22532</parameter_description>
22533</parameter>
22534</parameters>
22535<return></return>
22536</function>
22537
22538<function name="g_drive_eject_with_operation_finish">
22539<description>
22540Finishes ejecting a drive. If any errors occurred during the operation,
22541@error will be set to contain the errors and %FALSE will be returned.
22542
22543Since: 2.22
22544
22545</description>
22546<parameters>
22547<parameter name="drive">
22548<parameter_description> a #GDrive.
22549</parameter_description>
22550</parameter>
22551<parameter name="result">
22552<parameter_description> a #GAsyncResult.
22553</parameter_description>
22554</parameter>
22555<parameter name="error">
22556<parameter_description> a #GError location to store the error occurring, or %NULL to
22557ignore.
22558</parameter_description>
22559</parameter>
22560</parameters>
22561<return> %TRUE if the drive was successfully ejected. %FALSE otherwise.
22562
22563</return>
22564</function>
22565
22566<function name="g_drive_enumerate_identifiers">
22567<description>
22568Gets the kinds of identifiers that @drive has.
22569Use g_drive_get_identifier() to obtain the identifiers
22570themselves.
22571
22572
22573</description>
22574<parameters>
22575<parameter name="drive">
22576<parameter_description> a #GDrive
22577</parameter_description>
22578</parameter>
22579</parameters>
22580<return> a %NULL-terminated
22581array of strings containing kinds of identifiers. Use g_strfreev()
22582to free.
22583</return>
22584</function>
22585
22586<function name="g_drive_get_icon">
22587<description>
22588Gets the icon for @drive.
22589
22590
22591</description>
22592<parameters>
22593<parameter name="drive">
22594<parameter_description> a #GDrive.
22595</parameter_description>
22596</parameter>
22597</parameters>
22598<return> #GIcon for the @drive.
22599Free the returned object with g_object_unref().
22600</return>
22601</function>
22602
22603<function name="g_drive_get_identifier">
22604<description>
22605Gets the identifier of the given kind for @drive. The only
22606identifier currently available is
22607#G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE.
22608
22609
22610</description>
22611<parameters>
22612<parameter name="drive">
22613<parameter_description> a #GDrive
22614</parameter_description>
22615</parameter>
22616<parameter name="kind">
22617<parameter_description> the kind of identifier to return
22618</parameter_description>
22619</parameter>
22620</parameters>
22621<return> a newly allocated string containing the
22622requested identifier, or %NULL if the #GDrive
22623doesn't have this kind of identifier.
22624</return>
22625</function>
22626
22627<function name="g_drive_get_name">
22628<description>
22629Gets the name of @drive.
22630
22631
22632</description>
22633<parameters>
22634<parameter name="drive">
22635<parameter_description> a #GDrive.
22636</parameter_description>
22637</parameter>
22638</parameters>
22639<return> a string containing @drive's name. The returned
22640string should be freed when no longer needed.
22641</return>
22642</function>
22643
22644<function name="g_drive_get_sort_key">
22645<description>
22646Gets the sort key for @drive, if any.
22647
22648Since: 2.32
22649
22650</description>
22651<parameters>
22652<parameter name="drive">
22653<parameter_description> A #GDrive.
22654</parameter_description>
22655</parameter>
22656</parameters>
22657<return> Sorting key for @drive or %NULL if no such key is available.
22658
22659</return>
22660</function>
22661
22662<function name="g_drive_get_start_stop_type">
22663<description>
22664Gets a hint about how a drive can be started/stopped.
22665
22666Since: 2.22
22667
22668</description>
22669<parameters>
22670<parameter name="drive">
22671<parameter_description> a #GDrive.
22672</parameter_description>
22673</parameter>
22674</parameters>
22675<return> A value from the #GDriveStartStopType enumeration.
22676
22677</return>
22678</function>
22679
22680<function name="g_drive_get_symbolic_icon">
22681<description>
22682Gets the icon for @drive.
22683
22684Since: 2.34
22685
22686</description>
22687<parameters>
22688<parameter name="drive">
22689<parameter_description> a #GDrive.
22690</parameter_description>
22691</parameter>
22692</parameters>
22693<return> symbolic #GIcon for the @drive.
22694Free the returned object with g_object_unref().
22695
22696</return>
22697</function>
22698
22699<function name="g_drive_get_volumes">
22700<description>
22701Get a list of mountable volumes for @drive.
22702
22703The returned list should be freed with g_list_free(), after
22704its elements have been unreffed with g_object_unref().
22705
22706
22707</description>
22708<parameters>
22709<parameter name="drive">
22710<parameter_description> a #GDrive.
22711</parameter_description>
22712</parameter>
22713</parameters>
22714<return> #GList containing any #GVolume objects on the given @drive.
22715</return>
22716</function>
22717
22718<function name="g_drive_has_media">
22719<description>
22720Checks if the @drive has media. Note that the OS may not be polling
22721the drive for media changes; see g_drive_is_media_check_automatic()
22722for more details.
22723
22724
22725</description>
22726<parameters>
22727<parameter name="drive">
22728<parameter_description> a #GDrive.
22729</parameter_description>
22730</parameter>
22731</parameters>
22732<return> %TRUE if @drive has media, %FALSE otherwise.
22733</return>
22734</function>
22735
22736<function name="g_drive_has_volumes">
22737<description>
22738Check if @drive has any mountable volumes.
22739
22740
22741</description>
22742<parameters>
22743<parameter name="drive">
22744<parameter_description> a #GDrive.
22745</parameter_description>
22746</parameter>
22747</parameters>
22748<return> %TRUE if the @drive contains volumes, %FALSE otherwise.
22749</return>
22750</function>
22751
22752<function name="g_drive_is_media_check_automatic">
22753<description>
22754Checks if @drive is capabable of automatically detecting media changes.
22755
22756
22757</description>
22758<parameters>
22759<parameter name="drive">
22760<parameter_description> a #GDrive.
22761</parameter_description>
22762</parameter>
22763</parameters>
22764<return> %TRUE if the @drive is capabable of automatically detecting
22765media changes, %FALSE otherwise.
22766</return>
22767</function>
22768
22769<function name="g_drive_is_media_removable">
22770<description>
22771Checks if the @drive supports removable media.
22772
22773
22774</description>
22775<parameters>
22776<parameter name="drive">
22777<parameter_description> a #GDrive.
22778</parameter_description>
22779</parameter>
22780</parameters>
22781<return> %TRUE if @drive supports removable media, %FALSE otherwise.
22782</return>
22783</function>
22784
22785<function name="g_drive_is_removable">
22786<description>
22787Checks if the #GDrive and/or its media is considered removable by the user.
22788See g_drive_is_media_removable().
22789
22790Since: 2.50
22791
22792</description>
22793<parameters>
22794<parameter name="drive">
22795<parameter_description> a #GDrive.
22796</parameter_description>
22797</parameter>
22798</parameters>
22799<return> %TRUE if @drive and/or its media is considered removable, %FALSE otherwise.
22800
22801</return>
22802</function>
22803
22804<function name="g_drive_poll_for_media">
22805<description>
22806Asynchronously polls @drive to see if media has been inserted or removed.
22807
22808When the operation is finished, @callback will be called.
22809You can then call g_drive_poll_for_media_finish() to obtain the
22810result of the operation.
22811
22812</description>
22813<parameters>
22814<parameter name="drive">
22815<parameter_description> a #GDrive.
22816</parameter_description>
22817</parameter>
22818<parameter name="cancellable">
22819<parameter_description> optional #GCancellable object, %NULL to ignore.
22820</parameter_description>
22821</parameter>
22822<parameter name="callback">
22823<parameter_description> a #GAsyncReadyCallback, or %NULL.
22824</parameter_description>
22825</parameter>
22826<parameter name="user_data">
22827<parameter_description> user data to pass to @callback
22828</parameter_description>
22829</parameter>
22830</parameters>
22831<return></return>
22832</function>
22833
22834<function name="g_drive_poll_for_media_finish">
22835<description>
22836Finishes an operation started with g_drive_poll_for_media() on a drive.
22837
22838
22839</description>
22840<parameters>
22841<parameter name="drive">
22842<parameter_description> a #GDrive.
22843</parameter_description>
22844</parameter>
22845<parameter name="result">
22846<parameter_description> a #GAsyncResult.
22847</parameter_description>
22848</parameter>
22849<parameter name="error">
22850<parameter_description> a #GError, or %NULL
22851</parameter_description>
22852</parameter>
22853</parameters>
22854<return> %TRUE if the drive has been poll_for_mediaed successfully,
22855%FALSE otherwise.
22856</return>
22857</function>
22858
22859<function name="g_drive_start">
22860<description>
22861Asynchronously starts a drive.
22862
22863When the operation is finished, @callback will be called.
22864You can then call g_drive_start_finish() to obtain the
22865result of the operation.
22866
22867Since: 2.22
22868
22869</description>
22870<parameters>
22871<parameter name="drive">
22872<parameter_description> a #GDrive.
22873</parameter_description>
22874</parameter>
22875<parameter name="flags">
22876<parameter_description> flags affecting the start operation.
22877</parameter_description>
22878</parameter>
22879<parameter name="mount_operation">
22880<parameter_description> a #GMountOperation or %NULL to avoid
22881user interaction.
22882</parameter_description>
22883</parameter>
22884<parameter name="cancellable">
22885<parameter_description> optional #GCancellable object, %NULL to ignore.
22886</parameter_description>
22887</parameter>
22888<parameter name="callback">
22889<parameter_description> a #GAsyncReadyCallback, or %NULL.
22890</parameter_description>
22891</parameter>
22892<parameter name="user_data">
22893<parameter_description> user data to pass to @callback
22894</parameter_description>
22895</parameter>
22896</parameters>
22897<return></return>
22898</function>
22899
22900<function name="g_drive_start_finish">
22901<description>
22902Finishes starting a drive.
22903
22904Since: 2.22
22905
22906</description>
22907<parameters>
22908<parameter name="drive">
22909<parameter_description> a #GDrive.
22910</parameter_description>
22911</parameter>
22912<parameter name="result">
22913<parameter_description> a #GAsyncResult.
22914</parameter_description>
22915</parameter>
22916<parameter name="error">
22917<parameter_description> a #GError, or %NULL
22918</parameter_description>
22919</parameter>
22920</parameters>
22921<return> %TRUE if the drive has been started successfully,
22922%FALSE otherwise.
22923
22924</return>
22925</function>
22926
22927<function name="g_drive_stop">
22928<description>
22929Asynchronously stops a drive.
22930
22931When the operation is finished, @callback will be called.
22932You can then call g_drive_stop_finish() to obtain the
22933result of the operation.
22934
22935Since: 2.22
22936
22937</description>
22938<parameters>
22939<parameter name="drive">
22940<parameter_description> a #GDrive.
22941</parameter_description>
22942</parameter>
22943<parameter name="flags">
22944<parameter_description> flags affecting the unmount if required for stopping.
22945</parameter_description>
22946</parameter>
22947<parameter name="mount_operation">
22948<parameter_description> a #GMountOperation or %NULL to avoid
22949user interaction.
22950</parameter_description>
22951</parameter>
22952<parameter name="cancellable">
22953<parameter_description> optional #GCancellable object, %NULL to ignore.
22954</parameter_description>
22955</parameter>
22956<parameter name="callback">
22957<parameter_description> a #GAsyncReadyCallback, or %NULL.
22958</parameter_description>
22959</parameter>
22960<parameter name="user_data">
22961<parameter_description> user data to pass to @callback
22962</parameter_description>
22963</parameter>
22964</parameters>
22965<return></return>
22966</function>
22967
22968<function name="g_drive_stop_finish">
22969<description>
22970Finishes stopping a drive.
22971
22972Since: 2.22
22973
22974</description>
22975<parameters>
22976<parameter name="drive">
22977<parameter_description> a #GDrive.
22978</parameter_description>
22979</parameter>
22980<parameter name="result">
22981<parameter_description> a #GAsyncResult.
22982</parameter_description>
22983</parameter>
22984<parameter name="error">
22985<parameter_description> a #GError, or %NULL
22986</parameter_description>
22987</parameter>
22988</parameters>
22989<return> %TRUE if the drive has been stopped successfully,
22990%FALSE otherwise.
22991
22992</return>
22993</function>
22994
22995<function name="g_dtls_client_connection_get_accepted_cas">
22996<description>
22997Gets the list of distinguished names of the Certificate Authorities
22998that the server will accept certificates from. This will be set
22999during the TLS handshake if the server requests a certificate.
23000Otherwise, it will be %NULL.
23001
23002Each item in the list is a #GByteArray which contains the complete
23003subject DN of the certificate authority.
23004
23005Since: 2.48
23006
23007</description>
23008<parameters>
23009<parameter name="conn">
23010<parameter_description> the #GDtlsClientConnection
23011</parameter_description>
23012</parameter>
23013</parameters>
23014<return> the list of
23015CA DNs. You should unref each element with g_byte_array_unref() and then
23016the free the list with g_list_free().
23017
23018</return>
23019</function>
23020
23021<function name="g_dtls_client_connection_get_server_identity">
23022<description>
23023Gets @conn's expected server identity
23024
23025Since: 2.48
23026
23027</description>
23028<parameters>
23029<parameter name="conn">
23030<parameter_description> the #GDtlsClientConnection
23031</parameter_description>
23032</parameter>
23033</parameters>
23034<return> a #GSocketConnectable describing the
23035expected server identity, or %NULL if the expected identity is not
23036known.
23037
23038</return>
23039</function>
23040
23041<function name="g_dtls_client_connection_get_validation_flags">
23042<description>
23043Gets @conn's validation flags
23044
23045Since: 2.48
23046
23047</description>
23048<parameters>
23049<parameter name="conn">
23050<parameter_description> the #GDtlsClientConnection
23051</parameter_description>
23052</parameter>
23053</parameters>
23054<return> the validation flags
23055
23056</return>
23057</function>
23058
23059<function name="g_dtls_client_connection_new">
23060<description>
23061Creates a new #GDtlsClientConnection wrapping @base_socket which is
23062assumed to communicate with the server identified by @server_identity.
23063
23064Since: 2.48
23065
23066</description>
23067<parameters>
23068<parameter name="base_socket">
23069<parameter_description> the #GDatagramBased to wrap
23070</parameter_description>
23071</parameter>
23072<parameter name="server_identity">
23073<parameter_description> the expected identity of the server
23074</parameter_description>
23075</parameter>
23076<parameter name="error">
23077<parameter_description> #GError for error reporting, or %NULL to ignore.
23078</parameter_description>
23079</parameter>
23080</parameters>
23081<return> the new
23082#GDtlsClientConnection, or %NULL on error
23083
23084</return>
23085</function>
23086
23087<function name="g_dtls_client_connection_set_server_identity">
23088<description>
23089Sets @conn's expected server identity, which is used both to tell
23090servers on virtual hosts which certificate to present, and also
23091to let @conn know what name to look for in the certificate when
23092performing %G_TLS_CERTIFICATE_BAD_IDENTITY validation, if enabled.
23093
23094Since: 2.48
23095
23096</description>
23097<parameters>
23098<parameter name="conn">
23099<parameter_description> the #GDtlsClientConnection
23100</parameter_description>
23101</parameter>
23102<parameter name="identity">
23103<parameter_description> a #GSocketConnectable describing the expected server identity
23104</parameter_description>
23105</parameter>
23106</parameters>
23107<return></return>
23108</function>
23109
23110<function name="g_dtls_client_connection_set_validation_flags">
23111<description>
23112Sets @conn's validation flags, to override the default set of
23113checks performed when validating a server certificate. By default,
23114%G_TLS_CERTIFICATE_VALIDATE_ALL is used.
23115
23116Since: 2.48
23117
23118</description>
23119<parameters>
23120<parameter name="conn">
23121<parameter_description> the #GDtlsClientConnection
23122</parameter_description>
23123</parameter>
23124<parameter name="flags">
23125<parameter_description> the #GTlsCertificateFlags to use
23126</parameter_description>
23127</parameter>
23128</parameters>
23129<return></return>
23130</function>
23131
23132<function name="g_dtls_connection_close">
23133<description>
23134Close the DTLS connection. This is equivalent to calling
23135g_dtls_connection_shutdown() to shut down both sides of the connection.
23136
23137Closing a #GDtlsConnection waits for all buffered but untransmitted data to
23138be sent before it completes. It then sends a `close_notify` DTLS alert to the
23139peer and may wait for a `close_notify` to be received from the peer. It does
23140not close the underlying #GDtlsConnection:base-socket; that must be closed
23141separately.
23142
23143Once @conn is closed, all other operations will return %G_IO_ERROR_CLOSED.
23144Closing a #GDtlsConnection multiple times will not return an error.
23145
23146#GDtlsConnections will be automatically closed when the last reference is
23147dropped, but you might want to call this function to make sure resources are
23148released as early as possible.
23149
23150If @cancellable is cancelled, the #GDtlsConnection may be left
23151partially-closed and any pending untransmitted data may be lost. Call
23152g_dtls_connection_close() again to complete closing the #GDtlsConnection.
23153
23154Since: 2.48
23155
23156</description>
23157<parameters>
23158<parameter name="conn">
23159<parameter_description> a #GDtlsConnection
23160</parameter_description>
23161</parameter>
23162<parameter name="cancellable">
23163<parameter_description> a #GCancellable, or %NULL
23164</parameter_description>
23165</parameter>
23166<parameter name="error">
23167<parameter_description> a #GError, or %NULL
23168</parameter_description>
23169</parameter>
23170</parameters>
23171<return> %TRUE on success, %FALSE otherwise
23172
23173</return>
23174</function>
23175
23176<function name="g_dtls_connection_close_async">
23177<description>
23178Asynchronously close the DTLS connection. See g_dtls_connection_close() for
23179more information.
23180
23181Since: 2.48
23182
23183</description>
23184<parameters>
23185<parameter name="conn">
23186<parameter_description> a #GDtlsConnection
23187</parameter_description>
23188</parameter>
23189<parameter name="io_priority">
23190<parameter_description> the [I/O priority][io-priority] of the request
23191</parameter_description>
23192</parameter>
23193<parameter name="cancellable">
23194<parameter_description> a #GCancellable, or %NULL
23195</parameter_description>
23196</parameter>
23197<parameter name="callback">
23198<parameter_description> callback to call when the close operation is complete
23199</parameter_description>
23200</parameter>
23201<parameter name="user_data">
23202<parameter_description> the data to pass to the callback function
23203</parameter_description>
23204</parameter>
23205</parameters>
23206<return></return>
23207</function>
23208
23209<function name="g_dtls_connection_close_finish">
23210<description>
23211Finish an asynchronous TLS close operation. See g_dtls_connection_close()
23212for more information.
23213
23214Since: 2.48
23215
23216</description>
23217<parameters>
23218<parameter name="conn">
23219<parameter_description> a #GDtlsConnection
23220</parameter_description>
23221</parameter>
23222<parameter name="result">
23223<parameter_description> a #GAsyncResult
23224</parameter_description>
23225</parameter>
23226<parameter name="error">
23227<parameter_description> a #GError pointer, or %NULL
23228</parameter_description>
23229</parameter>
23230</parameters>
23231<return> %TRUE on success, %FALSE on failure, in which
23232case @error will be set
23233
23234</return>
23235</function>
23236
23237<function name="g_dtls_connection_emit_accept_certificate">
23238<description>
23239Used by #GDtlsConnection implementations to emit the
23240#GDtlsConnection::accept-certificate signal.
23241
23242Since: 2.48
23243
23244</description>
23245<parameters>
23246<parameter name="conn">
23247<parameter_description> a #GDtlsConnection
23248</parameter_description>
23249</parameter>
23250<parameter name="peer_cert">
23251<parameter_description> the peer's #GTlsCertificate
23252</parameter_description>
23253</parameter>
23254<parameter name="errors">
23255<parameter_description> the problems with @peer_cert
23256</parameter_description>
23257</parameter>
23258</parameters>
23259<return> %TRUE if one of the signal handlers has returned
23260%TRUE to accept @peer_cert
23261
23262</return>
23263</function>
23264
23265<function name="g_dtls_connection_get_certificate">
23266<description>
23267Gets @conn's certificate, as set by
23268g_dtls_connection_set_certificate().
23269
23270Since: 2.48
23271
23272</description>
23273<parameters>
23274<parameter name="conn">
23275<parameter_description> a #GDtlsConnection
23276</parameter_description>
23277</parameter>
23278</parameters>
23279<return> @conn's certificate, or %NULL
23280
23281</return>
23282</function>
23283
23284<function name="g_dtls_connection_get_database">
23285<description>
23286Gets the certificate database that @conn uses to verify
23287peer certificates. See g_dtls_connection_set_database().
23288
23289Since: 2.48
23290
23291</description>
23292<parameters>
23293<parameter name="conn">
23294<parameter_description> a #GDtlsConnection
23295</parameter_description>
23296</parameter>
23297</parameters>
23298<return> the certificate database that @conn uses or %NULL
23299
23300</return>
23301</function>
23302
23303<function name="g_dtls_connection_get_interaction">
23304<description>
23305Get the object that will be used to interact with the user. It will be used
23306for things like prompting the user for passwords. If %NULL is returned, then
23307no user interaction will occur for this connection.
23308
23309Since: 2.48
23310
23311</description>
23312<parameters>
23313<parameter name="conn">
23314<parameter_description> a connection
23315</parameter_description>
23316</parameter>
23317</parameters>
23318<return> The interaction object.
23319
23320</return>
23321</function>
23322
23323<function name="g_dtls_connection_get_negotiated_protocol">
23324<description>
23325Gets the name of the application-layer protocol negotiated during
23326the handshake.
23327
23328If the peer did not use the ALPN extension, or did not advertise a
23329protocol that matched one of @conn's protocols, or the TLS backend
23330does not support ALPN, then this will be %NULL. See
23331g_dtls_connection_set_advertised_protocols().
23332
23333Since: 2.60
23334
23335</description>
23336<parameters>
23337<parameter name="conn">
23338<parameter_description> a #GDtlsConnection
23339</parameter_description>
23340</parameter>
23341</parameters>
23342<return> the negotiated protocol, or %NULL
23343
23344</return>
23345</function>
23346
23347<function name="g_dtls_connection_get_peer_certificate">
23348<description>
23349Gets @conn's peer's certificate after the handshake has completed.
23350(It is not set during the emission of
23351#GDtlsConnection::accept-certificate.)
23352
23353Since: 2.48
23354
23355</description>
23356<parameters>
23357<parameter name="conn">
23358<parameter_description> a #GDtlsConnection
23359</parameter_description>
23360</parameter>
23361</parameters>
23362<return> @conn's peer's certificate, or %NULL
23363
23364</return>
23365</function>
23366
23367<function name="g_dtls_connection_get_peer_certificate_errors">
23368<description>
23369Gets the errors associated with validating @conn's peer's
23370certificate, after the handshake has completed. (It is not set
23371during the emission of #GDtlsConnection::accept-certificate.)
23372
23373Since: 2.48
23374
23375</description>
23376<parameters>
23377<parameter name="conn">
23378<parameter_description> a #GDtlsConnection
23379</parameter_description>
23380</parameter>
23381</parameters>
23382<return> @conn's peer's certificate errors
23383
23384</return>
23385</function>
23386
23387<function name="g_dtls_connection_get_rehandshake_mode">
23388<description>
23389Gets @conn rehandshaking mode. See
23390g_dtls_connection_set_rehandshake_mode() for details.
23391
23392Since: 2.48
23393
23394Deprecated: 2.64. Changing the rehandshake mode is no longer
23395required for compatibility. Also, rehandshaking has been removed
23396from the TLS protocol in TLS 1.3.
23397
23398</description>
23399<parameters>
23400<parameter name="conn">
23401<parameter_description> a #GDtlsConnection
23402</parameter_description>
23403</parameter>
23404</parameters>
23405<return> %G_TLS_REHANDSHAKE_SAFELY
23406
23407</return>
23408</function>
23409
23410<function name="g_dtls_connection_get_require_close_notify">
23411<description>
23412Tests whether or not @conn expects a proper TLS close notification
23413when the connection is closed. See
23414g_dtls_connection_set_require_close_notify() for details.
23415
23416Since: 2.48
23417
23418</description>
23419<parameters>
23420<parameter name="conn">
23421<parameter_description> a #GDtlsConnection
23422</parameter_description>
23423</parameter>
23424</parameters>
23425<return> %TRUE if @conn requires a proper TLS close notification.
23426
23427</return>
23428</function>
23429
23430<function name="g_dtls_connection_handshake">
23431<description>
23432Attempts a TLS handshake on @conn.
23433
23434On the client side, it is never necessary to call this method;
23435although the connection needs to perform a handshake after
23436connecting, #GDtlsConnection will handle this for you automatically
23437when you try to send or receive data on the connection. You can call
23438g_dtls_connection_handshake() manually if you want to know whether
23439the initial handshake succeeded or failed (as opposed to just
23440immediately trying to use @conn to read or write, in which case,
23441if it fails, it may not be possible to tell if it failed before
23442or after completing the handshake), but beware that servers may reject
23443client authentication after the handshake has completed, so a
23444successful handshake does not indicate the connection will be usable.
23445
23446Likewise, on the server side, although a handshake is necessary at
23447the beginning of the communication, you do not need to call this
23448function explicitly unless you want clearer error reporting.
23449
23450Previously, calling g_dtls_connection_handshake() after the initial
23451handshake would trigger a rehandshake; however, this usage was
23452deprecated in GLib 2.60 because rehandshaking was removed from the
23453TLS protocol in TLS 1.3. Since GLib 2.64, calling this function after
23454the initial handshake will no longer do anything.
23455
23456#GDtlsConnection::accept_certificate may be emitted during the
23457handshake.
23458
23459Since: 2.48
23460
23461</description>
23462<parameters>
23463<parameter name="conn">
23464<parameter_description> a #GDtlsConnection
23465</parameter_description>
23466</parameter>
23467<parameter name="cancellable">
23468<parameter_description> a #GCancellable, or %NULL
23469</parameter_description>
23470</parameter>
23471<parameter name="error">
23472<parameter_description> a #GError, or %NULL
23473</parameter_description>
23474</parameter>
23475</parameters>
23476<return> success or failure
23477
23478</return>
23479</function>
23480
23481<function name="g_dtls_connection_handshake_async">
23482<description>
23483Asynchronously performs a TLS handshake on @conn. See
23484g_dtls_connection_handshake() for more information.
23485
23486Since: 2.48
23487
23488</description>
23489<parameters>
23490<parameter name="conn">
23491<parameter_description> a #GDtlsConnection
23492</parameter_description>
23493</parameter>
23494<parameter name="io_priority">
23495<parameter_description> the [I/O priority][io-priority] of the request
23496</parameter_description>
23497</parameter>
23498<parameter name="cancellable">
23499<parameter_description> a #GCancellable, or %NULL
23500</parameter_description>
23501</parameter>
23502<parameter name="callback">
23503<parameter_description> callback to call when the handshake is complete
23504</parameter_description>
23505</parameter>
23506<parameter name="user_data">
23507<parameter_description> the data to pass to the callback function
23508</parameter_description>
23509</parameter>
23510</parameters>
23511<return></return>
23512</function>
23513
23514<function name="g_dtls_connection_handshake_finish">
23515<description>
23516Finish an asynchronous TLS handshake operation. See
23517g_dtls_connection_handshake() for more information.
23518
23519Since: 2.48
23520
23521</description>
23522<parameters>
23523<parameter name="conn">
23524<parameter_description> a #GDtlsConnection
23525</parameter_description>
23526</parameter>
23527<parameter name="result">
23528<parameter_description> a #GAsyncResult.
23529</parameter_description>
23530</parameter>
23531<parameter name="error">
23532<parameter_description> a #GError pointer, or %NULL
23533</parameter_description>
23534</parameter>
23535</parameters>
23536<return> %TRUE on success, %FALSE on failure, in which
23537case @error will be set.
23538
23539</return>
23540</function>
23541
23542<function name="g_dtls_connection_set_advertised_protocols">
23543<description>
23544Sets the list of application-layer protocols to advertise that the
23545caller is willing to speak on this connection. The
23546Application-Layer Protocol Negotiation (ALPN) extension will be
23547used to negotiate a compatible protocol with the peer; use
23548g_dtls_connection_get_negotiated_protocol() to find the negotiated
23549protocol after the handshake.  Specifying %NULL for the the value
23550of @protocols will disable ALPN negotiation.
23551
23552See [IANA TLS ALPN Protocol IDs](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
23553for a list of registered protocol IDs.
23554
23555Since: 2.60
23556
23557</description>
23558<parameters>
23559<parameter name="conn">
23560<parameter_description> a #GDtlsConnection
23561</parameter_description>
23562</parameter>
23563<parameter name="protocols">
23564<parameter_description> a %NULL-terminated
23565array of ALPN protocol names (eg, &quot;http/1.1&quot;, &quot;h2&quot;), or %NULL
23566</parameter_description>
23567</parameter>
23568</parameters>
23569<return></return>
23570</function>
23571
23572<function name="g_dtls_connection_set_certificate">
23573<description>
23574This sets the certificate that @conn will present to its peer
23575during the TLS handshake. For a #GDtlsServerConnection, it is
23576mandatory to set this, and that will normally be done at construct
23577time.
23578
23579For a #GDtlsClientConnection, this is optional. If a handshake fails
23580with %G_TLS_ERROR_CERTIFICATE_REQUIRED, that means that the server
23581requires a certificate, and if you try connecting again, you should
23582call this method first. You can call
23583g_dtls_client_connection_get_accepted_cas() on the failed connection
23584to get a list of Certificate Authorities that the server will
23585accept certificates from.
23586
23587(It is also possible that a server will allow the connection with
23588or without a certificate; in that case, if you don't provide a
23589certificate, you can tell that the server requested one by the fact
23590that g_dtls_client_connection_get_accepted_cas() will return
23591non-%NULL.)
23592
23593Since: 2.48
23594
23595</description>
23596<parameters>
23597<parameter name="conn">
23598<parameter_description> a #GDtlsConnection
23599</parameter_description>
23600</parameter>
23601<parameter name="certificate">
23602<parameter_description> the certificate to use for @conn
23603</parameter_description>
23604</parameter>
23605</parameters>
23606<return></return>
23607</function>
23608
23609<function name="g_dtls_connection_set_database">
23610<description>
23611Sets the certificate database that is used to verify peer certificates.
23612This is set to the default database by default. See
23613g_tls_backend_get_default_database(). If set to %NULL, then
23614peer certificate validation will always set the
23615%G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning
23616#GDtlsConnection::accept-certificate will always be emitted on
23617client-side connections, unless that bit is not set in
23618#GDtlsClientConnection:validation-flags).
23619
23620Since: 2.48
23621
23622</description>
23623<parameters>
23624<parameter name="conn">
23625<parameter_description> a #GDtlsConnection
23626</parameter_description>
23627</parameter>
23628<parameter name="database">
23629<parameter_description> a #GTlsDatabase
23630</parameter_description>
23631</parameter>
23632</parameters>
23633<return></return>
23634</function>
23635
23636<function name="g_dtls_connection_set_interaction">
23637<description>
23638Set the object that will be used to interact with the user. It will be used
23639for things like prompting the user for passwords.
23640
23641The @interaction argument will normally be a derived subclass of
23642#GTlsInteraction. %NULL can also be provided if no user interaction
23643should occur for this connection.
23644
23645Since: 2.48
23646
23647</description>
23648<parameters>
23649<parameter name="conn">
23650<parameter_description> a connection
23651</parameter_description>
23652</parameter>
23653<parameter name="interaction">
23654<parameter_description> an interaction object, or %NULL
23655</parameter_description>
23656</parameter>
23657</parameters>
23658<return></return>
23659</function>
23660
23661<function name="g_dtls_connection_set_rehandshake_mode">
23662<description>
23663Since GLib 2.64, changing the rehandshake mode is no longer supported
23664and will have no effect. With TLS 1.3, rehandshaking has been removed from
23665the TLS protocol, replaced by separate post-handshake authentication and
23666rekey operations.
23667
23668Since: 2.48
23669
23670Deprecated: 2.60. Changing the rehandshake mode is no longer
23671required for compatibility. Also, rehandshaking has been removed
23672from the TLS protocol in TLS 1.3.
23673
23674</description>
23675<parameters>
23676<parameter name="conn">
23677<parameter_description> a #GDtlsConnection
23678</parameter_description>
23679</parameter>
23680<parameter name="mode">
23681<parameter_description> the rehandshaking mode
23682</parameter_description>
23683</parameter>
23684</parameters>
23685<return></return>
23686</function>
23687
23688<function name="g_dtls_connection_set_require_close_notify">
23689<description>
23690Sets whether or not @conn expects a proper TLS close notification
23691before the connection is closed. If this is %TRUE (the default),
23692then @conn will expect to receive a TLS close notification from its
23693peer before the connection is closed, and will return a
23694%G_TLS_ERROR_EOF error if the connection is closed without proper
23695notification (since this may indicate a network error, or
23696man-in-the-middle attack).
23697
23698In some protocols, the application will know whether or not the
23699connection was closed cleanly based on application-level data
23700(because the application-level data includes a length field, or is
23701somehow self-delimiting); in this case, the close notify is
23702redundant and may be omitted. You
23703can use g_dtls_connection_set_require_close_notify() to tell @conn
23704to allow an &quot;unannounced&quot; connection close, in which case the close
23705will show up as a 0-length read, as in a non-TLS
23706#GDatagramBased, and it is up to the application to check that
23707the data has been fully received.
23708
23709Note that this only affects the behavior when the peer closes the
23710connection; when the application calls g_dtls_connection_close_async() on
23711@conn itself, this will send a close notification regardless of the
23712setting of this property. If you explicitly want to do an unclean
23713close, you can close @conn's #GDtlsConnection:base-socket rather
23714than closing @conn itself.
23715
23716Since: 2.48
23717
23718</description>
23719<parameters>
23720<parameter name="conn">
23721<parameter_description> a #GDtlsConnection
23722</parameter_description>
23723</parameter>
23724<parameter name="require_close_notify">
23725<parameter_description> whether or not to require close notification
23726</parameter_description>
23727</parameter>
23728</parameters>
23729<return></return>
23730</function>
23731
23732<function name="g_dtls_connection_shutdown">
23733<description>
23734Shut down part or all of a DTLS connection.
23735
23736If @shutdown_read is %TRUE then the receiving side of the connection is shut
23737down, and further reading is disallowed. Subsequent calls to
23738g_datagram_based_receive_messages() will return %G_IO_ERROR_CLOSED.
23739
23740If @shutdown_write is %TRUE then the sending side of the connection is shut
23741down, and further writing is disallowed. Subsequent calls to
23742g_datagram_based_send_messages() will return %G_IO_ERROR_CLOSED.
23743
23744It is allowed for both @shutdown_read and @shutdown_write to be TRUE — this
23745is equivalent to calling g_dtls_connection_close().
23746
23747If @cancellable is cancelled, the #GDtlsConnection may be left
23748partially-closed and any pending untransmitted data may be lost. Call
23749g_dtls_connection_shutdown() again to complete closing the #GDtlsConnection.
23750
23751Since: 2.48
23752
23753</description>
23754<parameters>
23755<parameter name="conn">
23756<parameter_description> a #GDtlsConnection
23757</parameter_description>
23758</parameter>
23759<parameter name="shutdown_read">
23760<parameter_description> %TRUE to stop reception of incoming datagrams
23761</parameter_description>
23762</parameter>
23763<parameter name="shutdown_write">
23764<parameter_description> %TRUE to stop sending outgoing datagrams
23765</parameter_description>
23766</parameter>
23767<parameter name="cancellable">
23768<parameter_description> a #GCancellable, or %NULL
23769</parameter_description>
23770</parameter>
23771<parameter name="error">
23772<parameter_description> a #GError, or %NULL
23773</parameter_description>
23774</parameter>
23775</parameters>
23776<return> %TRUE on success, %FALSE otherwise
23777
23778</return>
23779</function>
23780
23781<function name="g_dtls_connection_shutdown_async">
23782<description>
23783Asynchronously shut down part or all of the DTLS connection. See
23784g_dtls_connection_shutdown() for more information.
23785
23786Since: 2.48
23787
23788</description>
23789<parameters>
23790<parameter name="conn">
23791<parameter_description> a #GDtlsConnection
23792</parameter_description>
23793</parameter>
23794<parameter name="shutdown_read">
23795<parameter_description> %TRUE to stop reception of incoming datagrams
23796</parameter_description>
23797</parameter>
23798<parameter name="shutdown_write">
23799<parameter_description> %TRUE to stop sending outgoing datagrams
23800</parameter_description>
23801</parameter>
23802<parameter name="io_priority">
23803<parameter_description> the [I/O priority][io-priority] of the request
23804</parameter_description>
23805</parameter>
23806<parameter name="cancellable">
23807<parameter_description> a #GCancellable, or %NULL
23808</parameter_description>
23809</parameter>
23810<parameter name="callback">
23811<parameter_description> callback to call when the shutdown operation is complete
23812</parameter_description>
23813</parameter>
23814<parameter name="user_data">
23815<parameter_description> the data to pass to the callback function
23816</parameter_description>
23817</parameter>
23818</parameters>
23819<return></return>
23820</function>
23821
23822<function name="g_dtls_connection_shutdown_finish">
23823<description>
23824Finish an asynchronous TLS shutdown operation. See
23825g_dtls_connection_shutdown() for more information.
23826
23827Since: 2.48
23828
23829</description>
23830<parameters>
23831<parameter name="conn">
23832<parameter_description> a #GDtlsConnection
23833</parameter_description>
23834</parameter>
23835<parameter name="result">
23836<parameter_description> a #GAsyncResult
23837</parameter_description>
23838</parameter>
23839<parameter name="error">
23840<parameter_description> a #GError pointer, or %NULL
23841</parameter_description>
23842</parameter>
23843</parameters>
23844<return> %TRUE on success, %FALSE on failure, in which
23845case @error will be set
23846
23847</return>
23848</function>
23849
23850<function name="g_dtls_server_connection_new">
23851<description>
23852Creates a new #GDtlsServerConnection wrapping @base_socket.
23853
23854Since: 2.48
23855
23856</description>
23857<parameters>
23858<parameter name="base_socket">
23859<parameter_description> the #GDatagramBased to wrap
23860</parameter_description>
23861</parameter>
23862<parameter name="certificate">
23863<parameter_description> the default server certificate, or %NULL
23864</parameter_description>
23865</parameter>
23866<parameter name="error">
23867<parameter_description> #GError for error reporting, or %NULL to ignore
23868</parameter_description>
23869</parameter>
23870</parameters>
23871<return> the new
23872#GDtlsServerConnection, or %NULL on error
23873
23874</return>
23875</function>
23876
23877<function name="g_emblem_get_icon">
23878<description>
23879Gives back the icon from @emblem.
23880
23881Since: 2.18
23882
23883</description>
23884<parameters>
23885<parameter name="emblem">
23886<parameter_description> a #GEmblem from which the icon should be extracted.
23887</parameter_description>
23888</parameter>
23889</parameters>
23890<return> a #GIcon. The returned object belongs to
23891the emblem and should not be modified or freed.
23892
23893</return>
23894</function>
23895
23896<function name="g_emblem_get_origin">
23897<description>
23898Gets the origin of the emblem.
23899
23900Since: 2.18
23901
23902</description>
23903<parameters>
23904<parameter name="emblem">
23905<parameter_description> a #GEmblem
23906</parameter_description>
23907</parameter>
23908</parameters>
23909<return> the origin of the emblem
23910
23911</return>
23912</function>
23913
23914<function name="g_emblem_new">
23915<description>
23916Creates a new emblem for @icon.
23917
23918Since: 2.18
23919
23920</description>
23921<parameters>
23922<parameter name="icon">
23923<parameter_description> a GIcon containing the icon.
23924</parameter_description>
23925</parameter>
23926</parameters>
23927<return> a new #GEmblem.
23928
23929</return>
23930</function>
23931
23932<function name="g_emblem_new_with_origin">
23933<description>
23934Creates a new emblem for @icon.
23935
23936Since: 2.18
23937
23938</description>
23939<parameters>
23940<parameter name="icon">
23941<parameter_description> a GIcon containing the icon.
23942</parameter_description>
23943</parameter>
23944<parameter name="origin">
23945<parameter_description> a GEmblemOrigin enum defining the emblem's origin
23946</parameter_description>
23947</parameter>
23948</parameters>
23949<return> a new #GEmblem.
23950
23951</return>
23952</function>
23953
23954<function name="g_emblemed_icon_add_emblem">
23955<description>
23956Adds @emblem to the #GList of #GEmblems.
23957
23958Since: 2.18
23959
23960</description>
23961<parameters>
23962<parameter name="emblemed">
23963<parameter_description> a #GEmblemedIcon
23964</parameter_description>
23965</parameter>
23966<parameter name="emblem">
23967<parameter_description> a #GEmblem
23968</parameter_description>
23969</parameter>
23970</parameters>
23971<return></return>
23972</function>
23973
23974<function name="g_emblemed_icon_clear_emblems">
23975<description>
23976Removes all the emblems from @icon.
23977
23978Since: 2.28
23979
23980</description>
23981<parameters>
23982<parameter name="emblemed">
23983<parameter_description> a #GEmblemedIcon
23984</parameter_description>
23985</parameter>
23986</parameters>
23987<return></return>
23988</function>
23989
23990<function name="g_emblemed_icon_get_emblems">
23991<description>
23992Gets the list of emblems for the @icon.
23993
23994Since: 2.18
23995
23996</description>
23997<parameters>
23998<parameter name="emblemed">
23999<parameter_description> a #GEmblemedIcon
24000</parameter_description>
24001</parameter>
24002</parameters>
24003<return> a #GList of
24004#GEmblems that is owned by @emblemed
24005
24006</return>
24007</function>
24008
24009<function name="g_emblemed_icon_get_icon">
24010<description>
24011Gets the main icon for @emblemed.
24012
24013Since: 2.18
24014
24015</description>
24016<parameters>
24017<parameter name="emblemed">
24018<parameter_description> a #GEmblemedIcon
24019</parameter_description>
24020</parameter>
24021</parameters>
24022<return> a #GIcon that is owned by @emblemed
24023
24024</return>
24025</function>
24026
24027<function name="g_emblemed_icon_new">
24028<description>
24029Creates a new emblemed icon for @icon with the emblem @emblem.
24030
24031Since: 2.18
24032
24033</description>
24034<parameters>
24035<parameter name="icon">
24036<parameter_description> a #GIcon
24037</parameter_description>
24038</parameter>
24039<parameter name="emblem">
24040<parameter_description> a #GEmblem, or %NULL
24041</parameter_description>
24042</parameter>
24043</parameters>
24044<return> a new #GIcon
24045
24046</return>
24047</function>
24048
24049<function name="g_file_append_to">
24050<description>
24051Gets an output stream for appending data to the file.
24052If the file doesn't already exist it is created.
24053
24054By default files created are generally readable by everyone,
24055but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
24056will be made readable only to the current user, to the level that
24057is supported on the target filesystem.
24058
24059If @cancellable is not %NULL, then the operation can be cancelled
24060by triggering the cancellable object from another thread. If the
24061operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
24062returned.
24063
24064Some file systems don't allow all file names, and may return an
24065%G_IO_ERROR_INVALID_FILENAME error. If the file is a directory the
24066%G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are
24067possible too, and depend on what kind of filesystem the file is on.
24068
24069
24070</description>
24071<parameters>
24072<parameter name="file">
24073<parameter_description> input #GFile
24074</parameter_description>
24075</parameter>
24076<parameter name="flags">
24077<parameter_description> a set of #GFileCreateFlags
24078</parameter_description>
24079</parameter>
24080<parameter name="cancellable">
24081<parameter_description> optional #GCancellable object,
24082%NULL to ignore
24083</parameter_description>
24084</parameter>
24085<parameter name="error">
24086<parameter_description> a #GError, or %NULL
24087</parameter_description>
24088</parameter>
24089</parameters>
24090<return> a #GFileOutputStream, or %NULL on error.
24091Free the returned object with g_object_unref().
24092</return>
24093</function>
24094
24095<function name="g_file_append_to_async">
24096<description>
24097Asynchronously opens @file for appending.
24098
24099For more details, see g_file_append_to() which is
24100the synchronous version of this call.
24101
24102When the operation is finished, @callback will be called.
24103You can then call g_file_append_to_finish() to get the result
24104of the operation.
24105
24106</description>
24107<parameters>
24108<parameter name="file">
24109<parameter_description> input #GFile
24110</parameter_description>
24111</parameter>
24112<parameter name="flags">
24113<parameter_description> a set of #GFileCreateFlags
24114</parameter_description>
24115</parameter>
24116<parameter name="io_priority">
24117<parameter_description> the [I/O priority][io-priority] of the request
24118</parameter_description>
24119</parameter>
24120<parameter name="cancellable">
24121<parameter_description> optional #GCancellable object,
24122%NULL to ignore
24123</parameter_description>
24124</parameter>
24125<parameter name="callback">
24126<parameter_description> a #GAsyncReadyCallback to call
24127when the request is satisfied
24128</parameter_description>
24129</parameter>
24130<parameter name="user_data">
24131<parameter_description> the data to pass to callback function
24132</parameter_description>
24133</parameter>
24134</parameters>
24135<return></return>
24136</function>
24137
24138<function name="g_file_append_to_finish">
24139<description>
24140Finishes an asynchronous file append operation started with
24141g_file_append_to_async().
24142
24143
24144</description>
24145<parameters>
24146<parameter name="file">
24147<parameter_description> input #GFile
24148</parameter_description>
24149</parameter>
24150<parameter name="res">
24151<parameter_description> #GAsyncResult
24152</parameter_description>
24153</parameter>
24154<parameter name="error">
24155<parameter_description> a #GError, or %NULL
24156</parameter_description>
24157</parameter>
24158</parameters>
24159<return> a valid #GFileOutputStream
24160or %NULL on error.
24161Free the returned object with g_object_unref().
24162</return>
24163</function>
24164
24165<function name="g_file_attribute_info_list_add">
24166<description>
24167Adds a new attribute with @name to the @list, setting
24168its @type and @flags.
24169
24170</description>
24171<parameters>
24172<parameter name="list">
24173<parameter_description> a #GFileAttributeInfoList.
24174</parameter_description>
24175</parameter>
24176<parameter name="name">
24177<parameter_description> the name of the attribute to add.
24178</parameter_description>
24179</parameter>
24180<parameter name="type">
24181<parameter_description> the #GFileAttributeType for the attribute.
24182</parameter_description>
24183</parameter>
24184<parameter name="flags">
24185<parameter_description> #GFileAttributeInfoFlags for the attribute.
24186</parameter_description>
24187</parameter>
24188</parameters>
24189<return></return>
24190</function>
24191
24192<function name="g_file_attribute_info_list_dup">
24193<description>
24194Makes a duplicate of a file attribute info list.
24195
24196
24197</description>
24198<parameters>
24199<parameter name="list">
24200<parameter_description> a #GFileAttributeInfoList to duplicate.
24201</parameter_description>
24202</parameter>
24203</parameters>
24204<return> a copy of the given @list.
24205</return>
24206</function>
24207
24208<function name="g_file_attribute_info_list_lookup">
24209<description>
24210Gets the file attribute with the name @name from @list.
24211
24212
24213</description>
24214<parameters>
24215<parameter name="list">
24216<parameter_description> a #GFileAttributeInfoList.
24217</parameter_description>
24218</parameter>
24219<parameter name="name">
24220<parameter_description> the name of the attribute to look up.
24221</parameter_description>
24222</parameter>
24223</parameters>
24224<return> a #GFileAttributeInfo for the @name, or %NULL if an
24225attribute isn't found.
24226</return>
24227</function>
24228
24229<function name="g_file_attribute_info_list_new">
24230<description>
24231Creates a new file attribute info list.
24232
24233
24234</description>
24235<parameters>
24236</parameters>
24237<return> a #GFileAttributeInfoList.
24238</return>
24239</function>
24240
24241<function name="g_file_attribute_info_list_ref">
24242<description>
24243References a file attribute info list.
24244
24245
24246</description>
24247<parameters>
24248<parameter name="list">
24249<parameter_description> a #GFileAttributeInfoList to reference.
24250</parameter_description>
24251</parameter>
24252</parameters>
24253<return> #GFileAttributeInfoList or %NULL on error.
24254</return>
24255</function>
24256
24257<function name="g_file_attribute_info_list_unref">
24258<description>
24259Removes a reference from the given @list. If the reference count
24260falls to zero, the @list is deleted.
24261
24262</description>
24263<parameters>
24264<parameter name="list">
24265<parameter_description> The #GFileAttributeInfoList to unreference.
24266</parameter_description>
24267</parameter>
24268</parameters>
24269<return></return>
24270</function>
24271
24272<function name="g_file_attribute_matcher_enumerate_namespace">
24273<description>
24274Checks if the matcher will match all of the keys in a given namespace.
24275This will always return %TRUE if a wildcard character is in use (e.g. if
24276matcher was created with &quot;standard::*&quot; and @ns is &quot;standard&quot;, or if matcher was created
24277using &quot;*&quot; and namespace is anything.)
24278
24279TODO: this is awkwardly worded.
24280
24281
24282</description>
24283<parameters>
24284<parameter name="matcher">
24285<parameter_description> a #GFileAttributeMatcher.
24286</parameter_description>
24287</parameter>
24288<parameter name="ns">
24289<parameter_description> a string containing a file attribute namespace.
24290</parameter_description>
24291</parameter>
24292</parameters>
24293<return> %TRUE if the matcher matches all of the entries
24294in the given @ns, %FALSE otherwise.
24295</return>
24296</function>
24297
24298<function name="g_file_attribute_matcher_enumerate_next">
24299<description>
24300Gets the next matched attribute from a #GFileAttributeMatcher.
24301
24302
24303</description>
24304<parameters>
24305<parameter name="matcher">
24306<parameter_description> a #GFileAttributeMatcher.
24307</parameter_description>
24308</parameter>
24309</parameters>
24310<return> a string containing the next attribute or %NULL if
24311no more attribute exist.
24312</return>
24313</function>
24314
24315<function name="g_file_attribute_matcher_matches">
24316<description>
24317Checks if an attribute will be matched by an attribute matcher. If
24318the matcher was created with the &quot;*&quot; matching string, this function
24319will always return %TRUE.
24320
24321
24322</description>
24323<parameters>
24324<parameter name="matcher">
24325<parameter_description> a #GFileAttributeMatcher.
24326</parameter_description>
24327</parameter>
24328<parameter name="attribute">
24329<parameter_description> a file attribute key.
24330</parameter_description>
24331</parameter>
24332</parameters>
24333<return> %TRUE if @attribute matches @matcher. %FALSE otherwise.
24334</return>
24335</function>
24336
24337<function name="g_file_attribute_matcher_matches_only">
24338<description>
24339Checks if a attribute matcher only matches a given attribute. Always
24340returns %FALSE if &quot;*&quot; was used when creating the matcher.
24341
24342
24343</description>
24344<parameters>
24345<parameter name="matcher">
24346<parameter_description> a #GFileAttributeMatcher.
24347</parameter_description>
24348</parameter>
24349<parameter name="attribute">
24350<parameter_description> a file attribute key.
24351</parameter_description>
24352</parameter>
24353</parameters>
24354<return> %TRUE if the matcher only matches @attribute. %FALSE otherwise.
24355</return>
24356</function>
24357
24358<function name="g_file_attribute_matcher_new">
24359<description>
24360Creates a new file attribute matcher, which matches attributes
24361against a given string. #GFileAttributeMatchers are reference
24362counted structures, and are created with a reference count of 1. If
24363the number of references falls to 0, the #GFileAttributeMatcher is
24364automatically destroyed.
24365
24366The @attributes string should be formatted with specific keys separated
24367from namespaces with a double colon. Several &quot;namespace::key&quot; strings may be
24368concatenated with a single comma (e.g. &quot;standard::type,standard::is-hidden&quot;).
24369The wildcard &quot;*&quot; may be used to match all keys and namespaces, or
24370&quot;namespace::*&quot; will match all keys in a given namespace.
24371
24372## Examples of file attribute matcher strings and results
24373
24374- `&quot;*&quot;`: matches all attributes.
24375- `&quot;standard::is-hidden&quot;`: matches only the key is-hidden in the
24376standard namespace.
24377- `&quot;standard::type,unix::*&quot;`: matches the type key in the standard
24378namespace and all keys in the unix namespace.
24379
24380
24381</description>
24382<parameters>
24383<parameter name="attributes">
24384<parameter_description> an attribute string to match.
24385</parameter_description>
24386</parameter>
24387</parameters>
24388<return> a #GFileAttributeMatcher
24389</return>
24390</function>
24391
24392<function name="g_file_attribute_matcher_ref">
24393<description>
24394References a file attribute matcher.
24395
24396
24397</description>
24398<parameters>
24399<parameter name="matcher">
24400<parameter_description> a #GFileAttributeMatcher.
24401</parameter_description>
24402</parameter>
24403</parameters>
24404<return> a #GFileAttributeMatcher.
24405</return>
24406</function>
24407
24408<function name="g_file_attribute_matcher_subtract">
24409<description>
24410Subtracts all attributes of @subtract from @matcher and returns
24411a matcher that supports those attributes.
24412
24413Note that currently it is not possible to remove a single
24414attribute when the @matcher matches the whole namespace - or remove
24415a namespace or attribute when the matcher matches everything. This
24416is a limitation of the current implementation, but may be fixed
24417in the future.
24418
24419
24420</description>
24421<parameters>
24422<parameter name="matcher">
24423<parameter_description> Matcher to subtract from
24424</parameter_description>
24425</parameter>
24426<parameter name="subtract">
24427<parameter_description> The matcher to subtract
24428</parameter_description>
24429</parameter>
24430</parameters>
24431<return> A file attribute matcher matching all attributes of
24432@matcher that are not matched by @subtract
24433</return>
24434</function>
24435
24436<function name="g_file_attribute_matcher_to_string">
24437<description>
24438Prints what the matcher is matching against. The format will be
24439equal to the format passed to g_file_attribute_matcher_new().
24440The output however, might not be identical, as the matcher may
24441decide to use a different order or omit needless parts.
24442
24443Since: 2.32
24444
24445</description>
24446<parameters>
24447<parameter name="matcher">
24448<parameter_description> a #GFileAttributeMatcher.
24449</parameter_description>
24450</parameter>
24451</parameters>
24452<return> a string describing the attributes the matcher matches
24453against or %NULL if @matcher was %NULL.
24454
24455</return>
24456</function>
24457
24458<function name="g_file_attribute_matcher_unref">
24459<description>
24460Unreferences @matcher. If the reference count falls below 1,
24461the @matcher is automatically freed.
24462
24463
24464</description>
24465<parameters>
24466<parameter name="matcher">
24467<parameter_description> a #GFileAttributeMatcher.
24468</parameter_description>
24469</parameter>
24470</parameters>
24471<return></return>
24472</function>
24473
24474<function name="g_file_attribute_value_dup">
24475<description>
24476Duplicates a file attribute.
24477
24478
24479</description>
24480<parameters>
24481<parameter name="other">
24482<parameter_description> a #GFileAttributeValue to duplicate.
24483</parameter_description>
24484</parameter>
24485</parameters>
24486<return> a duplicate of the @other.
24487</return>
24488</function>
24489
24490<function name="g_file_attribute_value_set">
24491<description>
24492Sets an attribute's value from another attribute.
24493
24494</description>
24495<parameters>
24496<parameter name="attr">
24497<parameter_description> a #GFileAttributeValue to set the value in.
24498</parameter_description>
24499</parameter>
24500<parameter name="new_value">
24501<parameter_description> a #GFileAttributeValue to get the value from.
24502</parameter_description>
24503</parameter>
24504</parameters>
24505<return></return>
24506</function>
24507
24508<function name="g_file_copy">
24509<description>
24510Copies the file @source to the location specified by @destination.
24511Can not handle recursive copies of directories.
24512
24513If the flag #G_FILE_COPY_OVERWRITE is specified an already
24514existing @destination file is overwritten.
24515
24516If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks
24517will be copied as symlinks, otherwise the target of the
24518@source symlink will be copied.
24519
24520If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata
24521that is possible to copy is copied, not just the default subset (which,
24522for instance, does not include the owner, see #GFileInfo).
24523
24524If @cancellable is not %NULL, then the operation can be cancelled by
24525triggering the cancellable object from another thread. If the operation
24526was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
24527
24528If @progress_callback is not %NULL, then the operation can be monitored
24529by setting this to a #GFileProgressCallback function.
24530@progress_callback_data will be passed to this function. It is guaranteed
24531that this callback will be called after all data has been transferred with
24532the total number of bytes copied during the operation.
24533
24534If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error
24535is returned, independent on the status of the @destination.
24536
24537If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then
24538the error %G_IO_ERROR_EXISTS is returned.
24539
24540If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY
24541error is returned. If trying to overwrite a directory with a directory the
24542%G_IO_ERROR_WOULD_MERGE error is returned.
24543
24544If the source is a directory and the target does not exist, or
24545#G_FILE_COPY_OVERWRITE is specified and the target is a file, then the
24546%G_IO_ERROR_WOULD_RECURSE error is returned.
24547
24548If you are interested in copying the #GFile object itself (not the on-disk
24549file), see g_file_dup().
24550
24551
24552</description>
24553<parameters>
24554<parameter name="source">
24555<parameter_description> input #GFile
24556</parameter_description>
24557</parameter>
24558<parameter name="destination">
24559<parameter_description> destination #GFile
24560</parameter_description>
24561</parameter>
24562<parameter name="flags">
24563<parameter_description> set of #GFileCopyFlags
24564</parameter_description>
24565</parameter>
24566<parameter name="cancellable">
24567<parameter_description> optional #GCancellable object,
24568%NULL to ignore
24569</parameter_description>
24570</parameter>
24571<parameter name="progress_callback">
24572<parameter_description> function to callback with
24573progress information, or %NULL if progress information is not needed
24574</parameter_description>
24575</parameter>
24576<parameter name="progress_callback_data">
24577<parameter_description> user data to pass to @progress_callback
24578</parameter_description>
24579</parameter>
24580<parameter name="error">
24581<parameter_description> #GError to set on error, or %NULL
24582</parameter_description>
24583</parameter>
24584</parameters>
24585<return> %TRUE on success, %FALSE otherwise.
24586</return>
24587</function>
24588
24589<function name="g_file_copy_async">
24590<description>
24591Copies the file @source to the location specified by @destination
24592asynchronously. For details of the behaviour, see g_file_copy().
24593
24594If @progress_callback is not %NULL, then that function that will be called
24595just like in g_file_copy(). The callback will run in the default main context
24596of the thread calling g_file_copy_async() — the same context as @callback is
24597run in.
24598
24599When the operation is finished, @callback will be called. You can then call
24600g_file_copy_finish() to get the result of the operation.
24601
24602</description>
24603<parameters>
24604<parameter name="source">
24605<parameter_description> input #GFile
24606</parameter_description>
24607</parameter>
24608<parameter name="destination">
24609<parameter_description> destination #GFile
24610</parameter_description>
24611</parameter>
24612<parameter name="flags">
24613<parameter_description> set of #GFileCopyFlags
24614</parameter_description>
24615</parameter>
24616<parameter name="io_priority">
24617<parameter_description> the [I/O priority][io-priority] of the request
24618</parameter_description>
24619</parameter>
24620<parameter name="cancellable">
24621<parameter_description> optional #GCancellable object,
24622%NULL to ignore
24623</parameter_description>
24624</parameter>
24625<parameter name="progress_callback">
24626<parameter_description> function to callback with progress
24627information, or %NULL if progress information is not needed
24628</parameter_description>
24629</parameter>
24630<parameter name="progress_callback_data">
24631<parameter_description> user data to pass to @progress_callback
24632</parameter_description>
24633</parameter>
24634<parameter name="callback">
24635<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
24636</parameter_description>
24637</parameter>
24638<parameter name="user_data">
24639<parameter_description> the data to pass to callback function
24640</parameter_description>
24641</parameter>
24642</parameters>
24643<return></return>
24644</function>
24645
24646<function name="g_file_copy_attributes">
24647<description>
24648Copies the file attributes from @source to @destination.
24649
24650Normally only a subset of the file attributes are copied,
24651those that are copies in a normal file copy operation
24652(which for instance does not include e.g. owner). However
24653if #G_FILE_COPY_ALL_METADATA is specified in @flags, then
24654all the metadata that is possible to copy is copied. This
24655is useful when implementing move by copy + delete source.
24656
24657
24658</description>
24659<parameters>
24660<parameter name="source">
24661<parameter_description> a #GFile with attributes
24662</parameter_description>
24663</parameter>
24664<parameter name="destination">
24665<parameter_description> a #GFile to copy attributes to
24666</parameter_description>
24667</parameter>
24668<parameter name="flags">
24669<parameter_description> a set of #GFileCopyFlags
24670</parameter_description>
24671</parameter>
24672<parameter name="cancellable">
24673<parameter_description> optional #GCancellable object,
24674%NULL to ignore
24675</parameter_description>
24676</parameter>
24677<parameter name="error">
24678<parameter_description> a #GError, %NULL to ignore
24679</parameter_description>
24680</parameter>
24681</parameters>
24682<return> %TRUE if the attributes were copied successfully,
24683%FALSE otherwise.
24684</return>
24685</function>
24686
24687<function name="g_file_copy_finish">
24688<description>
24689Finishes copying the file started with g_file_copy_async().
24690
24691
24692</description>
24693<parameters>
24694<parameter name="file">
24695<parameter_description> input #GFile
24696</parameter_description>
24697</parameter>
24698<parameter name="res">
24699<parameter_description> a #GAsyncResult
24700</parameter_description>
24701</parameter>
24702<parameter name="error">
24703<parameter_description> a #GError, or %NULL
24704</parameter_description>
24705</parameter>
24706</parameters>
24707<return> a %TRUE on success, %FALSE on error.
24708</return>
24709</function>
24710
24711<function name="g_file_create">
24712<description>
24713Creates a new file and returns an output stream for writing to it.
24714The file must not already exist.
24715
24716By default files created are generally readable by everyone,
24717but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
24718will be made readable only to the current user, to the level
24719that is supported on the target filesystem.
24720
24721If @cancellable is not %NULL, then the operation can be cancelled
24722by triggering the cancellable object from another thread. If the
24723operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
24724returned.
24725
24726If a file or directory with this name already exists the
24727%G_IO_ERROR_EXISTS error will be returned. Some file systems don't
24728allow all file names, and may return an %G_IO_ERROR_INVALID_FILENAME
24729error, and if the name is to long %G_IO_ERROR_FILENAME_TOO_LONG will
24730be returned. Other errors are possible too, and depend on what kind
24731of filesystem the file is on.
24732
24733
24734</description>
24735<parameters>
24736<parameter name="file">
24737<parameter_description> input #GFile
24738</parameter_description>
24739</parameter>
24740<parameter name="flags">
24741<parameter_description> a set of #GFileCreateFlags
24742</parameter_description>
24743</parameter>
24744<parameter name="cancellable">
24745<parameter_description> optional #GCancellable object,
24746%NULL to ignore
24747</parameter_description>
24748</parameter>
24749<parameter name="error">
24750<parameter_description> a #GError, or %NULL
24751</parameter_description>
24752</parameter>
24753</parameters>
24754<return> a #GFileOutputStream for the newly created
24755file, or %NULL on error.
24756Free the returned object with g_object_unref().
24757</return>
24758</function>
24759
24760<function name="g_file_create_async">
24761<description>
24762Asynchronously creates a new file and returns an output stream
24763for writing to it. The file must not already exist.
24764
24765For more details, see g_file_create() which is
24766the synchronous version of this call.
24767
24768When the operation is finished, @callback will be called.
24769You can then call g_file_create_finish() to get the result
24770of the operation.
24771
24772</description>
24773<parameters>
24774<parameter name="file">
24775<parameter_description> input #GFile
24776</parameter_description>
24777</parameter>
24778<parameter name="flags">
24779<parameter_description> a set of #GFileCreateFlags
24780</parameter_description>
24781</parameter>
24782<parameter name="io_priority">
24783<parameter_description> the [I/O priority][io-priority] of the request
24784</parameter_description>
24785</parameter>
24786<parameter name="cancellable">
24787<parameter_description> optional #GCancellable object,
24788%NULL to ignore
24789</parameter_description>
24790</parameter>
24791<parameter name="callback">
24792<parameter_description> a #GAsyncReadyCallback to call
24793when the request is satisfied
24794</parameter_description>
24795</parameter>
24796<parameter name="user_data">
24797<parameter_description> the data to pass to callback function
24798</parameter_description>
24799</parameter>
24800</parameters>
24801<return></return>
24802</function>
24803
24804<function name="g_file_create_finish">
24805<description>
24806Finishes an asynchronous file create operation started with
24807g_file_create_async().
24808
24809
24810</description>
24811<parameters>
24812<parameter name="file">
24813<parameter_description> input #GFile
24814</parameter_description>
24815</parameter>
24816<parameter name="res">
24817<parameter_description> a #GAsyncResult
24818</parameter_description>
24819</parameter>
24820<parameter name="error">
24821<parameter_description> a #GError, or %NULL
24822</parameter_description>
24823</parameter>
24824</parameters>
24825<return> a #GFileOutputStream or %NULL on error.
24826Free the returned object with g_object_unref().
24827</return>
24828</function>
24829
24830<function name="g_file_create_readwrite">
24831<description>
24832Creates a new file and returns a stream for reading and
24833writing to it. The file must not already exist.
24834
24835By default files created are generally readable by everyone,
24836but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
24837will be made readable only to the current user, to the level
24838that is supported on the target filesystem.
24839
24840If @cancellable is not %NULL, then the operation can be cancelled
24841by triggering the cancellable object from another thread. If the
24842operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
24843returned.
24844
24845If a file or directory with this name already exists, the
24846%G_IO_ERROR_EXISTS error will be returned. Some file systems don't
24847allow all file names, and may return an %G_IO_ERROR_INVALID_FILENAME
24848error, and if the name is too long, %G_IO_ERROR_FILENAME_TOO_LONG
24849will be returned. Other errors are possible too, and depend on what
24850kind of filesystem the file is on.
24851
24852Note that in many non-local file cases read and write streams are
24853not supported, so make sure you really need to do read and write
24854streaming, rather than just opening for reading or writing.
24855
24856Since: 2.22
24857
24858</description>
24859<parameters>
24860<parameter name="file">
24861<parameter_description> a #GFile
24862</parameter_description>
24863</parameter>
24864<parameter name="flags">
24865<parameter_description> a set of #GFileCreateFlags
24866</parameter_description>
24867</parameter>
24868<parameter name="cancellable">
24869<parameter_description> optional #GCancellable object,
24870%NULL to ignore
24871</parameter_description>
24872</parameter>
24873<parameter name="error">
24874<parameter_description> return location for a #GError, or %NULL
24875</parameter_description>
24876</parameter>
24877</parameters>
24878<return> a #GFileIOStream for the newly created
24879file, or %NULL on error.
24880Free the returned object with g_object_unref().
24881
24882</return>
24883</function>
24884
24885<function name="g_file_create_readwrite_async">
24886<description>
24887Asynchronously creates a new file and returns a stream
24888for reading and writing to it. The file must not already exist.
24889
24890For more details, see g_file_create_readwrite() which is
24891the synchronous version of this call.
24892
24893When the operation is finished, @callback will be called.
24894You can then call g_file_create_readwrite_finish() to get
24895the result of the operation.
24896
24897Since: 2.22
24898
24899</description>
24900<parameters>
24901<parameter name="file">
24902<parameter_description> input #GFile
24903</parameter_description>
24904</parameter>
24905<parameter name="flags">
24906<parameter_description> a set of #GFileCreateFlags
24907</parameter_description>
24908</parameter>
24909<parameter name="io_priority">
24910<parameter_description> the [I/O priority][io-priority] of the request
24911</parameter_description>
24912</parameter>
24913<parameter name="cancellable">
24914<parameter_description> optional #GCancellable object,
24915%NULL to ignore
24916</parameter_description>
24917</parameter>
24918<parameter name="callback">
24919<parameter_description> a #GAsyncReadyCallback to call
24920when the request is satisfied
24921</parameter_description>
24922</parameter>
24923<parameter name="user_data">
24924<parameter_description> the data to pass to callback function
24925</parameter_description>
24926</parameter>
24927</parameters>
24928<return></return>
24929</function>
24930
24931<function name="g_file_create_readwrite_finish">
24932<description>
24933Finishes an asynchronous file create operation started with
24934g_file_create_readwrite_async().
24935
24936Since: 2.22
24937
24938</description>
24939<parameters>
24940<parameter name="file">
24941<parameter_description> input #GFile
24942</parameter_description>
24943</parameter>
24944<parameter name="res">
24945<parameter_description> a #GAsyncResult
24946</parameter_description>
24947</parameter>
24948<parameter name="error">
24949<parameter_description> a #GError, or %NULL
24950</parameter_description>
24951</parameter>
24952</parameters>
24953<return> a #GFileIOStream or %NULL on error.
24954Free the returned object with g_object_unref().
24955
24956</return>
24957</function>
24958
24959<function name="g_file_delete">
24960<description>
24961Deletes a file. If the @file is a directory, it will only be
24962deleted if it is empty. This has the same semantics as g_unlink().
24963
24964If @cancellable is not %NULL, then the operation can be cancelled by
24965triggering the cancellable object from another thread. If the operation
24966was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
24967
24968Virtual: delete_file
24969
24970</description>
24971<parameters>
24972<parameter name="file">
24973<parameter_description> input #GFile
24974</parameter_description>
24975</parameter>
24976<parameter name="cancellable">
24977<parameter_description> optional #GCancellable object,
24978%NULL to ignore
24979</parameter_description>
24980</parameter>
24981<parameter name="error">
24982<parameter_description> a #GError, or %NULL
24983</parameter_description>
24984</parameter>
24985</parameters>
24986<return> %TRUE if the file was deleted. %FALSE otherwise.
24987</return>
24988</function>
24989
24990<function name="g_file_delete_async">
24991<description>
24992Asynchronously delete a file. If the @file is a directory, it will
24993only be deleted if it is empty.  This has the same semantics as
24994g_unlink().
24995
24996Virtual: delete_file_async
24997Since: 2.34
24998
24999</description>
25000<parameters>
25001<parameter name="file">
25002<parameter_description> input #GFile
25003</parameter_description>
25004</parameter>
25005<parameter name="io_priority">
25006<parameter_description> the [I/O priority][io-priority] of the request
25007</parameter_description>
25008</parameter>
25009<parameter name="cancellable">
25010<parameter_description> optional #GCancellable object,
25011%NULL to ignore
25012</parameter_description>
25013</parameter>
25014<parameter name="callback">
25015<parameter_description> a #GAsyncReadyCallback to call
25016when the request is satisfied
25017</parameter_description>
25018</parameter>
25019<parameter name="user_data">
25020<parameter_description> the data to pass to callback function
25021</parameter_description>
25022</parameter>
25023</parameters>
25024<return></return>
25025</function>
25026
25027<function name="g_file_delete_finish">
25028<description>
25029Finishes deleting a file started with g_file_delete_async().
25030
25031Virtual: delete_file_finish
25032Since: 2.34
25033
25034</description>
25035<parameters>
25036<parameter name="file">
25037<parameter_description> input #GFile
25038</parameter_description>
25039</parameter>
25040<parameter name="result">
25041<parameter_description> a #GAsyncResult
25042</parameter_description>
25043</parameter>
25044<parameter name="error">
25045<parameter_description> a #GError, or %NULL
25046</parameter_description>
25047</parameter>
25048</parameters>
25049<return> %TRUE if the file was deleted. %FALSE otherwise.
25050</return>
25051</function>
25052
25053<function name="g_file_descriptor_based_get_fd">
25054<description>
25055Gets the underlying file descriptor.
25056
25057Since: 2.24
25058
25059</description>
25060<parameters>
25061<parameter name="fd_based">
25062<parameter_description> a #GFileDescriptorBased.
25063</parameter_description>
25064</parameter>
25065</parameters>
25066<return> The file descriptor
25067
25068</return>
25069</function>
25070
25071<function name="g_file_dup">
25072<description>
25073Duplicates a #GFile handle. This operation does not duplicate
25074the actual file or directory represented by the #GFile; see
25075g_file_copy() if attempting to copy a file.
25076
25077g_file_dup() is useful when a second handle is needed to the same underlying
25078file, for use in a separate thread (#GFile is not thread-safe). For use
25079within the same thread, use g_object_ref() to increment the existing object’s
25080reference count.
25081
25082This call does no blocking I/O.
25083
25084
25085</description>
25086<parameters>
25087<parameter name="file">
25088<parameter_description> input #GFile
25089</parameter_description>
25090</parameter>
25091</parameters>
25092<return> a new #GFile that is a duplicate
25093of the given #GFile.
25094</return>
25095</function>
25096
25097<function name="g_file_eject_mountable">
25098<description>
25099Starts an asynchronous eject on a mountable.
25100When this operation has completed, @callback will be called with
25101@user_user data, and the operation can be finalized with
25102g_file_eject_mountable_finish().
25103
25104If @cancellable is not %NULL, then the operation can be cancelled by
25105triggering the cancellable object from another thread. If the operation
25106was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
25107
25108Deprecated: 2.22: Use g_file_eject_mountable_with_operation() instead.
25109
25110</description>
25111<parameters>
25112<parameter name="file">
25113<parameter_description> input #GFile
25114</parameter_description>
25115</parameter>
25116<parameter name="flags">
25117<parameter_description> flags affecting the operation
25118</parameter_description>
25119</parameter>
25120<parameter name="cancellable">
25121<parameter_description> optional #GCancellable object,
25122%NULL to ignore
25123</parameter_description>
25124</parameter>
25125<parameter name="callback">
25126<parameter_description> a #GAsyncReadyCallback to call
25127when the request is satisfied, or %NULL
25128</parameter_description>
25129</parameter>
25130<parameter name="user_data">
25131<parameter_description> the data to pass to callback function
25132</parameter_description>
25133</parameter>
25134</parameters>
25135<return></return>
25136</function>
25137
25138<function name="g_file_eject_mountable_finish">
25139<description>
25140Finishes an asynchronous eject operation started by
25141g_file_eject_mountable().
25142
25143Deprecated: 2.22: Use g_file_eject_mountable_with_operation_finish()
25144instead.
25145
25146</description>
25147<parameters>
25148<parameter name="file">
25149<parameter_description> input #GFile
25150</parameter_description>
25151</parameter>
25152<parameter name="result">
25153<parameter_description> a #GAsyncResult
25154</parameter_description>
25155</parameter>
25156<parameter name="error">
25157<parameter_description> a #GError, or %NULL
25158</parameter_description>
25159</parameter>
25160</parameters>
25161<return> %TRUE if the @file was ejected successfully.
25162%FALSE otherwise.
25163
25164</return>
25165</function>
25166
25167<function name="g_file_eject_mountable_with_operation">
25168<description>
25169Starts an asynchronous eject on a mountable.
25170When this operation has completed, @callback will be called with
25171@user_user data, and the operation can be finalized with
25172g_file_eject_mountable_with_operation_finish().
25173
25174If @cancellable is not %NULL, then the operation can be cancelled by
25175triggering the cancellable object from another thread. If the operation
25176was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
25177
25178Since: 2.22
25179
25180</description>
25181<parameters>
25182<parameter name="file">
25183<parameter_description> input #GFile
25184</parameter_description>
25185</parameter>
25186<parameter name="flags">
25187<parameter_description> flags affecting the operation
25188</parameter_description>
25189</parameter>
25190<parameter name="mount_operation">
25191<parameter_description> a #GMountOperation,
25192or %NULL to avoid user interaction
25193</parameter_description>
25194</parameter>
25195<parameter name="cancellable">
25196<parameter_description> optional #GCancellable object,
25197%NULL to ignore
25198</parameter_description>
25199</parameter>
25200<parameter name="callback">
25201<parameter_description> a #GAsyncReadyCallback to call
25202when the request is satisfied, or %NULL
25203</parameter_description>
25204</parameter>
25205<parameter name="user_data">
25206<parameter_description> the data to pass to callback function
25207</parameter_description>
25208</parameter>
25209</parameters>
25210<return></return>
25211</function>
25212
25213<function name="g_file_eject_mountable_with_operation_finish">
25214<description>
25215Finishes an asynchronous eject operation started by
25216g_file_eject_mountable_with_operation().
25217
25218Since: 2.22
25219
25220</description>
25221<parameters>
25222<parameter name="file">
25223<parameter_description> input #GFile
25224</parameter_description>
25225</parameter>
25226<parameter name="result">
25227<parameter_description> a #GAsyncResult
25228</parameter_description>
25229</parameter>
25230<parameter name="error">
25231<parameter_description> a #GError, or %NULL
25232</parameter_description>
25233</parameter>
25234</parameters>
25235<return> %TRUE if the @file was ejected successfully.
25236%FALSE otherwise.
25237
25238</return>
25239</function>
25240
25241<function name="g_file_enumerate_children">
25242<description>
25243Gets the requested information about the files in a directory.
25244The result is a #GFileEnumerator object that will give out
25245#GFileInfo objects for all the files in the directory.
25246
25247The @attributes value is a string that specifies the file
25248attributes that should be gathered. It is not an error if
25249it's not possible to read a particular requested attribute
25250from a file - it just won't be set. @attributes should
25251be a comma-separated list of attributes or attribute wildcards.
25252The wildcard &quot;*&quot; means all attributes, and a wildcard like
25253&quot;standard::*&quot; means all attributes in the standard namespace.
25254An example attribute query be &quot;standard::*,owner::user&quot;.
25255The standard attributes are available as defines, like
25256#G_FILE_ATTRIBUTE_STANDARD_NAME.
25257
25258If @cancellable is not %NULL, then the operation can be cancelled
25259by triggering the cancellable object from another thread. If the
25260operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
25261returned.
25262
25263If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
25264be returned. If the file is not a directory, the %G_IO_ERROR_NOT_DIRECTORY
25265error will be returned. Other errors are possible too.
25266
25267
25268</description>
25269<parameters>
25270<parameter name="file">
25271<parameter_description> input #GFile
25272</parameter_description>
25273</parameter>
25274<parameter name="attributes">
25275<parameter_description> an attribute query string
25276</parameter_description>
25277</parameter>
25278<parameter name="flags">
25279<parameter_description> a set of #GFileQueryInfoFlags
25280</parameter_description>
25281</parameter>
25282<parameter name="cancellable">
25283<parameter_description> optional #GCancellable object,
25284%NULL to ignore
25285</parameter_description>
25286</parameter>
25287<parameter name="error">
25288<parameter_description> #GError for error reporting
25289</parameter_description>
25290</parameter>
25291</parameters>
25292<return> A #GFileEnumerator if successful,
25293%NULL on error. Free the returned object with g_object_unref().
25294</return>
25295</function>
25296
25297<function name="g_file_enumerate_children_async">
25298<description>
25299Asynchronously gets the requested information about the files
25300in a directory. The result is a #GFileEnumerator object that will
25301give out #GFileInfo objects for all the files in the directory.
25302
25303For more details, see g_file_enumerate_children() which is
25304the synchronous version of this call.
25305
25306When the operation is finished, @callback will be called. You can
25307then call g_file_enumerate_children_finish() to get the result of
25308the operation.
25309
25310</description>
25311<parameters>
25312<parameter name="file">
25313<parameter_description> input #GFile
25314</parameter_description>
25315</parameter>
25316<parameter name="attributes">
25317<parameter_description> an attribute query string
25318</parameter_description>
25319</parameter>
25320<parameter name="flags">
25321<parameter_description> a set of #GFileQueryInfoFlags
25322</parameter_description>
25323</parameter>
25324<parameter name="io_priority">
25325<parameter_description> the [I/O priority][io-priority] of the request
25326</parameter_description>
25327</parameter>
25328<parameter name="cancellable">
25329<parameter_description> optional #GCancellable object,
25330%NULL to ignore
25331</parameter_description>
25332</parameter>
25333<parameter name="callback">
25334<parameter_description> a #GAsyncReadyCallback to call when the
25335request is satisfied
25336</parameter_description>
25337</parameter>
25338<parameter name="user_data">
25339<parameter_description> the data to pass to callback function
25340</parameter_description>
25341</parameter>
25342</parameters>
25343<return></return>
25344</function>
25345
25346<function name="g_file_enumerate_children_finish">
25347<description>
25348Finishes an async enumerate children operation.
25349See g_file_enumerate_children_async().
25350
25351
25352</description>
25353<parameters>
25354<parameter name="file">
25355<parameter_description> input #GFile
25356</parameter_description>
25357</parameter>
25358<parameter name="res">
25359<parameter_description> a #GAsyncResult
25360</parameter_description>
25361</parameter>
25362<parameter name="error">
25363<parameter_description> a #GError
25364</parameter_description>
25365</parameter>
25366</parameters>
25367<return> a #GFileEnumerator or %NULL
25368if an error occurred.
25369Free the returned object with g_object_unref().
25370</return>
25371</function>
25372
25373<function name="g_file_enumerator_close">
25374<description>
25375Releases all resources used by this enumerator, making the
25376enumerator return %G_IO_ERROR_CLOSED on all calls.
25377
25378This will be automatically called when the last reference
25379is dropped, but you might want to call this function to make
25380sure resources are released as early as possible.
25381
25382
25383</description>
25384<parameters>
25385<parameter name="enumerator">
25386<parameter_description> a #GFileEnumerator.
25387</parameter_description>
25388</parameter>
25389<parameter name="cancellable">
25390<parameter_description> optional #GCancellable object, %NULL to ignore.
25391</parameter_description>
25392</parameter>
25393<parameter name="error">
25394<parameter_description> location to store the error occurring, or %NULL to ignore
25395</parameter_description>
25396</parameter>
25397</parameters>
25398<return> #TRUE on success or #FALSE on error.
25399</return>
25400</function>
25401
25402<function name="g_file_enumerator_close_async">
25403<description>
25404Asynchronously closes the file enumerator.
25405
25406If @cancellable is not %NULL, then the operation can be cancelled by
25407triggering the cancellable object from another thread. If the operation
25408was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in
25409g_file_enumerator_close_finish().
25410
25411</description>
25412<parameters>
25413<parameter name="enumerator">
25414<parameter_description> a #GFileEnumerator.
25415</parameter_description>
25416</parameter>
25417<parameter name="io_priority">
25418<parameter_description> the [I/O priority][io-priority] of the request
25419</parameter_description>
25420</parameter>
25421<parameter name="cancellable">
25422<parameter_description> optional #GCancellable object, %NULL to ignore.
25423</parameter_description>
25424</parameter>
25425<parameter name="callback">
25426<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
25427</parameter_description>
25428</parameter>
25429<parameter name="user_data">
25430<parameter_description> the data to pass to callback function
25431</parameter_description>
25432</parameter>
25433</parameters>
25434<return></return>
25435</function>
25436
25437<function name="g_file_enumerator_close_finish">
25438<description>
25439Finishes closing a file enumerator, started from g_file_enumerator_close_async().
25440
25441If the file enumerator was already closed when g_file_enumerator_close_async()
25442was called, then this function will report %G_IO_ERROR_CLOSED in @error, and
25443return %FALSE. If the file enumerator had pending operation when the close
25444operation was started, then this function will report %G_IO_ERROR_PENDING, and
25445return %FALSE.  If @cancellable was not %NULL, then the operation may have been
25446cancelled by triggering the cancellable object from another thread. If the operation
25447was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be
25448returned.
25449
25450
25451</description>
25452<parameters>
25453<parameter name="enumerator">
25454<parameter_description> a #GFileEnumerator.
25455</parameter_description>
25456</parameter>
25457<parameter name="result">
25458<parameter_description> a #GAsyncResult.
25459</parameter_description>
25460</parameter>
25461<parameter name="error">
25462<parameter_description> a #GError location to store the error occurring, or %NULL to
25463ignore.
25464</parameter_description>
25465</parameter>
25466</parameters>
25467<return> %TRUE if the close operation has finished successfully.
25468</return>
25469</function>
25470
25471<function name="g_file_enumerator_get_child">
25472<description>
25473Return a new #GFile which refers to the file named by @info in the source
25474directory of @enumerator.  This function is primarily intended to be used
25475inside loops with g_file_enumerator_next_file().
25476
25477This is a convenience method that's equivalent to:
25478|[&lt;!-- language=&quot;C&quot; --&gt;
25479gchar *name = g_file_info_get_name (info);
25480GFile *child = g_file_get_child (g_file_enumerator_get_container (enumr),
25481name);
25482]|
25483
25484Since: 2.36
25485
25486</description>
25487<parameters>
25488<parameter name="enumerator">
25489<parameter_description> a #GFileEnumerator
25490</parameter_description>
25491</parameter>
25492<parameter name="info">
25493<parameter_description> a #GFileInfo gotten from g_file_enumerator_next_file()
25494or the async equivalents.
25495</parameter_description>
25496</parameter>
25497</parameters>
25498<return> a #GFile for the #GFileInfo passed it.
25499
25500</return>
25501</function>
25502
25503<function name="g_file_enumerator_get_container">
25504<description>
25505Get the #GFile container which is being enumerated.
25506
25507Since: 2.18
25508
25509</description>
25510<parameters>
25511<parameter name="enumerator">
25512<parameter_description> a #GFileEnumerator
25513</parameter_description>
25514</parameter>
25515</parameters>
25516<return> the #GFile which is being enumerated.
25517
25518</return>
25519</function>
25520
25521<function name="g_file_enumerator_has_pending">
25522<description>
25523Checks if the file enumerator has pending operations.
25524
25525
25526</description>
25527<parameters>
25528<parameter name="enumerator">
25529<parameter_description> a #GFileEnumerator.
25530</parameter_description>
25531</parameter>
25532</parameters>
25533<return> %TRUE if the @enumerator has pending operations.
25534</return>
25535</function>
25536
25537<function name="g_file_enumerator_is_closed">
25538<description>
25539Checks if the file enumerator has been closed.
25540
25541
25542</description>
25543<parameters>
25544<parameter name="enumerator">
25545<parameter_description> a #GFileEnumerator.
25546</parameter_description>
25547</parameter>
25548</parameters>
25549<return> %TRUE if the @enumerator is closed.
25550</return>
25551</function>
25552
25553<function name="g_file_enumerator_iterate">
25554<description>
25555This is a version of g_file_enumerator_next_file() that's easier to
25556use correctly from C programs.  With g_file_enumerator_next_file(),
25557the gboolean return value signifies &quot;end of iteration or error&quot;, which
25558requires allocation of a temporary #GError.
25559
25560In contrast, with this function, a %FALSE return from
25561g_file_enumerator_iterate() *always* means
25562&quot;error&quot;.  End of iteration is signaled by @out_info or @out_child being %NULL.
25563
25564Another crucial difference is that the references for @out_info and
25565@out_child are owned by @direnum (they are cached as hidden
25566properties).  You must not unref them in your own code.  This makes
25567memory management significantly easier for C code in combination
25568with loops.
25569
25570Finally, this function optionally allows retrieving a #GFile as
25571well.
25572
25573You must specify at least one of @out_info or @out_child.
25574
25575The code pattern for correctly using g_file_enumerator_iterate() from C
25576is:
25577
25578|[
25579direnum = g_file_enumerate_children (file, ...);
25580while (TRUE)
25581{
25582GFileInfo *info;
25583if (!g_file_enumerator_iterate (direnum, &amp;info, NULL, cancellable, error))
25584goto out;
25585if (!info)
25586break;
25587... do stuff with &quot;info&quot;; do not unref it! ...
25588}
25589
25590out:
25591g_object_unref (direnum); // Note: frees the last @info
25592]|
25593
25594
25595Since: 2.44
25596
25597</description>
25598<parameters>
25599<parameter name="direnum">
25600<parameter_description> an open #GFileEnumerator
25601</parameter_description>
25602</parameter>
25603<parameter name="out_info">
25604<parameter_description> Output location for the next #GFileInfo, or %NULL
25605</parameter_description>
25606</parameter>
25607<parameter name="out_child">
25608<parameter_description> Output location for the next #GFile, or %NULL
25609</parameter_description>
25610</parameter>
25611<parameter name="cancellable">
25612<parameter_description> a #GCancellable
25613</parameter_description>
25614</parameter>
25615<parameter name="error">
25616<parameter_description> a #GError
25617</parameter_description>
25618</parameter>
25619</parameters>
25620<return></return>
25621</function>
25622
25623<function name="g_file_enumerator_next_file">
25624<description>
25625Returns information for the next file in the enumerated object.
25626Will block until the information is available. The #GFileInfo
25627returned from this function will contain attributes that match the
25628attribute string that was passed when the #GFileEnumerator was created.
25629
25630See the documentation of #GFileEnumerator for information about the
25631order of returned files.
25632
25633On error, returns %NULL and sets @error to the error. If the
25634enumerator is at the end, %NULL will be returned and @error will
25635be unset.
25636
25637
25638</description>
25639<parameters>
25640<parameter name="enumerator">
25641<parameter_description> a #GFileEnumerator.
25642</parameter_description>
25643</parameter>
25644<parameter name="cancellable">
25645<parameter_description> optional #GCancellable object, %NULL to ignore.
25646</parameter_description>
25647</parameter>
25648<parameter name="error">
25649<parameter_description> location to store the error occurring, or %NULL to ignore
25650</parameter_description>
25651</parameter>
25652</parameters>
25653<return> A #GFileInfo or %NULL on error
25654or end of enumerator.  Free the returned object with
25655g_object_unref() when no longer needed.
25656</return>
25657</function>
25658
25659<function name="g_file_enumerator_next_files_async">
25660<description>
25661Request information for a number of files from the enumerator asynchronously.
25662When all i/o for the operation is finished the @callback will be called with
25663the requested information.
25664
25665See the documentation of #GFileEnumerator for information about the
25666order of returned files.
25667
25668The callback can be called with less than @num_files files in case of error
25669or at the end of the enumerator. In case of a partial error the callback will
25670be called with any succeeding items and no error, and on the next request the
25671error will be reported. If a request is cancelled the callback will be called
25672with %G_IO_ERROR_CANCELLED.
25673
25674During an async request no other sync and async calls are allowed, and will
25675result in %G_IO_ERROR_PENDING errors.
25676
25677Any outstanding i/o request with higher priority (lower numerical value) will
25678be executed before an outstanding request with lower priority. Default
25679priority is %G_PRIORITY_DEFAULT.
25680
25681</description>
25682<parameters>
25683<parameter name="enumerator">
25684<parameter_description> a #GFileEnumerator.
25685</parameter_description>
25686</parameter>
25687<parameter name="num_files">
25688<parameter_description> the number of file info objects to request
25689</parameter_description>
25690</parameter>
25691<parameter name="io_priority">
25692<parameter_description> the [I/O priority][io-priority] of the request
25693</parameter_description>
25694</parameter>
25695<parameter name="cancellable">
25696<parameter_description> optional #GCancellable object, %NULL to ignore.
25697</parameter_description>
25698</parameter>
25699<parameter name="callback">
25700<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
25701</parameter_description>
25702</parameter>
25703<parameter name="user_data">
25704<parameter_description> the data to pass to callback function
25705</parameter_description>
25706</parameter>
25707</parameters>
25708<return></return>
25709</function>
25710
25711<function name="g_file_enumerator_next_files_finish">
25712<description>
25713Finishes the asynchronous operation started with g_file_enumerator_next_files_async().
25714
25715
25716</description>
25717<parameters>
25718<parameter name="enumerator">
25719<parameter_description> a #GFileEnumerator.
25720</parameter_description>
25721</parameter>
25722<parameter name="result">
25723<parameter_description> a #GAsyncResult.
25724</parameter_description>
25725</parameter>
25726<parameter name="error">
25727<parameter_description> a #GError location to store the error occurring, or %NULL to
25728ignore.
25729</parameter_description>
25730</parameter>
25731</parameters>
25732<return> a #GList of #GFileInfos. You must free the list with
25733g_list_free() and unref the infos with g_object_unref() when you're
25734done with them.
25735</return>
25736</function>
25737
25738<function name="g_file_enumerator_set_pending">
25739<description>
25740Sets the file enumerator as having pending operations.
25741
25742</description>
25743<parameters>
25744<parameter name="enumerator">
25745<parameter_description> a #GFileEnumerator.
25746</parameter_description>
25747</parameter>
25748<parameter name="pending">
25749<parameter_description> a boolean value.
25750</parameter_description>
25751</parameter>
25752</parameters>
25753<return></return>
25754</function>
25755
25756<function name="g_file_equal">
25757<description>
25758Checks if the two given #GFiles refer to the same file.
25759
25760Note that two #GFiles that differ can still refer to the same
25761file on the filesystem due to various forms of filename
25762aliasing.
25763
25764This call does no blocking I/O.
25765
25766
25767</description>
25768<parameters>
25769<parameter name="file1">
25770<parameter_description> the first #GFile
25771</parameter_description>
25772</parameter>
25773<parameter name="file2">
25774<parameter_description> the second #GFile
25775</parameter_description>
25776</parameter>
25777</parameters>
25778<return> %TRUE if @file1 and @file2 are equal.
25779</return>
25780</function>
25781
25782<function name="g_file_find_enclosing_mount">
25783<description>
25784Gets a #GMount for the #GFile.
25785
25786#GMount is returned only for user interesting locations, see
25787#GVolumeMonitor. If the #GFileIface for @file does not have a #mount,
25788@error will be set to %G_IO_ERROR_NOT_FOUND and %NULL #will be returned.
25789
25790If @cancellable is not %NULL, then the operation can be cancelled by
25791triggering the cancellable object from another thread. If the operation
25792was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
25793
25794
25795</description>
25796<parameters>
25797<parameter name="file">
25798<parameter_description> input #GFile
25799</parameter_description>
25800</parameter>
25801<parameter name="cancellable">
25802<parameter_description> optional #GCancellable object,
25803%NULL to ignore
25804</parameter_description>
25805</parameter>
25806<parameter name="error">
25807<parameter_description> a #GError
25808</parameter_description>
25809</parameter>
25810</parameters>
25811<return> a #GMount where the @file is located
25812or %NULL on error.
25813Free the returned object with g_object_unref().
25814</return>
25815</function>
25816
25817<function name="g_file_find_enclosing_mount_async">
25818<description>
25819Asynchronously gets the mount for the file.
25820
25821For more details, see g_file_find_enclosing_mount() which is
25822the synchronous version of this call.
25823
25824When the operation is finished, @callback will be called.
25825You can then call g_file_find_enclosing_mount_finish() to
25826get the result of the operation.
25827
25828</description>
25829<parameters>
25830<parameter name="file">
25831<parameter_description> a #GFile
25832</parameter_description>
25833</parameter>
25834<parameter name="io_priority">
25835<parameter_description> the [I/O priority][io-priority] of the request
25836</parameter_description>
25837</parameter>
25838<parameter name="cancellable">
25839<parameter_description> optional #GCancellable object,
25840%NULL to ignore
25841</parameter_description>
25842</parameter>
25843<parameter name="callback">
25844<parameter_description> a #GAsyncReadyCallback to call
25845when the request is satisfied
25846</parameter_description>
25847</parameter>
25848<parameter name="user_data">
25849<parameter_description> the data to pass to callback function
25850</parameter_description>
25851</parameter>
25852</parameters>
25853<return></return>
25854</function>
25855
25856<function name="g_file_find_enclosing_mount_finish">
25857<description>
25858Finishes an asynchronous find mount request.
25859See g_file_find_enclosing_mount_async().
25860
25861
25862</description>
25863<parameters>
25864<parameter name="file">
25865<parameter_description> a #GFile
25866</parameter_description>
25867</parameter>
25868<parameter name="res">
25869<parameter_description> a #GAsyncResult
25870</parameter_description>
25871</parameter>
25872<parameter name="error">
25873<parameter_description> a #GError
25874</parameter_description>
25875</parameter>
25876</parameters>
25877<return> #GMount for given @file or %NULL on error.
25878Free the returned object with g_object_unref().
25879</return>
25880</function>
25881
25882<function name="g_file_get_basename">
25883<description>
25884Gets the base name (the last component of the path) for a given #GFile.
25885
25886If called for the top level of a system (such as the filesystem root
25887or a uri like sftp://host/) it will return a single directory separator
25888(and on Windows, possibly a drive letter).
25889
25890The base name is a byte string (not UTF-8). It has no defined encoding
25891or rules other than it may not contain zero bytes.  If you want to use
25892filenames in a user interface you should use the display name that you
25893can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME
25894attribute with g_file_query_info().
25895
25896This call does no blocking I/O.
25897
25898
25899</description>
25900<parameters>
25901<parameter name="file">
25902<parameter_description> input #GFile
25903</parameter_description>
25904</parameter>
25905</parameters>
25906<return> string containing the #GFile's
25907base name, or %NULL if given #GFile is invalid. The returned string
25908should be freed with g_free() when no longer needed.
25909</return>
25910</function>
25911
25912<function name="g_file_get_child">
25913<description>
25914Gets a child of @file with basename equal to @name.
25915
25916Note that the file with that specific name might not exist, but
25917you can still have a #GFile that points to it. You can use this
25918for instance to create that file.
25919
25920This call does no blocking I/O.
25921
25922
25923</description>
25924<parameters>
25925<parameter name="file">
25926<parameter_description> input #GFile
25927</parameter_description>
25928</parameter>
25929<parameter name="name">
25930<parameter_description> string containing the child's basename
25931</parameter_description>
25932</parameter>
25933</parameters>
25934<return> a #GFile to a child specified by @name.
25935Free the returned object with g_object_unref().
25936</return>
25937</function>
25938
25939<function name="g_file_get_child_for_display_name">
25940<description>
25941Gets the child of @file for a given @display_name (i.e. a UTF-8
25942version of the name). If this function fails, it returns %NULL
25943and @error will be set. This is very useful when constructing a
25944#GFile for a new file and the user entered the filename in the
25945user interface, for instance when you select a directory and
25946type a filename in the file selector.
25947
25948This call does no blocking I/O.
25949
25950
25951</description>
25952<parameters>
25953<parameter name="file">
25954<parameter_description> input #GFile
25955</parameter_description>
25956</parameter>
25957<parameter name="display_name">
25958<parameter_description> string to a possible child
25959</parameter_description>
25960</parameter>
25961<parameter name="error">
25962<parameter_description> return location for an error
25963</parameter_description>
25964</parameter>
25965</parameters>
25966<return> a #GFile to the specified child, or
25967%NULL if the display name couldn't be converted.
25968Free the returned object with g_object_unref().
25969</return>
25970</function>
25971
25972<function name="g_file_get_parent">
25973<description>
25974Gets the parent directory for the @file.
25975If the @file represents the root directory of the
25976file system, then %NULL will be returned.
25977
25978This call does no blocking I/O.
25979
25980
25981</description>
25982<parameters>
25983<parameter name="file">
25984<parameter_description> input #GFile
25985</parameter_description>
25986</parameter>
25987</parameters>
25988<return> a #GFile structure to the
25989parent of the given #GFile or %NULL if there is no parent. Free
25990the returned object with g_object_unref().
25991</return>
25992</function>
25993
25994<function name="g_file_get_parse_name">
25995<description>
25996Gets the parse name of the @file.
25997A parse name is a UTF-8 string that describes the
25998file such that one can get the #GFile back using
25999g_file_parse_name().
26000
26001This is generally used to show the #GFile as a nice
26002full-pathname kind of string in a user interface,
26003like in a location entry.
26004
26005For local files with names that can safely be converted
26006to UTF-8 the pathname is used, otherwise the IRI is used
26007(a form of URI that allows UTF-8 characters unescaped).
26008
26009This call does no blocking I/O.
26010
26011
26012</description>
26013<parameters>
26014<parameter name="file">
26015<parameter_description> input #GFile
26016</parameter_description>
26017</parameter>
26018</parameters>
26019<return> a string containing the #GFile's parse name.
26020The returned string should be freed with g_free()
26021when no longer needed.
26022</return>
26023</function>
26024
26025<function name="g_file_get_path">
26026<description>
26027Gets the local pathname for #GFile, if one exists. If non-%NULL, this is
26028guaranteed to be an absolute, canonical path. It might contain symlinks.
26029
26030This call does no blocking I/O.
26031
26032
26033</description>
26034<parameters>
26035<parameter name="file">
26036<parameter_description> input #GFile
26037</parameter_description>
26038</parameter>
26039</parameters>
26040<return> string containing the #GFile's path,
26041or %NULL if no such path exists. The returned string should be freed
26042with g_free() when no longer needed.
26043</return>
26044</function>
26045
26046<function name="g_file_get_relative_path">
26047<description>
26048Gets the path for @descendant relative to @parent.
26049
26050This call does no blocking I/O.
26051
26052
26053</description>
26054<parameters>
26055<parameter name="parent">
26056<parameter_description> input #GFile
26057</parameter_description>
26058</parameter>
26059<parameter name="descendant">
26060<parameter_description> input #GFile
26061</parameter_description>
26062</parameter>
26063</parameters>
26064<return> string with the relative path from
26065@descendant to @parent, or %NULL if @descendant doesn't have @parent as
26066prefix. The returned string should be freed with g_free() when
26067no longer needed.
26068</return>
26069</function>
26070
26071<function name="g_file_get_uri">
26072<description>
26073Gets the URI for the @file.
26074
26075This call does no blocking I/O.
26076
26077
26078</description>
26079<parameters>
26080<parameter name="file">
26081<parameter_description> input #GFile
26082</parameter_description>
26083</parameter>
26084</parameters>
26085<return> a string containing the #GFile's URI.
26086The returned string should be freed with g_free()
26087when no longer needed.
26088</return>
26089</function>
26090
26091<function name="g_file_get_uri_scheme">
26092<description>
26093Gets the URI scheme for a #GFile.
26094RFC 3986 decodes the scheme as:
26095|[
26096URI = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fragment ]
26097]|
26098Common schemes include &quot;file&quot;, &quot;http&quot;, &quot;ftp&quot;, etc.
26099
26100This call does no blocking I/O.
26101
26102
26103</description>
26104<parameters>
26105<parameter name="file">
26106<parameter_description> input #GFile
26107</parameter_description>
26108</parameter>
26109</parameters>
26110<return> a string containing the URI scheme for the given
26111#GFile. The returned string should be freed with g_free()
26112when no longer needed.
26113</return>
26114</function>
26115
26116<function name="g_file_has_parent">
26117<description>
26118Checks if @file has a parent, and optionally, if it is @parent.
26119
26120If @parent is %NULL then this function returns %TRUE if @file has any
26121parent at all.  If @parent is non-%NULL then %TRUE is only returned
26122if @file is an immediate child of @parent.
26123
26124Since: 2.24
26125
26126</description>
26127<parameters>
26128<parameter name="file">
26129<parameter_description> input #GFile
26130</parameter_description>
26131</parameter>
26132<parameter name="parent">
26133<parameter_description> the parent to check for, or %NULL
26134</parameter_description>
26135</parameter>
26136</parameters>
26137<return> %TRUE if @file is an immediate child of @parent (or any parent in
26138the case that @parent is %NULL).
26139
26140</return>
26141</function>
26142
26143<function name="g_file_has_prefix">
26144<description>
26145Checks whether @file has the prefix specified by @prefix.
26146
26147In other words, if the names of initial elements of @file's
26148pathname match @prefix. Only full pathname elements are matched,
26149so a path like /foo is not considered a prefix of /foobar, only
26150of /foo/bar.
26151
26152A #GFile is not a prefix of itself. If you want to check for
26153equality, use g_file_equal().
26154
26155This call does no I/O, as it works purely on names. As such it can
26156sometimes return %FALSE even if @file is inside a @prefix (from a
26157filesystem point of view), because the prefix of @file is an alias
26158of @prefix.
26159
26160Virtual: prefix_matches
26161
26162</description>
26163<parameters>
26164<parameter name="file">
26165<parameter_description> input #GFile
26166</parameter_description>
26167</parameter>
26168<parameter name="prefix">
26169<parameter_description> input #GFile
26170</parameter_description>
26171</parameter>
26172</parameters>
26173<return>  %TRUE if the @file's parent, grandparent, etc is @prefix,
26174%FALSE otherwise.
26175</return>
26176</function>
26177
26178<function name="g_file_has_uri_scheme">
26179<description>
26180Checks to see if a #GFile has a given URI scheme.
26181
26182This call does no blocking I/O.
26183
26184
26185</description>
26186<parameters>
26187<parameter name="file">
26188<parameter_description> input #GFile
26189</parameter_description>
26190</parameter>
26191<parameter name="uri_scheme">
26192<parameter_description> a string containing a URI scheme
26193</parameter_description>
26194</parameter>
26195</parameters>
26196<return> %TRUE if #GFile's backend supports the
26197given URI scheme, %FALSE if URI scheme is %NULL,
26198not supported, or #GFile is invalid.
26199</return>
26200</function>
26201
26202<function name="g_file_hash">
26203<description>
26204Creates a hash value for a #GFile.
26205
26206This call does no blocking I/O.
26207
26208Virtual: hash
26209
26210</description>
26211<parameters>
26212<parameter name="file">
26213<parameter_description> #gconstpointer to a #GFile
26214</parameter_description>
26215</parameter>
26216</parameters>
26217<return> 0 if @file is not a valid #GFile, otherwise an
26218integer that can be used as hash value for the #GFile.
26219This function is intended for easily hashing a #GFile to
26220add to a #GHashTable or similar data structure.
26221</return>
26222</function>
26223
26224<function name="g_file_icon_get_file">
26225<description>
26226Gets the #GFile associated with the given @icon.
26227
26228
26229</description>
26230<parameters>
26231<parameter name="icon">
26232<parameter_description> a #GIcon.
26233</parameter_description>
26234</parameter>
26235</parameters>
26236<return> a #GFile, or %NULL.
26237</return>
26238</function>
26239
26240<function name="g_file_icon_new">
26241<description>
26242Creates a new icon for a file.
26243
26244
26245</description>
26246<parameters>
26247<parameter name="file">
26248<parameter_description> a #GFile.
26249</parameter_description>
26250</parameter>
26251</parameters>
26252<return> a #GIcon for the given
26253@file, or %NULL on error.
26254</return>
26255</function>
26256
26257<function name="g_file_info_clear_status">
26258<description>
26259Clears the status information from @info.
26260
26261</description>
26262<parameters>
26263<parameter name="info">
26264<parameter_description> a #GFileInfo.
26265</parameter_description>
26266</parameter>
26267</parameters>
26268<return></return>
26269</function>
26270
26271<function name="g_file_info_copy_into">
26272<description>
26273First clears all of the [GFileAttribute][gio-GFileAttribute] of @dest_info,
26274and then copies all of the file attributes from @src_info to @dest_info.
26275
26276</description>
26277<parameters>
26278<parameter name="src_info">
26279<parameter_description> source to copy attributes from.
26280</parameter_description>
26281</parameter>
26282<parameter name="dest_info">
26283<parameter_description> destination to copy attributes to.
26284</parameter_description>
26285</parameter>
26286</parameters>
26287<return></return>
26288</function>
26289
26290<function name="g_file_info_dup">
26291<description>
26292Duplicates a file info structure.
26293
26294
26295</description>
26296<parameters>
26297<parameter name="other">
26298<parameter_description> a #GFileInfo.
26299</parameter_description>
26300</parameter>
26301</parameters>
26302<return> a duplicate #GFileInfo of @other.
26303</return>
26304</function>
26305
26306<function name="g_file_info_get_attribute_as_string">
26307<description>
26308Gets the value of a attribute, formated as a string.
26309This escapes things as needed to make the string valid
26310UTF-8.
26311
26312
26313</description>
26314<parameters>
26315<parameter name="info">
26316<parameter_description> a #GFileInfo.
26317</parameter_description>
26318</parameter>
26319<parameter name="attribute">
26320<parameter_description> a file attribute key.
26321</parameter_description>
26322</parameter>
26323</parameters>
26324<return> a UTF-8 string associated with the given @attribute, or
26325%NULL if the attribute wasn’t set.
26326When you're done with the string it must be freed with g_free().
26327</return>
26328</function>
26329
26330<function name="g_file_info_get_attribute_boolean">
26331<description>
26332Gets the value of a boolean attribute. If the attribute does not
26333contain a boolean value, %FALSE will be returned.
26334
26335
26336</description>
26337<parameters>
26338<parameter name="info">
26339<parameter_description> a #GFileInfo.
26340</parameter_description>
26341</parameter>
26342<parameter name="attribute">
26343<parameter_description> a file attribute key.
26344</parameter_description>
26345</parameter>
26346</parameters>
26347<return> the boolean value contained within the attribute.
26348</return>
26349</function>
26350
26351<function name="g_file_info_get_attribute_byte_string">
26352<description>
26353Gets the value of a byte string attribute. If the attribute does
26354not contain a byte string, %NULL will be returned.
26355
26356
26357</description>
26358<parameters>
26359<parameter name="info">
26360<parameter_description> a #GFileInfo.
26361</parameter_description>
26362</parameter>
26363<parameter name="attribute">
26364<parameter_description> a file attribute key.
26365</parameter_description>
26366</parameter>
26367</parameters>
26368<return> the contents of the @attribute value as a byte string, or
26369%NULL otherwise.
26370</return>
26371</function>
26372
26373<function name="g_file_info_get_attribute_data">
26374<description>
26375Gets the attribute type, value and status for an attribute key.
26376
26377
26378</description>
26379<parameters>
26380<parameter name="info">
26381<parameter_description> a #GFileInfo
26382</parameter_description>
26383</parameter>
26384<parameter name="attribute">
26385<parameter_description> a file attribute key
26386</parameter_description>
26387</parameter>
26388<parameter name="type">
26389<parameter_description> return location for the attribute type, or %NULL
26390</parameter_description>
26391</parameter>
26392<parameter name="value_pp">
26393<parameter_description> return location for the
26394attribute value, or %NULL; the attribute value will not be %NULL
26395</parameter_description>
26396</parameter>
26397<parameter name="status">
26398<parameter_description> return location for the attribute status, or %NULL
26399</parameter_description>
26400</parameter>
26401</parameters>
26402<return> %TRUE if @info has an attribute named @attribute,
26403%FALSE otherwise.
26404</return>
26405</function>
26406
26407<function name="g_file_info_get_attribute_int32">
26408<description>
26409Gets a signed 32-bit integer contained within the attribute. If the
26410attribute does not contain a signed 32-bit integer, or is invalid,
264110 will be returned.
26412
26413
26414</description>
26415<parameters>
26416<parameter name="info">
26417<parameter_description> a #GFileInfo.
26418</parameter_description>
26419</parameter>
26420<parameter name="attribute">
26421<parameter_description> a file attribute key.
26422</parameter_description>
26423</parameter>
26424</parameters>
26425<return> a signed 32-bit integer from the attribute.
26426</return>
26427</function>
26428
26429<function name="g_file_info_get_attribute_int64">
26430<description>
26431Gets a signed 64-bit integer contained within the attribute. If the
26432attribute does not contain a signed 64-bit integer, or is invalid,
264330 will be returned.
26434
26435
26436</description>
26437<parameters>
26438<parameter name="info">
26439<parameter_description> a #GFileInfo.
26440</parameter_description>
26441</parameter>
26442<parameter name="attribute">
26443<parameter_description> a file attribute key.
26444</parameter_description>
26445</parameter>
26446</parameters>
26447<return> a signed 64-bit integer from the attribute.
26448</return>
26449</function>
26450
26451<function name="g_file_info_get_attribute_object">
26452<description>
26453Gets the value of a #GObject attribute. If the attribute does
26454not contain a #GObject, %NULL will be returned.
26455
26456
26457</description>
26458<parameters>
26459<parameter name="info">
26460<parameter_description> a #GFileInfo.
26461</parameter_description>
26462</parameter>
26463<parameter name="attribute">
26464<parameter_description> a file attribute key.
26465</parameter_description>
26466</parameter>
26467</parameters>
26468<return> a #GObject associated with the given @attribute, or
26469%NULL otherwise.
26470</return>
26471</function>
26472
26473<function name="g_file_info_get_attribute_status">
26474<description>
26475Gets the attribute status for an attribute key.
26476
26477
26478</description>
26479<parameters>
26480<parameter name="info">
26481<parameter_description> a #GFileInfo
26482</parameter_description>
26483</parameter>
26484<parameter name="attribute">
26485<parameter_description> a file attribute key
26486</parameter_description>
26487</parameter>
26488</parameters>
26489<return> a #GFileAttributeStatus for the given @attribute, or
26490%G_FILE_ATTRIBUTE_STATUS_UNSET if the key is invalid.
26491
26492</return>
26493</function>
26494
26495<function name="g_file_info_get_attribute_string">
26496<description>
26497Gets the value of a string attribute. If the attribute does
26498not contain a string, %NULL will be returned.
26499
26500
26501</description>
26502<parameters>
26503<parameter name="info">
26504<parameter_description> a #GFileInfo.
26505</parameter_description>
26506</parameter>
26507<parameter name="attribute">
26508<parameter_description> a file attribute key.
26509</parameter_description>
26510</parameter>
26511</parameters>
26512<return> the contents of the @attribute value as a UTF-8 string, or
26513%NULL otherwise.
26514</return>
26515</function>
26516
26517<function name="g_file_info_get_attribute_stringv">
26518<description>
26519Gets the value of a stringv attribute. If the attribute does
26520not contain a stringv, %NULL will be returned.
26521
26522Since: 2.22
26523
26524</description>
26525<parameters>
26526<parameter name="info">
26527<parameter_description> a #GFileInfo.
26528</parameter_description>
26529</parameter>
26530<parameter name="attribute">
26531<parameter_description> a file attribute key.
26532</parameter_description>
26533</parameter>
26534</parameters>
26535<return> the contents of the @attribute value as a stringv, or
26536%NULL otherwise. Do not free. These returned strings are UTF-8.
26537
26538</return>
26539</function>
26540
26541<function name="g_file_info_get_attribute_type">
26542<description>
26543Gets the attribute type for an attribute key.
26544
26545
26546</description>
26547<parameters>
26548<parameter name="info">
26549<parameter_description> a #GFileInfo.
26550</parameter_description>
26551</parameter>
26552<parameter name="attribute">
26553<parameter_description> a file attribute key.
26554</parameter_description>
26555</parameter>
26556</parameters>
26557<return> a #GFileAttributeType for the given @attribute, or
26558%G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set.
26559</return>
26560</function>
26561
26562<function name="g_file_info_get_attribute_uint32">
26563<description>
26564Gets an unsigned 32-bit integer contained within the attribute. If the
26565attribute does not contain an unsigned 32-bit integer, or is invalid,
265660 will be returned.
26567
26568
26569</description>
26570<parameters>
26571<parameter name="info">
26572<parameter_description> a #GFileInfo.
26573</parameter_description>
26574</parameter>
26575<parameter name="attribute">
26576<parameter_description> a file attribute key.
26577</parameter_description>
26578</parameter>
26579</parameters>
26580<return> an unsigned 32-bit integer from the attribute.
26581</return>
26582</function>
26583
26584<function name="g_file_info_get_attribute_uint64">
26585<description>
26586Gets a unsigned 64-bit integer contained within the attribute. If the
26587attribute does not contain an unsigned 64-bit integer, or is invalid,
265880 will be returned.
26589
26590
26591</description>
26592<parameters>
26593<parameter name="info">
26594<parameter_description> a #GFileInfo.
26595</parameter_description>
26596</parameter>
26597<parameter name="attribute">
26598<parameter_description> a file attribute key.
26599</parameter_description>
26600</parameter>
26601</parameters>
26602<return> a unsigned 64-bit integer from the attribute.
26603</return>
26604</function>
26605
26606<function name="g_file_info_get_content_type">
26607<description>
26608Gets the file's content type.
26609
26610
26611</description>
26612<parameters>
26613<parameter name="info">
26614<parameter_description> a #GFileInfo.
26615</parameter_description>
26616</parameter>
26617</parameters>
26618<return> a string containing the file's content type.
26619</return>
26620</function>
26621
26622<function name="g_file_info_get_deletion_date">
26623<description>
26624Returns the #GDateTime representing the deletion date of the file, as
26625available in G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the
26626G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, %NULL is returned.
26627
26628Since: 2.36
26629
26630</description>
26631<parameters>
26632<parameter name="info">
26633<parameter_description> a #GFileInfo.
26634</parameter_description>
26635</parameter>
26636</parameters>
26637<return> a #GDateTime, or %NULL.
26638
26639</return>
26640</function>
26641
26642<function name="g_file_info_get_display_name">
26643<description>
26644Gets a display name for a file.
26645
26646
26647</description>
26648<parameters>
26649<parameter name="info">
26650<parameter_description> a #GFileInfo.
26651</parameter_description>
26652</parameter>
26653</parameters>
26654<return> a string containing the display name.
26655</return>
26656</function>
26657
26658<function name="g_file_info_get_edit_name">
26659<description>
26660Gets the edit name for a file.
26661
26662
26663</description>
26664<parameters>
26665<parameter name="info">
26666<parameter_description> a #GFileInfo.
26667</parameter_description>
26668</parameter>
26669</parameters>
26670<return> a string containing the edit name.
26671</return>
26672</function>
26673
26674<function name="g_file_info_get_etag">
26675<description>
26676Gets the [entity tag][gfile-etag] for a given
26677#GFileInfo. See %G_FILE_ATTRIBUTE_ETAG_VALUE.
26678
26679
26680</description>
26681<parameters>
26682<parameter name="info">
26683<parameter_description> a #GFileInfo.
26684</parameter_description>
26685</parameter>
26686</parameters>
26687<return> a string containing the value of the &quot;etag:value&quot; attribute.
26688</return>
26689</function>
26690
26691<function name="g_file_info_get_file_type">
26692<description>
26693Gets a file's type (whether it is a regular file, symlink, etc).
26694This is different from the file's content type, see g_file_info_get_content_type().
26695
26696
26697</description>
26698<parameters>
26699<parameter name="info">
26700<parameter_description> a #GFileInfo.
26701</parameter_description>
26702</parameter>
26703</parameters>
26704<return> a #GFileType for the given file.
26705</return>
26706</function>
26707
26708<function name="g_file_info_get_icon">
26709<description>
26710Gets the icon for a file.
26711
26712
26713</description>
26714<parameters>
26715<parameter name="info">
26716<parameter_description> a #GFileInfo.
26717</parameter_description>
26718</parameter>
26719</parameters>
26720<return> #GIcon for the given @info.
26721</return>
26722</function>
26723
26724<function name="g_file_info_get_is_backup">
26725<description>
26726Checks if a file is a backup file.
26727
26728
26729</description>
26730<parameters>
26731<parameter name="info">
26732<parameter_description> a #GFileInfo.
26733</parameter_description>
26734</parameter>
26735</parameters>
26736<return> %TRUE if file is a backup file, %FALSE otherwise.
26737</return>
26738</function>
26739
26740<function name="g_file_info_get_is_hidden">
26741<description>
26742Checks if a file is hidden.
26743
26744
26745</description>
26746<parameters>
26747<parameter name="info">
26748<parameter_description> a #GFileInfo.
26749</parameter_description>
26750</parameter>
26751</parameters>
26752<return> %TRUE if the file is a hidden file, %FALSE otherwise.
26753</return>
26754</function>
26755
26756<function name="g_file_info_get_is_symlink">
26757<description>
26758Checks if a file is a symlink.
26759
26760
26761</description>
26762<parameters>
26763<parameter name="info">
26764<parameter_description> a #GFileInfo.
26765</parameter_description>
26766</parameter>
26767</parameters>
26768<return> %TRUE if the given @info is a symlink.
26769</return>
26770</function>
26771
26772<function name="g_file_info_get_modification_date_time">
26773<description>
26774Gets the modification time of the current @info and returns it as a
26775#GDateTime.
26776
26777This requires the %G_FILE_ATTRIBUTE_TIME_MODIFIED attribute. If
26778%G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC is provided, the resulting #GDateTime
26779will have microsecond precision.
26780
26781Since: 2.62
26782
26783</description>
26784<parameters>
26785<parameter name="info">
26786<parameter_description> a #GFileInfo.
26787</parameter_description>
26788</parameter>
26789</parameters>
26790<return> modification time, or %NULL if unknown
26791</return>
26792</function>
26793
26794<function name="g_file_info_get_modification_time">
26795<description>
26796Gets the modification time of the current @info and sets it
26797in @result.
26798
26799Deprecated: 2.62: Use g_file_info_get_modification_date_time() instead, as
26800#GTimeVal is deprecated due to the year 2038 problem.
26801
26802</description>
26803<parameters>
26804<parameter name="info">
26805<parameter_description> a #GFileInfo.
26806</parameter_description>
26807</parameter>
26808<parameter name="result">
26809<parameter_description> a #GTimeVal.
26810</parameter_description>
26811</parameter>
26812</parameters>
26813<return></return>
26814</function>
26815
26816<function name="g_file_info_get_name">
26817<description>
26818Gets the name for a file.
26819
26820
26821</description>
26822<parameters>
26823<parameter name="info">
26824<parameter_description> a #GFileInfo.
26825</parameter_description>
26826</parameter>
26827</parameters>
26828<return> a string containing the file name.
26829</return>
26830</function>
26831
26832<function name="g_file_info_get_size">
26833<description>
26834Gets the file's size.
26835
26836
26837</description>
26838<parameters>
26839<parameter name="info">
26840<parameter_description> a #GFileInfo.
26841</parameter_description>
26842</parameter>
26843</parameters>
26844<return> a #goffset containing the file's size.
26845</return>
26846</function>
26847
26848<function name="g_file_info_get_sort_order">
26849<description>
26850Gets the value of the sort_order attribute from the #GFileInfo.
26851See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.
26852
26853
26854</description>
26855<parameters>
26856<parameter name="info">
26857<parameter_description> a #GFileInfo.
26858</parameter_description>
26859</parameter>
26860</parameters>
26861<return> a #gint32 containing the value of the &quot;standard::sort_order&quot; attribute.
26862</return>
26863</function>
26864
26865<function name="g_file_info_get_symbolic_icon">
26866<description>
26867Gets the symbolic icon for a file.
26868
26869Since: 2.34
26870
26871</description>
26872<parameters>
26873<parameter name="info">
26874<parameter_description> a #GFileInfo.
26875</parameter_description>
26876</parameter>
26877</parameters>
26878<return> #GIcon for the given @info.
26879
26880</return>
26881</function>
26882
26883<function name="g_file_info_get_symlink_target">
26884<description>
26885Gets the symlink target for a given #GFileInfo.
26886
26887
26888</description>
26889<parameters>
26890<parameter name="info">
26891<parameter_description> a #GFileInfo.
26892</parameter_description>
26893</parameter>
26894</parameters>
26895<return> a string containing the symlink target.
26896</return>
26897</function>
26898
26899<function name="g_file_info_has_attribute">
26900<description>
26901Checks if a file info structure has an attribute named @attribute.
26902
26903
26904</description>
26905<parameters>
26906<parameter name="info">
26907<parameter_description> a #GFileInfo.
26908</parameter_description>
26909</parameter>
26910<parameter name="attribute">
26911<parameter_description> a file attribute key.
26912</parameter_description>
26913</parameter>
26914</parameters>
26915<return> %TRUE if @info has an attribute named @attribute,
26916%FALSE otherwise.
26917</return>
26918</function>
26919
26920<function name="g_file_info_has_namespace">
26921<description>
26922Checks if a file info structure has an attribute in the
26923specified @name_space.
26924
26925Since: 2.22
26926
26927</description>
26928<parameters>
26929<parameter name="info">
26930<parameter_description> a #GFileInfo.
26931</parameter_description>
26932</parameter>
26933<parameter name="name_space">
26934<parameter_description> a file attribute namespace.
26935</parameter_description>
26936</parameter>
26937</parameters>
26938<return> %TRUE if @info has an attribute in @name_space,
26939%FALSE otherwise.
26940
26941</return>
26942</function>
26943
26944<function name="g_file_info_list_attributes">
26945<description>
26946Lists the file info structure's attributes.
26947
26948
26949</description>
26950<parameters>
26951<parameter name="info">
26952<parameter_description> a #GFileInfo.
26953</parameter_description>
26954</parameter>
26955<parameter name="name_space">
26956<parameter_description> a file attribute key's namespace, or %NULL to list
26957all attributes.
26958</parameter_description>
26959</parameter>
26960</parameters>
26961<return> a
26962null-terminated array of strings of all of the possible attribute
26963types for the given @name_space, or %NULL on error.
26964</return>
26965</function>
26966
26967<function name="g_file_info_new">
26968<description>
26969Creates a new file info structure.
26970
26971
26972</description>
26973<parameters>
26974</parameters>
26975<return> a #GFileInfo.
26976</return>
26977</function>
26978
26979<function name="g_file_info_remove_attribute">
26980<description>
26981Removes all cases of @attribute from @info if it exists.
26982
26983</description>
26984<parameters>
26985<parameter name="info">
26986<parameter_description> a #GFileInfo.
26987</parameter_description>
26988</parameter>
26989<parameter name="attribute">
26990<parameter_description> a file attribute key.
26991</parameter_description>
26992</parameter>
26993</parameters>
26994<return></return>
26995</function>
26996
26997<function name="g_file_info_set_attribute">
26998<description>
26999Sets the @attribute to contain the given value, if possible. To unset the
27000attribute, use %G_FILE_ATTRIBUTE_TYPE_INVALID for @type.
27001
27002</description>
27003<parameters>
27004<parameter name="info">
27005<parameter_description> a #GFileInfo.
27006</parameter_description>
27007</parameter>
27008<parameter name="attribute">
27009<parameter_description> a file attribute key.
27010</parameter_description>
27011</parameter>
27012<parameter name="type">
27013<parameter_description> a #GFileAttributeType
27014</parameter_description>
27015</parameter>
27016<parameter name="value_p">
27017<parameter_description> pointer to the value
27018</parameter_description>
27019</parameter>
27020</parameters>
27021<return></return>
27022</function>
27023
27024<function name="g_file_info_set_attribute_boolean">
27025<description>
27026Sets the @attribute to contain the given @attr_value,
27027if possible.
27028
27029</description>
27030<parameters>
27031<parameter name="info">
27032<parameter_description> a #GFileInfo.
27033</parameter_description>
27034</parameter>
27035<parameter name="attribute">
27036<parameter_description> a file attribute key.
27037</parameter_description>
27038</parameter>
27039<parameter name="attr_value">
27040<parameter_description> a boolean value.
27041</parameter_description>
27042</parameter>
27043</parameters>
27044<return></return>
27045</function>
27046
27047<function name="g_file_info_set_attribute_byte_string">
27048<description>
27049Sets the @attribute to contain the given @attr_value,
27050if possible.
27051
27052</description>
27053<parameters>
27054<parameter name="info">
27055<parameter_description> a #GFileInfo.
27056</parameter_description>
27057</parameter>
27058<parameter name="attribute">
27059<parameter_description> a file attribute key.
27060</parameter_description>
27061</parameter>
27062<parameter name="attr_value">
27063<parameter_description> a byte string.
27064</parameter_description>
27065</parameter>
27066</parameters>
27067<return></return>
27068</function>
27069
27070<function name="g_file_info_set_attribute_int32">
27071<description>
27072Sets the @attribute to contain the given @attr_value,
27073if possible.
27074
27075</description>
27076<parameters>
27077<parameter name="info">
27078<parameter_description> a #GFileInfo.
27079</parameter_description>
27080</parameter>
27081<parameter name="attribute">
27082<parameter_description> a file attribute key.
27083</parameter_description>
27084</parameter>
27085<parameter name="attr_value">
27086<parameter_description> a signed 32-bit integer
27087</parameter_description>
27088</parameter>
27089</parameters>
27090<return></return>
27091</function>
27092
27093<function name="g_file_info_set_attribute_int64">
27094<description>
27095Sets the @attribute to contain the given @attr_value,
27096if possible.
27097
27098
27099</description>
27100<parameters>
27101<parameter name="info">
27102<parameter_description> a #GFileInfo.
27103</parameter_description>
27104</parameter>
27105<parameter name="attribute">
27106<parameter_description> attribute name to set.
27107</parameter_description>
27108</parameter>
27109<parameter name="attr_value">
27110<parameter_description> int64 value to set attribute to.
27111</parameter_description>
27112</parameter>
27113</parameters>
27114<return></return>
27115</function>
27116
27117<function name="g_file_info_set_attribute_mask">
27118<description>
27119Sets @mask on @info to match specific attribute types.
27120
27121</description>
27122<parameters>
27123<parameter name="info">
27124<parameter_description> a #GFileInfo.
27125</parameter_description>
27126</parameter>
27127<parameter name="mask">
27128<parameter_description> a #GFileAttributeMatcher.
27129</parameter_description>
27130</parameter>
27131</parameters>
27132<return></return>
27133</function>
27134
27135<function name="g_file_info_set_attribute_object">
27136<description>
27137Sets the @attribute to contain the given @attr_value,
27138if possible.
27139
27140</description>
27141<parameters>
27142<parameter name="info">
27143<parameter_description> a #GFileInfo.
27144</parameter_description>
27145</parameter>
27146<parameter name="attribute">
27147<parameter_description> a file attribute key.
27148</parameter_description>
27149</parameter>
27150<parameter name="attr_value">
27151<parameter_description> a #GObject.
27152</parameter_description>
27153</parameter>
27154</parameters>
27155<return></return>
27156</function>
27157
27158<function name="g_file_info_set_attribute_status">
27159<description>
27160Sets the attribute status for an attribute key. This is only
27161needed by external code that implement g_file_set_attributes_from_info()
27162or similar functions.
27163
27164The attribute must exist in @info for this to work. Otherwise %FALSE
27165is returned and @info is unchanged.
27166
27167Since: 2.22
27168
27169</description>
27170<parameters>
27171<parameter name="info">
27172<parameter_description> a #GFileInfo
27173</parameter_description>
27174</parameter>
27175<parameter name="attribute">
27176<parameter_description> a file attribute key
27177</parameter_description>
27178</parameter>
27179<parameter name="status">
27180<parameter_description> a #GFileAttributeStatus
27181</parameter_description>
27182</parameter>
27183</parameters>
27184<return> %TRUE if the status was changed, %FALSE if the key was not set.
27185
27186</return>
27187</function>
27188
27189<function name="g_file_info_set_attribute_string">
27190<description>
27191Sets the @attribute to contain the given @attr_value,
27192if possible.
27193
27194</description>
27195<parameters>
27196<parameter name="info">
27197<parameter_description> a #GFileInfo.
27198</parameter_description>
27199</parameter>
27200<parameter name="attribute">
27201<parameter_description> a file attribute key.
27202</parameter_description>
27203</parameter>
27204<parameter name="attr_value">
27205<parameter_description> a UTF-8 string.
27206</parameter_description>
27207</parameter>
27208</parameters>
27209<return></return>
27210</function>
27211
27212<function name="g_file_info_set_attribute_stringv">
27213<description>
27214Sets the @attribute to contain the given @attr_value,
27215if possible.
27216
27217Sinze: 2.22
27218
27219</description>
27220<parameters>
27221<parameter name="info">
27222<parameter_description> a #GFileInfo.
27223</parameter_description>
27224</parameter>
27225<parameter name="attribute">
27226<parameter_description> a file attribute key
27227</parameter_description>
27228</parameter>
27229<parameter name="attr_value">
27230<parameter_description> a %NULL
27231terminated array of UTF-8 strings.
27232</parameter_description>
27233</parameter>
27234</parameters>
27235<return></return>
27236</function>
27237
27238<function name="g_file_info_set_attribute_uint32">
27239<description>
27240Sets the @attribute to contain the given @attr_value,
27241if possible.
27242
27243</description>
27244<parameters>
27245<parameter name="info">
27246<parameter_description> a #GFileInfo.
27247</parameter_description>
27248</parameter>
27249<parameter name="attribute">
27250<parameter_description> a file attribute key.
27251</parameter_description>
27252</parameter>
27253<parameter name="attr_value">
27254<parameter_description> an unsigned 32-bit integer.
27255</parameter_description>
27256</parameter>
27257</parameters>
27258<return></return>
27259</function>
27260
27261<function name="g_file_info_set_attribute_uint64">
27262<description>
27263Sets the @attribute to contain the given @attr_value,
27264if possible.
27265
27266</description>
27267<parameters>
27268<parameter name="info">
27269<parameter_description> a #GFileInfo.
27270</parameter_description>
27271</parameter>
27272<parameter name="attribute">
27273<parameter_description> a file attribute key.
27274</parameter_description>
27275</parameter>
27276<parameter name="attr_value">
27277<parameter_description> an unsigned 64-bit integer.
27278</parameter_description>
27279</parameter>
27280</parameters>
27281<return></return>
27282</function>
27283
27284<function name="g_file_info_set_content_type">
27285<description>
27286Sets the content type attribute for a given #GFileInfo.
27287See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE.
27288
27289</description>
27290<parameters>
27291<parameter name="info">
27292<parameter_description> a #GFileInfo.
27293</parameter_description>
27294</parameter>
27295<parameter name="content_type">
27296<parameter_description> a content type. See [GContentType][gio-GContentType]
27297</parameter_description>
27298</parameter>
27299</parameters>
27300<return></return>
27301</function>
27302
27303<function name="g_file_info_set_display_name">
27304<description>
27305Sets the display name for the current #GFileInfo.
27306See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.
27307
27308</description>
27309<parameters>
27310<parameter name="info">
27311<parameter_description> a #GFileInfo.
27312</parameter_description>
27313</parameter>
27314<parameter name="display_name">
27315<parameter_description> a string containing a display name.
27316</parameter_description>
27317</parameter>
27318</parameters>
27319<return></return>
27320</function>
27321
27322<function name="g_file_info_set_edit_name">
27323<description>
27324Sets the edit name for the current file.
27325See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME.
27326
27327</description>
27328<parameters>
27329<parameter name="info">
27330<parameter_description> a #GFileInfo.
27331</parameter_description>
27332</parameter>
27333<parameter name="edit_name">
27334<parameter_description> a string containing an edit name.
27335</parameter_description>
27336</parameter>
27337</parameters>
27338<return></return>
27339</function>
27340
27341<function name="g_file_info_set_file_type">
27342<description>
27343Sets the file type in a #GFileInfo to @type.
27344See %G_FILE_ATTRIBUTE_STANDARD_TYPE.
27345
27346</description>
27347<parameters>
27348<parameter name="info">
27349<parameter_description> a #GFileInfo.
27350</parameter_description>
27351</parameter>
27352<parameter name="type">
27353<parameter_description> a #GFileType.
27354</parameter_description>
27355</parameter>
27356</parameters>
27357<return></return>
27358</function>
27359
27360<function name="g_file_info_set_icon">
27361<description>
27362Sets the icon for a given #GFileInfo.
27363See %G_FILE_ATTRIBUTE_STANDARD_ICON.
27364
27365</description>
27366<parameters>
27367<parameter name="info">
27368<parameter_description> a #GFileInfo.
27369</parameter_description>
27370</parameter>
27371<parameter name="icon">
27372<parameter_description> a #GIcon.
27373</parameter_description>
27374</parameter>
27375</parameters>
27376<return></return>
27377</function>
27378
27379<function name="g_file_info_set_is_hidden">
27380<description>
27381Sets the &quot;is_hidden&quot; attribute in a #GFileInfo according to @is_hidden.
27382See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN.
27383
27384</description>
27385<parameters>
27386<parameter name="info">
27387<parameter_description> a #GFileInfo.
27388</parameter_description>
27389</parameter>
27390<parameter name="is_hidden">
27391<parameter_description> a #gboolean.
27392</parameter_description>
27393</parameter>
27394</parameters>
27395<return></return>
27396</function>
27397
27398<function name="g_file_info_set_is_symlink">
27399<description>
27400Sets the &quot;is_symlink&quot; attribute in a #GFileInfo according to @is_symlink.
27401See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK.
27402
27403</description>
27404<parameters>
27405<parameter name="info">
27406<parameter_description> a #GFileInfo.
27407</parameter_description>
27408</parameter>
27409<parameter name="is_symlink">
27410<parameter_description> a #gboolean.
27411</parameter_description>
27412</parameter>
27413</parameters>
27414<return></return>
27415</function>
27416
27417<function name="g_file_info_set_modification_date_time">
27418<description>
27419Sets the %G_FILE_ATTRIBUTE_TIME_MODIFIED and
27420%G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC attributes in the file info to the
27421given date/time value.
27422
27423Since: 2.62
27424
27425</description>
27426<parameters>
27427<parameter name="info">
27428<parameter_description> a #GFileInfo.
27429</parameter_description>
27430</parameter>
27431<parameter name="mtime">
27432<parameter_description> a #GDateTime.
27433</parameter_description>
27434</parameter>
27435</parameters>
27436<return></return>
27437</function>
27438
27439<function name="g_file_info_set_modification_time">
27440<description>
27441Sets the %G_FILE_ATTRIBUTE_TIME_MODIFIED and
27442%G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC attributes in the file info to the
27443given time value.
27444
27445Deprecated: 2.62: Use g_file_info_set_modification_date_time() instead, as
27446#GTimeVal is deprecated due to the year 2038 problem.
27447
27448</description>
27449<parameters>
27450<parameter name="info">
27451<parameter_description> a #GFileInfo.
27452</parameter_description>
27453</parameter>
27454<parameter name="mtime">
27455<parameter_description> a #GTimeVal.
27456</parameter_description>
27457</parameter>
27458</parameters>
27459<return></return>
27460</function>
27461
27462<function name="g_file_info_set_name">
27463<description>
27464Sets the name attribute for the current #GFileInfo.
27465See %G_FILE_ATTRIBUTE_STANDARD_NAME.
27466
27467</description>
27468<parameters>
27469<parameter name="info">
27470<parameter_description> a #GFileInfo.
27471</parameter_description>
27472</parameter>
27473<parameter name="name">
27474<parameter_description> a string containing a name.
27475</parameter_description>
27476</parameter>
27477</parameters>
27478<return></return>
27479</function>
27480
27481<function name="g_file_info_set_size">
27482<description>
27483Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info
27484to the given size.
27485
27486</description>
27487<parameters>
27488<parameter name="info">
27489<parameter_description> a #GFileInfo.
27490</parameter_description>
27491</parameter>
27492<parameter name="size">
27493<parameter_description> a #goffset containing the file's size.
27494</parameter_description>
27495</parameter>
27496</parameters>
27497<return></return>
27498</function>
27499
27500<function name="g_file_info_set_sort_order">
27501<description>
27502Sets the sort order attribute in the file info structure. See
27503%G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.
27504
27505</description>
27506<parameters>
27507<parameter name="info">
27508<parameter_description> a #GFileInfo.
27509</parameter_description>
27510</parameter>
27511<parameter name="sort_order">
27512<parameter_description> a sort order integer.
27513</parameter_description>
27514</parameter>
27515</parameters>
27516<return></return>
27517</function>
27518
27519<function name="g_file_info_set_symbolic_icon">
27520<description>
27521Sets the symbolic icon for a given #GFileInfo.
27522See %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON.
27523
27524Since: 2.34
27525
27526</description>
27527<parameters>
27528<parameter name="info">
27529<parameter_description> a #GFileInfo.
27530</parameter_description>
27531</parameter>
27532<parameter name="icon">
27533<parameter_description> a #GIcon.
27534</parameter_description>
27535</parameter>
27536</parameters>
27537<return></return>
27538</function>
27539
27540<function name="g_file_info_set_symlink_target">
27541<description>
27542Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info
27543to the given symlink target.
27544
27545</description>
27546<parameters>
27547<parameter name="info">
27548<parameter_description> a #GFileInfo.
27549</parameter_description>
27550</parameter>
27551<parameter name="symlink_target">
27552<parameter_description> a static string containing a path to a symlink target.
27553</parameter_description>
27554</parameter>
27555</parameters>
27556<return></return>
27557</function>
27558
27559<function name="g_file_info_unset_attribute_mask">
27560<description>
27561Unsets a mask set by g_file_info_set_attribute_mask(), if one
27562is set.
27563
27564</description>
27565<parameters>
27566<parameter name="info">
27567<parameter_description> #GFileInfo.
27568</parameter_description>
27569</parameter>
27570</parameters>
27571<return></return>
27572</function>
27573
27574<function name="g_file_input_stream_query_info">
27575<description>
27576Queries a file input stream the given @attributes. This function blocks
27577while querying the stream. For the asynchronous (non-blocking) version
27578of this function, see g_file_input_stream_query_info_async(). While the
27579stream is blocked, the stream will set the pending flag internally, and
27580any other operations on the stream will fail with %G_IO_ERROR_PENDING.
27581
27582
27583</description>
27584<parameters>
27585<parameter name="stream">
27586<parameter_description> a #GFileInputStream.
27587</parameter_description>
27588</parameter>
27589<parameter name="attributes">
27590<parameter_description> a file attribute query string.
27591</parameter_description>
27592</parameter>
27593<parameter name="cancellable">
27594<parameter_description> optional #GCancellable object, %NULL to ignore.
27595</parameter_description>
27596</parameter>
27597<parameter name="error">
27598<parameter_description> a #GError location to store the error occurring, or %NULL to
27599ignore.
27600</parameter_description>
27601</parameter>
27602</parameters>
27603<return> a #GFileInfo, or %NULL on error.
27604</return>
27605</function>
27606
27607<function name="g_file_input_stream_query_info_async">
27608<description>
27609Queries the stream information asynchronously.
27610When the operation is finished @callback will be called.
27611You can then call g_file_input_stream_query_info_finish()
27612to get the result of the operation.
27613
27614For the synchronous version of this function,
27615see g_file_input_stream_query_info().
27616
27617If @cancellable is not %NULL, then the operation can be cancelled by
27618triggering the cancellable object from another thread. If the operation
27619was cancelled, the error %G_IO_ERROR_CANCELLED will be set
27620
27621
27622</description>
27623<parameters>
27624<parameter name="stream">
27625<parameter_description> a #GFileInputStream.
27626</parameter_description>
27627</parameter>
27628<parameter name="attributes">
27629<parameter_description> a file attribute query string.
27630</parameter_description>
27631</parameter>
27632<parameter name="io_priority">
27633<parameter_description> the [I/O priority][io-priority] of the request
27634</parameter_description>
27635</parameter>
27636<parameter name="cancellable">
27637<parameter_description> optional #GCancellable object, %NULL to ignore.
27638</parameter_description>
27639</parameter>
27640<parameter name="callback">
27641<parameter_description> callback to call when the request is satisfied
27642</parameter_description>
27643</parameter>
27644<parameter name="user_data">
27645<parameter_description> the data to pass to callback function
27646</parameter_description>
27647</parameter>
27648</parameters>
27649<return></return>
27650</function>
27651
27652<function name="g_file_input_stream_query_info_finish">
27653<description>
27654Finishes an asynchronous info query operation.
27655
27656
27657</description>
27658<parameters>
27659<parameter name="stream">
27660<parameter_description> a #GFileInputStream.
27661</parameter_description>
27662</parameter>
27663<parameter name="result">
27664<parameter_description> a #GAsyncResult.
27665</parameter_description>
27666</parameter>
27667<parameter name="error">
27668<parameter_description> a #GError location to store the error occurring,
27669or %NULL to ignore.
27670</parameter_description>
27671</parameter>
27672</parameters>
27673<return> #GFileInfo.
27674</return>
27675</function>
27676
27677<function name="g_file_io_stream_get_etag">
27678<description>
27679Gets the entity tag for the file when it has been written.
27680This must be called after the stream has been written
27681and closed, as the etag can change while writing.
27682
27683Since: 2.22
27684
27685</description>
27686<parameters>
27687<parameter name="stream">
27688<parameter_description> a #GFileIOStream.
27689</parameter_description>
27690</parameter>
27691</parameters>
27692<return> the entity tag for the stream.
27693
27694</return>
27695</function>
27696
27697<function name="g_file_io_stream_query_info">
27698<description>
27699Queries a file io stream for the given @attributes.
27700This function blocks while querying the stream. For the asynchronous
27701version of this function, see g_file_io_stream_query_info_async().
27702While the stream is blocked, the stream will set the pending flag
27703internally, and any other operations on the stream will fail with
27704%G_IO_ERROR_PENDING.
27705
27706Can fail if the stream was already closed (with @error being set to
27707%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being
27708set to %G_IO_ERROR_PENDING), or if querying info is not supported for
27709the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I
27710all cases of failure, %NULL will be returned.
27711
27712If @cancellable is not %NULL, then the operation can be cancelled by
27713triggering the cancellable object from another thread. If the operation
27714was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
27715be returned.
27716
27717Since: 2.22
27718
27719</description>
27720<parameters>
27721<parameter name="stream">
27722<parameter_description> a #GFileIOStream.
27723</parameter_description>
27724</parameter>
27725<parameter name="attributes">
27726<parameter_description> a file attribute query string.
27727</parameter_description>
27728</parameter>
27729<parameter name="cancellable">
27730<parameter_description> optional #GCancellable object, %NULL to ignore.
27731</parameter_description>
27732</parameter>
27733<parameter name="error">
27734<parameter_description> a #GError, %NULL to ignore.
27735</parameter_description>
27736</parameter>
27737</parameters>
27738<return> a #GFileInfo for the @stream, or %NULL on error.
27739
27740</return>
27741</function>
27742
27743<function name="g_file_io_stream_query_info_async">
27744<description>
27745Asynchronously queries the @stream for a #GFileInfo. When completed,
27746@callback will be called with a #GAsyncResult which can be used to
27747finish the operation with g_file_io_stream_query_info_finish().
27748
27749For the synchronous version of this function, see
27750g_file_io_stream_query_info().
27751
27752Since: 2.22
27753
27754</description>
27755<parameters>
27756<parameter name="stream">
27757<parameter_description> a #GFileIOStream.
27758</parameter_description>
27759</parameter>
27760<parameter name="attributes">
27761<parameter_description> a file attribute query string.
27762</parameter_description>
27763</parameter>
27764<parameter name="io_priority">
27765<parameter_description> the [I/O priority][gio-GIOScheduler] of the request
27766</parameter_description>
27767</parameter>
27768<parameter name="cancellable">
27769<parameter_description> optional #GCancellable object, %NULL to ignore.
27770</parameter_description>
27771</parameter>
27772<parameter name="callback">
27773<parameter_description> callback to call when the request is satisfied
27774</parameter_description>
27775</parameter>
27776<parameter name="user_data">
27777<parameter_description> the data to pass to callback function
27778</parameter_description>
27779</parameter>
27780</parameters>
27781<return></return>
27782</function>
27783
27784<function name="g_file_io_stream_query_info_finish">
27785<description>
27786Finalizes the asynchronous query started
27787by g_file_io_stream_query_info_async().
27788
27789Since: 2.22
27790
27791</description>
27792<parameters>
27793<parameter name="stream">
27794<parameter_description> a #GFileIOStream.
27795</parameter_description>
27796</parameter>
27797<parameter name="result">
27798<parameter_description> a #GAsyncResult.
27799</parameter_description>
27800</parameter>
27801<parameter name="error">
27802<parameter_description> a #GError, %NULL to ignore.
27803</parameter_description>
27804</parameter>
27805</parameters>
27806<return> A #GFileInfo for the finished query.
27807
27808</return>
27809</function>
27810
27811<function name="g_file_is_native">
27812<description>
27813Checks to see if a file is native to the platform.
27814
27815A native file is one expressed in the platform-native filename format,
27816e.g. &quot;C:\Windows&quot; or &quot;/usr/bin/&quot;. This does not mean the file is local,
27817as it might be on a locally mounted remote filesystem.
27818
27819On some systems non-native files may be available using the native
27820filesystem via a userspace filesystem (FUSE), in these cases this call
27821will return %FALSE, but g_file_get_path() will still return a native path.
27822
27823This call does no blocking I/O.
27824
27825
27826</description>
27827<parameters>
27828<parameter name="file">
27829<parameter_description> input #GFile
27830</parameter_description>
27831</parameter>
27832</parameters>
27833<return> %TRUE if @file is native
27834</return>
27835</function>
27836
27837<function name="g_file_load_bytes">
27838<description>
27839Loads the contents of @file and returns it as #GBytes.
27840
27841If @file is a resource:// based URI, the resulting bytes will reference the
27842embedded resource instead of a copy. Otherwise, this is equivalent to calling
27843g_file_load_contents() and g_bytes_new_take().
27844
27845For resources, @etag_out will be set to %NULL.
27846
27847The data contained in the resulting #GBytes is always zero-terminated, but
27848this is not included in the #GBytes length. The resulting #GBytes should be
27849freed with g_bytes_unref() when no longer in use.
27850
27851Since: 2.56
27852
27853</description>
27854<parameters>
27855<parameter name="file">
27856<parameter_description> a #GFile
27857</parameter_description>
27858</parameter>
27859<parameter name="cancellable">
27860<parameter_description> a #GCancellable or %NULL
27861</parameter_description>
27862</parameter>
27863<parameter name="etag_out">
27864<parameter_description> a location to place the current
27865entity tag for the file, or %NULL if the entity tag is not needed
27866</parameter_description>
27867</parameter>
27868<parameter name="error">
27869<parameter_description> a location for a #GError or %NULL
27870</parameter_description>
27871</parameter>
27872</parameters>
27873<return> a #GBytes or %NULL and @error is set
27874
27875</return>
27876</function>
27877
27878<function name="g_file_load_bytes_async">
27879<description>
27880Asynchronously loads the contents of @file as #GBytes.
27881
27882If @file is a resource:// based URI, the resulting bytes will reference the
27883embedded resource instead of a copy. Otherwise, this is equivalent to calling
27884g_file_load_contents_async() and g_bytes_new_take().
27885
27886@callback should call g_file_load_bytes_finish() to get the result of this
27887asynchronous operation.
27888
27889See g_file_load_bytes() for more information.
27890
27891Since: 2.56
27892
27893</description>
27894<parameters>
27895<parameter name="file">
27896<parameter_description> a #GFile
27897</parameter_description>
27898</parameter>
27899<parameter name="cancellable">
27900<parameter_description> a #GCancellable or %NULL
27901</parameter_description>
27902</parameter>
27903<parameter name="callback">
27904<parameter_description> a #GAsyncReadyCallback to call when the
27905request is satisfied
27906</parameter_description>
27907</parameter>
27908<parameter name="user_data">
27909<parameter_description> the data to pass to callback function
27910</parameter_description>
27911</parameter>
27912</parameters>
27913<return></return>
27914</function>
27915
27916<function name="g_file_load_bytes_finish">
27917<description>
27918Completes an asynchronous request to g_file_load_bytes_async().
27919
27920For resources, @etag_out will be set to %NULL.
27921
27922The data contained in the resulting #GBytes is always zero-terminated, but
27923this is not included in the #GBytes length. The resulting #GBytes should be
27924freed with g_bytes_unref() when no longer in use.
27925
27926See g_file_load_bytes() for more information.
27927
27928Since: 2.56
27929
27930</description>
27931<parameters>
27932<parameter name="file">
27933<parameter_description> a #GFile
27934</parameter_description>
27935</parameter>
27936<parameter name="result">
27937<parameter_description> a #GAsyncResult provided to the callback
27938</parameter_description>
27939</parameter>
27940<parameter name="etag_out">
27941<parameter_description> a location to place the current
27942entity tag for the file, or %NULL if the entity tag is not needed
27943</parameter_description>
27944</parameter>
27945<parameter name="error">
27946<parameter_description> a location for a #GError, or %NULL
27947</parameter_description>
27948</parameter>
27949</parameters>
27950<return> a #GBytes or %NULL and @error is set
27951
27952</return>
27953</function>
27954
27955<function name="g_file_load_contents">
27956<description>
27957Loads the content of the file into memory. The data is always
27958zero-terminated, but this is not included in the resultant @length.
27959The returned @contents should be freed with g_free() when no longer
27960needed.
27961
27962If @cancellable is not %NULL, then the operation can be cancelled by
27963triggering the cancellable object from another thread. If the operation
27964was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
27965
27966
27967</description>
27968<parameters>
27969<parameter name="file">
27970<parameter_description> input #GFile
27971</parameter_description>
27972</parameter>
27973<parameter name="cancellable">
27974<parameter_description> optional #GCancellable object, %NULL to ignore
27975</parameter_description>
27976</parameter>
27977<parameter name="contents">
27978<parameter_description> a location to place the contents of the file
27979</parameter_description>
27980</parameter>
27981<parameter name="length">
27982<parameter_description> a location to place the length of the contents of the file,
27983or %NULL if the length is not needed
27984</parameter_description>
27985</parameter>
27986<parameter name="etag_out">
27987<parameter_description> a location to place the current entity tag for the file,
27988or %NULL if the entity tag is not needed
27989</parameter_description>
27990</parameter>
27991<parameter name="error">
27992<parameter_description> a #GError, or %NULL
27993</parameter_description>
27994</parameter>
27995</parameters>
27996<return> %TRUE if the @file's contents were successfully loaded.
27997%FALSE if there were errors.
27998</return>
27999</function>
28000
28001<function name="g_file_load_contents_async">
28002<description>
28003Starts an asynchronous load of the @file's contents.
28004
28005For more details, see g_file_load_contents() which is
28006the synchronous version of this call.
28007
28008When the load operation has completed, @callback will be called
28009with @user data. To finish the operation, call
28010g_file_load_contents_finish() with the #GAsyncResult returned by
28011the @callback.
28012
28013If @cancellable is not %NULL, then the operation can be cancelled by
28014triggering the cancellable object from another thread. If the operation
28015was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28016
28017</description>
28018<parameters>
28019<parameter name="file">
28020<parameter_description> input #GFile
28021</parameter_description>
28022</parameter>
28023<parameter name="cancellable">
28024<parameter_description> optional #GCancellable object, %NULL to ignore
28025</parameter_description>
28026</parameter>
28027<parameter name="callback">
28028<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
28029</parameter_description>
28030</parameter>
28031<parameter name="user_data">
28032<parameter_description> the data to pass to callback function
28033</parameter_description>
28034</parameter>
28035</parameters>
28036<return></return>
28037</function>
28038
28039<function name="g_file_load_contents_finish">
28040<description>
28041Finishes an asynchronous load of the @file's contents.
28042The contents are placed in @contents, and @length is set to the
28043size of the @contents string. The @contents should be freed with
28044g_free() when no longer needed. If @etag_out is present, it will be
28045set to the new entity tag for the @file.
28046
28047
28048</description>
28049<parameters>
28050<parameter name="file">
28051<parameter_description> input #GFile
28052</parameter_description>
28053</parameter>
28054<parameter name="res">
28055<parameter_description> a #GAsyncResult
28056</parameter_description>
28057</parameter>
28058<parameter name="contents">
28059<parameter_description> a location to place the contents of the file
28060</parameter_description>
28061</parameter>
28062<parameter name="length">
28063<parameter_description> a location to place the length of the contents of the file,
28064or %NULL if the length is not needed
28065</parameter_description>
28066</parameter>
28067<parameter name="etag_out">
28068<parameter_description> a location to place the current entity tag for the file,
28069or %NULL if the entity tag is not needed
28070</parameter_description>
28071</parameter>
28072<parameter name="error">
28073<parameter_description> a #GError, or %NULL
28074</parameter_description>
28075</parameter>
28076</parameters>
28077<return> %TRUE if the load was successful. If %FALSE and @error is
28078present, it will be set appropriately.
28079</return>
28080</function>
28081
28082<function name="g_file_load_partial_contents_async">
28083<description>
28084Reads the partial contents of a file. A #GFileReadMoreCallback should
28085be used to stop reading from the file when appropriate, else this
28086function will behave exactly as g_file_load_contents_async(). This
28087operation can be finished by g_file_load_partial_contents_finish().
28088
28089Users of this function should be aware that @user_data is passed to
28090both the @read_more_callback and the @callback.
28091
28092If @cancellable is not %NULL, then the operation can be cancelled by
28093triggering the cancellable object from another thread. If the operation
28094was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28095
28096</description>
28097<parameters>
28098<parameter name="file">
28099<parameter_description> input #GFile
28100</parameter_description>
28101</parameter>
28102<parameter name="cancellable">
28103<parameter_description> optional #GCancellable object, %NULL to ignore
28104</parameter_description>
28105</parameter>
28106<parameter name="read_more_callback">
28107<parameter_description> a
28108#GFileReadMoreCallback to receive partial data
28109and to specify whether further data should be read
28110</parameter_description>
28111</parameter>
28112<parameter name="callback">
28113<parameter_description> a #GAsyncReadyCallback to call
28114when the request is satisfied
28115</parameter_description>
28116</parameter>
28117<parameter name="user_data">
28118<parameter_description> the data to pass to the callback functions
28119</parameter_description>
28120</parameter>
28121</parameters>
28122<return></return>
28123</function>
28124
28125<function name="g_file_load_partial_contents_finish">
28126<description>
28127Finishes an asynchronous partial load operation that was started
28128with g_file_load_partial_contents_async(). The data is always
28129zero-terminated, but this is not included in the resultant @length.
28130The returned @contents should be freed with g_free() when no longer
28131needed.
28132
28133
28134</description>
28135<parameters>
28136<parameter name="file">
28137<parameter_description> input #GFile
28138</parameter_description>
28139</parameter>
28140<parameter name="res">
28141<parameter_description> a #GAsyncResult
28142</parameter_description>
28143</parameter>
28144<parameter name="contents">
28145<parameter_description> a location to place the contents of the file
28146</parameter_description>
28147</parameter>
28148<parameter name="length">
28149<parameter_description> a location to place the length of the contents of the file,
28150or %NULL if the length is not needed
28151</parameter_description>
28152</parameter>
28153<parameter name="etag_out">
28154<parameter_description> a location to place the current entity tag for the file,
28155or %NULL if the entity tag is not needed
28156</parameter_description>
28157</parameter>
28158<parameter name="error">
28159<parameter_description> a #GError, or %NULL
28160</parameter_description>
28161</parameter>
28162</parameters>
28163<return> %TRUE if the load was successful. If %FALSE and @error is
28164present, it will be set appropriately.
28165</return>
28166</function>
28167
28168<function name="g_file_make_directory">
28169<description>
28170Creates a directory. Note that this will only create a child directory
28171of the immediate parent directory of the path or URI given by the #GFile.
28172To recursively create directories, see g_file_make_directory_with_parents().
28173This function will fail if the parent directory does not exist, setting
28174@error to %G_IO_ERROR_NOT_FOUND. If the file system doesn't support
28175creating directories, this function will fail, setting @error to
28176%G_IO_ERROR_NOT_SUPPORTED.
28177
28178For a local #GFile the newly created directory will have the default
28179(current) ownership and permissions of the current process.
28180
28181If @cancellable is not %NULL, then the operation can be cancelled by
28182triggering the cancellable object from another thread. If the operation
28183was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28184
28185
28186</description>
28187<parameters>
28188<parameter name="file">
28189<parameter_description> input #GFile
28190</parameter_description>
28191</parameter>
28192<parameter name="cancellable">
28193<parameter_description> optional #GCancellable object,
28194%NULL to ignore
28195</parameter_description>
28196</parameter>
28197<parameter name="error">
28198<parameter_description> a #GError, or %NULL
28199</parameter_description>
28200</parameter>
28201</parameters>
28202<return> %TRUE on successful creation, %FALSE otherwise.
28203</return>
28204</function>
28205
28206<function name="g_file_make_directory_async">
28207<description>
28208Asynchronously creates a directory.
28209
28210Virtual: make_directory_async
28211Since: 2.38
28212
28213</description>
28214<parameters>
28215<parameter name="file">
28216<parameter_description> input #GFile
28217</parameter_description>
28218</parameter>
28219<parameter name="io_priority">
28220<parameter_description> the [I/O priority][io-priority] of the request
28221</parameter_description>
28222</parameter>
28223<parameter name="cancellable">
28224<parameter_description> optional #GCancellable object,
28225%NULL to ignore
28226</parameter_description>
28227</parameter>
28228<parameter name="callback">
28229<parameter_description> a #GAsyncReadyCallback to call
28230when the request is satisfied
28231</parameter_description>
28232</parameter>
28233<parameter name="user_data">
28234<parameter_description> the data to pass to callback function
28235</parameter_description>
28236</parameter>
28237</parameters>
28238<return></return>
28239</function>
28240
28241<function name="g_file_make_directory_finish">
28242<description>
28243Finishes an asynchronous directory creation, started with
28244g_file_make_directory_async().
28245
28246Virtual: make_directory_finish
28247Since: 2.38
28248
28249</description>
28250<parameters>
28251<parameter name="file">
28252<parameter_description> input #GFile
28253</parameter_description>
28254</parameter>
28255<parameter name="result">
28256<parameter_description> a #GAsyncResult
28257</parameter_description>
28258</parameter>
28259<parameter name="error">
28260<parameter_description> a #GError, or %NULL
28261</parameter_description>
28262</parameter>
28263</parameters>
28264<return> %TRUE on successful directory creation, %FALSE otherwise.
28265</return>
28266</function>
28267
28268<function name="g_file_make_directory_with_parents">
28269<description>
28270Creates a directory and any parent directories that may not
28271exist similar to 'mkdir -p'. If the file system does not support
28272creating directories, this function will fail, setting @error to
28273%G_IO_ERROR_NOT_SUPPORTED. If the directory itself already exists,
28274this function will fail setting @error to %G_IO_ERROR_EXISTS, unlike
28275the similar g_mkdir_with_parents().
28276
28277For a local #GFile the newly created directories will have the default
28278(current) ownership and permissions of the current process.
28279
28280If @cancellable is not %NULL, then the operation can be cancelled by
28281triggering the cancellable object from another thread. If the operation
28282was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28283
28284Since: 2.18
28285
28286</description>
28287<parameters>
28288<parameter name="file">
28289<parameter_description> input #GFile
28290</parameter_description>
28291</parameter>
28292<parameter name="cancellable">
28293<parameter_description> optional #GCancellable object,
28294%NULL to ignore
28295</parameter_description>
28296</parameter>
28297<parameter name="error">
28298<parameter_description> a #GError, or %NULL
28299</parameter_description>
28300</parameter>
28301</parameters>
28302<return> %TRUE if all directories have been successfully created, %FALSE
28303otherwise.
28304
28305</return>
28306</function>
28307
28308<function name="g_file_make_symbolic_link">
28309<description>
28310Creates a symbolic link named @file which contains the string
28311@symlink_value.
28312
28313If @cancellable is not %NULL, then the operation can be cancelled by
28314triggering the cancellable object from another thread. If the operation
28315was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28316
28317
28318</description>
28319<parameters>
28320<parameter name="file">
28321<parameter_description> a #GFile with the name of the symlink to create
28322</parameter_description>
28323</parameter>
28324<parameter name="symlink_value">
28325<parameter_description> a string with the path for the target
28326of the new symlink
28327</parameter_description>
28328</parameter>
28329<parameter name="cancellable">
28330<parameter_description> optional #GCancellable object,
28331%NULL to ignore
28332</parameter_description>
28333</parameter>
28334<parameter name="error">
28335<parameter_description> a #GError
28336</parameter_description>
28337</parameter>
28338</parameters>
28339<return> %TRUE on the creation of a new symlink, %FALSE otherwise.
28340</return>
28341</function>
28342
28343<function name="g_file_measure_disk_usage">
28344<description>
28345Recursively measures the disk usage of @file.
28346
28347This is essentially an analog of the 'du' command, but it also
28348reports the number of directories and non-directory files encountered
28349(including things like symbolic links).
28350
28351By default, errors are only reported against the toplevel file
28352itself.  Errors found while recursing are silently ignored, unless
28353%G_FILE_MEASURE_REPORT_ANY_ERROR is given in @flags.
28354
28355The returned size, @disk_usage, is in bytes and should be formatted
28356with g_format_size() in order to get something reasonable for showing
28357in a user interface.
28358
28359@progress_callback and @progress_data can be given to request
28360periodic progress updates while scanning.  See the documentation for
28361#GFileMeasureProgressCallback for information about when and how the
28362callback will be invoked.
28363
28364Since: 2.38
28365
28366</description>
28367<parameters>
28368<parameter name="file">
28369<parameter_description> a #GFile
28370</parameter_description>
28371</parameter>
28372<parameter name="flags">
28373<parameter_description> #GFileMeasureFlags
28374</parameter_description>
28375</parameter>
28376<parameter name="cancellable">
28377<parameter_description> optional #GCancellable
28378</parameter_description>
28379</parameter>
28380<parameter name="progress_callback">
28381<parameter_description> a #GFileMeasureProgressCallback
28382</parameter_description>
28383</parameter>
28384<parameter name="progress_data">
28385<parameter_description> user_data for @progress_callback
28386</parameter_description>
28387</parameter>
28388<parameter name="disk_usage">
28389<parameter_description> the number of bytes of disk space used
28390</parameter_description>
28391</parameter>
28392<parameter name="num_dirs">
28393<parameter_description> the number of directories encountered
28394</parameter_description>
28395</parameter>
28396<parameter name="num_files">
28397<parameter_description> the number of non-directories encountered
28398</parameter_description>
28399</parameter>
28400<parameter name="error">
28401<parameter_description> %NULL, or a pointer to a %NULL #GError pointer
28402</parameter_description>
28403</parameter>
28404</parameters>
28405<return> %TRUE if successful, with the out parameters set.
28406%FALSE otherwise, with @error set.
28407
28408</return>
28409</function>
28410
28411<function name="g_file_measure_disk_usage_async">
28412<description>
28413Recursively measures the disk usage of @file.
28414
28415This is the asynchronous version of g_file_measure_disk_usage().  See
28416there for more information.
28417
28418Since: 2.38
28419
28420</description>
28421<parameters>
28422<parameter name="file">
28423<parameter_description> a #GFile
28424</parameter_description>
28425</parameter>
28426<parameter name="flags">
28427<parameter_description> #GFileMeasureFlags
28428</parameter_description>
28429</parameter>
28430<parameter name="io_priority">
28431<parameter_description> the [I/O priority][io-priority] of the request
28432</parameter_description>
28433</parameter>
28434<parameter name="cancellable">
28435<parameter_description> optional #GCancellable
28436</parameter_description>
28437</parameter>
28438<parameter name="progress_callback">
28439<parameter_description> a #GFileMeasureProgressCallback
28440</parameter_description>
28441</parameter>
28442<parameter name="progress_data">
28443<parameter_description> user_data for @progress_callback
28444</parameter_description>
28445</parameter>
28446<parameter name="callback">
28447<parameter_description> a #GAsyncReadyCallback to call when complete
28448</parameter_description>
28449</parameter>
28450<parameter name="user_data">
28451<parameter_description> the data to pass to callback function
28452</parameter_description>
28453</parameter>
28454</parameters>
28455<return></return>
28456</function>
28457
28458<function name="g_file_measure_disk_usage_finish">
28459<description>
28460Collects the results from an earlier call to
28461g_file_measure_disk_usage_async().  See g_file_measure_disk_usage() for
28462more information.
28463
28464Since: 2.38
28465
28466</description>
28467<parameters>
28468<parameter name="file">
28469<parameter_description> a #GFile
28470</parameter_description>
28471</parameter>
28472<parameter name="result">
28473<parameter_description> the #GAsyncResult passed to your #GAsyncReadyCallback
28474</parameter_description>
28475</parameter>
28476<parameter name="disk_usage">
28477<parameter_description> the number of bytes of disk space used
28478</parameter_description>
28479</parameter>
28480<parameter name="num_dirs">
28481<parameter_description> the number of directories encountered
28482</parameter_description>
28483</parameter>
28484<parameter name="num_files">
28485<parameter_description> the number of non-directories encountered
28486</parameter_description>
28487</parameter>
28488<parameter name="error">
28489<parameter_description> %NULL, or a pointer to a %NULL #GError pointer
28490</parameter_description>
28491</parameter>
28492</parameters>
28493<return> %TRUE if successful, with the out parameters set.
28494%FALSE otherwise, with @error set.
28495
28496</return>
28497</function>
28498
28499<function name="g_file_monitor">
28500<description>
28501Obtains a file or directory monitor for the given file,
28502depending on the type of the file.
28503
28504If @cancellable is not %NULL, then the operation can be cancelled by
28505triggering the cancellable object from another thread. If the operation
28506was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28507
28508Since: 2.18
28509
28510</description>
28511<parameters>
28512<parameter name="file">
28513<parameter_description> input #GFile
28514</parameter_description>
28515</parameter>
28516<parameter name="flags">
28517<parameter_description> a set of #GFileMonitorFlags
28518</parameter_description>
28519</parameter>
28520<parameter name="cancellable">
28521<parameter_description> optional #GCancellable object,
28522%NULL to ignore
28523</parameter_description>
28524</parameter>
28525<parameter name="error">
28526<parameter_description> a #GError, or %NULL
28527</parameter_description>
28528</parameter>
28529</parameters>
28530<return> a #GFileMonitor for the given @file,
28531or %NULL on error.
28532Free the returned object with g_object_unref().
28533
28534</return>
28535</function>
28536
28537<function name="g_file_monitor_cancel">
28538<description>
28539Cancels a file monitor.
28540
28541
28542</description>
28543<parameters>
28544<parameter name="monitor">
28545<parameter_description> a #GFileMonitor.
28546</parameter_description>
28547</parameter>
28548</parameters>
28549<return> always %TRUE
28550</return>
28551</function>
28552
28553<function name="g_file_monitor_directory">
28554<description>
28555Obtains a directory monitor for the given file.
28556This may fail if directory monitoring is not supported.
28557
28558If @cancellable is not %NULL, then the operation can be cancelled by
28559triggering the cancellable object from another thread. If the operation
28560was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28561
28562It does not make sense for @flags to contain
28563%G_FILE_MONITOR_WATCH_HARD_LINKS, since hard links can not be made to
28564directories.  It is not possible to monitor all the files in a
28565directory for changes made via hard links; if you want to do this then
28566you must register individual watches with g_file_monitor().
28567
28568Virtual: monitor_dir
28569
28570</description>
28571<parameters>
28572<parameter name="file">
28573<parameter_description> input #GFile
28574</parameter_description>
28575</parameter>
28576<parameter name="flags">
28577<parameter_description> a set of #GFileMonitorFlags
28578</parameter_description>
28579</parameter>
28580<parameter name="cancellable">
28581<parameter_description> optional #GCancellable object,
28582%NULL to ignore
28583</parameter_description>
28584</parameter>
28585<parameter name="error">
28586<parameter_description> a #GError, or %NULL
28587</parameter_description>
28588</parameter>
28589</parameters>
28590<return> a #GFileMonitor for the given @file,
28591or %NULL on error.
28592Free the returned object with g_object_unref().
28593</return>
28594</function>
28595
28596<function name="g_file_monitor_emit_event">
28597<description>
28598Emits the #GFileMonitor::changed signal if a change
28599has taken place. Should be called from file monitor
28600implementations only.
28601
28602Implementations are responsible to call this method from the
28603[thread-default main context][g-main-context-push-thread-default] of the
28604thread that the monitor was created in.
28605
28606</description>
28607<parameters>
28608<parameter name="monitor">
28609<parameter_description> a #GFileMonitor.
28610</parameter_description>
28611</parameter>
28612<parameter name="child">
28613<parameter_description> a #GFile.
28614</parameter_description>
28615</parameter>
28616<parameter name="other_file">
28617<parameter_description> a #GFile.
28618</parameter_description>
28619</parameter>
28620<parameter name="event_type">
28621<parameter_description> a set of #GFileMonitorEvent flags.
28622</parameter_description>
28623</parameter>
28624</parameters>
28625<return></return>
28626</function>
28627
28628<function name="g_file_monitor_file">
28629<description>
28630Obtains a file monitor for the given file. If no file notification
28631mechanism exists, then regular polling of the file is used.
28632
28633If @cancellable is not %NULL, then the operation can be cancelled by
28634triggering the cancellable object from another thread. If the operation
28635was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28636
28637If @flags contains %G_FILE_MONITOR_WATCH_HARD_LINKS then the monitor
28638will also attempt to report changes made to the file via another
28639filename (ie, a hard link). Without this flag, you can only rely on
28640changes made through the filename contained in @file to be
28641reported. Using this flag may result in an increase in resource
28642usage, and may not have any effect depending on the #GFileMonitor
28643backend and/or filesystem type.
28644
28645
28646</description>
28647<parameters>
28648<parameter name="file">
28649<parameter_description> input #GFile
28650</parameter_description>
28651</parameter>
28652<parameter name="flags">
28653<parameter_description> a set of #GFileMonitorFlags
28654</parameter_description>
28655</parameter>
28656<parameter name="cancellable">
28657<parameter_description> optional #GCancellable object,
28658%NULL to ignore
28659</parameter_description>
28660</parameter>
28661<parameter name="error">
28662<parameter_description> a #GError, or %NULL
28663</parameter_description>
28664</parameter>
28665</parameters>
28666<return> a #GFileMonitor for the given @file,
28667or %NULL on error.
28668Free the returned object with g_object_unref().
28669</return>
28670</function>
28671
28672<function name="g_file_monitor_is_cancelled">
28673<description>
28674Returns whether the monitor is canceled.
28675
28676
28677</description>
28678<parameters>
28679<parameter name="monitor">
28680<parameter_description> a #GFileMonitor
28681</parameter_description>
28682</parameter>
28683</parameters>
28684<return> %TRUE if monitor is canceled. %FALSE otherwise.
28685</return>
28686</function>
28687
28688<function name="g_file_monitor_set_rate_limit">
28689<description>
28690Sets the rate limit to which the @monitor will report
28691consecutive change events to the same file.
28692
28693</description>
28694<parameters>
28695<parameter name="monitor">
28696<parameter_description> a #GFileMonitor.
28697</parameter_description>
28698</parameter>
28699<parameter name="limit_msecs">
28700<parameter_description> a non-negative integer with the limit in milliseconds
28701to poll for changes
28702</parameter_description>
28703</parameter>
28704</parameters>
28705<return></return>
28706</function>
28707
28708<function name="g_file_mount_enclosing_volume">
28709<description>
28710Starts a @mount_operation, mounting the volume that contains
28711the file @location.
28712
28713When this operation has completed, @callback will be called with
28714@user_user data, and the operation can be finalized with
28715g_file_mount_enclosing_volume_finish().
28716
28717If @cancellable is not %NULL, then the operation can be cancelled by
28718triggering the cancellable object from another thread. If the operation
28719was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28720
28721</description>
28722<parameters>
28723<parameter name="location">
28724<parameter_description> input #GFile
28725</parameter_description>
28726</parameter>
28727<parameter name="flags">
28728<parameter_description> flags affecting the operation
28729</parameter_description>
28730</parameter>
28731<parameter name="mount_operation">
28732<parameter_description> a #GMountOperation
28733or %NULL to avoid user interaction
28734</parameter_description>
28735</parameter>
28736<parameter name="cancellable">
28737<parameter_description> optional #GCancellable object,
28738%NULL to ignore
28739</parameter_description>
28740</parameter>
28741<parameter name="callback">
28742<parameter_description> a #GAsyncReadyCallback to call
28743when the request is satisfied, or %NULL
28744</parameter_description>
28745</parameter>
28746<parameter name="user_data">
28747<parameter_description> the data to pass to callback function
28748</parameter_description>
28749</parameter>
28750</parameters>
28751<return></return>
28752</function>
28753
28754<function name="g_file_mount_enclosing_volume_finish">
28755<description>
28756Finishes a mount operation started by g_file_mount_enclosing_volume().
28757
28758
28759</description>
28760<parameters>
28761<parameter name="location">
28762<parameter_description> input #GFile
28763</parameter_description>
28764</parameter>
28765<parameter name="result">
28766<parameter_description> a #GAsyncResult
28767</parameter_description>
28768</parameter>
28769<parameter name="error">
28770<parameter_description> a #GError, or %NULL
28771</parameter_description>
28772</parameter>
28773</parameters>
28774<return> %TRUE if successful. If an error has occurred,
28775this function will return %FALSE and set @error
28776appropriately if present.
28777</return>
28778</function>
28779
28780<function name="g_file_mount_mountable">
28781<description>
28782Mounts a file of type G_FILE_TYPE_MOUNTABLE.
28783Using @mount_operation, you can request callbacks when, for instance,
28784passwords are needed during authentication.
28785
28786If @cancellable is not %NULL, then the operation can be cancelled by
28787triggering the cancellable object from another thread. If the operation
28788was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28789
28790When the operation is finished, @callback will be called.
28791You can then call g_file_mount_mountable_finish() to get
28792the result of the operation.
28793
28794</description>
28795<parameters>
28796<parameter name="file">
28797<parameter_description> input #GFile
28798</parameter_description>
28799</parameter>
28800<parameter name="flags">
28801<parameter_description> flags affecting the operation
28802</parameter_description>
28803</parameter>
28804<parameter name="mount_operation">
28805<parameter_description> a #GMountOperation,
28806or %NULL to avoid user interaction
28807</parameter_description>
28808</parameter>
28809<parameter name="cancellable">
28810<parameter_description> optional #GCancellable object,
28811%NULL to ignore
28812</parameter_description>
28813</parameter>
28814<parameter name="callback">
28815<parameter_description> a #GAsyncReadyCallback to call
28816when the request is satisfied, or %NULL
28817</parameter_description>
28818</parameter>
28819<parameter name="user_data">
28820<parameter_description> the data to pass to callback function
28821</parameter_description>
28822</parameter>
28823</parameters>
28824<return></return>
28825</function>
28826
28827<function name="g_file_mount_mountable_finish">
28828<description>
28829Finishes a mount operation. See g_file_mount_mountable() for details.
28830
28831Finish an asynchronous mount operation that was started
28832with g_file_mount_mountable().
28833
28834
28835</description>
28836<parameters>
28837<parameter name="file">
28838<parameter_description> input #GFile
28839</parameter_description>
28840</parameter>
28841<parameter name="result">
28842<parameter_description> a #GAsyncResult
28843</parameter_description>
28844</parameter>
28845<parameter name="error">
28846<parameter_description> a #GError, or %NULL
28847</parameter_description>
28848</parameter>
28849</parameters>
28850<return> a #GFile or %NULL on error.
28851Free the returned object with g_object_unref().
28852</return>
28853</function>
28854
28855<function name="g_file_move">
28856<description>
28857Tries to move the file or directory @source to the location specified
28858by @destination. If native move operations are supported then this is
28859used, otherwise a copy + delete fallback is used. The native
28860implementation may support moving directories (for instance on moves
28861inside the same filesystem), but the fallback code does not.
28862
28863If the flag #G_FILE_COPY_OVERWRITE is specified an already
28864existing @destination file is overwritten.
28865
28866If @cancellable is not %NULL, then the operation can be cancelled by
28867triggering the cancellable object from another thread. If the operation
28868was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
28869
28870If @progress_callback is not %NULL, then the operation can be monitored
28871by setting this to a #GFileProgressCallback function.
28872@progress_callback_data will be passed to this function. It is
28873guaranteed that this callback will be called after all data has been
28874transferred with the total number of bytes copied during the operation.
28875
28876If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND
28877error is returned, independent on the status of the @destination.
28878
28879If #G_FILE_COPY_OVERWRITE is not specified and the target exists,
28880then the error %G_IO_ERROR_EXISTS is returned.
28881
28882If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY
28883error is returned. If trying to overwrite a directory with a directory the
28884%G_IO_ERROR_WOULD_MERGE error is returned.
28885
28886If the source is a directory and the target does not exist, or
28887#G_FILE_COPY_OVERWRITE is specified and the target is a file, then
28888the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native
28889move operation isn't available).
28890
28891
28892</description>
28893<parameters>
28894<parameter name="source">
28895<parameter_description> #GFile pointing to the source location
28896</parameter_description>
28897</parameter>
28898<parameter name="destination">
28899<parameter_description> #GFile pointing to the destination location
28900</parameter_description>
28901</parameter>
28902<parameter name="flags">
28903<parameter_description> set of #GFileCopyFlags
28904</parameter_description>
28905</parameter>
28906<parameter name="cancellable">
28907<parameter_description> optional #GCancellable object,
28908%NULL to ignore
28909</parameter_description>
28910</parameter>
28911<parameter name="progress_callback">
28912<parameter_description> #GFileProgressCallback
28913function for updates
28914</parameter_description>
28915</parameter>
28916<parameter name="progress_callback_data">
28917<parameter_description> gpointer to user data for
28918the callback function
28919</parameter_description>
28920</parameter>
28921<parameter name="error">
28922<parameter_description> #GError for returning error conditions, or %NULL
28923</parameter_description>
28924</parameter>
28925</parameters>
28926<return> %TRUE on successful move, %FALSE otherwise.
28927</return>
28928</function>
28929
28930<function name="g_file_new_build_filename">
28931<description>
28932Constructs a #GFile from a series of elements using the correct
28933separator for filenames.
28934
28935Using this function is equivalent to calling g_build_filename(),
28936followed by g_file_new_for_path() on the result.
28937
28938Since: 2.56
28939
28940</description>
28941<parameters>
28942<parameter name="first_element">
28943<parameter_description> the first element in the path
28944</parameter_description>
28945</parameter>
28946<parameter name="Varargs">
28947<parameter_description> remaining elements in path, terminated by %NULL
28948</parameter_description>
28949</parameter>
28950</parameters>
28951<return> a new #GFile
28952
28953</return>
28954</function>
28955
28956<function name="g_file_new_for_commandline_arg">
28957<description>
28958Creates a #GFile with the given argument from the command line.
28959The value of @arg can be either a URI, an absolute path or a
28960relative path resolved relative to the current working directory.
28961This operation never fails, but the returned object might not
28962support any I/O operation if @arg points to a malformed path.
28963
28964Note that on Windows, this function expects its argument to be in
28965UTF-8 -- not the system code page.  This means that you
28966should not use this function with string from argv as it is passed
28967to main().  g_win32_get_command_line() will return a UTF-8 version of
28968the commandline.  #GApplication also uses UTF-8 but
28969g_application_command_line_create_file_for_arg() may be more useful
28970for you there.  It is also always possible to use this function with
28971#GOptionContext arguments of type %G_OPTION_ARG_FILENAME.
28972
28973
28974</description>
28975<parameters>
28976<parameter name="arg">
28977<parameter_description> a command line string
28978</parameter_description>
28979</parameter>
28980</parameters>
28981<return> a new #GFile.
28982Free the returned object with g_object_unref().
28983</return>
28984</function>
28985
28986<function name="g_file_new_for_commandline_arg_and_cwd">
28987<description>
28988Creates a #GFile with the given argument from the command line.
28989
28990This function is similar to g_file_new_for_commandline_arg() except
28991that it allows for passing the current working directory as an
28992argument instead of using the current working directory of the
28993process.
28994
28995This is useful if the commandline argument was given in a context
28996other than the invocation of the current process.
28997
28998See also g_application_command_line_create_file_for_arg().
28999
29000Since: 2.36
29001
29002</description>
29003<parameters>
29004<parameter name="arg">
29005<parameter_description> a command line string
29006</parameter_description>
29007</parameter>
29008<parameter name="cwd">
29009<parameter_description> the current working directory of the commandline
29010</parameter_description>
29011</parameter>
29012</parameters>
29013<return> a new #GFile
29014
29015</return>
29016</function>
29017
29018<function name="g_file_new_for_path">
29019<description>
29020Constructs a #GFile for a given path. This operation never
29021fails, but the returned object might not support any I/O
29022operation if @path is malformed.
29023
29024
29025</description>
29026<parameters>
29027<parameter name="path">
29028<parameter_description> a string containing a relative or absolute path.
29029The string must be encoded in the glib filename encoding.
29030</parameter_description>
29031</parameter>
29032</parameters>
29033<return> a new #GFile for the given @path.
29034Free the returned object with g_object_unref().
29035</return>
29036</function>
29037
29038<function name="g_file_new_for_uri">
29039<description>
29040Constructs a #GFile for a given URI. This operation never
29041fails, but the returned object might not support any I/O
29042operation if @uri is malformed or if the uri type is
29043not supported.
29044
29045
29046</description>
29047<parameters>
29048<parameter name="uri">
29049<parameter_description> a UTF-8 string containing a URI
29050</parameter_description>
29051</parameter>
29052</parameters>
29053<return> a new #GFile for the given @uri.
29054Free the returned object with g_object_unref().
29055</return>
29056</function>
29057
29058<function name="g_file_new_tmp">
29059<description>
29060Opens a file in the preferred directory for temporary files (as
29061returned by g_get_tmp_dir()) and returns a #GFile and
29062#GFileIOStream pointing to it.
29063
29064@tmpl should be a string in the GLib file name encoding
29065containing a sequence of six 'X' characters, and containing no
29066directory components. If it is %NULL, a default template is used.
29067
29068Unlike the other #GFile constructors, this will return %NULL if
29069a temporary file could not be created.
29070
29071Since: 2.32
29072
29073</description>
29074<parameters>
29075<parameter name="tmpl">
29076<parameter_description> Template for the file
29077name, as in g_file_open_tmp(), or %NULL for a default template
29078</parameter_description>
29079</parameter>
29080<parameter name="iostream">
29081<parameter_description> on return, a #GFileIOStream for the created file
29082</parameter_description>
29083</parameter>
29084<parameter name="error">
29085<parameter_description> a #GError, or %NULL
29086</parameter_description>
29087</parameter>
29088</parameters>
29089<return> a new #GFile.
29090Free the returned object with g_object_unref().
29091
29092</return>
29093</function>
29094
29095<function name="g_file_open_readwrite">
29096<description>
29097Opens an existing file for reading and writing. The result is
29098a #GFileIOStream that can be used to read and write the contents
29099of the file.
29100
29101If @cancellable is not %NULL, then the operation can be cancelled
29102by triggering the cancellable object from another thread. If the
29103operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
29104returned.
29105
29106If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
29107be returned. If the file is a directory, the %G_IO_ERROR_IS_DIRECTORY
29108error will be returned. Other errors are possible too, and depend on
29109what kind of filesystem the file is on. Note that in many non-local
29110file cases read and write streams are not supported, so make sure you
29111really need to do read and write streaming, rather than just opening
29112for reading or writing.
29113
29114Since: 2.22
29115
29116</description>
29117<parameters>
29118<parameter name="file">
29119<parameter_description> #GFile to open
29120</parameter_description>
29121</parameter>
29122<parameter name="cancellable">
29123<parameter_description> a #GCancellable
29124</parameter_description>
29125</parameter>
29126<parameter name="error">
29127<parameter_description> a #GError, or %NULL
29128</parameter_description>
29129</parameter>
29130</parameters>
29131<return> #GFileIOStream or %NULL on error.
29132Free the returned object with g_object_unref().
29133
29134</return>
29135</function>
29136
29137<function name="g_file_open_readwrite_async">
29138<description>
29139Asynchronously opens @file for reading and writing.
29140
29141For more details, see g_file_open_readwrite() which is
29142the synchronous version of this call.
29143
29144When the operation is finished, @callback will be called.
29145You can then call g_file_open_readwrite_finish() to get
29146the result of the operation.
29147
29148Since: 2.22
29149
29150</description>
29151<parameters>
29152<parameter name="file">
29153<parameter_description> input #GFile
29154</parameter_description>
29155</parameter>
29156<parameter name="io_priority">
29157<parameter_description> the [I/O priority][io-priority] of the request
29158</parameter_description>
29159</parameter>
29160<parameter name="cancellable">
29161<parameter_description> optional #GCancellable object,
29162%NULL to ignore
29163</parameter_description>
29164</parameter>
29165<parameter name="callback">
29166<parameter_description> a #GAsyncReadyCallback to call
29167when the request is satisfied
29168</parameter_description>
29169</parameter>
29170<parameter name="user_data">
29171<parameter_description> the data to pass to callback function
29172</parameter_description>
29173</parameter>
29174</parameters>
29175<return></return>
29176</function>
29177
29178<function name="g_file_open_readwrite_finish">
29179<description>
29180Finishes an asynchronous file read operation started with
29181g_file_open_readwrite_async().
29182
29183Since: 2.22
29184
29185</description>
29186<parameters>
29187<parameter name="file">
29188<parameter_description> input #GFile
29189</parameter_description>
29190</parameter>
29191<parameter name="res">
29192<parameter_description> a #GAsyncResult
29193</parameter_description>
29194</parameter>
29195<parameter name="error">
29196<parameter_description> a #GError, or %NULL
29197</parameter_description>
29198</parameter>
29199</parameters>
29200<return> a #GFileIOStream or %NULL on error.
29201Free the returned object with g_object_unref().
29202
29203</return>
29204</function>
29205
29206<function name="g_file_output_stream_get_etag">
29207<description>
29208Gets the entity tag for the file when it has been written.
29209This must be called after the stream has been written
29210and closed, as the etag can change while writing.
29211
29212
29213</description>
29214<parameters>
29215<parameter name="stream">
29216<parameter_description> a #GFileOutputStream.
29217</parameter_description>
29218</parameter>
29219</parameters>
29220<return> the entity tag for the stream.
29221</return>
29222</function>
29223
29224<function name="g_file_output_stream_query_info">
29225<description>
29226Queries a file output stream for the given @attributes.
29227This function blocks while querying the stream. For the asynchronous
29228version of this function, see g_file_output_stream_query_info_async().
29229While the stream is blocked, the stream will set the pending flag
29230internally, and any other operations on the stream will fail with
29231%G_IO_ERROR_PENDING.
29232
29233Can fail if the stream was already closed (with @error being set to
29234%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being
29235set to %G_IO_ERROR_PENDING), or if querying info is not supported for
29236the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In
29237all cases of failure, %NULL will be returned.
29238
29239If @cancellable is not %NULL, then the operation can be cancelled by
29240triggering the cancellable object from another thread. If the operation
29241was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
29242be returned.
29243
29244
29245</description>
29246<parameters>
29247<parameter name="stream">
29248<parameter_description> a #GFileOutputStream.
29249</parameter_description>
29250</parameter>
29251<parameter name="attributes">
29252<parameter_description> a file attribute query string.
29253</parameter_description>
29254</parameter>
29255<parameter name="cancellable">
29256<parameter_description> optional #GCancellable object, %NULL to ignore.
29257</parameter_description>
29258</parameter>
29259<parameter name="error">
29260<parameter_description> a #GError, %NULL to ignore.
29261</parameter_description>
29262</parameter>
29263</parameters>
29264<return> a #GFileInfo for the @stream, or %NULL on error.
29265</return>
29266</function>
29267
29268<function name="g_file_output_stream_query_info_async">
29269<description>
29270Asynchronously queries the @stream for a #GFileInfo. When completed,
29271@callback will be called with a #GAsyncResult which can be used to
29272finish the operation with g_file_output_stream_query_info_finish().
29273
29274For the synchronous version of this function, see
29275g_file_output_stream_query_info().
29276
29277
29278</description>
29279<parameters>
29280<parameter name="stream">
29281<parameter_description> a #GFileOutputStream.
29282</parameter_description>
29283</parameter>
29284<parameter name="attributes">
29285<parameter_description> a file attribute query string.
29286</parameter_description>
29287</parameter>
29288<parameter name="io_priority">
29289<parameter_description> the [I/O priority][gio-GIOScheduler] of the request
29290</parameter_description>
29291</parameter>
29292<parameter name="cancellable">
29293<parameter_description> optional #GCancellable object, %NULL to ignore.
29294</parameter_description>
29295</parameter>
29296<parameter name="callback">
29297<parameter_description> callback to call when the request is satisfied
29298</parameter_description>
29299</parameter>
29300<parameter name="user_data">
29301<parameter_description> the data to pass to callback function
29302</parameter_description>
29303</parameter>
29304</parameters>
29305<return></return>
29306</function>
29307
29308<function name="g_file_output_stream_query_info_finish">
29309<description>
29310Finalizes the asynchronous query started
29311by g_file_output_stream_query_info_async().
29312
29313
29314</description>
29315<parameters>
29316<parameter name="stream">
29317<parameter_description> a #GFileOutputStream.
29318</parameter_description>
29319</parameter>
29320<parameter name="result">
29321<parameter_description> a #GAsyncResult.
29322</parameter_description>
29323</parameter>
29324<parameter name="error">
29325<parameter_description> a #GError, %NULL to ignore.
29326</parameter_description>
29327</parameter>
29328</parameters>
29329<return> A #GFileInfo for the finished query.
29330</return>
29331</function>
29332
29333<function name="g_file_parse_name">
29334<description>
29335Constructs a #GFile with the given @parse_name (i.e. something
29336given by g_file_get_parse_name()). This operation never fails,
29337but the returned object might not support any I/O operation if
29338the @parse_name cannot be parsed.
29339
29340
29341</description>
29342<parameters>
29343<parameter name="parse_name">
29344<parameter_description> a file name or path to be parsed
29345</parameter_description>
29346</parameter>
29347</parameters>
29348<return> a new #GFile.
29349</return>
29350</function>
29351
29352<function name="g_file_peek_path">
29353<description>
29354Exactly like g_file_get_path(), but caches the result via
29355g_object_set_qdata_full().  This is useful for example in C
29356applications which mix `g_file_*` APIs with native ones.  It
29357also avoids an extra duplicated string when possible, so will be
29358generally more efficient.
29359
29360This call does no blocking I/O.
29361
29362Since: 2.56
29363
29364</description>
29365<parameters>
29366<parameter name="file">
29367<parameter_description> input #GFile
29368</parameter_description>
29369</parameter>
29370</parameters>
29371<return> string containing the #GFile's path,
29372or %NULL if no such path exists. The returned string is owned by @file.
29373</return>
29374</function>
29375
29376<function name="g_file_poll_mountable">
29377<description>
29378Polls a file of type #G_FILE_TYPE_MOUNTABLE.
29379
29380If @cancellable is not %NULL, then the operation can be cancelled by
29381triggering the cancellable object from another thread. If the operation
29382was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29383
29384When the operation is finished, @callback will be called.
29385You can then call g_file_mount_mountable_finish() to get
29386the result of the operation.
29387
29388Since: 2.22
29389
29390</description>
29391<parameters>
29392<parameter name="file">
29393<parameter_description> input #GFile
29394</parameter_description>
29395</parameter>
29396<parameter name="cancellable">
29397<parameter_description> optional #GCancellable object, %NULL to ignore
29398</parameter_description>
29399</parameter>
29400<parameter name="callback">
29401<parameter_description> a #GAsyncReadyCallback to call
29402when the request is satisfied, or %NULL
29403</parameter_description>
29404</parameter>
29405<parameter name="user_data">
29406<parameter_description> the data to pass to callback function
29407</parameter_description>
29408</parameter>
29409</parameters>
29410<return></return>
29411</function>
29412
29413<function name="g_file_poll_mountable_finish">
29414<description>
29415Finishes a poll operation. See g_file_poll_mountable() for details.
29416
29417Finish an asynchronous poll operation that was polled
29418with g_file_poll_mountable().
29419
29420Since: 2.22
29421
29422</description>
29423<parameters>
29424<parameter name="file">
29425<parameter_description> input #GFile
29426</parameter_description>
29427</parameter>
29428<parameter name="result">
29429<parameter_description> a #GAsyncResult
29430</parameter_description>
29431</parameter>
29432<parameter name="error">
29433<parameter_description> a #GError, or %NULL
29434</parameter_description>
29435</parameter>
29436</parameters>
29437<return> %TRUE if the operation finished successfully. %FALSE
29438otherwise.
29439
29440</return>
29441</function>
29442
29443<function name="g_file_query_default_handler">
29444<description>
29445Returns the #GAppInfo that is registered as the default
29446application to handle the file specified by @file.
29447
29448If @cancellable is not %NULL, then the operation can be cancelled by
29449triggering the cancellable object from another thread. If the operation
29450was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29451
29452
29453</description>
29454<parameters>
29455<parameter name="file">
29456<parameter_description> a #GFile to open
29457</parameter_description>
29458</parameter>
29459<parameter name="cancellable">
29460<parameter_description> optional #GCancellable object, %NULL to ignore
29461</parameter_description>
29462</parameter>
29463<parameter name="error">
29464<parameter_description> a #GError, or %NULL
29465</parameter_description>
29466</parameter>
29467</parameters>
29468<return> a #GAppInfo if the handle was found,
29469%NULL if there were errors.
29470When you are done with it, release it with g_object_unref()
29471</return>
29472</function>
29473
29474<function name="g_file_query_default_handler_async">
29475<description>
29476Async version of g_file_query_default_handler().
29477
29478Since: 2.60
29479
29480</description>
29481<parameters>
29482<parameter name="file">
29483<parameter_description> a #GFile to open
29484</parameter_description>
29485</parameter>
29486<parameter name="io_priority">
29487<parameter_description> the [I/O priority][io-priority] of the request
29488</parameter_description>
29489</parameter>
29490<parameter name="cancellable">
29491<parameter_description> optional #GCancellable object, %NULL to ignore
29492</parameter_description>
29493</parameter>
29494<parameter name="callback">
29495<parameter_description> a #GAsyncReadyCallback to call when the request is done
29496</parameter_description>
29497</parameter>
29498<parameter name="user_data">
29499<parameter_description> data to pass to @callback
29500</parameter_description>
29501</parameter>
29502</parameters>
29503<return></return>
29504</function>
29505
29506<function name="g_file_query_default_handler_finish">
29507<description>
29508Finishes a g_file_query_default_handler_async() operation.
29509
29510Since: 2.60
29511
29512</description>
29513<parameters>
29514<parameter name="file">
29515<parameter_description> a #GFile to open
29516</parameter_description>
29517</parameter>
29518<parameter name="result">
29519<parameter_description> a #GAsyncResult
29520</parameter_description>
29521</parameter>
29522<parameter name="error">
29523<parameter_description> a #GError
29524</parameter_description>
29525</parameter>
29526</parameters>
29527<return> a #GAppInfo if the handle was found,
29528%NULL if there were errors.
29529When you are done with it, release it with g_object_unref()
29530
29531</return>
29532</function>
29533
29534<function name="g_file_query_exists">
29535<description>
29536Utility function to check if a particular file exists. This is
29537implemented using g_file_query_info() and as such does blocking I/O.
29538
29539Note that in many cases it is [racy to first check for file existence](https://en.wikipedia.org/wiki/Time_of_check_to_time_of_use)
29540and then execute something based on the outcome of that, because the
29541file might have been created or removed in between the operations. The
29542general approach to handling that is to not check, but just do the
29543operation and handle the errors as they come.
29544
29545As an example of race-free checking, take the case of reading a file,
29546and if it doesn't exist, creating it. There are two racy versions: read
29547it, and on error create it; and: check if it exists, if not create it.
29548These can both result in two processes creating the file (with perhaps
29549a partially written file as the result). The correct approach is to
29550always try to create the file with g_file_create() which will either
29551atomically create the file or fail with a %G_IO_ERROR_EXISTS error.
29552
29553However, in many cases an existence check is useful in a user interface,
29554for instance to make a menu item sensitive/insensitive, so that you don't
29555have to fool users that something is possible and then just show an error
29556dialog. If you do this, you should make sure to also handle the errors
29557that can happen due to races when you execute the operation.
29558
29559
29560</description>
29561<parameters>
29562<parameter name="file">
29563<parameter_description> input #GFile
29564</parameter_description>
29565</parameter>
29566<parameter name="cancellable">
29567<parameter_description> optional #GCancellable object,
29568%NULL to ignore
29569</parameter_description>
29570</parameter>
29571</parameters>
29572<return> %TRUE if the file exists (and can be detected without error),
29573%FALSE otherwise (or if cancelled).
29574</return>
29575</function>
29576
29577<function name="g_file_query_file_type">
29578<description>
29579Utility function to inspect the #GFileType of a file. This is
29580implemented using g_file_query_info() and as such does blocking I/O.
29581
29582The primary use case of this method is to check if a file is
29583a regular file, directory, or symlink.
29584
29585Since: 2.18
29586
29587</description>
29588<parameters>
29589<parameter name="file">
29590<parameter_description> input #GFile
29591</parameter_description>
29592</parameter>
29593<parameter name="flags">
29594<parameter_description> a set of #GFileQueryInfoFlags passed to g_file_query_info()
29595</parameter_description>
29596</parameter>
29597<parameter name="cancellable">
29598<parameter_description> optional #GCancellable object,
29599%NULL to ignore
29600</parameter_description>
29601</parameter>
29602</parameters>
29603<return> The #GFileType of the file and #G_FILE_TYPE_UNKNOWN
29604if the file does not exist
29605
29606</return>
29607</function>
29608
29609<function name="g_file_query_filesystem_info">
29610<description>
29611Similar to g_file_query_info(), but obtains information
29612about the filesystem the @file is on, rather than the file itself.
29613For instance the amount of space available and the type of
29614the filesystem.
29615
29616The @attributes value is a string that specifies the attributes
29617that should be gathered. It is not an error if it's not possible
29618to read a particular requested attribute from a file - it just
29619won't be set. @attributes should be a comma-separated list of
29620attributes or attribute wildcards. The wildcard &quot;*&quot; means all
29621attributes, and a wildcard like &quot;filesystem::*&quot; means all attributes
29622in the filesystem namespace. The standard namespace for filesystem
29623attributes is &quot;filesystem&quot;. Common attributes of interest are
29624#G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem
29625in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available),
29626and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem).
29627
29628If @cancellable is not %NULL, then the operation can be cancelled
29629by triggering the cancellable object from another thread. If the
29630operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
29631returned.
29632
29633If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
29634be returned. Other errors are possible too, and depend on what
29635kind of filesystem the file is on.
29636
29637
29638</description>
29639<parameters>
29640<parameter name="file">
29641<parameter_description> input #GFile
29642</parameter_description>
29643</parameter>
29644<parameter name="attributes">
29645<parameter_description>  an attribute query string
29646</parameter_description>
29647</parameter>
29648<parameter name="cancellable">
29649<parameter_description> optional #GCancellable object,
29650%NULL to ignore
29651</parameter_description>
29652</parameter>
29653<parameter name="error">
29654<parameter_description> a #GError
29655</parameter_description>
29656</parameter>
29657</parameters>
29658<return> a #GFileInfo or %NULL if there was an error.
29659Free the returned object with g_object_unref().
29660</return>
29661</function>
29662
29663<function name="g_file_query_filesystem_info_async">
29664<description>
29665Asynchronously gets the requested information about the filesystem
29666that the specified @file is on. The result is a #GFileInfo object
29667that contains key-value attributes (such as type or size for the
29668file).
29669
29670For more details, see g_file_query_filesystem_info() which is the
29671synchronous version of this call.
29672
29673When the operation is finished, @callback will be called. You can
29674then call g_file_query_info_finish() to get the result of the
29675operation.
29676
29677</description>
29678<parameters>
29679<parameter name="file">
29680<parameter_description> input #GFile
29681</parameter_description>
29682</parameter>
29683<parameter name="attributes">
29684<parameter_description> an attribute query string
29685</parameter_description>
29686</parameter>
29687<parameter name="io_priority">
29688<parameter_description> the [I/O priority][io-priority] of the request
29689</parameter_description>
29690</parameter>
29691<parameter name="cancellable">
29692<parameter_description> optional #GCancellable object,
29693%NULL to ignore
29694</parameter_description>
29695</parameter>
29696<parameter name="callback">
29697<parameter_description> a #GAsyncReadyCallback to call
29698when the request is satisfied
29699</parameter_description>
29700</parameter>
29701<parameter name="user_data">
29702<parameter_description> the data to pass to callback function
29703</parameter_description>
29704</parameter>
29705</parameters>
29706<return></return>
29707</function>
29708
29709<function name="g_file_query_filesystem_info_finish">
29710<description>
29711Finishes an asynchronous filesystem info query.
29712See g_file_query_filesystem_info_async().
29713
29714
29715</description>
29716<parameters>
29717<parameter name="file">
29718<parameter_description> input #GFile
29719</parameter_description>
29720</parameter>
29721<parameter name="res">
29722<parameter_description> a #GAsyncResult
29723</parameter_description>
29724</parameter>
29725<parameter name="error">
29726<parameter_description> a #GError
29727</parameter_description>
29728</parameter>
29729</parameters>
29730<return> #GFileInfo for given @file
29731or %NULL on error.
29732Free the returned object with g_object_unref().
29733</return>
29734</function>
29735
29736<function name="g_file_query_info">
29737<description>
29738Gets the requested information about specified @file.
29739The result is a #GFileInfo object that contains key-value
29740attributes (such as the type or size of the file).
29741
29742The @attributes value is a string that specifies the file
29743attributes that should be gathered. It is not an error if
29744it's not possible to read a particular requested attribute
29745from a file - it just won't be set. @attributes should be a
29746comma-separated list of attributes or attribute wildcards.
29747The wildcard &quot;*&quot; means all attributes, and a wildcard like
29748&quot;standard::*&quot; means all attributes in the standard namespace.
29749An example attribute query be &quot;standard::*,owner::user&quot;.
29750The standard attributes are available as defines, like
29751#G_FILE_ATTRIBUTE_STANDARD_NAME.
29752
29753If @cancellable is not %NULL, then the operation can be cancelled
29754by triggering the cancellable object from another thread. If the
29755operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
29756returned.
29757
29758For symlinks, normally the information about the target of the
29759symlink is returned, rather than information about the symlink
29760itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
29761in @flags the information about the symlink itself will be returned.
29762Also, for symlinks that point to non-existing files the information
29763about the symlink itself will be returned.
29764
29765If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will be
29766returned. Other errors are possible too, and depend on what kind of
29767filesystem the file is on.
29768
29769
29770</description>
29771<parameters>
29772<parameter name="file">
29773<parameter_description> input #GFile
29774</parameter_description>
29775</parameter>
29776<parameter name="attributes">
29777<parameter_description> an attribute query string
29778</parameter_description>
29779</parameter>
29780<parameter name="flags">
29781<parameter_description> a set of #GFileQueryInfoFlags
29782</parameter_description>
29783</parameter>
29784<parameter name="cancellable">
29785<parameter_description> optional #GCancellable object,
29786%NULL to ignore
29787</parameter_description>
29788</parameter>
29789<parameter name="error">
29790<parameter_description> a #GError
29791</parameter_description>
29792</parameter>
29793</parameters>
29794<return> a #GFileInfo for the given @file, or %NULL
29795on error. Free the returned object with g_object_unref().
29796</return>
29797</function>
29798
29799<function name="g_file_query_info_async">
29800<description>
29801Asynchronously gets the requested information about specified @file.
29802The result is a #GFileInfo object that contains key-value attributes
29803(such as type or size for the file).
29804
29805For more details, see g_file_query_info() which is the synchronous
29806version of this call.
29807
29808When the operation is finished, @callback will be called. You can
29809then call g_file_query_info_finish() to get the result of the operation.
29810
29811</description>
29812<parameters>
29813<parameter name="file">
29814<parameter_description> input #GFile
29815</parameter_description>
29816</parameter>
29817<parameter name="attributes">
29818<parameter_description> an attribute query string
29819</parameter_description>
29820</parameter>
29821<parameter name="flags">
29822<parameter_description> a set of #GFileQueryInfoFlags
29823</parameter_description>
29824</parameter>
29825<parameter name="io_priority">
29826<parameter_description> the [I/O priority][io-priority] of the request
29827</parameter_description>
29828</parameter>
29829<parameter name="cancellable">
29830<parameter_description> optional #GCancellable object,
29831%NULL to ignore
29832</parameter_description>
29833</parameter>
29834<parameter name="callback">
29835<parameter_description> a #GAsyncReadyCallback to call when the
29836request is satisfied
29837</parameter_description>
29838</parameter>
29839<parameter name="user_data">
29840<parameter_description> the data to pass to callback function
29841</parameter_description>
29842</parameter>
29843</parameters>
29844<return></return>
29845</function>
29846
29847<function name="g_file_query_info_finish">
29848<description>
29849Finishes an asynchronous file info query.
29850See g_file_query_info_async().
29851
29852
29853</description>
29854<parameters>
29855<parameter name="file">
29856<parameter_description> input #GFile
29857</parameter_description>
29858</parameter>
29859<parameter name="res">
29860<parameter_description> a #GAsyncResult
29861</parameter_description>
29862</parameter>
29863<parameter name="error">
29864<parameter_description> a #GError
29865</parameter_description>
29866</parameter>
29867</parameters>
29868<return> #GFileInfo for given @file
29869or %NULL on error. Free the returned object with
29870g_object_unref().
29871</return>
29872</function>
29873
29874<function name="g_file_query_settable_attributes">
29875<description>
29876Obtain the list of settable attributes for the file.
29877
29878
29879</description>
29880<parameters>
29881<parameter name="file">
29882<parameter_description> input #GFile
29883</parameter_description>
29884</parameter>
29885<parameter name="cancellable">
29886<parameter_description> optional #GCancellable object,
29887%NULL to ignore
29888</parameter_description>
29889</parameter>
29890<parameter name="error">
29891<parameter_description> a #GError, or %NULL
29892</parameter_description>
29893</parameter>
29894</parameters>
29895<return> a #GFileAttributeInfoList describing the settable attributes.
29896When you are done with it, release it with
29897g_file_attribute_info_list_unref()
29898</return>
29899</function>
29900
29901<function name="g_file_query_writable_namespaces">
29902<description>
29903Obtain the list of attribute namespaces where new attributes
29904can be created by a user. An example of this is extended
29905attributes (in the &quot;xattr&quot; namespace).
29906
29907If @cancellable is not %NULL, then the operation can be cancelled by
29908triggering the cancellable object from another thread. If the operation
29909was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29910
29911
29912</description>
29913<parameters>
29914<parameter name="file">
29915<parameter_description> input #GFile
29916</parameter_description>
29917</parameter>
29918<parameter name="cancellable">
29919<parameter_description> optional #GCancellable object,
29920%NULL to ignore
29921</parameter_description>
29922</parameter>
29923<parameter name="error">
29924<parameter_description> a #GError, or %NULL
29925</parameter_description>
29926</parameter>
29927</parameters>
29928<return> a #GFileAttributeInfoList describing the writable namespaces.
29929When you are done with it, release it with
29930g_file_attribute_info_list_unref()
29931</return>
29932</function>
29933
29934<function name="g_file_read">
29935<description>
29936Opens a file for reading. The result is a #GFileInputStream that
29937can be used to read the contents of the file.
29938
29939If @cancellable is not %NULL, then the operation can be cancelled by
29940triggering the cancellable object from another thread. If the operation
29941was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
29942
29943If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will be
29944returned. If the file is a directory, the %G_IO_ERROR_IS_DIRECTORY
29945error will be returned. Other errors are possible too, and depend
29946on what kind of filesystem the file is on.
29947
29948Virtual: read_fn
29949
29950</description>
29951<parameters>
29952<parameter name="file">
29953<parameter_description> #GFile to read
29954</parameter_description>
29955</parameter>
29956<parameter name="cancellable">
29957<parameter_description> a #GCancellable
29958</parameter_description>
29959</parameter>
29960<parameter name="error">
29961<parameter_description> a #GError, or %NULL
29962</parameter_description>
29963</parameter>
29964</parameters>
29965<return> #GFileInputStream or %NULL on error.
29966Free the returned object with g_object_unref().
29967</return>
29968</function>
29969
29970<function name="g_file_read_async">
29971<description>
29972Asynchronously opens @file for reading.
29973
29974For more details, see g_file_read() which is
29975the synchronous version of this call.
29976
29977When the operation is finished, @callback will be called.
29978You can then call g_file_read_finish() to get the result
29979of the operation.
29980
29981</description>
29982<parameters>
29983<parameter name="file">
29984<parameter_description> input #GFile
29985</parameter_description>
29986</parameter>
29987<parameter name="io_priority">
29988<parameter_description> the [I/O priority][io-priority] of the request
29989</parameter_description>
29990</parameter>
29991<parameter name="cancellable">
29992<parameter_description> optional #GCancellable object,
29993%NULL to ignore
29994</parameter_description>
29995</parameter>
29996<parameter name="callback">
29997<parameter_description> a #GAsyncReadyCallback to call
29998when the request is satisfied
29999</parameter_description>
30000</parameter>
30001<parameter name="user_data">
30002<parameter_description> the data to pass to callback function
30003</parameter_description>
30004</parameter>
30005</parameters>
30006<return></return>
30007</function>
30008
30009<function name="g_file_read_finish">
30010<description>
30011Finishes an asynchronous file read operation started with
30012g_file_read_async().
30013
30014
30015</description>
30016<parameters>
30017<parameter name="file">
30018<parameter_description> input #GFile
30019</parameter_description>
30020</parameter>
30021<parameter name="res">
30022<parameter_description> a #GAsyncResult
30023</parameter_description>
30024</parameter>
30025<parameter name="error">
30026<parameter_description> a #GError, or %NULL
30027</parameter_description>
30028</parameter>
30029</parameters>
30030<return> a #GFileInputStream or %NULL on error.
30031Free the returned object with g_object_unref().
30032</return>
30033</function>
30034
30035<function name="g_file_replace">
30036<description>
30037Returns an output stream for overwriting the file, possibly
30038creating a backup copy of the file first. If the file doesn't exist,
30039it will be created.
30040
30041This will try to replace the file in the safest way possible so
30042that any errors during the writing will not affect an already
30043existing copy of the file. For instance, for local files it
30044may write to a temporary file and then atomically rename over
30045the destination when the stream is closed.
30046
30047By default files created are generally readable by everyone,
30048but if you pass #G_FILE_CREATE_PRIVATE in @flags the file
30049will be made readable only to the current user, to the level that
30050is supported on the target filesystem.
30051
30052If @cancellable is not %NULL, then the operation can be cancelled
30053by triggering the cancellable object from another thread. If the
30054operation was cancelled, the error %G_IO_ERROR_CANCELLED will be
30055returned.
30056
30057If you pass in a non-%NULL @etag value and @file already exists, then
30058this value is compared to the current entity tag of the file, and if
30059they differ an %G_IO_ERROR_WRONG_ETAG error is returned. This
30060generally means that the file has been changed since you last read
30061it. You can get the new etag from g_file_output_stream_get_etag()
30062after you've finished writing and closed the #GFileOutputStream. When
30063you load a new file you can use g_file_input_stream_query_info() to
30064get the etag of the file.
30065
30066If @make_backup is %TRUE, this function will attempt to make a
30067backup of the current file before overwriting it. If this fails
30068a %G_IO_ERROR_CANT_CREATE_BACKUP error will be returned. If you
30069want to replace anyway, try again with @make_backup set to %FALSE.
30070
30071If the file is a directory the %G_IO_ERROR_IS_DIRECTORY error will
30072be returned, and if the file is some other form of non-regular file
30073then a %G_IO_ERROR_NOT_REGULAR_FILE error will be returned. Some
30074file systems don't allow all file names, and may return an
30075%G_IO_ERROR_INVALID_FILENAME error, and if the name is to long
30076%G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are
30077possible too, and depend on what kind of filesystem the file is on.
30078
30079
30080</description>
30081<parameters>
30082<parameter name="file">
30083<parameter_description> input #GFile
30084</parameter_description>
30085</parameter>
30086<parameter name="etag">
30087<parameter_description> an optional [entity tag][gfile-etag]
30088for the current #GFile, or #NULL to ignore
30089</parameter_description>
30090</parameter>
30091<parameter name="make_backup">
30092<parameter_description> %TRUE if a backup should be created
30093</parameter_description>
30094</parameter>
30095<parameter name="flags">
30096<parameter_description> a set of #GFileCreateFlags
30097</parameter_description>
30098</parameter>
30099<parameter name="cancellable">
30100<parameter_description> optional #GCancellable object,
30101%NULL to ignore
30102</parameter_description>
30103</parameter>
30104<parameter name="error">
30105<parameter_description> a #GError, or %NULL
30106</parameter_description>
30107</parameter>
30108</parameters>
30109<return> a #GFileOutputStream or %NULL on error.
30110Free the returned object with g_object_unref().
30111</return>
30112</function>
30113
30114<function name="g_file_replace_async">
30115<description>
30116Asynchronously overwrites the file, replacing the contents,
30117possibly creating a backup copy of the file first.
30118
30119For more details, see g_file_replace() which is
30120the synchronous version of this call.
30121
30122When the operation is finished, @callback will be called.
30123You can then call g_file_replace_finish() to get the result
30124of the operation.
30125
30126</description>
30127<parameters>
30128<parameter name="file">
30129<parameter_description> input #GFile
30130</parameter_description>
30131</parameter>
30132<parameter name="etag">
30133<parameter_description> an [entity tag][gfile-etag] for the current #GFile,
30134or %NULL to ignore
30135</parameter_description>
30136</parameter>
30137<parameter name="make_backup">
30138<parameter_description> %TRUE if a backup should be created
30139</parameter_description>
30140</parameter>
30141<parameter name="flags">
30142<parameter_description> a set of #GFileCreateFlags
30143</parameter_description>
30144</parameter>
30145<parameter name="io_priority">
30146<parameter_description> the [I/O priority][io-priority] of the request
30147</parameter_description>
30148</parameter>
30149<parameter name="cancellable">
30150<parameter_description> optional #GCancellable object,
30151%NULL to ignore
30152</parameter_description>
30153</parameter>
30154<parameter name="callback">
30155<parameter_description> a #GAsyncReadyCallback to call
30156when the request is satisfied
30157</parameter_description>
30158</parameter>
30159<parameter name="user_data">
30160<parameter_description> the data to pass to callback function
30161</parameter_description>
30162</parameter>
30163</parameters>
30164<return></return>
30165</function>
30166
30167<function name="g_file_replace_contents">
30168<description>
30169Replaces the contents of @file with @contents of @length bytes.
30170
30171If @etag is specified (not %NULL), any existing file must have that etag,
30172or the error %G_IO_ERROR_WRONG_ETAG will be returned.
30173
30174If @make_backup is %TRUE, this function will attempt to make a backup
30175of @file. Internally, it uses g_file_replace(), so will try to replace the
30176file contents in the safest way possible. For example, atomic renames are
30177used when replacing local files’ contents.
30178
30179If @cancellable is not %NULL, then the operation can be cancelled by
30180triggering the cancellable object from another thread. If the operation
30181was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30182
30183The returned @new_etag can be used to verify that the file hasn't
30184changed the next time it is saved over.
30185
30186
30187</description>
30188<parameters>
30189<parameter name="file">
30190<parameter_description> input #GFile
30191</parameter_description>
30192</parameter>
30193<parameter name="contents">
30194<parameter_description> a string containing the new contents for @file
30195</parameter_description>
30196</parameter>
30197<parameter name="length">
30198<parameter_description> the length of @contents in bytes
30199</parameter_description>
30200</parameter>
30201<parameter name="etag">
30202<parameter_description> the old [entity-tag][gfile-etag] for the document,
30203or %NULL
30204</parameter_description>
30205</parameter>
30206<parameter name="make_backup">
30207<parameter_description> %TRUE if a backup should be created
30208</parameter_description>
30209</parameter>
30210<parameter name="flags">
30211<parameter_description> a set of #GFileCreateFlags
30212</parameter_description>
30213</parameter>
30214<parameter name="new_etag">
30215<parameter_description> a location to a new [entity tag][gfile-etag]
30216for the document. This should be freed with g_free() when no longer
30217needed, or %NULL
30218</parameter_description>
30219</parameter>
30220<parameter name="cancellable">
30221<parameter_description> optional #GCancellable object, %NULL to ignore
30222</parameter_description>
30223</parameter>
30224<parameter name="error">
30225<parameter_description> a #GError, or %NULL
30226</parameter_description>
30227</parameter>
30228</parameters>
30229<return> %TRUE if successful. If an error has occurred, this function
30230will return %FALSE and set @error appropriately if present.
30231</return>
30232</function>
30233
30234<function name="g_file_replace_contents_async">
30235<description>
30236Starts an asynchronous replacement of @file with the given
30237@contents of @length bytes. @etag will replace the document's
30238current entity tag.
30239
30240When this operation has completed, @callback will be called with
30241@user_user data, and the operation can be finalized with
30242g_file_replace_contents_finish().
30243
30244If @cancellable is not %NULL, then the operation can be cancelled by
30245triggering the cancellable object from another thread. If the operation
30246was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30247
30248If @make_backup is %TRUE, this function will attempt to
30249make a backup of @file.
30250
30251Note that no copy of @contents will be made, so it must stay valid
30252until @callback is called. See g_file_replace_contents_bytes_async()
30253for a #GBytes version that will automatically hold a reference to the
30254contents (without copying) for the duration of the call.
30255
30256</description>
30257<parameters>
30258<parameter name="file">
30259<parameter_description> input #GFile
30260</parameter_description>
30261</parameter>
30262<parameter name="contents">
30263<parameter_description> string of contents to replace the file with
30264</parameter_description>
30265</parameter>
30266<parameter name="length">
30267<parameter_description> the length of @contents in bytes
30268</parameter_description>
30269</parameter>
30270<parameter name="etag">
30271<parameter_description> a new [entity tag][gfile-etag] for the @file, or %NULL
30272</parameter_description>
30273</parameter>
30274<parameter name="make_backup">
30275<parameter_description> %TRUE if a backup should be created
30276</parameter_description>
30277</parameter>
30278<parameter name="flags">
30279<parameter_description> a set of #GFileCreateFlags
30280</parameter_description>
30281</parameter>
30282<parameter name="cancellable">
30283<parameter_description> optional #GCancellable object, %NULL to ignore
30284</parameter_description>
30285</parameter>
30286<parameter name="callback">
30287<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
30288</parameter_description>
30289</parameter>
30290<parameter name="user_data">
30291<parameter_description> the data to pass to callback function
30292</parameter_description>
30293</parameter>
30294</parameters>
30295<return></return>
30296</function>
30297
30298<function name="g_file_replace_contents_bytes_async">
30299<description>
30300Same as g_file_replace_contents_async() but takes a #GBytes input instead.
30301This function will keep a ref on @contents until the operation is done.
30302Unlike g_file_replace_contents_async() this allows forgetting about the
30303content without waiting for the callback.
30304
30305When this operation has completed, @callback will be called with
30306@user_user data, and the operation can be finalized with
30307g_file_replace_contents_finish().
30308
30309Since: 2.40
30310
30311</description>
30312<parameters>
30313<parameter name="file">
30314<parameter_description> input #GFile
30315</parameter_description>
30316</parameter>
30317<parameter name="contents">
30318<parameter_description> a #GBytes
30319</parameter_description>
30320</parameter>
30321<parameter name="etag">
30322<parameter_description> a new [entity tag][gfile-etag] for the @file, or %NULL
30323</parameter_description>
30324</parameter>
30325<parameter name="make_backup">
30326<parameter_description> %TRUE if a backup should be created
30327</parameter_description>
30328</parameter>
30329<parameter name="flags">
30330<parameter_description> a set of #GFileCreateFlags
30331</parameter_description>
30332</parameter>
30333<parameter name="cancellable">
30334<parameter_description> optional #GCancellable object, %NULL to ignore
30335</parameter_description>
30336</parameter>
30337<parameter name="callback">
30338<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
30339</parameter_description>
30340</parameter>
30341<parameter name="user_data">
30342<parameter_description> the data to pass to callback function
30343</parameter_description>
30344</parameter>
30345</parameters>
30346<return></return>
30347</function>
30348
30349<function name="g_file_replace_contents_finish">
30350<description>
30351Finishes an asynchronous replace of the given @file. See
30352g_file_replace_contents_async(). Sets @new_etag to the new entity
30353tag for the document, if present.
30354
30355
30356</description>
30357<parameters>
30358<parameter name="file">
30359<parameter_description> input #GFile
30360</parameter_description>
30361</parameter>
30362<parameter name="res">
30363<parameter_description> a #GAsyncResult
30364</parameter_description>
30365</parameter>
30366<parameter name="new_etag">
30367<parameter_description> a location of a new [entity tag][gfile-etag]
30368for the document. This should be freed with g_free() when it is no
30369longer needed, or %NULL
30370</parameter_description>
30371</parameter>
30372<parameter name="error">
30373<parameter_description> a #GError, or %NULL
30374</parameter_description>
30375</parameter>
30376</parameters>
30377<return> %TRUE on success, %FALSE on failure.
30378</return>
30379</function>
30380
30381<function name="g_file_replace_finish">
30382<description>
30383Finishes an asynchronous file replace operation started with
30384g_file_replace_async().
30385
30386
30387</description>
30388<parameters>
30389<parameter name="file">
30390<parameter_description> input #GFile
30391</parameter_description>
30392</parameter>
30393<parameter name="res">
30394<parameter_description> a #GAsyncResult
30395</parameter_description>
30396</parameter>
30397<parameter name="error">
30398<parameter_description> a #GError, or %NULL
30399</parameter_description>
30400</parameter>
30401</parameters>
30402<return> a #GFileOutputStream, or %NULL on error.
30403Free the returned object with g_object_unref().
30404</return>
30405</function>
30406
30407<function name="g_file_replace_readwrite">
30408<description>
30409Returns an output stream for overwriting the file in readwrite mode,
30410possibly creating a backup copy of the file first. If the file doesn't
30411exist, it will be created.
30412
30413For details about the behaviour, see g_file_replace() which does the
30414same thing but returns an output stream only.
30415
30416Note that in many non-local file cases read and write streams are not
30417supported, so make sure you really need to do read and write streaming,
30418rather than just opening for reading or writing.
30419
30420Since: 2.22
30421
30422</description>
30423<parameters>
30424<parameter name="file">
30425<parameter_description> a #GFile
30426</parameter_description>
30427</parameter>
30428<parameter name="etag">
30429<parameter_description> an optional [entity tag][gfile-etag]
30430for the current #GFile, or #NULL to ignore
30431</parameter_description>
30432</parameter>
30433<parameter name="make_backup">
30434<parameter_description> %TRUE if a backup should be created
30435</parameter_description>
30436</parameter>
30437<parameter name="flags">
30438<parameter_description> a set of #GFileCreateFlags
30439</parameter_description>
30440</parameter>
30441<parameter name="cancellable">
30442<parameter_description> optional #GCancellable object,
30443%NULL to ignore
30444</parameter_description>
30445</parameter>
30446<parameter name="error">
30447<parameter_description> return location for a #GError, or %NULL
30448</parameter_description>
30449</parameter>
30450</parameters>
30451<return> a #GFileIOStream or %NULL on error.
30452Free the returned object with g_object_unref().
30453
30454</return>
30455</function>
30456
30457<function name="g_file_replace_readwrite_async">
30458<description>
30459Asynchronously overwrites the file in read-write mode,
30460replacing the contents, possibly creating a backup copy
30461of the file first.
30462
30463For more details, see g_file_replace_readwrite() which is
30464the synchronous version of this call.
30465
30466When the operation is finished, @callback will be called.
30467You can then call g_file_replace_readwrite_finish() to get
30468the result of the operation.
30469
30470Since: 2.22
30471
30472</description>
30473<parameters>
30474<parameter name="file">
30475<parameter_description> input #GFile
30476</parameter_description>
30477</parameter>
30478<parameter name="etag">
30479<parameter_description> an [entity tag][gfile-etag] for the current #GFile,
30480or %NULL to ignore
30481</parameter_description>
30482</parameter>
30483<parameter name="make_backup">
30484<parameter_description> %TRUE if a backup should be created
30485</parameter_description>
30486</parameter>
30487<parameter name="flags">
30488<parameter_description> a set of #GFileCreateFlags
30489</parameter_description>
30490</parameter>
30491<parameter name="io_priority">
30492<parameter_description> the [I/O priority][io-priority] of the request
30493</parameter_description>
30494</parameter>
30495<parameter name="cancellable">
30496<parameter_description> optional #GCancellable object,
30497%NULL to ignore
30498</parameter_description>
30499</parameter>
30500<parameter name="callback">
30501<parameter_description> a #GAsyncReadyCallback to call
30502when the request is satisfied
30503</parameter_description>
30504</parameter>
30505<parameter name="user_data">
30506<parameter_description> the data to pass to callback function
30507</parameter_description>
30508</parameter>
30509</parameters>
30510<return></return>
30511</function>
30512
30513<function name="g_file_replace_readwrite_finish">
30514<description>
30515Finishes an asynchronous file replace operation started with
30516g_file_replace_readwrite_async().
30517
30518Since: 2.22
30519
30520</description>
30521<parameters>
30522<parameter name="file">
30523<parameter_description> input #GFile
30524</parameter_description>
30525</parameter>
30526<parameter name="res">
30527<parameter_description> a #GAsyncResult
30528</parameter_description>
30529</parameter>
30530<parameter name="error">
30531<parameter_description> a #GError, or %NULL
30532</parameter_description>
30533</parameter>
30534</parameters>
30535<return> a #GFileIOStream, or %NULL on error.
30536Free the returned object with g_object_unref().
30537
30538</return>
30539</function>
30540
30541<function name="g_file_resolve_relative_path">
30542<description>
30543Resolves a relative path for @file to an absolute path.
30544
30545This call does no blocking I/O.
30546
30547
30548</description>
30549<parameters>
30550<parameter name="file">
30551<parameter_description> input #GFile
30552</parameter_description>
30553</parameter>
30554<parameter name="relative_path">
30555<parameter_description> a given relative path string
30556</parameter_description>
30557</parameter>
30558</parameters>
30559<return> #GFile to the resolved path.
30560%NULL if @relative_path is %NULL or if @file is invalid.
30561Free the returned object with g_object_unref().
30562</return>
30563</function>
30564
30565<function name="g_file_set_attribute">
30566<description>
30567Sets an attribute in the file with attribute name @attribute to @value_p.
30568
30569Some attributes can be unset by setting @type to
30570%G_FILE_ATTRIBUTE_TYPE_INVALID and @value_p to %NULL.
30571
30572If @cancellable is not %NULL, then the operation can be cancelled by
30573triggering the cancellable object from another thread. If the operation
30574was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30575
30576
30577</description>
30578<parameters>
30579<parameter name="file">
30580<parameter_description> input #GFile
30581</parameter_description>
30582</parameter>
30583<parameter name="attribute">
30584<parameter_description> a string containing the attribute's name
30585</parameter_description>
30586</parameter>
30587<parameter name="type">
30588<parameter_description> The type of the attribute
30589</parameter_description>
30590</parameter>
30591<parameter name="value_p">
30592<parameter_description> a pointer to the value (or the pointer
30593itself if the type is a pointer type)
30594</parameter_description>
30595</parameter>
30596<parameter name="flags">
30597<parameter_description> a set of #GFileQueryInfoFlags
30598</parameter_description>
30599</parameter>
30600<parameter name="cancellable">
30601<parameter_description> optional #GCancellable object,
30602%NULL to ignore
30603</parameter_description>
30604</parameter>
30605<parameter name="error">
30606<parameter_description> a #GError, or %NULL
30607</parameter_description>
30608</parameter>
30609</parameters>
30610<return> %TRUE if the attribute was set, %FALSE otherwise.
30611</return>
30612</function>
30613
30614<function name="g_file_set_attribute_byte_string">
30615<description>
30616Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING to @value.
30617If @attribute is of a different type, this operation will fail,
30618returning %FALSE.
30619
30620If @cancellable is not %NULL, then the operation can be cancelled by
30621triggering the cancellable object from another thread. If the operation
30622was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30623
30624
30625</description>
30626<parameters>
30627<parameter name="file">
30628<parameter_description> input #GFile
30629</parameter_description>
30630</parameter>
30631<parameter name="attribute">
30632<parameter_description> a string containing the attribute's name
30633</parameter_description>
30634</parameter>
30635<parameter name="value">
30636<parameter_description> a string containing the attribute's new value
30637</parameter_description>
30638</parameter>
30639<parameter name="flags">
30640<parameter_description> a #GFileQueryInfoFlags
30641</parameter_description>
30642</parameter>
30643<parameter name="cancellable">
30644<parameter_description> optional #GCancellable object,
30645%NULL to ignore
30646</parameter_description>
30647</parameter>
30648<parameter name="error">
30649<parameter_description> a #GError, or %NULL
30650</parameter_description>
30651</parameter>
30652</parameters>
30653<return> %TRUE if the @attribute was successfully set to @value
30654in the @file, %FALSE otherwise.
30655</return>
30656</function>
30657
30658<function name="g_file_set_attribute_int32">
30659<description>
30660Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT32 to @value.
30661If @attribute is of a different type, this operation will fail.
30662
30663If @cancellable is not %NULL, then the operation can be cancelled by
30664triggering the cancellable object from another thread. If the operation
30665was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30666
30667
30668</description>
30669<parameters>
30670<parameter name="file">
30671<parameter_description> input #GFile
30672</parameter_description>
30673</parameter>
30674<parameter name="attribute">
30675<parameter_description> a string containing the attribute's name
30676</parameter_description>
30677</parameter>
30678<parameter name="value">
30679<parameter_description> a #gint32 containing the attribute's new value
30680</parameter_description>
30681</parameter>
30682<parameter name="flags">
30683<parameter_description> a #GFileQueryInfoFlags
30684</parameter_description>
30685</parameter>
30686<parameter name="cancellable">
30687<parameter_description> optional #GCancellable object,
30688%NULL to ignore
30689</parameter_description>
30690</parameter>
30691<parameter name="error">
30692<parameter_description> a #GError, or %NULL
30693</parameter_description>
30694</parameter>
30695</parameters>
30696<return> %TRUE if the @attribute was successfully set to @value
30697in the @file, %FALSE otherwise.
30698</return>
30699</function>
30700
30701<function name="g_file_set_attribute_int64">
30702<description>
30703Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT64 to @value.
30704If @attribute is of a different type, this operation will fail.
30705
30706If @cancellable is not %NULL, then the operation can be cancelled by
30707triggering the cancellable object from another thread. If the operation
30708was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30709
30710
30711</description>
30712<parameters>
30713<parameter name="file">
30714<parameter_description> input #GFile
30715</parameter_description>
30716</parameter>
30717<parameter name="attribute">
30718<parameter_description> a string containing the attribute's name
30719</parameter_description>
30720</parameter>
30721<parameter name="value">
30722<parameter_description> a #guint64 containing the attribute's new value
30723</parameter_description>
30724</parameter>
30725<parameter name="flags">
30726<parameter_description> a #GFileQueryInfoFlags
30727</parameter_description>
30728</parameter>
30729<parameter name="cancellable">
30730<parameter_description> optional #GCancellable object,
30731%NULL to ignore
30732</parameter_description>
30733</parameter>
30734<parameter name="error">
30735<parameter_description> a #GError, or %NULL
30736</parameter_description>
30737</parameter>
30738</parameters>
30739<return> %TRUE if the @attribute was successfully set, %FALSE otherwise.
30740</return>
30741</function>
30742
30743<function name="g_file_set_attribute_string">
30744<description>
30745Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_STRING to @value.
30746If @attribute is of a different type, this operation will fail.
30747
30748If @cancellable is not %NULL, then the operation can be cancelled by
30749triggering the cancellable object from another thread. If the operation
30750was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30751
30752
30753</description>
30754<parameters>
30755<parameter name="file">
30756<parameter_description> input #GFile
30757</parameter_description>
30758</parameter>
30759<parameter name="attribute">
30760<parameter_description> a string containing the attribute's name
30761</parameter_description>
30762</parameter>
30763<parameter name="value">
30764<parameter_description> a string containing the attribute's value
30765</parameter_description>
30766</parameter>
30767<parameter name="flags">
30768<parameter_description> #GFileQueryInfoFlags
30769</parameter_description>
30770</parameter>
30771<parameter name="cancellable">
30772<parameter_description> optional #GCancellable object,
30773%NULL to ignore
30774</parameter_description>
30775</parameter>
30776<parameter name="error">
30777<parameter_description> a #GError, or %NULL
30778</parameter_description>
30779</parameter>
30780</parameters>
30781<return> %TRUE if the @attribute was successfully set, %FALSE otherwise.
30782</return>
30783</function>
30784
30785<function name="g_file_set_attribute_uint32">
30786<description>
30787Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT32 to @value.
30788If @attribute is of a different type, this operation will fail.
30789
30790If @cancellable is not %NULL, then the operation can be cancelled by
30791triggering the cancellable object from another thread. If the operation
30792was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30793
30794
30795</description>
30796<parameters>
30797<parameter name="file">
30798<parameter_description> input #GFile
30799</parameter_description>
30800</parameter>
30801<parameter name="attribute">
30802<parameter_description> a string containing the attribute's name
30803</parameter_description>
30804</parameter>
30805<parameter name="value">
30806<parameter_description> a #guint32 containing the attribute's new value
30807</parameter_description>
30808</parameter>
30809<parameter name="flags">
30810<parameter_description> a #GFileQueryInfoFlags
30811</parameter_description>
30812</parameter>
30813<parameter name="cancellable">
30814<parameter_description> optional #GCancellable object,
30815%NULL to ignore
30816</parameter_description>
30817</parameter>
30818<parameter name="error">
30819<parameter_description> a #GError, or %NULL
30820</parameter_description>
30821</parameter>
30822</parameters>
30823<return> %TRUE if the @attribute was successfully set to @value
30824in the @file, %FALSE otherwise.
30825</return>
30826</function>
30827
30828<function name="g_file_set_attribute_uint64">
30829<description>
30830Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT64 to @value.
30831If @attribute is of a different type, this operation will fail.
30832
30833If @cancellable is not %NULL, then the operation can be cancelled by
30834triggering the cancellable object from another thread. If the operation
30835was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30836
30837
30838</description>
30839<parameters>
30840<parameter name="file">
30841<parameter_description> input #GFile
30842</parameter_description>
30843</parameter>
30844<parameter name="attribute">
30845<parameter_description> a string containing the attribute's name
30846</parameter_description>
30847</parameter>
30848<parameter name="value">
30849<parameter_description> a #guint64 containing the attribute's new value
30850</parameter_description>
30851</parameter>
30852<parameter name="flags">
30853<parameter_description> a #GFileQueryInfoFlags
30854</parameter_description>
30855</parameter>
30856<parameter name="cancellable">
30857<parameter_description> optional #GCancellable object,
30858%NULL to ignore
30859</parameter_description>
30860</parameter>
30861<parameter name="error">
30862<parameter_description> a #GError, or %NULL
30863</parameter_description>
30864</parameter>
30865</parameters>
30866<return> %TRUE if the @attribute was successfully set to @value
30867in the @file, %FALSE otherwise.
30868</return>
30869</function>
30870
30871<function name="g_file_set_attributes_async">
30872<description>
30873Asynchronously sets the attributes of @file with @info.
30874
30875For more details, see g_file_set_attributes_from_info(),
30876which is the synchronous version of this call.
30877
30878When the operation is finished, @callback will be called.
30879You can then call g_file_set_attributes_finish() to get
30880the result of the operation.
30881
30882</description>
30883<parameters>
30884<parameter name="file">
30885<parameter_description> input #GFile
30886</parameter_description>
30887</parameter>
30888<parameter name="info">
30889<parameter_description> a #GFileInfo
30890</parameter_description>
30891</parameter>
30892<parameter name="flags">
30893<parameter_description> a #GFileQueryInfoFlags
30894</parameter_description>
30895</parameter>
30896<parameter name="io_priority">
30897<parameter_description> the [I/O priority][io-priority] of the request
30898</parameter_description>
30899</parameter>
30900<parameter name="cancellable">
30901<parameter_description> optional #GCancellable object,
30902%NULL to ignore
30903</parameter_description>
30904</parameter>
30905<parameter name="callback">
30906<parameter_description> a #GAsyncReadyCallback
30907</parameter_description>
30908</parameter>
30909<parameter name="user_data">
30910<parameter_description> a #gpointer
30911</parameter_description>
30912</parameter>
30913</parameters>
30914<return></return>
30915</function>
30916
30917<function name="g_file_set_attributes_finish">
30918<description>
30919Finishes setting an attribute started in g_file_set_attributes_async().
30920
30921
30922</description>
30923<parameters>
30924<parameter name="file">
30925<parameter_description> input #GFile
30926</parameter_description>
30927</parameter>
30928<parameter name="result">
30929<parameter_description> a #GAsyncResult
30930</parameter_description>
30931</parameter>
30932<parameter name="info">
30933<parameter_description> a #GFileInfo
30934</parameter_description>
30935</parameter>
30936<parameter name="error">
30937<parameter_description> a #GError, or %NULL
30938</parameter_description>
30939</parameter>
30940</parameters>
30941<return> %TRUE if the attributes were set correctly, %FALSE otherwise.
30942</return>
30943</function>
30944
30945<function name="g_file_set_attributes_from_info">
30946<description>
30947Tries to set all attributes in the #GFileInfo on the target
30948values, not stopping on the first error.
30949
30950If there is any error during this operation then @error will
30951be set to the first error. Error on particular fields are flagged
30952by setting the &quot;status&quot; field in the attribute value to
30953%G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, which means you can
30954also detect further errors.
30955
30956If @cancellable is not %NULL, then the operation can be cancelled by
30957triggering the cancellable object from another thread. If the operation
30958was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
30959
30960
30961</description>
30962<parameters>
30963<parameter name="file">
30964<parameter_description> input #GFile
30965</parameter_description>
30966</parameter>
30967<parameter name="info">
30968<parameter_description> a #GFileInfo
30969</parameter_description>
30970</parameter>
30971<parameter name="flags">
30972<parameter_description> #GFileQueryInfoFlags
30973</parameter_description>
30974</parameter>
30975<parameter name="cancellable">
30976<parameter_description> optional #GCancellable object,
30977%NULL to ignore
30978</parameter_description>
30979</parameter>
30980<parameter name="error">
30981<parameter_description> a #GError, or %NULL
30982</parameter_description>
30983</parameter>
30984</parameters>
30985<return> %FALSE if there was any error, %TRUE otherwise.
30986</return>
30987</function>
30988
30989<function name="g_file_set_display_name">
30990<description>
30991Renames @file to the specified display name.
30992
30993The display name is converted from UTF-8 to the correct encoding
30994for the target filesystem if possible and the @file is renamed to this.
30995
30996If you want to implement a rename operation in the user interface the
30997edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the
30998initial value in the rename widget, and then the result after editing
30999should be passed to g_file_set_display_name().
31000
31001On success the resulting converted filename is returned.
31002
31003If @cancellable is not %NULL, then the operation can be cancelled by
31004triggering the cancellable object from another thread. If the operation
31005was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31006
31007
31008</description>
31009<parameters>
31010<parameter name="file">
31011<parameter_description> input #GFile
31012</parameter_description>
31013</parameter>
31014<parameter name="display_name">
31015<parameter_description> a string
31016</parameter_description>
31017</parameter>
31018<parameter name="cancellable">
31019<parameter_description> optional #GCancellable object,
31020%NULL to ignore
31021</parameter_description>
31022</parameter>
31023<parameter name="error">
31024<parameter_description> a #GError, or %NULL
31025</parameter_description>
31026</parameter>
31027</parameters>
31028<return> a #GFile specifying what @file was renamed to,
31029or %NULL if there was an error.
31030Free the returned object with g_object_unref().
31031</return>
31032</function>
31033
31034<function name="g_file_set_display_name_async">
31035<description>
31036Asynchronously sets the display name for a given #GFile.
31037
31038For more details, see g_file_set_display_name() which is
31039the synchronous version of this call.
31040
31041When the operation is finished, @callback will be called.
31042You can then call g_file_set_display_name_finish() to get
31043the result of the operation.
31044
31045</description>
31046<parameters>
31047<parameter name="file">
31048<parameter_description> input #GFile
31049</parameter_description>
31050</parameter>
31051<parameter name="display_name">
31052<parameter_description> a string
31053</parameter_description>
31054</parameter>
31055<parameter name="io_priority">
31056<parameter_description> the [I/O priority][io-priority] of the request
31057</parameter_description>
31058</parameter>
31059<parameter name="cancellable">
31060<parameter_description> optional #GCancellable object,
31061%NULL to ignore
31062</parameter_description>
31063</parameter>
31064<parameter name="callback">
31065<parameter_description> a #GAsyncReadyCallback to call
31066when the request is satisfied
31067</parameter_description>
31068</parameter>
31069<parameter name="user_data">
31070<parameter_description> the data to pass to callback function
31071</parameter_description>
31072</parameter>
31073</parameters>
31074<return></return>
31075</function>
31076
31077<function name="g_file_set_display_name_finish">
31078<description>
31079Finishes setting a display name started with
31080g_file_set_display_name_async().
31081
31082
31083</description>
31084<parameters>
31085<parameter name="file">
31086<parameter_description> input #GFile
31087</parameter_description>
31088</parameter>
31089<parameter name="res">
31090<parameter_description> a #GAsyncResult
31091</parameter_description>
31092</parameter>
31093<parameter name="error">
31094<parameter_description> a #GError, or %NULL
31095</parameter_description>
31096</parameter>
31097</parameters>
31098<return> a #GFile or %NULL on error.
31099Free the returned object with g_object_unref().
31100</return>
31101</function>
31102
31103<function name="g_file_start_mountable">
31104<description>
31105Starts a file of type #G_FILE_TYPE_MOUNTABLE.
31106Using @start_operation, you can request callbacks when, for instance,
31107passwords are needed during authentication.
31108
31109If @cancellable is not %NULL, then the operation can be cancelled by
31110triggering the cancellable object from another thread. If the operation
31111was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31112
31113When the operation is finished, @callback will be called.
31114You can then call g_file_mount_mountable_finish() to get
31115the result of the operation.
31116
31117Since: 2.22
31118
31119</description>
31120<parameters>
31121<parameter name="file">
31122<parameter_description> input #GFile
31123</parameter_description>
31124</parameter>
31125<parameter name="flags">
31126<parameter_description> flags affecting the operation
31127</parameter_description>
31128</parameter>
31129<parameter name="start_operation">
31130<parameter_description> a #GMountOperation, or %NULL to avoid user interaction
31131</parameter_description>
31132</parameter>
31133<parameter name="cancellable">
31134<parameter_description> optional #GCancellable object, %NULL to ignore
31135</parameter_description>
31136</parameter>
31137<parameter name="callback">
31138<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied, or %NULL
31139</parameter_description>
31140</parameter>
31141<parameter name="user_data">
31142<parameter_description> the data to pass to callback function
31143</parameter_description>
31144</parameter>
31145</parameters>
31146<return></return>
31147</function>
31148
31149<function name="g_file_start_mountable_finish">
31150<description>
31151Finishes a start operation. See g_file_start_mountable() for details.
31152
31153Finish an asynchronous start operation that was started
31154with g_file_start_mountable().
31155
31156Since: 2.22
31157
31158</description>
31159<parameters>
31160<parameter name="file">
31161<parameter_description> input #GFile
31162</parameter_description>
31163</parameter>
31164<parameter name="result">
31165<parameter_description> a #GAsyncResult
31166</parameter_description>
31167</parameter>
31168<parameter name="error">
31169<parameter_description> a #GError, or %NULL
31170</parameter_description>
31171</parameter>
31172</parameters>
31173<return> %TRUE if the operation finished successfully. %FALSE
31174otherwise.
31175
31176</return>
31177</function>
31178
31179<function name="g_file_stop_mountable">
31180<description>
31181Stops a file of type #G_FILE_TYPE_MOUNTABLE.
31182
31183If @cancellable is not %NULL, then the operation can be cancelled by
31184triggering the cancellable object from another thread. If the operation
31185was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31186
31187When the operation is finished, @callback will be called.
31188You can then call g_file_stop_mountable_finish() to get
31189the result of the operation.
31190
31191Since: 2.22
31192
31193</description>
31194<parameters>
31195<parameter name="file">
31196<parameter_description> input #GFile
31197</parameter_description>
31198</parameter>
31199<parameter name="flags">
31200<parameter_description> flags affecting the operation
31201</parameter_description>
31202</parameter>
31203<parameter name="mount_operation">
31204<parameter_description> a #GMountOperation,
31205or %NULL to avoid user interaction.
31206</parameter_description>
31207</parameter>
31208<parameter name="cancellable">
31209<parameter_description> optional #GCancellable object,
31210%NULL to ignore
31211</parameter_description>
31212</parameter>
31213<parameter name="callback">
31214<parameter_description> a #GAsyncReadyCallback to call
31215when the request is satisfied, or %NULL
31216</parameter_description>
31217</parameter>
31218<parameter name="user_data">
31219<parameter_description> the data to pass to callback function
31220</parameter_description>
31221</parameter>
31222</parameters>
31223<return></return>
31224</function>
31225
31226<function name="g_file_stop_mountable_finish">
31227<description>
31228Finishes a stop operation, see g_file_stop_mountable() for details.
31229
31230Finish an asynchronous stop operation that was started
31231with g_file_stop_mountable().
31232
31233Since: 2.22
31234
31235</description>
31236<parameters>
31237<parameter name="file">
31238<parameter_description> input #GFile
31239</parameter_description>
31240</parameter>
31241<parameter name="result">
31242<parameter_description> a #GAsyncResult
31243</parameter_description>
31244</parameter>
31245<parameter name="error">
31246<parameter_description> a #GError, or %NULL
31247</parameter_description>
31248</parameter>
31249</parameters>
31250<return> %TRUE if the operation finished successfully.
31251%FALSE otherwise.
31252
31253</return>
31254</function>
31255
31256<function name="g_file_supports_thread_contexts">
31257<description>
31258Checks if @file supports
31259[thread-default contexts][g-main-context-push-thread-default-context].
31260If this returns %FALSE, you cannot perform asynchronous operations on
31261@file in a thread that has a thread-default context.
31262
31263Since: 2.22
31264
31265</description>
31266<parameters>
31267<parameter name="file">
31268<parameter_description> a #GFile
31269</parameter_description>
31270</parameter>
31271</parameters>
31272<return> Whether or not @file supports thread-default contexts.
31273
31274</return>
31275</function>
31276
31277<function name="g_file_trash">
31278<description>
31279Sends @file to the &quot;Trashcan&quot;, if possible. This is similar to
31280deleting it, but the user can recover it before emptying the trashcan.
31281Not all file systems support trashing, so this call can return the
31282%G_IO_ERROR_NOT_SUPPORTED error.
31283
31284If @cancellable is not %NULL, then the operation can be cancelled by
31285triggering the cancellable object from another thread. If the operation
31286was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31287
31288Virtual: trash
31289
31290</description>
31291<parameters>
31292<parameter name="file">
31293<parameter_description> #GFile to send to trash
31294</parameter_description>
31295</parameter>
31296<parameter name="cancellable">
31297<parameter_description> optional #GCancellable object,
31298%NULL to ignore
31299</parameter_description>
31300</parameter>
31301<parameter name="error">
31302<parameter_description> a #GError, or %NULL
31303</parameter_description>
31304</parameter>
31305</parameters>
31306<return> %TRUE on successful trash, %FALSE otherwise.
31307</return>
31308</function>
31309
31310<function name="g_file_trash_async">
31311<description>
31312Asynchronously sends @file to the Trash location, if possible.
31313
31314Virtual: trash_async
31315Since: 2.38
31316
31317</description>
31318<parameters>
31319<parameter name="file">
31320<parameter_description> input #GFile
31321</parameter_description>
31322</parameter>
31323<parameter name="io_priority">
31324<parameter_description> the [I/O priority][io-priority] of the request
31325</parameter_description>
31326</parameter>
31327<parameter name="cancellable">
31328<parameter_description> optional #GCancellable object,
31329%NULL to ignore
31330</parameter_description>
31331</parameter>
31332<parameter name="callback">
31333<parameter_description> a #GAsyncReadyCallback to call
31334when the request is satisfied
31335</parameter_description>
31336</parameter>
31337<parameter name="user_data">
31338<parameter_description> the data to pass to callback function
31339</parameter_description>
31340</parameter>
31341</parameters>
31342<return></return>
31343</function>
31344
31345<function name="g_file_trash_finish">
31346<description>
31347Finishes an asynchronous file trashing operation, started with
31348g_file_trash_async().
31349
31350Virtual: trash_finish
31351Since: 2.38
31352
31353</description>
31354<parameters>
31355<parameter name="file">
31356<parameter_description> input #GFile
31357</parameter_description>
31358</parameter>
31359<parameter name="result">
31360<parameter_description> a #GAsyncResult
31361</parameter_description>
31362</parameter>
31363<parameter name="error">
31364<parameter_description> a #GError, or %NULL
31365</parameter_description>
31366</parameter>
31367</parameters>
31368<return> %TRUE on successful trash, %FALSE otherwise.
31369</return>
31370</function>
31371
31372<function name="g_file_unmount_mountable">
31373<description>
31374Unmounts a file of type G_FILE_TYPE_MOUNTABLE.
31375
31376If @cancellable is not %NULL, then the operation can be cancelled by
31377triggering the cancellable object from another thread. If the operation
31378was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31379
31380When the operation is finished, @callback will be called.
31381You can then call g_file_unmount_mountable_finish() to get
31382the result of the operation.
31383
31384Deprecated: 2.22: Use g_file_unmount_mountable_with_operation() instead.
31385
31386</description>
31387<parameters>
31388<parameter name="file">
31389<parameter_description> input #GFile
31390</parameter_description>
31391</parameter>
31392<parameter name="flags">
31393<parameter_description> flags affecting the operation
31394</parameter_description>
31395</parameter>
31396<parameter name="cancellable">
31397<parameter_description> optional #GCancellable object,
31398%NULL to ignore
31399</parameter_description>
31400</parameter>
31401<parameter name="callback">
31402<parameter_description> a #GAsyncReadyCallback to call
31403when the request is satisfied, or %NULL
31404</parameter_description>
31405</parameter>
31406<parameter name="user_data">
31407<parameter_description> the data to pass to callback function
31408</parameter_description>
31409</parameter>
31410</parameters>
31411<return></return>
31412</function>
31413
31414<function name="g_file_unmount_mountable_finish">
31415<description>
31416Finishes an unmount operation, see g_file_unmount_mountable() for details.
31417
31418Finish an asynchronous unmount operation that was started
31419with g_file_unmount_mountable().
31420
31421Deprecated: 2.22: Use g_file_unmount_mountable_with_operation_finish()
31422instead.
31423
31424</description>
31425<parameters>
31426<parameter name="file">
31427<parameter_description> input #GFile
31428</parameter_description>
31429</parameter>
31430<parameter name="result">
31431<parameter_description> a #GAsyncResult
31432</parameter_description>
31433</parameter>
31434<parameter name="error">
31435<parameter_description> a #GError, or %NULL
31436</parameter_description>
31437</parameter>
31438</parameters>
31439<return> %TRUE if the operation finished successfully.
31440%FALSE otherwise.
31441
31442</return>
31443</function>
31444
31445<function name="g_file_unmount_mountable_with_operation">
31446<description>
31447Unmounts a file of type #G_FILE_TYPE_MOUNTABLE.
31448
31449If @cancellable is not %NULL, then the operation can be cancelled by
31450triggering the cancellable object from another thread. If the operation
31451was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
31452
31453When the operation is finished, @callback will be called.
31454You can then call g_file_unmount_mountable_finish() to get
31455the result of the operation.
31456
31457Since: 2.22
31458
31459</description>
31460<parameters>
31461<parameter name="file">
31462<parameter_description> input #GFile
31463</parameter_description>
31464</parameter>
31465<parameter name="flags">
31466<parameter_description> flags affecting the operation
31467</parameter_description>
31468</parameter>
31469<parameter name="mount_operation">
31470<parameter_description> a #GMountOperation,
31471or %NULL to avoid user interaction
31472</parameter_description>
31473</parameter>
31474<parameter name="cancellable">
31475<parameter_description> optional #GCancellable object,
31476%NULL to ignore
31477</parameter_description>
31478</parameter>
31479<parameter name="callback">
31480<parameter_description> a #GAsyncReadyCallback to call
31481when the request is satisfied, or %NULL
31482</parameter_description>
31483</parameter>
31484<parameter name="user_data">
31485<parameter_description> the data to pass to callback function
31486</parameter_description>
31487</parameter>
31488</parameters>
31489<return></return>
31490</function>
31491
31492<function name="g_file_unmount_mountable_with_operation_finish">
31493<description>
31494Finishes an unmount operation,
31495see g_file_unmount_mountable_with_operation() for details.
31496
31497Finish an asynchronous unmount operation that was started
31498with g_file_unmount_mountable_with_operation().
31499
31500Since: 2.22
31501
31502</description>
31503<parameters>
31504<parameter name="file">
31505<parameter_description> input #GFile
31506</parameter_description>
31507</parameter>
31508<parameter name="result">
31509<parameter_description> a #GAsyncResult
31510</parameter_description>
31511</parameter>
31512<parameter name="error">
31513<parameter_description> a #GError, or %NULL
31514</parameter_description>
31515</parameter>
31516</parameters>
31517<return> %TRUE if the operation finished successfully.
31518%FALSE otherwise.
31519
31520</return>
31521</function>
31522
31523<function name="g_filename_completer_get_completion_suffix">
31524<description>
31525Obtains a completion for @initial_text from @completer.
31526
31527
31528</description>
31529<parameters>
31530<parameter name="completer">
31531<parameter_description> the filename completer.
31532</parameter_description>
31533</parameter>
31534<parameter name="initial_text">
31535<parameter_description> text to be completed.
31536</parameter_description>
31537</parameter>
31538</parameters>
31539<return> a completed string, or %NULL if no completion exists.
31540This string is not owned by GIO, so remember to g_free() it
31541when finished.
31542</return>
31543</function>
31544
31545<function name="g_filename_completer_get_completions">
31546<description>
31547Gets an array of completion strings for a given initial text.
31548
31549
31550</description>
31551<parameters>
31552<parameter name="completer">
31553<parameter_description> the filename completer.
31554</parameter_description>
31555</parameter>
31556<parameter name="initial_text">
31557<parameter_description> text to be completed.
31558</parameter_description>
31559</parameter>
31560</parameters>
31561<return> array of strings with possible completions for @initial_text.
31562This array must be freed by g_strfreev() when finished.
31563</return>
31564</function>
31565
31566<function name="g_filename_completer_new">
31567<description>
31568Creates a new filename completer.
31569
31570
31571</description>
31572<parameters>
31573</parameters>
31574<return> a #GFilenameCompleter.
31575</return>
31576</function>
31577
31578<function name="g_filename_completer_set_dirs_only">
31579<description>
31580If @dirs_only is %TRUE, @completer will only
31581complete directory names, and not file names.
31582
31583</description>
31584<parameters>
31585<parameter name="completer">
31586<parameter_description> the filename completer.
31587</parameter_description>
31588</parameter>
31589<parameter name="dirs_only">
31590<parameter_description> a #gboolean.
31591</parameter_description>
31592</parameter>
31593</parameters>
31594<return></return>
31595</function>
31596
31597<function name="g_filter_input_stream_get_base_stream">
31598<description>
31599Gets the base stream for the filter stream.
31600
31601
31602</description>
31603<parameters>
31604<parameter name="stream">
31605<parameter_description> a #GFilterInputStream.
31606</parameter_description>
31607</parameter>
31608</parameters>
31609<return> a #GInputStream.
31610</return>
31611</function>
31612
31613<function name="g_filter_input_stream_get_close_base_stream">
31614<description>
31615Returns whether the base stream will be closed when @stream is
31616closed.
31617
31618
31619</description>
31620<parameters>
31621<parameter name="stream">
31622<parameter_description> a #GFilterInputStream.
31623</parameter_description>
31624</parameter>
31625</parameters>
31626<return> %TRUE if the base stream will be closed.
31627</return>
31628</function>
31629
31630<function name="g_filter_input_stream_set_close_base_stream">
31631<description>
31632Sets whether the base stream will be closed when @stream is closed.
31633
31634</description>
31635<parameters>
31636<parameter name="stream">
31637<parameter_description> a #GFilterInputStream.
31638</parameter_description>
31639</parameter>
31640<parameter name="close_base">
31641<parameter_description> %TRUE to close the base stream.
31642</parameter_description>
31643</parameter>
31644</parameters>
31645<return></return>
31646</function>
31647
31648<function name="g_filter_output_stream_get_base_stream">
31649<description>
31650Gets the base stream for the filter stream.
31651
31652
31653</description>
31654<parameters>
31655<parameter name="stream">
31656<parameter_description> a #GFilterOutputStream.
31657</parameter_description>
31658</parameter>
31659</parameters>
31660<return> a #GOutputStream.
31661</return>
31662</function>
31663
31664<function name="g_filter_output_stream_get_close_base_stream">
31665<description>
31666Returns whether the base stream will be closed when @stream is
31667closed.
31668
31669
31670</description>
31671<parameters>
31672<parameter name="stream">
31673<parameter_description> a #GFilterOutputStream.
31674</parameter_description>
31675</parameter>
31676</parameters>
31677<return> %TRUE if the base stream will be closed.
31678</return>
31679</function>
31680
31681<function name="g_filter_output_stream_set_close_base_stream">
31682<description>
31683Sets whether the base stream will be closed when @stream is closed.
31684
31685</description>
31686<parameters>
31687<parameter name="stream">
31688<parameter_description> a #GFilterOutputStream.
31689</parameter_description>
31690</parameter>
31691<parameter name="close_base">
31692<parameter_description> %TRUE to close the base stream.
31693</parameter_description>
31694</parameter>
31695</parameters>
31696<return></return>
31697</function>
31698
31699<function name="g_icon_deserialize">
31700<description>
31701Deserializes a #GIcon previously serialized using g_icon_serialize().
31702
31703Since: 2.38
31704
31705</description>
31706<parameters>
31707<parameter name="value">
31708<parameter_description> a #GVariant created with g_icon_serialize()
31709</parameter_description>
31710</parameter>
31711</parameters>
31712<return> a #GIcon, or %NULL when deserialization fails.
31713
31714</return>
31715</function>
31716
31717<function name="g_icon_equal">
31718<description>
31719Checks if two icons are equal.
31720
31721
31722</description>
31723<parameters>
31724<parameter name="icon1">
31725<parameter_description> pointer to the first #GIcon.
31726</parameter_description>
31727</parameter>
31728<parameter name="icon2">
31729<parameter_description> pointer to the second #GIcon.
31730</parameter_description>
31731</parameter>
31732</parameters>
31733<return> %TRUE if @icon1 is equal to @icon2. %FALSE otherwise.
31734</return>
31735</function>
31736
31737<function name="g_icon_hash">
31738<description>
31739Gets a hash for an icon.
31740
31741Virtual: hash
31742
31743</description>
31744<parameters>
31745<parameter name="icon">
31746<parameter_description> #gconstpointer to an icon object.
31747</parameter_description>
31748</parameter>
31749</parameters>
31750<return> a #guint containing a hash for the @icon, suitable for
31751use in a #GHashTable or similar data structure.
31752</return>
31753</function>
31754
31755<function name="g_icon_new_for_string">
31756<description>
31757Generate a #GIcon instance from @str. This function can fail if
31758@str is not valid - see g_icon_to_string() for discussion.
31759
31760If your application or library provides one or more #GIcon
31761implementations you need to ensure that each #GType is registered
31762with the type system prior to calling g_icon_new_for_string().
31763
31764Since: 2.20
31765
31766</description>
31767<parameters>
31768<parameter name="str">
31769<parameter_description> A string obtained via g_icon_to_string().
31770</parameter_description>
31771</parameter>
31772<parameter name="error">
31773<parameter_description> Return location for error.
31774</parameter_description>
31775</parameter>
31776</parameters>
31777<return> An object implementing the #GIcon
31778interface or %NULL if @error is set.
31779
31780</return>
31781</function>
31782
31783<function name="g_icon_serialize">
31784<description>
31785Serializes a #GIcon into a #GVariant. An equivalent #GIcon can be retrieved
31786back by calling g_icon_deserialize() on the returned value.
31787As serialization will avoid using raw icon data when possible, it only
31788makes sense to transfer the #GVariant between processes on the same machine,
31789(as opposed to over the network), and within the same file system namespace.
31790
31791Since: 2.38
31792
31793</description>
31794<parameters>
31795<parameter name="icon">
31796<parameter_description> a #GIcon
31797</parameter_description>
31798</parameter>
31799</parameters>
31800<return> a #GVariant, or %NULL when serialization fails.
31801
31802</return>
31803</function>
31804
31805<function name="g_icon_to_string">
31806<description>
31807Generates a textual representation of @icon that can be used for
31808serialization such as when passing @icon to a different process or
31809saving it to persistent storage. Use g_icon_new_for_string() to
31810get @icon back from the returned string.
31811
31812The encoding of the returned string is proprietary to #GIcon except
31813in the following two cases
31814
31815- If @icon is a #GFileIcon, the returned string is a native path
31816(such as `/path/to/my icon.png`) without escaping
31817if the #GFile for @icon is a native file.  If the file is not
31818native, the returned string is the result of g_file_get_uri()
31819(such as `sftp://path/to/my%20icon.png`).
31820
31821- If @icon is a #GThemedIcon with exactly one name and no fallbacks,
31822the encoding is simply the name (such as `network-server`).
31823
31824Virtual: to_tokens
31825Since: 2.20
31826
31827</description>
31828<parameters>
31829<parameter name="icon">
31830<parameter_description> a #GIcon.
31831</parameter_description>
31832</parameter>
31833</parameters>
31834<return> An allocated NUL-terminated UTF8 string or
31835%NULL if @icon can't be serialized. Use g_free() to free.
31836
31837</return>
31838</function>
31839
31840<function name="g_inet_address_equal">
31841<description>
31842Checks if two #GInetAddress instances are equal, e.g. the same address.
31843
31844Since: 2.30
31845
31846</description>
31847<parameters>
31848<parameter name="address">
31849<parameter_description> A #GInetAddress.
31850</parameter_description>
31851</parameter>
31852<parameter name="other_address">
31853<parameter_description> Another #GInetAddress.
31854</parameter_description>
31855</parameter>
31856</parameters>
31857<return> %TRUE if @address and @other_address are equal, %FALSE otherwise.
31858
31859</return>
31860</function>
31861
31862<function name="g_inet_address_get_family">
31863<description>
31864Gets @address's family
31865
31866Since: 2.22
31867
31868</description>
31869<parameters>
31870<parameter name="address">
31871<parameter_description> a #GInetAddress
31872</parameter_description>
31873</parameter>
31874</parameters>
31875<return> @address's family
31876
31877</return>
31878</function>
31879
31880<function name="g_inet_address_get_is_any">
31881<description>
31882Tests whether @address is the &quot;any&quot; address for its family.
31883
31884Since: 2.22
31885
31886</description>
31887<parameters>
31888<parameter name="address">
31889<parameter_description> a #GInetAddress
31890</parameter_description>
31891</parameter>
31892</parameters>
31893<return> %TRUE if @address is the &quot;any&quot; address for its family.
31894
31895</return>
31896</function>
31897
31898<function name="g_inet_address_get_is_link_local">
31899<description>
31900Tests whether @address is a link-local address (that is, if it
31901identifies a host on a local network that is not connected to the
31902Internet).
31903
31904Since: 2.22
31905
31906</description>
31907<parameters>
31908<parameter name="address">
31909<parameter_description> a #GInetAddress
31910</parameter_description>
31911</parameter>
31912</parameters>
31913<return> %TRUE if @address is a link-local address.
31914
31915</return>
31916</function>
31917
31918<function name="g_inet_address_get_is_loopback">
31919<description>
31920Tests whether @address is the loopback address for its family.
31921
31922Since: 2.22
31923
31924</description>
31925<parameters>
31926<parameter name="address">
31927<parameter_description> a #GInetAddress
31928</parameter_description>
31929</parameter>
31930</parameters>
31931<return> %TRUE if @address is the loopback address for its family.
31932
31933</return>
31934</function>
31935
31936<function name="g_inet_address_get_is_mc_global">
31937<description>
31938Tests whether @address is a global multicast address.
31939
31940Since: 2.22
31941
31942</description>
31943<parameters>
31944<parameter name="address">
31945<parameter_description> a #GInetAddress
31946</parameter_description>
31947</parameter>
31948</parameters>
31949<return> %TRUE if @address is a global multicast address.
31950
31951</return>
31952</function>
31953
31954<function name="g_inet_address_get_is_mc_link_local">
31955<description>
31956Tests whether @address is a link-local multicast address.
31957
31958Since: 2.22
31959
31960</description>
31961<parameters>
31962<parameter name="address">
31963<parameter_description> a #GInetAddress
31964</parameter_description>
31965</parameter>
31966</parameters>
31967<return> %TRUE if @address is a link-local multicast address.
31968
31969</return>
31970</function>
31971
31972<function name="g_inet_address_get_is_mc_node_local">
31973<description>
31974Tests whether @address is a node-local multicast address.
31975
31976Since: 2.22
31977
31978</description>
31979<parameters>
31980<parameter name="address">
31981<parameter_description> a #GInetAddress
31982</parameter_description>
31983</parameter>
31984</parameters>
31985<return> %TRUE if @address is a node-local multicast address.
31986
31987</return>
31988</function>
31989
31990<function name="g_inet_address_get_is_mc_org_local">
31991<description>
31992Tests whether @address is an organization-local multicast address.
31993
31994Since: 2.22
31995
31996</description>
31997<parameters>
31998<parameter name="address">
31999<parameter_description> a #GInetAddress
32000</parameter_description>
32001</parameter>
32002</parameters>
32003<return> %TRUE if @address is an organization-local multicast address.
32004
32005</return>
32006</function>
32007
32008<function name="g_inet_address_get_is_mc_site_local">
32009<description>
32010Tests whether @address is a site-local multicast address.
32011
32012Since: 2.22
32013
32014</description>
32015<parameters>
32016<parameter name="address">
32017<parameter_description> a #GInetAddress
32018</parameter_description>
32019</parameter>
32020</parameters>
32021<return> %TRUE if @address is a site-local multicast address.
32022
32023</return>
32024</function>
32025
32026<function name="g_inet_address_get_is_multicast">
32027<description>
32028Tests whether @address is a multicast address.
32029
32030Since: 2.22
32031
32032</description>
32033<parameters>
32034<parameter name="address">
32035<parameter_description> a #GInetAddress
32036</parameter_description>
32037</parameter>
32038</parameters>
32039<return> %TRUE if @address is a multicast address.
32040
32041</return>
32042</function>
32043
32044<function name="g_inet_address_get_is_site_local">
32045<description>
32046Tests whether @address is a site-local address such as 10.0.0.1
32047(that is, the address identifies a host on a local network that can
32048not be reached directly from the Internet, but which may have
32049outgoing Internet connectivity via a NAT or firewall).
32050
32051Since: 2.22
32052
32053</description>
32054<parameters>
32055<parameter name="address">
32056<parameter_description> a #GInetAddress
32057</parameter_description>
32058</parameter>
32059</parameters>
32060<return> %TRUE if @address is a site-local address.
32061
32062</return>
32063</function>
32064
32065<function name="g_inet_address_get_native_size">
32066<description>
32067Gets the size of the native raw binary address for @address. This
32068is the size of the data that you get from g_inet_address_to_bytes().
32069
32070Since: 2.22
32071
32072</description>
32073<parameters>
32074<parameter name="address">
32075<parameter_description> a #GInetAddress
32076</parameter_description>
32077</parameter>
32078</parameters>
32079<return> the number of bytes used for the native version of @address.
32080
32081</return>
32082</function>
32083
32084<function name="g_inet_address_mask_equal">
32085<description>
32086Tests if @mask and @mask2 are the same mask.
32087
32088Since: 2.32
32089
32090</description>
32091<parameters>
32092<parameter name="mask">
32093<parameter_description> a #GInetAddressMask
32094</parameter_description>
32095</parameter>
32096<parameter name="mask2">
32097<parameter_description> another #GInetAddressMask
32098</parameter_description>
32099</parameter>
32100</parameters>
32101<return> whether @mask and @mask2 are the same mask
32102
32103</return>
32104</function>
32105
32106<function name="g_inet_address_mask_get_address">
32107<description>
32108Gets @mask's base address
32109
32110Since: 2.32
32111
32112</description>
32113<parameters>
32114<parameter name="mask">
32115<parameter_description> a #GInetAddressMask
32116</parameter_description>
32117</parameter>
32118</parameters>
32119<return> @mask's base address
32120
32121</return>
32122</function>
32123
32124<function name="g_inet_address_mask_get_family">
32125<description>
32126Gets the #GSocketFamily of @mask's address
32127
32128Since: 2.32
32129
32130</description>
32131<parameters>
32132<parameter name="mask">
32133<parameter_description> a #GInetAddressMask
32134</parameter_description>
32135</parameter>
32136</parameters>
32137<return> the #GSocketFamily of @mask's address
32138
32139</return>
32140</function>
32141
32142<function name="g_inet_address_mask_get_length">
32143<description>
32144Gets @mask's length
32145
32146Since: 2.32
32147
32148</description>
32149<parameters>
32150<parameter name="mask">
32151<parameter_description> a #GInetAddressMask
32152</parameter_description>
32153</parameter>
32154</parameters>
32155<return> @mask's length
32156
32157</return>
32158</function>
32159
32160<function name="g_inet_address_mask_matches">
32161<description>
32162Tests if @address falls within the range described by @mask.
32163
32164Since: 2.32
32165
32166</description>
32167<parameters>
32168<parameter name="mask">
32169<parameter_description> a #GInetAddressMask
32170</parameter_description>
32171</parameter>
32172<parameter name="address">
32173<parameter_description> a #GInetAddress
32174</parameter_description>
32175</parameter>
32176</parameters>
32177<return> whether @address falls within the range described by
32178@mask.
32179
32180</return>
32181</function>
32182
32183<function name="g_inet_address_mask_new">
32184<description>
32185Creates a new #GInetAddressMask representing all addresses whose
32186first @length bits match @addr.
32187
32188Since: 2.32
32189
32190</description>
32191<parameters>
32192<parameter name="addr">
32193<parameter_description> a #GInetAddress
32194</parameter_description>
32195</parameter>
32196<parameter name="length">
32197<parameter_description> number of bits of @addr to use
32198</parameter_description>
32199</parameter>
32200<parameter name="error">
32201<parameter_description> return location for #GError, or %NULL
32202</parameter_description>
32203</parameter>
32204</parameters>
32205<return> a new #GInetAddressMask, or %NULL on error
32206
32207</return>
32208</function>
32209
32210<function name="g_inet_address_mask_new_from_string">
32211<description>
32212Parses @mask_string as an IP address and (optional) length, and
32213creates a new #GInetAddressMask. The length, if present, is
32214delimited by a &quot;/&quot;. If it is not present, then the length is
32215assumed to be the full length of the address.
32216
32217Since: 2.32
32218
32219</description>
32220<parameters>
32221<parameter name="mask_string">
32222<parameter_description> an IP address or address/length string
32223</parameter_description>
32224</parameter>
32225<parameter name="error">
32226<parameter_description> return location for #GError, or %NULL
32227</parameter_description>
32228</parameter>
32229</parameters>
32230<return> a new #GInetAddressMask corresponding to @string, or %NULL
32231on error.
32232
32233</return>
32234</function>
32235
32236<function name="g_inet_address_mask_to_string">
32237<description>
32238Converts @mask back to its corresponding string form.
32239
32240Since: 2.32
32241
32242</description>
32243<parameters>
32244<parameter name="mask">
32245<parameter_description> a #GInetAddressMask
32246</parameter_description>
32247</parameter>
32248</parameters>
32249<return> a string corresponding to @mask.
32250
32251</return>
32252</function>
32253
32254<function name="g_inet_address_new_any">
32255<description>
32256Creates a #GInetAddress for the &quot;any&quot; address (unassigned/&quot;don't
32257care&quot;) for @family.
32258
32259Since: 2.22
32260
32261</description>
32262<parameters>
32263<parameter name="family">
32264<parameter_description> the address family
32265</parameter_description>
32266</parameter>
32267</parameters>
32268<return> a new #GInetAddress corresponding to the &quot;any&quot; address
32269for @family.
32270Free the returned object with g_object_unref().
32271
32272</return>
32273</function>
32274
32275<function name="g_inet_address_new_from_bytes">
32276<description>
32277Creates a new #GInetAddress from the given @family and @bytes.
32278@bytes should be 4 bytes for %G_SOCKET_FAMILY_IPV4 and 16 bytes for
32279%G_SOCKET_FAMILY_IPV6.
32280
32281Since: 2.22
32282
32283</description>
32284<parameters>
32285<parameter name="bytes">
32286<parameter_description> raw address data
32287</parameter_description>
32288</parameter>
32289<parameter name="family">
32290<parameter_description> the address family of @bytes
32291</parameter_description>
32292</parameter>
32293</parameters>
32294<return> a new #GInetAddress corresponding to @family and @bytes.
32295Free the returned object with g_object_unref().
32296
32297</return>
32298</function>
32299
32300<function name="g_inet_address_new_from_string">
32301<description>
32302Parses @string as an IP address and creates a new #GInetAddress.
32303
32304Since: 2.22
32305
32306</description>
32307<parameters>
32308<parameter name="string">
32309<parameter_description> a string representation of an IP address
32310</parameter_description>
32311</parameter>
32312</parameters>
32313<return> a new #GInetAddress corresponding to @string, or %NULL if
32314@string could not be parsed.
32315Free the returned object with g_object_unref().
32316
32317</return>
32318</function>
32319
32320<function name="g_inet_address_new_loopback">
32321<description>
32322Creates a #GInetAddress for the loopback address for @family.
32323
32324Since: 2.22
32325
32326</description>
32327<parameters>
32328<parameter name="family">
32329<parameter_description> the address family
32330</parameter_description>
32331</parameter>
32332</parameters>
32333<return> a new #GInetAddress corresponding to the loopback address
32334for @family.
32335Free the returned object with g_object_unref().
32336
32337</return>
32338</function>
32339
32340<function name="g_inet_address_to_bytes">
32341<description>
32342Gets the raw binary address data from @address.
32343
32344Since: 2.22
32345
32346</description>
32347<parameters>
32348<parameter name="address">
32349<parameter_description> a #GInetAddress
32350</parameter_description>
32351</parameter>
32352</parameters>
32353<return> a pointer to an internal array of the bytes in @address,
32354which should not be modified, stored, or freed. The size of this
32355array can be gotten with g_inet_address_get_native_size().
32356
32357</return>
32358</function>
32359
32360<function name="g_inet_address_to_string">
32361<description>
32362Converts @address to string form.
32363
32364Since: 2.22
32365
32366</description>
32367<parameters>
32368<parameter name="address">
32369<parameter_description> a #GInetAddress
32370</parameter_description>
32371</parameter>
32372</parameters>
32373<return> a representation of @address as a string, which should be
32374freed after use.
32375
32376</return>
32377</function>
32378
32379<function name="g_inet_socket_address_get_address">
32380<description>
32381Gets @address's #GInetAddress.
32382
32383Since: 2.22
32384
32385</description>
32386<parameters>
32387<parameter name="address">
32388<parameter_description> a #GInetSocketAddress
32389</parameter_description>
32390</parameter>
32391</parameters>
32392<return> the #GInetAddress for @address, which must be
32393g_object_ref()'d if it will be stored
32394
32395</return>
32396</function>
32397
32398<function name="g_inet_socket_address_get_flowinfo">
32399<description>
32400Gets the `sin6_flowinfo` field from @address,
32401which must be an IPv6 address.
32402
32403Since: 2.32
32404
32405</description>
32406<parameters>
32407<parameter name="address">
32408<parameter_description> a %G_SOCKET_FAMILY_IPV6 #GInetSocketAddress
32409</parameter_description>
32410</parameter>
32411</parameters>
32412<return> the flowinfo field
32413
32414</return>
32415</function>
32416
32417<function name="g_inet_socket_address_get_port">
32418<description>
32419Gets @address's port.
32420
32421Since: 2.22
32422
32423</description>
32424<parameters>
32425<parameter name="address">
32426<parameter_description> a #GInetSocketAddress
32427</parameter_description>
32428</parameter>
32429</parameters>
32430<return> the port for @address
32431
32432</return>
32433</function>
32434
32435<function name="g_inet_socket_address_get_scope_id">
32436<description>
32437Gets the `sin6_scope_id` field from @address,
32438which must be an IPv6 address.
32439
32440Since: 2.32
32441
32442</description>
32443<parameters>
32444<parameter name="address">
32445<parameter_description> a %G_SOCKET_FAMILY_IPV6 #GInetAddress
32446</parameter_description>
32447</parameter>
32448</parameters>
32449<return> the scope id field
32450
32451</return>
32452</function>
32453
32454<function name="g_inet_socket_address_new">
32455<description>
32456Creates a new #GInetSocketAddress for @address and @port.
32457
32458Since: 2.22
32459
32460</description>
32461<parameters>
32462<parameter name="address">
32463<parameter_description> a #GInetAddress
32464</parameter_description>
32465</parameter>
32466<parameter name="port">
32467<parameter_description> a port number
32468</parameter_description>
32469</parameter>
32470</parameters>
32471<return> a new #GInetSocketAddress
32472
32473</return>
32474</function>
32475
32476<function name="g_inet_socket_address_new_from_string">
32477<description>
32478Creates a new #GInetSocketAddress for @address and @port.
32479
32480If @address is an IPv6 address, it can also contain a scope ID
32481(separated from the address by a `%`).
32482
32483Since: 2.40
32484
32485</description>
32486<parameters>
32487<parameter name="address">
32488<parameter_description> the string form of an IP address
32489</parameter_description>
32490</parameter>
32491<parameter name="port">
32492<parameter_description> a port number
32493</parameter_description>
32494</parameter>
32495</parameters>
32496<return> a new #GInetSocketAddress, or %NULL if @address cannot be
32497parsed.
32498
32499</return>
32500</function>
32501
32502<function name="g_initable_init">
32503<description>
32504Initializes the object implementing the interface.
32505
32506This method is intended for language bindings. If writing in C,
32507g_initable_new() should typically be used instead.
32508
32509The object must be initialized before any real use after initial
32510construction, either with this function or g_async_initable_init_async().
32511
32512Implementations may also support cancellation. If @cancellable is not %NULL,
32513then initialization can be cancelled by triggering the cancellable object
32514from another thread. If the operation was cancelled, the error
32515%G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL and
32516the object doesn't support cancellable initialization the error
32517%G_IO_ERROR_NOT_SUPPORTED will be returned.
32518
32519If the object is not initialized, or initialization returns with an
32520error, then all operations on the object except g_object_ref() and
32521g_object_unref() are considered to be invalid, and have undefined
32522behaviour. See the [introduction][ginitable] for more details.
32523
32524Callers should not assume that a class which implements #GInitable can be
32525initialized multiple times, unless the class explicitly documents itself as
32526supporting this. Generally, a class’ implementation of init() can assume
32527(and assert) that it will only be called once. Previously, this documentation
32528recommended all #GInitable implementations should be idempotent; that
32529recommendation was relaxed in GLib 2.54.
32530
32531If a class explicitly supports being initialized multiple times, it is
32532recommended that the method is idempotent: multiple calls with the same
32533arguments should return the same results. Only the first call initializes
32534the object; further calls return the result of the first call.
32535
32536One reason why a class might need to support idempotent initialization is if
32537it is designed to be used via the singleton pattern, with a
32538#GObjectClass.constructor that sometimes returns an existing instance.
32539In this pattern, a caller would expect to be able to call g_initable_init()
32540on the result of g_object_new(), regardless of whether it is in fact a new
32541instance.
32542
32543Since: 2.22
32544
32545</description>
32546<parameters>
32547<parameter name="initable">
32548<parameter_description> a #GInitable.
32549</parameter_description>
32550</parameter>
32551<parameter name="cancellable">
32552<parameter_description> optional #GCancellable object, %NULL to ignore.
32553</parameter_description>
32554</parameter>
32555<parameter name="error">
32556<parameter_description> a #GError location to store the error occurring, or %NULL to
32557ignore.
32558</parameter_description>
32559</parameter>
32560</parameters>
32561<return> %TRUE if successful. If an error has occurred, this function will
32562return %FALSE and set @error appropriately if present.
32563
32564</return>
32565</function>
32566
32567<function name="g_initable_new">
32568<description>
32569Helper function for constructing #GInitable object. This is
32570similar to g_object_new() but also initializes the object
32571and returns %NULL, setting an error on failure.
32572
32573Since: 2.22
32574
32575</description>
32576<parameters>
32577<parameter name="object_type">
32578<parameter_description> a #GType supporting #GInitable.
32579</parameter_description>
32580</parameter>
32581<parameter name="cancellable">
32582<parameter_description> optional #GCancellable object, %NULL to ignore.
32583</parameter_description>
32584</parameter>
32585<parameter name="error">
32586<parameter_description> a #GError location to store the error occurring, or %NULL to
32587ignore.
32588</parameter_description>
32589</parameter>
32590<parameter name="first_property_name">
32591<parameter_description> the name of the first property, or %NULL if no
32592properties
32593</parameter_description>
32594</parameter>
32595<parameter name="Varargs">
32596<parameter_description>  the value if the first property, followed by and other property
32597value pairs, and ended by %NULL.
32598</parameter_description>
32599</parameter>
32600</parameters>
32601<return> a newly allocated
32602#GObject, or %NULL on error
32603
32604</return>
32605</function>
32606
32607<function name="g_initable_new_valist">
32608<description>
32609Helper function for constructing #GInitable object. This is
32610similar to g_object_new_valist() but also initializes the object
32611and returns %NULL, setting an error on failure.
32612
32613Since: 2.22
32614
32615</description>
32616<parameters>
32617<parameter name="object_type">
32618<parameter_description> a #GType supporting #GInitable.
32619</parameter_description>
32620</parameter>
32621<parameter name="first_property_name">
32622<parameter_description> the name of the first property, followed by
32623the value, and other property value pairs, and ended by %NULL.
32624</parameter_description>
32625</parameter>
32626<parameter name="var_args">
32627<parameter_description> The var args list generated from @first_property_name.
32628</parameter_description>
32629</parameter>
32630<parameter name="cancellable">
32631<parameter_description> optional #GCancellable object, %NULL to ignore.
32632</parameter_description>
32633</parameter>
32634<parameter name="error">
32635<parameter_description> a #GError location to store the error occurring, or %NULL to
32636ignore.
32637</parameter_description>
32638</parameter>
32639</parameters>
32640<return> a newly allocated
32641#GObject, or %NULL on error
32642
32643</return>
32644</function>
32645
32646<function name="g_initable_newv">
32647<description>
32648Helper function for constructing #GInitable object. This is
32649similar to g_object_newv() but also initializes the object
32650and returns %NULL, setting an error on failure.
32651
32652Since: 2.22
32653Deprecated: 2.54: Use g_object_new_with_properties() and
32654g_initable_init() instead. See #GParameter for more information.
32655
32656</description>
32657<parameters>
32658<parameter name="object_type">
32659<parameter_description> a #GType supporting #GInitable.
32660</parameter_description>
32661</parameter>
32662<parameter name="n_parameters">
32663<parameter_description> the number of parameters in @parameters
32664</parameter_description>
32665</parameter>
32666<parameter name="parameters">
32667<parameter_description> the parameters to use to construct the object
32668</parameter_description>
32669</parameter>
32670<parameter name="cancellable">
32671<parameter_description> optional #GCancellable object, %NULL to ignore.
32672</parameter_description>
32673</parameter>
32674<parameter name="error">
32675<parameter_description> a #GError location to store the error occurring, or %NULL to
32676ignore.
32677</parameter_description>
32678</parameter>
32679</parameters>
32680<return> a newly allocated
32681#GObject, or %NULL on error
32682
32683</return>
32684</function>
32685
32686<function name="g_input_stream_clear_pending">
32687<description>
32688Clears the pending flag on @stream.
32689
32690</description>
32691<parameters>
32692<parameter name="stream">
32693<parameter_description> input stream
32694</parameter_description>
32695</parameter>
32696</parameters>
32697<return></return>
32698</function>
32699
32700<function name="g_input_stream_close">
32701<description>
32702Closes the stream, releasing resources related to it.
32703
32704Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED.
32705Closing a stream multiple times will not return an error.
32706
32707Streams will be automatically closed when the last reference
32708is dropped, but you might want to call this function to make sure
32709resources are released as early as possible.
32710
32711Some streams might keep the backing store of the stream (e.g. a file descriptor)
32712open after the stream is closed. See the documentation for the individual
32713stream for details.
32714
32715On failure the first error that happened will be reported, but the close
32716operation will finish as much as possible. A stream that failed to
32717close will still return %G_IO_ERROR_CLOSED for all operations. Still, it
32718is important to check and report the error to the user.
32719
32720If @cancellable is not %NULL, then the operation can be cancelled by
32721triggering the cancellable object from another thread. If the operation
32722was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
32723Cancelling a close will still leave the stream closed, but some streams
32724can use a faster close that doesn't block to e.g. check errors.
32725
32726
32727</description>
32728<parameters>
32729<parameter name="stream">
32730<parameter_description> A #GInputStream.
32731</parameter_description>
32732</parameter>
32733<parameter name="cancellable">
32734<parameter_description> optional #GCancellable object, %NULL to ignore.
32735</parameter_description>
32736</parameter>
32737<parameter name="error">
32738<parameter_description> location to store the error occurring, or %NULL to ignore
32739</parameter_description>
32740</parameter>
32741</parameters>
32742<return> %TRUE on success, %FALSE on failure
32743</return>
32744</function>
32745
32746<function name="g_input_stream_close_async">
32747<description>
32748Requests an asynchronous closes of the stream, releasing resources related to it.
32749When the operation is finished @callback will be called.
32750You can then call g_input_stream_close_finish() to get the result of the
32751operation.
32752
32753For behaviour details see g_input_stream_close().
32754
32755The asynchronous methods have a default fallback that uses threads to implement
32756asynchronicity, so they are optional for inheriting classes. However, if you
32757override one you must override all.
32758
32759</description>
32760<parameters>
32761<parameter name="stream">
32762<parameter_description> A #GInputStream.
32763</parameter_description>
32764</parameter>
32765<parameter name="io_priority">
32766<parameter_description> the [I/O priority][io-priority] of the request
32767</parameter_description>
32768</parameter>
32769<parameter name="cancellable">
32770<parameter_description> optional cancellable object
32771</parameter_description>
32772</parameter>
32773<parameter name="callback">
32774<parameter_description> callback to call when the request is satisfied
32775</parameter_description>
32776</parameter>
32777<parameter name="user_data">
32778<parameter_description> the data to pass to callback function
32779</parameter_description>
32780</parameter>
32781</parameters>
32782<return></return>
32783</function>
32784
32785<function name="g_input_stream_close_finish">
32786<description>
32787Finishes closing a stream asynchronously, started from g_input_stream_close_async().
32788
32789
32790</description>
32791<parameters>
32792<parameter name="stream">
32793<parameter_description> a #GInputStream.
32794</parameter_description>
32795</parameter>
32796<parameter name="result">
32797<parameter_description> a #GAsyncResult.
32798</parameter_description>
32799</parameter>
32800<parameter name="error">
32801<parameter_description> a #GError location to store the error occurring, or %NULL to
32802ignore.
32803</parameter_description>
32804</parameter>
32805</parameters>
32806<return> %TRUE if the stream was closed successfully.
32807</return>
32808</function>
32809
32810<function name="g_input_stream_has_pending">
32811<description>
32812Checks if an input stream has pending actions.
32813
32814
32815</description>
32816<parameters>
32817<parameter name="stream">
32818<parameter_description> input stream.
32819</parameter_description>
32820</parameter>
32821</parameters>
32822<return> %TRUE if @stream has pending actions.
32823</return>
32824</function>
32825
32826<function name="g_input_stream_is_closed">
32827<description>
32828Checks if an input stream is closed.
32829
32830
32831</description>
32832<parameters>
32833<parameter name="stream">
32834<parameter_description> input stream.
32835</parameter_description>
32836</parameter>
32837</parameters>
32838<return> %TRUE if the stream is closed.
32839</return>
32840</function>
32841
32842<function name="g_input_stream_read">
32843<description>
32844Tries to read @count bytes from the stream into the buffer starting at
32845@buffer. Will block during this read.
32846
32847If count is zero returns zero and does nothing. A value of @count
32848larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
32849
32850On success, the number of bytes read into the buffer is returned.
32851It is not an error if this is not the same as the requested size, as it
32852can happen e.g. near the end of a file. Zero is returned on end of file
32853(or if @count is zero),  but never otherwise.
32854
32855The returned @buffer is not a nul-terminated string, it can contain nul bytes
32856at any position, and this function doesn't nul-terminate the @buffer.
32857
32858If @cancellable is not %NULL, then the operation can be cancelled by
32859triggering the cancellable object from another thread. If the operation
32860was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
32861operation was partially finished when the operation was cancelled the
32862partial result will be returned, without an error.
32863
32864On error -1 is returned and @error is set accordingly.
32865
32866
32867</description>
32868<parameters>
32869<parameter name="stream">
32870<parameter_description> a #GInputStream.
32871</parameter_description>
32872</parameter>
32873<parameter name="buffer">
32874<parameter_description>
32875a buffer to read data into (which should be at least count bytes long).
32876</parameter_description>
32877</parameter>
32878<parameter name="count">
32879<parameter_description> the number of bytes that will be read from the stream
32880</parameter_description>
32881</parameter>
32882<parameter name="cancellable">
32883<parameter_description> optional #GCancellable object, %NULL to ignore.
32884</parameter_description>
32885</parameter>
32886<parameter name="error">
32887<parameter_description> location to store the error occurring, or %NULL to ignore
32888</parameter_description>
32889</parameter>
32890</parameters>
32891<return> Number of bytes read, or -1 on error, or 0 on end of file.
32892</return>
32893</function>
32894
32895<function name="g_input_stream_read_all">
32896<description>
32897Tries to read @count bytes from the stream into the buffer starting at
32898@buffer. Will block during this read.
32899
32900This function is similar to g_input_stream_read(), except it tries to
32901read as many bytes as requested, only stopping on an error or end of stream.
32902
32903On a successful read of @count bytes, or if we reached the end of the
32904stream,  %TRUE is returned, and @bytes_read is set to the number of bytes
32905read into @buffer.
32906
32907If there is an error during the operation %FALSE is returned and @error
32908is set to indicate the error status.
32909
32910As a special exception to the normal conventions for functions that
32911use #GError, if this function returns %FALSE (and sets @error) then
32912@bytes_read will be set to the number of bytes that were successfully
32913read before the error was encountered.  This functionality is only
32914available from C.  If you need it from another language then you must
32915write your own loop around g_input_stream_read().
32916
32917
32918</description>
32919<parameters>
32920<parameter name="stream">
32921<parameter_description> a #GInputStream.
32922</parameter_description>
32923</parameter>
32924<parameter name="buffer">
32925<parameter_description>
32926a buffer to read data into (which should be at least count bytes long).
32927</parameter_description>
32928</parameter>
32929<parameter name="count">
32930<parameter_description> the number of bytes that will be read from the stream
32931</parameter_description>
32932</parameter>
32933<parameter name="bytes_read">
32934<parameter_description> location to store the number of bytes that was read from the stream
32935</parameter_description>
32936</parameter>
32937<parameter name="cancellable">
32938<parameter_description> optional #GCancellable object, %NULL to ignore.
32939</parameter_description>
32940</parameter>
32941<parameter name="error">
32942<parameter_description> location to store the error occurring, or %NULL to ignore
32943</parameter_description>
32944</parameter>
32945</parameters>
32946<return> %TRUE on success, %FALSE if there was an error
32947</return>
32948</function>
32949
32950<function name="g_input_stream_read_all_async">
32951<description>
32952Request an asynchronous read of @count bytes from the stream into the
32953buffer starting at @buffer.
32954
32955This is the asynchronous equivalent of g_input_stream_read_all().
32956
32957Call g_input_stream_read_all_finish() to collect the result.
32958
32959Any outstanding I/O request with higher priority (lower numerical
32960value) will be executed before an outstanding request with lower
32961priority. Default priority is %G_PRIORITY_DEFAULT.
32962
32963Since: 2.44
32964
32965</description>
32966<parameters>
32967<parameter name="stream">
32968<parameter_description> A #GInputStream
32969</parameter_description>
32970</parameter>
32971<parameter name="buffer">
32972<parameter_description>
32973a buffer to read data into (which should be at least count bytes long)
32974</parameter_description>
32975</parameter>
32976<parameter name="count">
32977<parameter_description> the number of bytes that will be read from the stream
32978</parameter_description>
32979</parameter>
32980<parameter name="io_priority">
32981<parameter_description> the [I/O priority][io-priority] of the request
32982</parameter_description>
32983</parameter>
32984<parameter name="cancellable">
32985<parameter_description> optional #GCancellable object, %NULL to ignore
32986</parameter_description>
32987</parameter>
32988<parameter name="callback">
32989<parameter_description> callback to call when the request is satisfied
32990</parameter_description>
32991</parameter>
32992<parameter name="user_data">
32993<parameter_description> the data to pass to callback function
32994</parameter_description>
32995</parameter>
32996</parameters>
32997<return></return>
32998</function>
32999
33000<function name="g_input_stream_read_all_finish">
33001<description>
33002Finishes an asynchronous stream read operation started with
33003g_input_stream_read_all_async().
33004
33005As a special exception to the normal conventions for functions that
33006use #GError, if this function returns %FALSE (and sets @error) then
33007@bytes_read will be set to the number of bytes that were successfully
33008read before the error was encountered.  This functionality is only
33009available from C.  If you need it from another language then you must
33010write your own loop around g_input_stream_read_async().
33011
33012Since: 2.44
33013
33014</description>
33015<parameters>
33016<parameter name="stream">
33017<parameter_description> a #GInputStream
33018</parameter_description>
33019</parameter>
33020<parameter name="result">
33021<parameter_description> a #GAsyncResult
33022</parameter_description>
33023</parameter>
33024<parameter name="bytes_read">
33025<parameter_description> location to store the number of bytes that was read from the stream
33026</parameter_description>
33027</parameter>
33028<parameter name="error">
33029<parameter_description> a #GError location to store the error occurring, or %NULL to ignore
33030</parameter_description>
33031</parameter>
33032</parameters>
33033<return> %TRUE on success, %FALSE if there was an error
33034
33035</return>
33036</function>
33037
33038<function name="g_input_stream_read_async">
33039<description>
33040Request an asynchronous read of @count bytes from the stream into the buffer
33041starting at @buffer. When the operation is finished @callback will be called.
33042You can then call g_input_stream_read_finish() to get the result of the
33043operation.
33044
33045During an async request no other sync and async calls are allowed on @stream, and will
33046result in %G_IO_ERROR_PENDING errors.
33047
33048A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
33049
33050On success, the number of bytes read into the buffer will be passed to the
33051callback. It is not an error if this is not the same as the requested size, as it
33052can happen e.g. near the end of a file, but generally we try to read
33053as many bytes as requested. Zero is returned on end of file
33054(or if @count is zero),  but never otherwise.
33055
33056Any outstanding i/o request with higher priority (lower numerical value) will
33057be executed before an outstanding request with lower priority. Default
33058priority is %G_PRIORITY_DEFAULT.
33059
33060The asynchronous methods have a default fallback that uses threads to implement
33061asynchronicity, so they are optional for inheriting classes. However, if you
33062override one you must override all.
33063
33064</description>
33065<parameters>
33066<parameter name="stream">
33067<parameter_description> A #GInputStream.
33068</parameter_description>
33069</parameter>
33070<parameter name="buffer">
33071<parameter_description>
33072a buffer to read data into (which should be at least count bytes long).
33073</parameter_description>
33074</parameter>
33075<parameter name="count">
33076<parameter_description> the number of bytes that will be read from the stream
33077</parameter_description>
33078</parameter>
33079<parameter name="io_priority">
33080<parameter_description> the [I/O priority][io-priority]
33081of the request.
33082</parameter_description>
33083</parameter>
33084<parameter name="cancellable">
33085<parameter_description> optional #GCancellable object, %NULL to ignore.
33086</parameter_description>
33087</parameter>
33088<parameter name="callback">
33089<parameter_description> callback to call when the request is satisfied
33090</parameter_description>
33091</parameter>
33092<parameter name="user_data">
33093<parameter_description> the data to pass to callback function
33094</parameter_description>
33095</parameter>
33096</parameters>
33097<return></return>
33098</function>
33099
33100<function name="g_input_stream_read_bytes">
33101<description>
33102Like g_input_stream_read(), this tries to read @count bytes from
33103the stream in a blocking fashion. However, rather than reading into
33104a user-supplied buffer, this will create a new #GBytes containing
33105the data that was read. This may be easier to use from language
33106bindings.
33107
33108If count is zero, returns a zero-length #GBytes and does nothing. A
33109value of @count larger than %G_MAXSSIZE will cause a
33110%G_IO_ERROR_INVALID_ARGUMENT error.
33111
33112On success, a new #GBytes is returned. It is not an error if the
33113size of this object is not the same as the requested size, as it
33114can happen e.g. near the end of a file. A zero-length #GBytes is
33115returned on end of file (or if @count is zero), but never
33116otherwise.
33117
33118If @cancellable is not %NULL, then the operation can be cancelled by
33119triggering the cancellable object from another thread. If the operation
33120was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
33121operation was partially finished when the operation was cancelled the
33122partial result will be returned, without an error.
33123
33124On error %NULL is returned and @error is set accordingly.
33125
33126Since: 2.34
33127
33128</description>
33129<parameters>
33130<parameter name="stream">
33131<parameter_description> a #GInputStream.
33132</parameter_description>
33133</parameter>
33134<parameter name="count">
33135<parameter_description> maximum number of bytes that will be read from the stream. Common
33136values include 4096 and 8192.
33137</parameter_description>
33138</parameter>
33139<parameter name="cancellable">
33140<parameter_description> optional #GCancellable object, %NULL to ignore.
33141</parameter_description>
33142</parameter>
33143<parameter name="error">
33144<parameter_description> location to store the error occurring, or %NULL to ignore
33145</parameter_description>
33146</parameter>
33147</parameters>
33148<return> a new #GBytes, or %NULL on error
33149
33150</return>
33151</function>
33152
33153<function name="g_input_stream_read_bytes_async">
33154<description>
33155Request an asynchronous read of @count bytes from the stream into a
33156new #GBytes. When the operation is finished @callback will be
33157called. You can then call g_input_stream_read_bytes_finish() to get the
33158result of the operation.
33159
33160During an async request no other sync and async calls are allowed
33161on @stream, and will result in %G_IO_ERROR_PENDING errors.
33162
33163A value of @count larger than %G_MAXSSIZE will cause a
33164%G_IO_ERROR_INVALID_ARGUMENT error.
33165
33166On success, the new #GBytes will be passed to the callback. It is
33167not an error if this is smaller than the requested size, as it can
33168happen e.g. near the end of a file, but generally we try to read as
33169many bytes as requested. Zero is returned on end of file (or if
33170@count is zero), but never otherwise.
33171
33172Any outstanding I/O request with higher priority (lower numerical
33173value) will be executed before an outstanding request with lower
33174priority. Default priority is %G_PRIORITY_DEFAULT.
33175
33176Since: 2.34
33177
33178</description>
33179<parameters>
33180<parameter name="stream">
33181<parameter_description> A #GInputStream.
33182</parameter_description>
33183</parameter>
33184<parameter name="count">
33185<parameter_description> the number of bytes that will be read from the stream
33186</parameter_description>
33187</parameter>
33188<parameter name="io_priority">
33189<parameter_description> the [I/O priority][io-priority] of the request
33190</parameter_description>
33191</parameter>
33192<parameter name="cancellable">
33193<parameter_description> optional #GCancellable object, %NULL to ignore.
33194</parameter_description>
33195</parameter>
33196<parameter name="callback">
33197<parameter_description> callback to call when the request is satisfied
33198</parameter_description>
33199</parameter>
33200<parameter name="user_data">
33201<parameter_description> the data to pass to callback function
33202</parameter_description>
33203</parameter>
33204</parameters>
33205<return></return>
33206</function>
33207
33208<function name="g_input_stream_read_bytes_finish">
33209<description>
33210Finishes an asynchronous stream read-into-#GBytes operation.
33211
33212Since: 2.34
33213
33214</description>
33215<parameters>
33216<parameter name="stream">
33217<parameter_description> a #GInputStream.
33218</parameter_description>
33219</parameter>
33220<parameter name="result">
33221<parameter_description> a #GAsyncResult.
33222</parameter_description>
33223</parameter>
33224<parameter name="error">
33225<parameter_description> a #GError location to store the error occurring, or %NULL to
33226ignore.
33227</parameter_description>
33228</parameter>
33229</parameters>
33230<return> the newly-allocated #GBytes, or %NULL on error
33231
33232</return>
33233</function>
33234
33235<function name="g_input_stream_read_finish">
33236<description>
33237Finishes an asynchronous stream read operation.
33238
33239
33240</description>
33241<parameters>
33242<parameter name="stream">
33243<parameter_description> a #GInputStream.
33244</parameter_description>
33245</parameter>
33246<parameter name="result">
33247<parameter_description> a #GAsyncResult.
33248</parameter_description>
33249</parameter>
33250<parameter name="error">
33251<parameter_description> a #GError location to store the error occurring, or %NULL to
33252ignore.
33253</parameter_description>
33254</parameter>
33255</parameters>
33256<return> number of bytes read in, or -1 on error, or 0 on end of file.
33257</return>
33258</function>
33259
33260<function name="g_input_stream_set_pending">
33261<description>
33262Sets @stream to have actions pending. If the pending flag is
33263already set or @stream is closed, it will return %FALSE and set
33264@error.
33265
33266
33267</description>
33268<parameters>
33269<parameter name="stream">
33270<parameter_description> input stream
33271</parameter_description>
33272</parameter>
33273<parameter name="error">
33274<parameter_description> a #GError location to store the error occurring, or %NULL to
33275ignore.
33276</parameter_description>
33277</parameter>
33278</parameters>
33279<return> %TRUE if pending was previously unset and is now set.
33280</return>
33281</function>
33282
33283<function name="g_input_stream_skip">
33284<description>
33285Tries to skip @count bytes from the stream. Will block during the operation.
33286
33287This is identical to g_input_stream_read(), from a behaviour standpoint,
33288but the bytes that are skipped are not returned to the user. Some
33289streams have an implementation that is more efficient than reading the data.
33290
33291This function is optional for inherited classes, as the default implementation
33292emulates it using read.
33293
33294If @cancellable is not %NULL, then the operation can be cancelled by
33295triggering the cancellable object from another thread. If the operation
33296was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
33297operation was partially finished when the operation was cancelled the
33298partial result will be returned, without an error.
33299
33300
33301</description>
33302<parameters>
33303<parameter name="stream">
33304<parameter_description> a #GInputStream.
33305</parameter_description>
33306</parameter>
33307<parameter name="count">
33308<parameter_description> the number of bytes that will be skipped from the stream
33309</parameter_description>
33310</parameter>
33311<parameter name="cancellable">
33312<parameter_description> optional #GCancellable object, %NULL to ignore.
33313</parameter_description>
33314</parameter>
33315<parameter name="error">
33316<parameter_description> location to store the error occurring, or %NULL to ignore
33317</parameter_description>
33318</parameter>
33319</parameters>
33320<return> Number of bytes skipped, or -1 on error
33321</return>
33322</function>
33323
33324<function name="g_input_stream_skip_async">
33325<description>
33326Request an asynchronous skip of @count bytes from the stream.
33327When the operation is finished @callback will be called.
33328You can then call g_input_stream_skip_finish() to get the result
33329of the operation.
33330
33331During an async request no other sync and async calls are allowed,
33332and will result in %G_IO_ERROR_PENDING errors.
33333
33334A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
33335
33336On success, the number of bytes skipped will be passed to the callback.
33337It is not an error if this is not the same as the requested size, as it
33338can happen e.g. near the end of a file, but generally we try to skip
33339as many bytes as requested. Zero is returned on end of file
33340(or if @count is zero), but never otherwise.
33341
33342Any outstanding i/o request with higher priority (lower numerical value)
33343will be executed before an outstanding request with lower priority.
33344Default priority is %G_PRIORITY_DEFAULT.
33345
33346The asynchronous methods have a default fallback that uses threads to
33347implement asynchronicity, so they are optional for inheriting classes.
33348However, if you override one, you must override all.
33349
33350</description>
33351<parameters>
33352<parameter name="stream">
33353<parameter_description> A #GInputStream.
33354</parameter_description>
33355</parameter>
33356<parameter name="count">
33357<parameter_description> the number of bytes that will be skipped from the stream
33358</parameter_description>
33359</parameter>
33360<parameter name="io_priority">
33361<parameter_description> the [I/O priority][io-priority] of the request
33362</parameter_description>
33363</parameter>
33364<parameter name="cancellable">
33365<parameter_description> optional #GCancellable object, %NULL to ignore.
33366</parameter_description>
33367</parameter>
33368<parameter name="callback">
33369<parameter_description> callback to call when the request is satisfied
33370</parameter_description>
33371</parameter>
33372<parameter name="user_data">
33373<parameter_description> the data to pass to callback function
33374</parameter_description>
33375</parameter>
33376</parameters>
33377<return></return>
33378</function>
33379
33380<function name="g_input_stream_skip_finish">
33381<description>
33382Finishes a stream skip operation.
33383
33384
33385</description>
33386<parameters>
33387<parameter name="stream">
33388<parameter_description> a #GInputStream.
33389</parameter_description>
33390</parameter>
33391<parameter name="result">
33392<parameter_description> a #GAsyncResult.
33393</parameter_description>
33394</parameter>
33395<parameter name="error">
33396<parameter_description> a #GError location to store the error occurring, or %NULL to
33397ignore.
33398</parameter_description>
33399</parameter>
33400</parameters>
33401<return> the size of the bytes skipped, or `-1` on error.
33402</return>
33403</function>
33404
33405<function name="g_io_error_from_errno">
33406<description>
33407Converts errno.h error codes into GIO error codes. The fallback
33408value %G_IO_ERROR_FAILED is returned for error codes not currently
33409handled (but note that future GLib releases may return a more
33410specific value instead).
33411
33412As %errno is global and may be modified by intermediate function
33413calls, you should save its value as soon as the call which sets it
33414
33415</description>
33416<parameters>
33417<parameter name="err_no">
33418<parameter_description> Error number as defined in errno.h.
33419</parameter_description>
33420</parameter>
33421</parameters>
33422<return> #GIOErrorEnum value for the given errno.h error number.
33423</return>
33424</function>
33425
33426<function name="g_io_error_from_win32_error">
33427<description>
33428Converts some common error codes (as returned from GetLastError()
33429or WSAGetLastError()) into GIO error codes. The fallback value
33430%G_IO_ERROR_FAILED is returned for error codes not currently
33431handled (but note that future GLib releases may return a more
33432specific value instead).
33433
33434You can use g_win32_error_message() to get a localized string
33435corresponding to @error_code. (But note that unlike g_strerror(),
33436g_win32_error_message() returns a string that must be freed.)
33437
33438Since: 2.26
33439
33440</description>
33441<parameters>
33442<parameter name="error_code">
33443<parameter_description> Windows error number.
33444</parameter_description>
33445</parameter>
33446</parameters>
33447<return> #GIOErrorEnum value for the given error number.
33448
33449</return>
33450</function>
33451
33452<function name="g_io_error_quark">
33453<description>
33454Gets the GIO Error Quark.
33455
33456
33457</description>
33458<parameters>
33459</parameters>
33460<return> a #GQuark.
33461</return>
33462</function>
33463
33464<function name="g_io_extension_get_name">
33465<description>
33466Gets the name under which @extension was registered.
33467
33468Note that the same type may be registered as extension
33469for multiple extension points, under different names.
33470
33471
33472</description>
33473<parameters>
33474<parameter name="extension">
33475<parameter_description> a #GIOExtension
33476</parameter_description>
33477</parameter>
33478</parameters>
33479<return> the name of @extension.
33480</return>
33481</function>
33482
33483<function name="g_io_extension_get_priority">
33484<description>
33485Gets the priority with which @extension was registered.
33486
33487
33488</description>
33489<parameters>
33490<parameter name="extension">
33491<parameter_description> a #GIOExtension
33492</parameter_description>
33493</parameter>
33494</parameters>
33495<return> the priority of @extension
33496</return>
33497</function>
33498
33499<function name="g_io_extension_get_type">
33500<description>
33501Gets the type associated with @extension.
33502
33503
33504</description>
33505<parameters>
33506<parameter name="extension">
33507<parameter_description> a #GIOExtension
33508</parameter_description>
33509</parameter>
33510</parameters>
33511<return> the type of @extension
33512</return>
33513</function>
33514
33515<function name="g_io_extension_point_get_extension_by_name">
33516<description>
33517Finds a #GIOExtension for an extension point by name.
33518
33519
33520</description>
33521<parameters>
33522<parameter name="extension_point">
33523<parameter_description> a #GIOExtensionPoint
33524</parameter_description>
33525</parameter>
33526<parameter name="name">
33527<parameter_description> the name of the extension to get
33528</parameter_description>
33529</parameter>
33530</parameters>
33531<return> the #GIOExtension for @extension_point that has the
33532given name, or %NULL if there is no extension with that name
33533</return>
33534</function>
33535
33536<function name="g_io_extension_point_get_extensions">
33537<description>
33538Gets a list of all extensions that implement this extension point.
33539The list is sorted by priority, beginning with the highest priority.
33540
33541
33542</description>
33543<parameters>
33544<parameter name="extension_point">
33545<parameter_description> a #GIOExtensionPoint
33546</parameter_description>
33547</parameter>
33548</parameters>
33549<return> a #GList of
33550#GIOExtensions. The list is owned by GIO and should not be
33551modified.
33552</return>
33553</function>
33554
33555<function name="g_io_extension_point_get_required_type">
33556<description>
33557Gets the required type for @extension_point.
33558
33559
33560</description>
33561<parameters>
33562<parameter name="extension_point">
33563<parameter_description> a #GIOExtensionPoint
33564</parameter_description>
33565</parameter>
33566</parameters>
33567<return> the #GType that all implementations must have,
33568or #G_TYPE_INVALID if the extension point has no required type
33569</return>
33570</function>
33571
33572<function name="g_io_extension_point_implement">
33573<description>
33574Registers @type as extension for the extension point with name
33575@extension_point_name.
33576
33577If @type has already been registered as an extension for this
33578extension point, the existing #GIOExtension object is returned.
33579
33580
33581</description>
33582<parameters>
33583<parameter name="extension_point_name">
33584<parameter_description> the name of the extension point
33585</parameter_description>
33586</parameter>
33587<parameter name="type">
33588<parameter_description> the #GType to register as extension
33589</parameter_description>
33590</parameter>
33591<parameter name="extension_name">
33592<parameter_description> the name for the extension
33593</parameter_description>
33594</parameter>
33595<parameter name="priority">
33596<parameter_description> the priority for the extension
33597</parameter_description>
33598</parameter>
33599</parameters>
33600<return> a #GIOExtension object for #GType
33601</return>
33602</function>
33603
33604<function name="g_io_extension_point_lookup">
33605<description>
33606Looks up an existing extension point.
33607
33608
33609</description>
33610<parameters>
33611<parameter name="name">
33612<parameter_description> the name of the extension point
33613</parameter_description>
33614</parameter>
33615</parameters>
33616<return> the #GIOExtensionPoint, or %NULL if there
33617is no registered extension point with the given name.
33618</return>
33619</function>
33620
33621<function name="g_io_extension_point_register">
33622<description>
33623Registers an extension point.
33624
33625
33626</description>
33627<parameters>
33628<parameter name="name">
33629<parameter_description> The name of the extension point
33630</parameter_description>
33631</parameter>
33632</parameters>
33633<return> the new #GIOExtensionPoint. This object is
33634owned by GIO and should not be freed.
33635</return>
33636</function>
33637
33638<function name="g_io_extension_point_set_required_type">
33639<description>
33640Sets the required type for @extension_point to @type.
33641All implementations must henceforth have this type.
33642
33643</description>
33644<parameters>
33645<parameter name="extension_point">
33646<parameter_description> a #GIOExtensionPoint
33647</parameter_description>
33648</parameter>
33649<parameter name="type">
33650<parameter_description> the #GType to require
33651</parameter_description>
33652</parameter>
33653</parameters>
33654<return></return>
33655</function>
33656
33657<function name="g_io_extension_ref_class">
33658<description>
33659Gets a reference to the class for the type that is
33660associated with @extension.
33661
33662
33663</description>
33664<parameters>
33665<parameter name="extension">
33666<parameter_description> a #GIOExtension
33667</parameter_description>
33668</parameter>
33669</parameters>
33670<return> the #GTypeClass for the type of @extension
33671</return>
33672</function>
33673
33674<function name="g_io_module_load">
33675<description>
33676Required API for GIO modules to implement.
33677
33678This function is run after the module has been loaded into GIO,
33679to initialize the module. Typically, this function will call
33680g_io_extension_point_implement().
33681
33682Since 2.56, this function should be named `g_io_&lt;modulename&gt;_load`, where
33683`modulename` is the plugin’s filename with the `lib` or `libgio` prefix and
33684everything after the first dot removed, and with `-` replaced with `_`
33685throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.
33686Using the new symbol names avoids name clashes when building modules
33687statically. The old symbol names continue to be supported, but cannot be used
33688for static builds.
33689
33690</description>
33691<parameters>
33692<parameter name="module">
33693<parameter_description> a #GIOModule.
33694</parameter_description>
33695</parameter>
33696</parameters>
33697<return></return>
33698</function>
33699
33700<function name="g_io_module_new">
33701<description>
33702Creates a new GIOModule that will load the specific
33703shared library when in use.
33704
33705
33706</description>
33707<parameters>
33708<parameter name="filename">
33709<parameter_description> filename of the shared library module.
33710</parameter_description>
33711</parameter>
33712</parameters>
33713<return> a #GIOModule from given @filename,
33714or %NULL on error.
33715</return>
33716</function>
33717
33718<function name="g_io_module_query">
33719<description>
33720Optional API for GIO modules to implement.
33721
33722Should return a list of all the extension points that may be
33723implemented in this module.
33724
33725This method will not be called in normal use, however it may be
33726called when probing existing modules and recording which extension
33727points that this model is used for. This means we won't have to
33728load and initialize this module unless its needed.
33729
33730If this function is not implemented by the module the module will
33731always be loaded, initialized and then unloaded on application
33732startup so that it can register its extension points during init.
33733
33734Note that a module need not actually implement all the extension
33735points that g_io_module_query() returns, since the exact list of
33736extension may depend on runtime issues. However all extension
33737points actually implemented must be returned by g_io_module_query()
33738(if defined).
33739
33740When installing a module that implements g_io_module_query() you must
33741run gio-querymodules in order to build the cache files required for
33742lazy loading.
33743
33744Since 2.56, this function should be named `g_io_&lt;modulename&gt;_query`, where
33745`modulename` is the plugin’s filename with the `lib` or `libgio` prefix and
33746everything after the first dot removed, and with `-` replaced with `_`
33747throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.
33748Using the new symbol names avoids name clashes when building modules
33749statically. The old symbol names continue to be supported, but cannot be used
33750for static builds.
33751
33752Since: 2.24
33753
33754</description>
33755<parameters>
33756</parameters>
33757<return> A %NULL-terminated array of strings,
33758listing the supported extension points of the module. The array
33759must be suitable for freeing with g_strfreev().
33760
33761</return>
33762</function>
33763
33764<function name="g_io_module_scope_block">
33765<description>
33766Block modules with the given @basename from being loaded when
33767this scope is used with g_io_modules_scan_all_in_directory_with_scope()
33768or g_io_modules_load_all_in_directory_with_scope().
33769
33770Since: 2.30
33771
33772</description>
33773<parameters>
33774<parameter name="scope">
33775<parameter_description> a module loading scope
33776</parameter_description>
33777</parameter>
33778<parameter name="basename">
33779<parameter_description> the basename to block
33780</parameter_description>
33781</parameter>
33782</parameters>
33783<return></return>
33784</function>
33785
33786<function name="g_io_module_scope_free">
33787<description>
33788Free a module scope.
33789
33790Since: 2.30
33791
33792</description>
33793<parameters>
33794<parameter name="scope">
33795<parameter_description> a module loading scope
33796</parameter_description>
33797</parameter>
33798</parameters>
33799<return></return>
33800</function>
33801
33802<function name="g_io_module_scope_new">
33803<description>
33804Create a new scope for loading of IO modules. A scope can be used for
33805blocking duplicate modules, or blocking a module you don't want to load.
33806
33807Specify the %G_IO_MODULE_SCOPE_BLOCK_DUPLICATES flag to block modules
33808which have the same base name as a module that has already been seen
33809in this scope.
33810
33811Since: 2.30
33812
33813</description>
33814<parameters>
33815<parameter name="flags">
33816<parameter_description> flags for the new scope
33817</parameter_description>
33818</parameter>
33819</parameters>
33820<return> the new module scope
33821
33822</return>
33823</function>
33824
33825<function name="g_io_module_unload">
33826<description>
33827Required API for GIO modules to implement.
33828
33829This function is run when the module is being unloaded from GIO,
33830to finalize the module.
33831
33832Since 2.56, this function should be named `g_io_&lt;modulename&gt;_unload`, where
33833`modulename` is the plugin’s filename with the `lib` or `libgio` prefix and
33834everything after the first dot removed, and with `-` replaced with `_`
33835throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.
33836Using the new symbol names avoids name clashes when building modules
33837statically. The old symbol names continue to be supported, but cannot be used
33838for static builds.
33839
33840</description>
33841<parameters>
33842<parameter name="module">
33843<parameter_description> a #GIOModule.
33844</parameter_description>
33845</parameter>
33846</parameters>
33847<return></return>
33848</function>
33849
33850<function name="g_io_modules_load_all_in_directory">
33851<description>
33852Loads all the modules in the specified directory.
33853
33854If don't require all modules to be initialized (and thus registering
33855all gtypes) then you can use g_io_modules_scan_all_in_directory()
33856which allows delayed/lazy loading of modules.
33857
33858
33859</description>
33860<parameters>
33861<parameter name="dirname">
33862<parameter_description> pathname for a directory containing modules
33863to load.
33864</parameter_description>
33865</parameter>
33866</parameters>
33867<return> a list of #GIOModules loaded
33868from the directory,
33869All the modules are loaded into memory, if you want to
33870unload them (enabling on-demand loading) you must call
33871g_type_module_unuse() on all the modules. Free the list
33872with g_list_free().
33873</return>
33874</function>
33875
33876<function name="g_io_modules_load_all_in_directory_with_scope">
33877<description>
33878Loads all the modules in the specified directory.
33879
33880If don't require all modules to be initialized (and thus registering
33881all gtypes) then you can use g_io_modules_scan_all_in_directory()
33882which allows delayed/lazy loading of modules.
33883
33884Since: 2.30
33885
33886</description>
33887<parameters>
33888<parameter name="dirname">
33889<parameter_description> pathname for a directory containing modules
33890to load.
33891</parameter_description>
33892</parameter>
33893<parameter name="scope">
33894<parameter_description> a scope to use when scanning the modules.
33895</parameter_description>
33896</parameter>
33897</parameters>
33898<return> a list of #GIOModules loaded
33899from the directory,
33900All the modules are loaded into memory, if you want to
33901unload them (enabling on-demand loading) you must call
33902g_type_module_unuse() on all the modules. Free the list
33903with g_list_free().
33904
33905</return>
33906</function>
33907
33908<function name="g_io_modules_scan_all_in_directory">
33909<description>
33910Scans all the modules in the specified directory, ensuring that
33911any extension point implemented by a module is registered.
33912
33913This may not actually load and initialize all the types in each
33914module, some modules may be lazily loaded and initialized when
33915an extension point it implementes is used with e.g.
33916g_io_extension_point_get_extensions() or
33917g_io_extension_point_get_extension_by_name().
33918
33919If you need to guarantee that all types are loaded in all the modules,
33920use g_io_modules_load_all_in_directory().
33921
33922Since: 2.24
33923
33924</description>
33925<parameters>
33926<parameter name="dirname">
33927<parameter_description> pathname for a directory containing modules
33928to scan.
33929</parameter_description>
33930</parameter>
33931</parameters>
33932<return></return>
33933</function>
33934
33935<function name="g_io_modules_scan_all_in_directory_with_scope">
33936<description>
33937Scans all the modules in the specified directory, ensuring that
33938any extension point implemented by a module is registered.
33939
33940This may not actually load and initialize all the types in each
33941module, some modules may be lazily loaded and initialized when
33942an extension point it implementes is used with e.g.
33943g_io_extension_point_get_extensions() or
33944g_io_extension_point_get_extension_by_name().
33945
33946If you need to guarantee that all types are loaded in all the modules,
33947use g_io_modules_load_all_in_directory().
33948
33949Since: 2.30
33950
33951</description>
33952<parameters>
33953<parameter name="dirname">
33954<parameter_description> pathname for a directory containing modules
33955to scan.
33956</parameter_description>
33957</parameter>
33958<parameter name="scope">
33959<parameter_description> a scope to use when scanning the modules
33960</parameter_description>
33961</parameter>
33962</parameters>
33963<return></return>
33964</function>
33965
33966<function name="g_io_scheduler_cancel_all_jobs">
33967<description>
33968Cancels all cancellable I/O jobs.
33969
33970A job is cancellable if a #GCancellable was passed into
33971g_io_scheduler_push_job().
33972
33973Deprecated: You should never call this function, since you don't
33974know how other libraries in your program might be making use of
33975gioscheduler.
33976
33977</description>
33978<parameters>
33979</parameters>
33980<return></return>
33981</function>
33982
33983<function name="g_io_scheduler_job_send_to_mainloop">
33984<description>
33985Used from an I/O job to send a callback to be run in the thread
33986that the job was started from, waiting for the result (and thus
33987blocking the I/O job).
33988
33989Deprecated: Use g_main_context_invoke().
33990
33991</description>
33992<parameters>
33993<parameter name="job">
33994<parameter_description> a #GIOSchedulerJob
33995</parameter_description>
33996</parameter>
33997<parameter name="func">
33998<parameter_description> a #GSourceFunc callback that will be called in the original thread
33999</parameter_description>
34000</parameter>
34001<parameter name="user_data">
34002<parameter_description> data to pass to @func
34003</parameter_description>
34004</parameter>
34005<parameter name="notify">
34006<parameter_description> a #GDestroyNotify for @user_data, or %NULL
34007</parameter_description>
34008</parameter>
34009</parameters>
34010<return> The return value of @func
34011
34012</return>
34013</function>
34014
34015<function name="g_io_scheduler_job_send_to_mainloop_async">
34016<description>
34017Used from an I/O job to send a callback to be run asynchronously in
34018the thread that the job was started from. The callback will be run
34019when the main loop is available, but at that time the I/O job might
34020have finished. The return value from the callback is ignored.
34021
34022Note that if you are passing the @user_data from g_io_scheduler_push_job()
34023on to this function you have to ensure that it is not freed before
34024@func is called, either by passing %NULL as @notify to
34025g_io_scheduler_push_job() or by using refcounting for @user_data.
34026
34027Deprecated: Use g_main_context_invoke().
34028
34029</description>
34030<parameters>
34031<parameter name="job">
34032<parameter_description> a #GIOSchedulerJob
34033</parameter_description>
34034</parameter>
34035<parameter name="func">
34036<parameter_description> a #GSourceFunc callback that will be called in the original thread
34037</parameter_description>
34038</parameter>
34039<parameter name="user_data">
34040<parameter_description> data to pass to @func
34041</parameter_description>
34042</parameter>
34043<parameter name="notify">
34044<parameter_description> a #GDestroyNotify for @user_data, or %NULL
34045</parameter_description>
34046</parameter>
34047</parameters>
34048<return></return>
34049</function>
34050
34051<function name="g_io_scheduler_push_job">
34052<description>
34053Schedules the I/O job to run in another thread.
34054
34055@notify will be called on @user_data after @job_func has returned,
34056regardless whether the job was cancelled or has run to completion.
34057
34058If @cancellable is not %NULL, it can be used to cancel the I/O job
34059by calling g_cancellable_cancel() or by calling
34060g_io_scheduler_cancel_all_jobs().
34061
34062Deprecated: use #GThreadPool or g_task_run_in_thread()
34063
34064</description>
34065<parameters>
34066<parameter name="job_func">
34067<parameter_description> a #GIOSchedulerJobFunc.
34068</parameter_description>
34069</parameter>
34070<parameter name="user_data">
34071<parameter_description> data to pass to @job_func
34072</parameter_description>
34073</parameter>
34074<parameter name="notify">
34075<parameter_description> a #GDestroyNotify for @user_data, or %NULL
34076</parameter_description>
34077</parameter>
34078<parameter name="io_priority">
34079<parameter_description> the [I/O priority][io-priority]
34080of the request.
34081</parameter_description>
34082</parameter>
34083<parameter name="cancellable">
34084<parameter_description> optional #GCancellable object, %NULL to ignore.
34085</parameter_description>
34086</parameter>
34087</parameters>
34088<return></return>
34089</function>
34090
34091<function name="g_io_stream_clear_pending">
34092<description>
34093Clears the pending flag on @stream.
34094
34095Since: 2.22
34096
34097</description>
34098<parameters>
34099<parameter name="stream">
34100<parameter_description> a #GIOStream
34101</parameter_description>
34102</parameter>
34103</parameters>
34104<return></return>
34105</function>
34106
34107<function name="g_io_stream_close">
34108<description>
34109Closes the stream, releasing resources related to it. This will also
34110close the individual input and output streams, if they are not already
34111closed.
34112
34113Once the stream is closed, all other operations will return
34114%G_IO_ERROR_CLOSED. Closing a stream multiple times will not
34115return an error.
34116
34117Closing a stream will automatically flush any outstanding buffers
34118in the stream.
34119
34120Streams will be automatically closed when the last reference
34121is dropped, but you might want to call this function to make sure
34122resources are released as early as possible.
34123
34124Some streams might keep the backing store of the stream (e.g. a file
34125descriptor) open after the stream is closed. See the documentation for
34126the individual stream for details.
34127
34128On failure the first error that happened will be reported, but the
34129close operation will finish as much as possible. A stream that failed
34130to close will still return %G_IO_ERROR_CLOSED for all operations.
34131Still, it is important to check and report the error to the user,
34132otherwise there might be a loss of data as all data might not be written.
34133
34134If @cancellable is not NULL, then the operation can be cancelled by
34135triggering the cancellable object from another thread. If the operation
34136was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
34137Cancelling a close will still leave the stream closed, but some streams
34138can use a faster close that doesn't block to e.g. check errors.
34139
34140The default implementation of this method just calls close on the
34141individual input/output streams.
34142
34143Since: 2.22
34144
34145</description>
34146<parameters>
34147<parameter name="stream">
34148<parameter_description> a #GIOStream
34149</parameter_description>
34150</parameter>
34151<parameter name="cancellable">
34152<parameter_description> optional #GCancellable object, %NULL to ignore
34153</parameter_description>
34154</parameter>
34155<parameter name="error">
34156<parameter_description> location to store the error occurring, or %NULL to ignore
34157</parameter_description>
34158</parameter>
34159</parameters>
34160<return> %TRUE on success, %FALSE on failure
34161
34162</return>
34163</function>
34164
34165<function name="g_io_stream_close_async">
34166<description>
34167Requests an asynchronous close of the stream, releasing resources
34168related to it. When the operation is finished @callback will be
34169called. You can then call g_io_stream_close_finish() to get
34170the result of the operation.
34171
34172For behaviour details see g_io_stream_close().
34173
34174The asynchronous methods have a default fallback that uses threads
34175to implement asynchronicity, so they are optional for inheriting
34176classes. However, if you override one you must override all.
34177
34178Since: 2.22
34179
34180</description>
34181<parameters>
34182<parameter name="stream">
34183<parameter_description> a #GIOStream
34184</parameter_description>
34185</parameter>
34186<parameter name="io_priority">
34187<parameter_description> the io priority of the request
34188</parameter_description>
34189</parameter>
34190<parameter name="cancellable">
34191<parameter_description> optional cancellable object
34192</parameter_description>
34193</parameter>
34194<parameter name="callback">
34195<parameter_description> callback to call when the request is satisfied
34196</parameter_description>
34197</parameter>
34198<parameter name="user_data">
34199<parameter_description> the data to pass to callback function
34200</parameter_description>
34201</parameter>
34202</parameters>
34203<return></return>
34204</function>
34205
34206<function name="g_io_stream_close_finish">
34207<description>
34208Closes a stream.
34209
34210Since: 2.22
34211
34212</description>
34213<parameters>
34214<parameter name="stream">
34215<parameter_description> a #GIOStream
34216</parameter_description>
34217</parameter>
34218<parameter name="result">
34219<parameter_description> a #GAsyncResult
34220</parameter_description>
34221</parameter>
34222<parameter name="error">
34223<parameter_description> a #GError location to store the error occurring, or %NULL to
34224ignore
34225</parameter_description>
34226</parameter>
34227</parameters>
34228<return> %TRUE if stream was successfully closed, %FALSE otherwise.
34229
34230</return>
34231</function>
34232
34233<function name="g_io_stream_get_input_stream">
34234<description>
34235Gets the input stream for this object. This is used
34236for reading.
34237
34238Since: 2.22
34239
34240</description>
34241<parameters>
34242<parameter name="stream">
34243<parameter_description> a #GIOStream
34244</parameter_description>
34245</parameter>
34246</parameters>
34247<return> a #GInputStream, owned by the #GIOStream.
34248Do not free.
34249
34250</return>
34251</function>
34252
34253<function name="g_io_stream_get_output_stream">
34254<description>
34255Gets the output stream for this object. This is used for
34256writing.
34257
34258Since: 2.22
34259
34260</description>
34261<parameters>
34262<parameter name="stream">
34263<parameter_description> a #GIOStream
34264</parameter_description>
34265</parameter>
34266</parameters>
34267<return> a #GOutputStream, owned by the #GIOStream.
34268Do not free.
34269
34270</return>
34271</function>
34272
34273<function name="g_io_stream_has_pending">
34274<description>
34275Checks if a stream has pending actions.
34276
34277Since: 2.22
34278
34279</description>
34280<parameters>
34281<parameter name="stream">
34282<parameter_description> a #GIOStream
34283</parameter_description>
34284</parameter>
34285</parameters>
34286<return> %TRUE if @stream has pending actions.
34287
34288</return>
34289</function>
34290
34291<function name="g_io_stream_is_closed">
34292<description>
34293Checks if a stream is closed.
34294
34295Since: 2.22
34296
34297</description>
34298<parameters>
34299<parameter name="stream">
34300<parameter_description> a #GIOStream
34301</parameter_description>
34302</parameter>
34303</parameters>
34304<return> %TRUE if the stream is closed.
34305
34306</return>
34307</function>
34308
34309<function name="g_io_stream_set_pending">
34310<description>
34311Sets @stream to have actions pending. If the pending flag is
34312already set or @stream is closed, it will return %FALSE and set
34313@error.
34314
34315Since: 2.22
34316
34317</description>
34318<parameters>
34319<parameter name="stream">
34320<parameter_description> a #GIOStream
34321</parameter_description>
34322</parameter>
34323<parameter name="error">
34324<parameter_description> a #GError location to store the error occurring, or %NULL to
34325ignore
34326</parameter_description>
34327</parameter>
34328</parameters>
34329<return> %TRUE if pending was previously unset and is now set.
34330
34331</return>
34332</function>
34333
34334<function name="g_io_stream_splice_async">
34335<description>
34336Asyncronously splice the output stream of @stream1 to the input stream of
34337@stream2, and splice the output stream of @stream2 to the input stream of
34338@stream1.
34339
34340When the operation is finished @callback will be called.
34341You can then call g_io_stream_splice_finish() to get the
34342result of the operation.
34343
34344Since: 2.28
34345
34346</description>
34347<parameters>
34348<parameter name="stream1">
34349<parameter_description> a #GIOStream.
34350</parameter_description>
34351</parameter>
34352<parameter name="stream2">
34353<parameter_description> a #GIOStream.
34354</parameter_description>
34355</parameter>
34356<parameter name="flags">
34357<parameter_description> a set of #GIOStreamSpliceFlags.
34358</parameter_description>
34359</parameter>
34360<parameter name="io_priority">
34361<parameter_description> the io priority of the request.
34362</parameter_description>
34363</parameter>
34364<parameter name="cancellable">
34365<parameter_description> optional #GCancellable object, %NULL to ignore.
34366</parameter_description>
34367</parameter>
34368<parameter name="callback">
34369<parameter_description> a #GAsyncReadyCallback.
34370</parameter_description>
34371</parameter>
34372<parameter name="user_data">
34373<parameter_description> user data passed to @callback.
34374</parameter_description>
34375</parameter>
34376</parameters>
34377<return></return>
34378</function>
34379
34380<function name="g_io_stream_splice_finish">
34381<description>
34382Finishes an asynchronous io stream splice operation.
34383
34384Since: 2.28
34385
34386</description>
34387<parameters>
34388<parameter name="result">
34389<parameter_description> a #GAsyncResult.
34390</parameter_description>
34391</parameter>
34392<parameter name="error">
34393<parameter_description> a #GError location to store the error occurring, or %NULL to
34394ignore.
34395</parameter_description>
34396</parameter>
34397</parameters>
34398<return> %TRUE on success, %FALSE otherwise.
34399
34400</return>
34401</function>
34402
34403<function name="g_keyfile_settings_backend_new">
34404<description>
34405Creates a keyfile-backed #GSettingsBackend.
34406
34407The filename of the keyfile to use is given by @filename.
34408
34409All settings read to or written from the backend must fall under the
34410path given in @root_path (which must start and end with a slash and
34411not contain two consecutive slashes).  @root_path may be &quot;/&quot;.
34412
34413If @root_group is non-%NULL then it specifies the name of the keyfile
34414group used for keys that are written directly below @root_path.  For
34415example, if @root_path is &quot;/apps/example/&quot; and @root_group is
34416&quot;toplevel&quot;, then settings the key &quot;/apps/example/enabled&quot; to a value
34417of %TRUE will cause the following to appear in the keyfile:
34418
34419|[
34420[toplevel]
34421enabled=true
34422]|
34423
34424If @root_group is %NULL then it is not permitted to store keys
34425directly below the @root_path.
34426
34427For keys not stored directly below @root_path (ie: in a sub-path),
34428the name of the subpath (with the final slash stripped) is used as
34429the name of the keyfile group.  To continue the example, if
34430&quot;/apps/example/profiles/default/font-size&quot; were set to
3443112 then the following would appear in the keyfile:
34432
34433|[
34434[profiles/default]
34435font-size=12
34436]|
34437
34438The backend will refuse writes (and return writability as being
34439%FALSE) for keys outside of @root_path and, in the event that
34440@root_group is %NULL, also for keys directly under @root_path.
34441Writes will also be refused if the backend detects that it has the
34442inability to rewrite the keyfile (ie: the containing directory is not
34443writable).
34444
34445There is no checking done for your key namespace clashing with the
34446syntax of the key file format.  For example, if you have '[' or ']'
34447characters in your path names or '=' in your key names you may be in
34448trouble.
34449
34450The backend reads default values from a keyfile called `defaults` in
34451the directory specified by the #GKeyfileSettingsBackend:defaults-dir property,
34452and a list of locked keys from a text file with the name `locks` in
34453the same location.
34454
34455
34456</description>
34457<parameters>
34458<parameter name="filename">
34459<parameter_description> the filename of the keyfile
34460</parameter_description>
34461</parameter>
34462<parameter name="root_path">
34463<parameter_description> the path under which all settings keys appear
34464</parameter_description>
34465</parameter>
34466<parameter name="root_group">
34467<parameter_description> the group name corresponding to
34468@root_path, or %NULL
34469</parameter_description>
34470</parameter>
34471</parameters>
34472<return> a keyfile-backed #GSettingsBackend
34473</return>
34474</function>
34475
34476<function name="g_list_model_get_item">
34477<description>
34478Get the item at @position. If @position is greater than the number of
34479items in @list, %NULL is returned.
34480
34481%NULL is never returned for an index that is smaller than the length
34482of the list.  See g_list_model_get_n_items().
34483
34484Since: 2.44
34485
34486</description>
34487<parameters>
34488<parameter name="list">
34489<parameter_description> a #GListModel
34490</parameter_description>
34491</parameter>
34492<parameter name="position">
34493<parameter_description> the position of the item to fetch
34494</parameter_description>
34495</parameter>
34496</parameters>
34497<return> the item at @position.
34498
34499</return>
34500</function>
34501
34502<function name="g_list_model_get_item_type">
34503<description>
34504Gets the type of the items in @list. All items returned from
34505g_list_model_get_type() are of that type or a subtype, or are an
34506implementation of that interface.
34507
34508The item type of a #GListModel can not change during the life of the
34509model.
34510
34511Since: 2.44
34512
34513</description>
34514<parameters>
34515<parameter name="list">
34516<parameter_description> a #GListModel
34517</parameter_description>
34518</parameter>
34519</parameters>
34520<return> the #GType of the items contained in @list.
34521
34522</return>
34523</function>
34524
34525<function name="g_list_model_get_n_items">
34526<description>
34527Gets the number of items in @list.
34528
34529Depending on the model implementation, calling this function may be
34530less efficient than iterating the list with increasing values for
34531@position until g_list_model_get_item() returns %NULL.
34532
34533Since: 2.44
34534
34535</description>
34536<parameters>
34537<parameter name="list">
34538<parameter_description> a #GListModel
34539</parameter_description>
34540</parameter>
34541</parameters>
34542<return> the number of items in @list.
34543
34544</return>
34545</function>
34546
34547<function name="g_list_model_get_object">
34548<description>
34549Get the item at @position. If @position is greater than the number of
34550items in @list, %NULL is returned.
34551
34552%NULL is never returned for an index that is smaller than the length
34553of the list.  See g_list_model_get_n_items().
34554
34555Since: 2.44
34556
34557</description>
34558<parameters>
34559<parameter name="list">
34560<parameter_description> a #GListModel
34561</parameter_description>
34562</parameter>
34563<parameter name="position">
34564<parameter_description> the position of the item to fetch
34565</parameter_description>
34566</parameter>
34567</parameters>
34568<return> the object at @position.
34569
34570</return>
34571</function>
34572
34573<function name="g_list_model_items_changed">
34574<description>
34575Emits the #GListModel::items-changed signal on @list.
34576
34577This function should only be called by classes implementing
34578#GListModel. It has to be called after the internal representation
34579of @list has been updated, because handlers connected to this signal
34580might query the new state of the list.
34581
34582Implementations must only make changes to the model (as visible to
34583its consumer) in places that will not cause problems for that
34584consumer.  For models that are driven directly by a write API (such
34585as #GListStore), changes can be reported in response to uses of that
34586API.  For models that represent remote data, changes should only be
34587made from a fresh mainloop dispatch.  It is particularly not
34588permitted to make changes in response to a call to the #GListModel
34589consumer API.
34590
34591Stated another way: in general, it is assumed that code making a
34592series of accesses to the model via the API, without returning to the
34593mainloop, and without calling other code, will continue to view the
34594same contents of the model.
34595
34596Since: 2.44
34597
34598</description>
34599<parameters>
34600<parameter name="list">
34601<parameter_description> a #GListModel
34602</parameter_description>
34603</parameter>
34604<parameter name="position">
34605<parameter_description> the position at which @list changed
34606</parameter_description>
34607</parameter>
34608<parameter name="removed">
34609<parameter_description> the number of items removed
34610</parameter_description>
34611</parameter>
34612<parameter name="added">
34613<parameter_description> the number of items added
34614</parameter_description>
34615</parameter>
34616</parameters>
34617<return></return>
34618</function>
34619
34620<function name="g_list_store_append">
34621<description>
34622Appends @item to @store. @item must be of type #GListStore:item-type.
34623
34624This function takes a ref on @item.
34625
34626Use g_list_store_splice() to append multiple items at the same time
34627efficiently.
34628
34629Since: 2.44
34630
34631</description>
34632<parameters>
34633<parameter name="store">
34634<parameter_description> a #GListStore
34635</parameter_description>
34636</parameter>
34637<parameter name="item">
34638<parameter_description> the new item
34639</parameter_description>
34640</parameter>
34641</parameters>
34642<return></return>
34643</function>
34644
34645<function name="g_list_store_find">
34646<description>
34647Looks up the given @item in the list store by looping over the items until
34648the first occurrence of @item. If @item was not found, then @position will
34649not be set, and this method will return %FALSE.
34650
34651If you need to compare the two items with a custom comparison function, use
34652g_list_store_find_with_equal_func() with a custom #GEqualFunc instead.
34653
34654Since: 2.64
34655
34656</description>
34657<parameters>
34658<parameter name="store">
34659<parameter_description> a #GListStore
34660</parameter_description>
34661</parameter>
34662<parameter name="item">
34663<parameter_description> an item
34664</parameter_description>
34665</parameter>
34666<parameter name="position">
34667<parameter_description> the first position of @item, if it was found.
34668</parameter_description>
34669</parameter>
34670</parameters>
34671<return> Whether @store contains @item. If it was found, @position will be
34672set to the position where @item occurred for the first time.
34673
34674</return>
34675</function>
34676
34677<function name="g_list_store_find_with_equal_func">
34678<description>
34679Looks up the given @item in the list store by looping over the items and
34680comparing them with @compare_func until the first occurrence of @item which
34681matches. If @item was not found, then @position will not be set, and this
34682method will return %FALSE.
34683
34684Since: 2.64
34685
34686</description>
34687<parameters>
34688<parameter name="store">
34689<parameter_description> a #GListStore
34690</parameter_description>
34691</parameter>
34692<parameter name="item">
34693<parameter_description> an item
34694</parameter_description>
34695</parameter>
34696<parameter name="equal_func">
34697<parameter_description> A custom equality check function
34698</parameter_description>
34699</parameter>
34700<parameter name="position">
34701<parameter_description> the first position of @item, if it was found.
34702</parameter_description>
34703</parameter>
34704</parameters>
34705<return> Whether @store contains @item. If it was found, @position will be
34706set to the position where @item occurred for the first time.
34707
34708</return>
34709</function>
34710
34711<function name="g_list_store_insert">
34712<description>
34713Inserts @item into @store at @position. @item must be of type
34714#GListStore:item-type or derived from it. @position must be smaller
34715than the length of the list, or equal to it to append.
34716
34717This function takes a ref on @item.
34718
34719Use g_list_store_splice() to insert multiple items at the same time
34720efficiently.
34721
34722Since: 2.44
34723
34724</description>
34725<parameters>
34726<parameter name="store">
34727<parameter_description> a #GListStore
34728</parameter_description>
34729</parameter>
34730<parameter name="position">
34731<parameter_description> the position at which to insert the new item
34732</parameter_description>
34733</parameter>
34734<parameter name="item">
34735<parameter_description> the new item
34736</parameter_description>
34737</parameter>
34738</parameters>
34739<return></return>
34740</function>
34741
34742<function name="g_list_store_insert_sorted">
34743<description>
34744Inserts @item into @store at a position to be determined by the
34745@compare_func.
34746
34747The list must already be sorted before calling this function or the
34748result is undefined.  Usually you would approach this by only ever
34749inserting items by way of this function.
34750
34751This function takes a ref on @item.
34752
34753Since: 2.44
34754
34755</description>
34756<parameters>
34757<parameter name="store">
34758<parameter_description> a #GListStore
34759</parameter_description>
34760</parameter>
34761<parameter name="item">
34762<parameter_description> the new item
34763</parameter_description>
34764</parameter>
34765<parameter name="compare_func">
34766<parameter_description> pairwise comparison function for sorting
34767</parameter_description>
34768</parameter>
34769<parameter name="user_data">
34770<parameter_description> user data for @compare_func
34771</parameter_description>
34772</parameter>
34773</parameters>
34774<return> the position at which @item was inserted
34775
34776</return>
34777</function>
34778
34779<function name="g_list_store_new">
34780<description>
34781Creates a new #GListStore with items of type @item_type. @item_type
34782must be a subclass of #GObject.
34783
34784Since: 2.44
34785
34786</description>
34787<parameters>
34788<parameter name="item_type">
34789<parameter_description> the #GType of items in the list
34790</parameter_description>
34791</parameter>
34792</parameters>
34793<return> a new #GListStore
34794</return>
34795</function>
34796
34797<function name="g_list_store_remove">
34798<description>
34799Removes the item from @store that is at @position. @position must be
34800smaller than the current length of the list.
34801
34802Use g_list_store_splice() to remove multiple items at the same time
34803efficiently.
34804
34805Since: 2.44
34806
34807</description>
34808<parameters>
34809<parameter name="store">
34810<parameter_description> a #GListStore
34811</parameter_description>
34812</parameter>
34813<parameter name="position">
34814<parameter_description> the position of the item that is to be removed
34815</parameter_description>
34816</parameter>
34817</parameters>
34818<return></return>
34819</function>
34820
34821<function name="g_list_store_remove_all">
34822<description>
34823Removes all items from @store.
34824
34825Since: 2.44
34826
34827</description>
34828<parameters>
34829<parameter name="store">
34830<parameter_description> a #GListStore
34831</parameter_description>
34832</parameter>
34833</parameters>
34834<return></return>
34835</function>
34836
34837<function name="g_list_store_sort">
34838<description>
34839Sort the items in @store according to @compare_func.
34840
34841Since: 2.46
34842
34843</description>
34844<parameters>
34845<parameter name="store">
34846<parameter_description> a #GListStore
34847</parameter_description>
34848</parameter>
34849<parameter name="compare_func">
34850<parameter_description> pairwise comparison function for sorting
34851</parameter_description>
34852</parameter>
34853<parameter name="user_data">
34854<parameter_description> user data for @compare_func
34855</parameter_description>
34856</parameter>
34857</parameters>
34858<return></return>
34859</function>
34860
34861<function name="g_list_store_splice">
34862<description>
34863Changes @store by removing @n_removals items and adding @n_additions
34864items to it. @additions must contain @n_additions items of type
34865#GListStore:item-type.  %NULL is not permitted.
34866
34867This function is more efficient than g_list_store_insert() and
34868g_list_store_remove(), because it only emits
34869#GListModel::items-changed once for the change.
34870
34871This function takes a ref on each item in @additions.
34872
34873The parameters @position and @n_removals must be correct (ie:
34874@position + @n_removals must be less than or equal to the length of
34875the list at the time this function is called).
34876
34877Since: 2.44
34878
34879</description>
34880<parameters>
34881<parameter name="store">
34882<parameter_description> a #GListStore
34883</parameter_description>
34884</parameter>
34885<parameter name="position">
34886<parameter_description> the position at which to make the change
34887</parameter_description>
34888</parameter>
34889<parameter name="n_removals">
34890<parameter_description> the number of items to remove
34891</parameter_description>
34892</parameter>
34893<parameter name="additions">
34894<parameter_description> the items to add
34895</parameter_description>
34896</parameter>
34897<parameter name="n_additions">
34898<parameter_description> the number of items to add
34899</parameter_description>
34900</parameter>
34901</parameters>
34902<return></return>
34903</function>
34904
34905<function name="g_loadable_icon_load">
34906<description>
34907Loads a loadable icon. For the asynchronous version of this function,
34908see g_loadable_icon_load_async().
34909
34910
34911</description>
34912<parameters>
34913<parameter name="icon">
34914<parameter_description> a #GLoadableIcon.
34915</parameter_description>
34916</parameter>
34917<parameter name="size">
34918<parameter_description> an integer.
34919</parameter_description>
34920</parameter>
34921<parameter name="type">
34922<parameter_description> a location to store the type of the loaded
34923icon, %NULL to ignore.
34924</parameter_description>
34925</parameter>
34926<parameter name="cancellable">
34927<parameter_description> optional #GCancellable object, %NULL to
34928ignore.
34929</parameter_description>
34930</parameter>
34931<parameter name="error">
34932<parameter_description> a #GError location to store the error occurring, or %NULL
34933to ignore.
34934</parameter_description>
34935</parameter>
34936</parameters>
34937<return> a #GInputStream to read the icon from.
34938</return>
34939</function>
34940
34941<function name="g_loadable_icon_load_async">
34942<description>
34943Loads an icon asynchronously. To finish this function, see
34944g_loadable_icon_load_finish(). For the synchronous, blocking
34945version of this function, see g_loadable_icon_load().
34946
34947</description>
34948<parameters>
34949<parameter name="icon">
34950<parameter_description> a #GLoadableIcon.
34951</parameter_description>
34952</parameter>
34953<parameter name="size">
34954<parameter_description> an integer.
34955</parameter_description>
34956</parameter>
34957<parameter name="cancellable">
34958<parameter_description> optional #GCancellable object, %NULL to ignore.
34959</parameter_description>
34960</parameter>
34961<parameter name="callback">
34962<parameter_description> a #GAsyncReadyCallback to call when the
34963request is satisfied
34964</parameter_description>
34965</parameter>
34966<parameter name="user_data">
34967<parameter_description> the data to pass to callback function
34968</parameter_description>
34969</parameter>
34970</parameters>
34971<return></return>
34972</function>
34973
34974<function name="g_loadable_icon_load_finish">
34975<description>
34976Finishes an asynchronous icon load started in g_loadable_icon_load_async().
34977
34978
34979</description>
34980<parameters>
34981<parameter name="icon">
34982<parameter_description> a #GLoadableIcon.
34983</parameter_description>
34984</parameter>
34985<parameter name="res">
34986<parameter_description> a #GAsyncResult.
34987</parameter_description>
34988</parameter>
34989<parameter name="type">
34990<parameter_description> a location to store the type of the loaded
34991icon, %NULL to ignore.
34992</parameter_description>
34993</parameter>
34994<parameter name="error">
34995<parameter_description> a #GError location to store the error occurring, or %NULL to
34996ignore.
34997</parameter_description>
34998</parameter>
34999</parameters>
35000<return> a #GInputStream to read the icon from.
35001</return>
35002</function>
35003
35004<function name="g_local_vfs_new">
35005<description>
35006Returns a new #GVfs handle for a local vfs.
35007
35008
35009</description>
35010<parameters>
35011</parameters>
35012<return> a new #GVfs handle.
35013</return>
35014</function>
35015
35016<function name="g_memory_input_stream_add_bytes">
35017<description>
35018Appends @bytes to data that can be read from the input stream.
35019
35020Since: 2.34
35021
35022</description>
35023<parameters>
35024<parameter name="stream">
35025<parameter_description> a #GMemoryInputStream
35026</parameter_description>
35027</parameter>
35028<parameter name="bytes">
35029<parameter_description> input data
35030</parameter_description>
35031</parameter>
35032</parameters>
35033<return></return>
35034</function>
35035
35036<function name="g_memory_input_stream_add_data">
35037<description>
35038Appends @data to data that can be read from the input stream
35039
35040</description>
35041<parameters>
35042<parameter name="stream">
35043<parameter_description> a #GMemoryInputStream
35044</parameter_description>
35045</parameter>
35046<parameter name="data">
35047<parameter_description> input data
35048</parameter_description>
35049</parameter>
35050<parameter name="len">
35051<parameter_description> length of the data, may be -1 if @data is a nul-terminated string
35052</parameter_description>
35053</parameter>
35054<parameter name="destroy">
35055<parameter_description> function that is called to free @data, or %NULL
35056</parameter_description>
35057</parameter>
35058</parameters>
35059<return></return>
35060</function>
35061
35062<function name="g_memory_input_stream_new">
35063<description>
35064Creates a new empty #GMemoryInputStream.
35065
35066
35067</description>
35068<parameters>
35069</parameters>
35070<return> a new #GInputStream
35071</return>
35072</function>
35073
35074<function name="g_memory_input_stream_new_from_bytes">
35075<description>
35076Creates a new #GMemoryInputStream with data from the given @bytes.
35077
35078Since: 2.34
35079
35080</description>
35081<parameters>
35082<parameter name="bytes">
35083<parameter_description> a #GBytes
35084</parameter_description>
35085</parameter>
35086</parameters>
35087<return> new #GInputStream read from @bytes
35088
35089</return>
35090</function>
35091
35092<function name="g_memory_input_stream_new_from_data">
35093<description>
35094Creates a new #GMemoryInputStream with data in memory of a given size.
35095
35096
35097</description>
35098<parameters>
35099<parameter name="data">
35100<parameter_description> input data
35101</parameter_description>
35102</parameter>
35103<parameter name="len">
35104<parameter_description> length of the data, may be -1 if @data is a nul-terminated string
35105</parameter_description>
35106</parameter>
35107<parameter name="destroy">
35108<parameter_description> function that is called to free @data, or %NULL
35109</parameter_description>
35110</parameter>
35111</parameters>
35112<return> new #GInputStream read from @data of @len bytes.
35113</return>
35114</function>
35115
35116<function name="g_memory_monitor_dup_default">
35117<description>
35118Gets a reference to the default #GMemoryMonitor for the system.
35119
35120Since: 2.64
35121
35122</description>
35123<parameters>
35124</parameters>
35125<return> a new reference to the default #GMemoryMonitor
35126
35127</return>
35128</function>
35129
35130<function name="g_memory_output_stream_get_data">
35131<description>
35132Gets any loaded data from the @ostream.
35133
35134Note that the returned pointer may become invalid on the next
35135write or truncate operation on the stream.
35136
35137
35138</description>
35139<parameters>
35140<parameter name="ostream">
35141<parameter_description> a #GMemoryOutputStream
35142</parameter_description>
35143</parameter>
35144</parameters>
35145<return> pointer to the stream's data, or %NULL if the data
35146has been stolen
35147</return>
35148</function>
35149
35150<function name="g_memory_output_stream_get_data_size">
35151<description>
35152Returns the number of bytes from the start up to including the last
35153byte written in the stream that has not been truncated away.
35154
35155Since: 2.18
35156
35157</description>
35158<parameters>
35159<parameter name="ostream">
35160<parameter_description> a #GMemoryOutputStream
35161</parameter_description>
35162</parameter>
35163</parameters>
35164<return> the number of bytes written to the stream
35165
35166</return>
35167</function>
35168
35169<function name="g_memory_output_stream_get_size">
35170<description>
35171Gets the size of the currently allocated data area (available from
35172g_memory_output_stream_get_data()).
35173
35174You probably don't want to use this function on resizable streams.
35175See g_memory_output_stream_get_data_size() instead.  For resizable
35176streams the size returned by this function is an implementation
35177detail and may be change at any time in response to operations on the
35178stream.
35179
35180If the stream is fixed-sized (ie: no realloc was passed to
35181g_memory_output_stream_new()) then this is the maximum size of the
35182stream and further writes will return %G_IO_ERROR_NO_SPACE.
35183
35184In any case, if you want the number of bytes currently written to the
35185stream, use g_memory_output_stream_get_data_size().
35186
35187
35188</description>
35189<parameters>
35190<parameter name="ostream">
35191<parameter_description> a #GMemoryOutputStream
35192</parameter_description>
35193</parameter>
35194</parameters>
35195<return> the number of bytes allocated for the data buffer
35196</return>
35197</function>
35198
35199<function name="g_memory_output_stream_new">
35200<description>
35201Creates a new #GMemoryOutputStream.
35202
35203In most cases this is not the function you want.  See
35204g_memory_output_stream_new_resizable() instead.
35205
35206If @data is non-%NULL, the stream will use that for its internal storage.
35207
35208If @realloc_fn is non-%NULL, it will be used for resizing the internal
35209storage when necessary and the stream will be considered resizable.
35210In that case, the stream will start out being (conceptually) empty.
35211@size is used only as a hint for how big @data is.  Specifically,
35212seeking to the end of a newly-created stream will seek to zero, not
35213@size.  Seeking past the end of the stream and then writing will
35214introduce a zero-filled gap.
35215
35216If @realloc_fn is %NULL then the stream is fixed-sized.  Seeking to
35217the end will seek to @size exactly.  Writing past the end will give
35218an 'out of space' error.  Attempting to seek past the end will fail.
35219Unlike the resizable case, seeking to an offset within the stream and
35220writing will preserve the bytes passed in as @data before that point
35221and will return them as part of g_memory_output_stream_steal_data().
35222If you intend to seek you should probably therefore ensure that @data
35223is properly initialised.
35224
35225It is probably only meaningful to provide @data and @size in the case
35226that you want a fixed-sized stream.  Put another way: if @realloc_fn
35227is non-%NULL then it makes most sense to give @data as %NULL and
35228@size as 0 (allowing #GMemoryOutputStream to do the initial
35229allocation for itself).
35230
35231|[&lt;!-- language=&quot;C&quot; --&gt;
35232// a stream that can grow
35233stream = g_memory_output_stream_new (NULL, 0, realloc, free);
35234
35235// another stream that can grow
35236stream2 = g_memory_output_stream_new (NULL, 0, g_realloc, g_free);
35237
35238// a fixed-size stream
35239data = malloc (200);
35240stream3 = g_memory_output_stream_new (data, 200, NULL, free);
35241]|
35242
35243
35244</description>
35245<parameters>
35246<parameter name="data">
35247<parameter_description> pointer to a chunk of memory to use, or %NULL
35248</parameter_description>
35249</parameter>
35250<parameter name="size">
35251<parameter_description> the size of @data
35252</parameter_description>
35253</parameter>
35254<parameter name="realloc_function">
35255<parameter_description> a function with realloc() semantics (like g_realloc())
35256to be called when @data needs to be grown, or %NULL
35257</parameter_description>
35258</parameter>
35259<parameter name="destroy_function">
35260<parameter_description> a function to be called on @data when the stream is
35261finalized, or %NULL
35262</parameter_description>
35263</parameter>
35264</parameters>
35265<return> A newly created #GMemoryOutputStream object.
35266</return>
35267</function>
35268
35269<function name="g_memory_output_stream_new_resizable">
35270<description>
35271Creates a new #GMemoryOutputStream, using g_realloc() and g_free()
35272for memory allocation.
35273
35274Since: 2.36
35275
35276</description>
35277<parameters>
35278</parameters>
35279<return></return>
35280</function>
35281
35282<function name="g_memory_output_stream_steal_as_bytes">
35283<description>
35284Returns data from the @ostream as a #GBytes. @ostream must be
35285closed before calling this function.
35286
35287Since: 2.34
35288
35289</description>
35290<parameters>
35291<parameter name="ostream">
35292<parameter_description> a #GMemoryOutputStream
35293</parameter_description>
35294</parameter>
35295</parameters>
35296<return> the stream's data
35297
35298</return>
35299</function>
35300
35301<function name="g_memory_output_stream_steal_data">
35302<description>
35303Gets any loaded data from the @ostream. Ownership of the data
35304is transferred to the caller; when no longer needed it must be
35305freed using the free function set in @ostream's
35306#GMemoryOutputStream:destroy-function property.
35307
35308@ostream must be closed before calling this function.
35309
35310Since: 2.26
35311
35312</description>
35313<parameters>
35314<parameter name="ostream">
35315<parameter_description> a #GMemoryOutputStream
35316</parameter_description>
35317</parameter>
35318</parameters>
35319<return> the stream's data, or %NULL if it has previously
35320been stolen
35321
35322</return>
35323</function>
35324
35325<function name="g_memory_settings_backend_new">
35326<description>
35327Creates a memory-backed #GSettingsBackend.
35328
35329This backend allows changes to settings, but does not write them
35330to any backing storage, so the next time you run your application,
35331the memory backend will start out with the default values again.
35332
35333Since: 2.28
35334
35335</description>
35336<parameters>
35337</parameters>
35338<return> a newly created #GSettingsBackend
35339
35340</return>
35341</function>
35342
35343<function name="g_menu_append">
35344<description>
35345Convenience function for appending a normal menu item to the end of
35346@menu.  Combine g_menu_item_new() and g_menu_insert_item() for a more
35347flexible alternative.
35348
35349Since: 2.32
35350
35351</description>
35352<parameters>
35353<parameter name="menu">
35354<parameter_description> a #GMenu
35355</parameter_description>
35356</parameter>
35357<parameter name="label">
35358<parameter_description> the section label, or %NULL
35359</parameter_description>
35360</parameter>
35361<parameter name="detailed_action">
35362<parameter_description> the detailed action string, or %NULL
35363</parameter_description>
35364</parameter>
35365</parameters>
35366<return></return>
35367</function>
35368
35369<function name="g_menu_append_item">
35370<description>
35371Appends @item to the end of @menu.
35372
35373See g_menu_insert_item() for more information.
35374
35375Since: 2.32
35376
35377</description>
35378<parameters>
35379<parameter name="menu">
35380<parameter_description> a #GMenu
35381</parameter_description>
35382</parameter>
35383<parameter name="item">
35384<parameter_description> a #GMenuItem to append
35385</parameter_description>
35386</parameter>
35387</parameters>
35388<return></return>
35389</function>
35390
35391<function name="g_menu_append_section">
35392<description>
35393Convenience function for appending a section menu item to the end of
35394@menu.  Combine g_menu_item_new_section() and g_menu_insert_item() for a
35395more flexible alternative.
35396
35397Since: 2.32
35398
35399</description>
35400<parameters>
35401<parameter name="menu">
35402<parameter_description> a #GMenu
35403</parameter_description>
35404</parameter>
35405<parameter name="label">
35406<parameter_description> the section label, or %NULL
35407</parameter_description>
35408</parameter>
35409<parameter name="section">
35410<parameter_description> a #GMenuModel with the items of the section
35411</parameter_description>
35412</parameter>
35413</parameters>
35414<return></return>
35415</function>
35416
35417<function name="g_menu_append_submenu">
35418<description>
35419Convenience function for appending a submenu menu item to the end of
35420@menu.  Combine g_menu_item_new_submenu() and g_menu_insert_item() for a
35421more flexible alternative.
35422
35423Since: 2.32
35424
35425</description>
35426<parameters>
35427<parameter name="menu">
35428<parameter_description> a #GMenu
35429</parameter_description>
35430</parameter>
35431<parameter name="label">
35432<parameter_description> the section label, or %NULL
35433</parameter_description>
35434</parameter>
35435<parameter name="submenu">
35436<parameter_description> a #GMenuModel with the items of the submenu
35437</parameter_description>
35438</parameter>
35439</parameters>
35440<return></return>
35441</function>
35442
35443<function name="g_menu_attribute_iter_get_name">
35444<description>
35445Gets the name of the attribute at the current iterator position, as
35446a string.
35447
35448The iterator is not advanced.
35449
35450Since: 2.32
35451
35452</description>
35453<parameters>
35454<parameter name="iter">
35455<parameter_description> a #GMenuAttributeIter
35456</parameter_description>
35457</parameter>
35458</parameters>
35459<return> the name of the attribute
35460
35461</return>
35462</function>
35463
35464<function name="g_menu_attribute_iter_get_next">
35465<description>
35466This function combines g_menu_attribute_iter_next() with
35467g_menu_attribute_iter_get_name() and g_menu_attribute_iter_get_value().
35468
35469First the iterator is advanced to the next (possibly first) attribute.
35470If that fails, then %FALSE is returned and there are no other
35471effects.
35472
35473If successful, @name and @value are set to the name and value of the
35474attribute that has just been advanced to.  At this point,
35475g_menu_attribute_iter_get_name() and g_menu_attribute_iter_get_value() will
35476return the same values again.
35477
35478The value returned in @name remains valid for as long as the iterator
35479remains at the current position.  The value returned in @value must
35480be unreffed using g_variant_unref() when it is no longer in use.
35481
35482Since: 2.32
35483
35484</description>
35485<parameters>
35486<parameter name="iter">
35487<parameter_description> a #GMenuAttributeIter
35488</parameter_description>
35489</parameter>
35490<parameter name="out_name">
35491<parameter_description> the type of the attribute
35492</parameter_description>
35493</parameter>
35494<parameter name="value">
35495<parameter_description> the attribute value
35496</parameter_description>
35497</parameter>
35498</parameters>
35499<return> %TRUE on success, or %FALSE if there is no additional
35500attribute
35501
35502</return>
35503</function>
35504
35505<function name="g_menu_attribute_iter_get_value">
35506<description>
35507Gets the value of the attribute at the current iterator position.
35508
35509The iterator is not advanced.
35510
35511Since: 2.32
35512
35513</description>
35514<parameters>
35515<parameter name="iter">
35516<parameter_description> a #GMenuAttributeIter
35517</parameter_description>
35518</parameter>
35519</parameters>
35520<return> the value of the current attribute
35521
35522</return>
35523</function>
35524
35525<function name="g_menu_attribute_iter_next">
35526<description>
35527Attempts to advance the iterator to the next (possibly first)
35528attribute.
35529
35530%TRUE is returned on success, or %FALSE if there are no more
35531attributes.
35532
35533You must call this function when you first acquire the iterator
35534to advance it to the first attribute (and determine if the first
35535attribute exists at all).
35536
35537Since: 2.32
35538
35539</description>
35540<parameters>
35541<parameter name="iter">
35542<parameter_description> a #GMenuAttributeIter
35543</parameter_description>
35544</parameter>
35545</parameters>
35546<return> %TRUE on success, or %FALSE when there are no more attributes
35547
35548</return>
35549</function>
35550
35551<function name="g_menu_freeze">
35552<description>
35553Marks @menu as frozen.
35554
35555After the menu is frozen, it is an error to attempt to make any
35556changes to it.  In effect this means that the #GMenu API must no
35557longer be used.
35558
35559This function causes g_menu_model_is_mutable() to begin returning
35560%FALSE, which has some positive performance implications.
35561
35562Since: 2.32
35563
35564</description>
35565<parameters>
35566<parameter name="menu">
35567<parameter_description> a #GMenu
35568</parameter_description>
35569</parameter>
35570</parameters>
35571<return></return>
35572</function>
35573
35574<function name="g_menu_insert">
35575<description>
35576Convenience function for inserting a normal menu item into @menu.
35577Combine g_menu_item_new() and g_menu_insert_item() for a more flexible
35578alternative.
35579
35580Since: 2.32
35581
35582</description>
35583<parameters>
35584<parameter name="menu">
35585<parameter_description> a #GMenu
35586</parameter_description>
35587</parameter>
35588<parameter name="position">
35589<parameter_description> the position at which to insert the item
35590</parameter_description>
35591</parameter>
35592<parameter name="label">
35593<parameter_description> the section label, or %NULL
35594</parameter_description>
35595</parameter>
35596<parameter name="detailed_action">
35597<parameter_description> the detailed action string, or %NULL
35598</parameter_description>
35599</parameter>
35600</parameters>
35601<return></return>
35602</function>
35603
35604<function name="g_menu_insert_item">
35605<description>
35606Inserts @item into @menu.
35607
35608The &quot;insertion&quot; is actually done by copying all of the attribute and
35609link values of @item and using them to form a new item within @menu.
35610As such, @item itself is not really inserted, but rather, a menu item
35611that is exactly the same as the one presently described by @item.
35612
35613This means that @item is essentially useless after the insertion
35614occurs.  Any changes you make to it are ignored unless it is inserted
35615again (at which point its updated values will be copied).
35616
35617You should probably just free @item once you're done.
35618
35619There are many convenience functions to take care of common cases.
35620See g_menu_insert(), g_menu_insert_section() and
35621g_menu_insert_submenu() as well as &quot;prepend&quot; and &quot;append&quot; variants of
35622each of these functions.
35623
35624Since: 2.32
35625
35626</description>
35627<parameters>
35628<parameter name="menu">
35629<parameter_description> a #GMenu
35630</parameter_description>
35631</parameter>
35632<parameter name="position">
35633<parameter_description> the position at which to insert the item
35634</parameter_description>
35635</parameter>
35636<parameter name="item">
35637<parameter_description> the #GMenuItem to insert
35638</parameter_description>
35639</parameter>
35640</parameters>
35641<return></return>
35642</function>
35643
35644<function name="g_menu_insert_section">
35645<description>
35646Convenience function for inserting a section menu item into @menu.
35647Combine g_menu_item_new_section() and g_menu_insert_item() for a more
35648flexible alternative.
35649
35650Since: 2.32
35651
35652</description>
35653<parameters>
35654<parameter name="menu">
35655<parameter_description> a #GMenu
35656</parameter_description>
35657</parameter>
35658<parameter name="position">
35659<parameter_description> the position at which to insert the item
35660</parameter_description>
35661</parameter>
35662<parameter name="label">
35663<parameter_description> the section label, or %NULL
35664</parameter_description>
35665</parameter>
35666<parameter name="section">
35667<parameter_description> a #GMenuModel with the items of the section
35668</parameter_description>
35669</parameter>
35670</parameters>
35671<return></return>
35672</function>
35673
35674<function name="g_menu_insert_submenu">
35675<description>
35676Convenience function for inserting a submenu menu item into @menu.
35677Combine g_menu_item_new_submenu() and g_menu_insert_item() for a more
35678flexible alternative.
35679
35680Since: 2.32
35681
35682</description>
35683<parameters>
35684<parameter name="menu">
35685<parameter_description> a #GMenu
35686</parameter_description>
35687</parameter>
35688<parameter name="position">
35689<parameter_description> the position at which to insert the item
35690</parameter_description>
35691</parameter>
35692<parameter name="label">
35693<parameter_description> the section label, or %NULL
35694</parameter_description>
35695</parameter>
35696<parameter name="submenu">
35697<parameter_description> a #GMenuModel with the items of the submenu
35698</parameter_description>
35699</parameter>
35700</parameters>
35701<return></return>
35702</function>
35703
35704<function name="g_menu_item_get_attribute">
35705<description>
35706Queries the named @attribute on @menu_item.
35707
35708If the attribute exists and matches the #GVariantType corresponding
35709to @format_string then @format_string is used to deconstruct the
35710value into the positional parameters and %TRUE is returned.
35711
35712If the attribute does not exist, or it does exist but has the wrong
35713type, then the positional parameters are ignored and %FALSE is
35714returned.
35715
35716Since: 2.34
35717
35718</description>
35719<parameters>
35720<parameter name="menu_item">
35721<parameter_description> a #GMenuItem
35722</parameter_description>
35723</parameter>
35724<parameter name="attribute">
35725<parameter_description> the attribute name to query
35726</parameter_description>
35727</parameter>
35728<parameter name="format_string">
35729<parameter_description> a #GVariant format string
35730</parameter_description>
35731</parameter>
35732<parameter name="Varargs">
35733<parameter_description> positional parameters, as per @format_string
35734</parameter_description>
35735</parameter>
35736</parameters>
35737<return> %TRUE if the named attribute was found with the expected
35738type
35739
35740</return>
35741</function>
35742
35743<function name="g_menu_item_get_attribute_value">
35744<description>
35745Queries the named @attribute on @menu_item.
35746
35747If @expected_type is specified and the attribute does not have this
35748type, %NULL is returned.  %NULL is also returned if the attribute
35749simply does not exist.
35750
35751Since: 2.34
35752
35753</description>
35754<parameters>
35755<parameter name="menu_item">
35756<parameter_description> a #GMenuItem
35757</parameter_description>
35758</parameter>
35759<parameter name="attribute">
35760<parameter_description> the attribute name to query
35761</parameter_description>
35762</parameter>
35763<parameter name="expected_type">
35764<parameter_description> the expected type of the attribute
35765</parameter_description>
35766</parameter>
35767</parameters>
35768<return> the attribute value, or %NULL
35769
35770</return>
35771</function>
35772
35773<function name="g_menu_item_get_link">
35774<description>
35775Queries the named @link on @menu_item.
35776
35777Since: 2.34
35778
35779</description>
35780<parameters>
35781<parameter name="menu_item">
35782<parameter_description> a #GMenuItem
35783</parameter_description>
35784</parameter>
35785<parameter name="link">
35786<parameter_description> the link name to query
35787</parameter_description>
35788</parameter>
35789</parameters>
35790<return> the link, or %NULL
35791
35792</return>
35793</function>
35794
35795<function name="g_menu_item_new">
35796<description>
35797Creates a new #GMenuItem.
35798
35799If @label is non-%NULL it is used to set the &quot;label&quot; attribute of the
35800new item.
35801
35802If @detailed_action is non-%NULL it is used to set the &quot;action&quot; and
35803possibly the &quot;target&quot; attribute of the new item.  See
35804g_menu_item_set_detailed_action() for more information.
35805
35806Since: 2.32
35807
35808</description>
35809<parameters>
35810<parameter name="label">
35811<parameter_description> the section label, or %NULL
35812</parameter_description>
35813</parameter>
35814<parameter name="detailed_action">
35815<parameter_description> the detailed action string, or %NULL
35816</parameter_description>
35817</parameter>
35818</parameters>
35819<return> a new #GMenuItem
35820
35821</return>
35822</function>
35823
35824<function name="g_menu_item_new_from_model">
35825<description>
35826Creates a #GMenuItem as an exact copy of an existing menu item in a
35827#GMenuModel.
35828
35829@item_index must be valid (ie: be sure to call
35830g_menu_model_get_n_items() first).
35831
35832Since: 2.34
35833
35834</description>
35835<parameters>
35836<parameter name="model">
35837<parameter_description> a #GMenuModel
35838</parameter_description>
35839</parameter>
35840<parameter name="item_index">
35841<parameter_description> the index of an item in @model
35842</parameter_description>
35843</parameter>
35844</parameters>
35845<return> a new #GMenuItem.
35846
35847</return>
35848</function>
35849
35850<function name="g_menu_item_new_section">
35851<description>
35852Creates a new #GMenuItem representing a section.
35853
35854This is a convenience API around g_menu_item_new() and
35855g_menu_item_set_section().
35856
35857The effect of having one menu appear as a section of another is
35858exactly as it sounds: the items from @section become a direct part of
35859the menu that @menu_item is added to.
35860
35861Visual separation is typically displayed between two non-empty
35862sections.  If @label is non-%NULL then it will be encorporated into
35863this visual indication.  This allows for labeled subsections of a
35864menu.
35865
35866As a simple example, consider a typical &quot;Edit&quot; menu from a simple
35867program.  It probably contains an &quot;Undo&quot; and &quot;Redo&quot; item, followed by
35868a separator, followed by &quot;Cut&quot;, &quot;Copy&quot; and &quot;Paste&quot;.
35869
35870This would be accomplished by creating three #GMenu instances.  The
35871first would be populated with the &quot;Undo&quot; and &quot;Redo&quot; items, and the
35872second with the &quot;Cut&quot;, &quot;Copy&quot; and &quot;Paste&quot; items.  The first and
35873second menus would then be added as submenus of the third.  In XML
35874format, this would look something like the following:
35875|[
35876&lt;menu id='edit-menu'&gt;
35877&lt;section&gt;
35878&lt;item label='Undo'/&gt;
35879&lt;item label='Redo'/&gt;
35880&lt;/section&gt;
35881&lt;section&gt;
35882&lt;item label='Cut'/&gt;
35883&lt;item label='Copy'/&gt;
35884&lt;item label='Paste'/&gt;
35885&lt;/section&gt;
35886&lt;/menu&gt;
35887]|
35888
35889The following example is exactly equivalent.  It is more illustrative
35890of the exact relationship between the menus and items (keeping in
35891mind that the 'link' element defines a new menu that is linked to the
35892containing one).  The style of the second example is more verbose and
35893difficult to read (and therefore not recommended except for the
35894purpose of understanding what is really going on).
35895|[
35896&lt;menu id='edit-menu'&gt;
35897&lt;item&gt;
35898&lt;link name='section'&gt;
35899&lt;item label='Undo'/&gt;
35900&lt;item label='Redo'/&gt;
35901&lt;/link&gt;
35902&lt;/item&gt;
35903&lt;item&gt;
35904&lt;link name='section'&gt;
35905&lt;item label='Cut'/&gt;
35906&lt;item label='Copy'/&gt;
35907&lt;item label='Paste'/&gt;
35908&lt;/link&gt;
35909&lt;/item&gt;
35910&lt;/menu&gt;
35911]|
35912
35913Since: 2.32
35914
35915</description>
35916<parameters>
35917<parameter name="label">
35918<parameter_description> the section label, or %NULL
35919</parameter_description>
35920</parameter>
35921<parameter name="section">
35922<parameter_description> a #GMenuModel with the items of the section
35923</parameter_description>
35924</parameter>
35925</parameters>
35926<return> a new #GMenuItem
35927
35928</return>
35929</function>
35930
35931<function name="g_menu_item_new_submenu">
35932<description>
35933Creates a new #GMenuItem representing a submenu.
35934
35935This is a convenience API around g_menu_item_new() and
35936g_menu_item_set_submenu().
35937
35938Since: 2.32
35939
35940</description>
35941<parameters>
35942<parameter name="label">
35943<parameter_description> the section label, or %NULL
35944</parameter_description>
35945</parameter>
35946<parameter name="submenu">
35947<parameter_description> a #GMenuModel with the items of the submenu
35948</parameter_description>
35949</parameter>
35950</parameters>
35951<return> a new #GMenuItem
35952
35953</return>
35954</function>
35955
35956<function name="g_menu_item_set_action_and_target">
35957<description>
35958Sets or unsets the &quot;action&quot; and &quot;target&quot; attributes of @menu_item.
35959
35960If @action is %NULL then both the &quot;action&quot; and &quot;target&quot; attributes
35961are unset (and @format_string is ignored along with the positional
35962parameters).
35963
35964If @action is non-%NULL then the &quot;action&quot; attribute is set.
35965@format_string is then inspected.  If it is non-%NULL then the proper
35966position parameters are collected to create a #GVariant instance to
35967use as the target value.  If it is %NULL then the positional
35968parameters are ignored and the &quot;target&quot; attribute is unset.
35969
35970See also g_menu_item_set_action_and_target_value() for an equivalent
35971call that directly accepts a #GVariant.  See
35972g_menu_item_set_detailed_action() for a more convenient version that
35973works with string-typed targets.
35974
35975See also g_menu_item_set_action_and_target_value() for a
35976description of the semantics of the action and target attributes.
35977
35978Since: 2.32
35979
35980</description>
35981<parameters>
35982<parameter name="menu_item">
35983<parameter_description> a #GMenuItem
35984</parameter_description>
35985</parameter>
35986<parameter name="action">
35987<parameter_description> the name of the action for this item
35988</parameter_description>
35989</parameter>
35990<parameter name="format_string">
35991<parameter_description> a GVariant format string
35992</parameter_description>
35993</parameter>
35994<parameter name="Varargs">
35995<parameter_description> positional parameters, as per @format_string
35996</parameter_description>
35997</parameter>
35998</parameters>
35999<return></return>
36000</function>
36001
36002<function name="g_menu_item_set_action_and_target_value">
36003<description>
36004Sets or unsets the &quot;action&quot; and &quot;target&quot; attributes of @menu_item.
36005
36006If @action is %NULL then both the &quot;action&quot; and &quot;target&quot; attributes
36007are unset (and @target_value is ignored).
36008
36009If @action is non-%NULL then the &quot;action&quot; attribute is set.  The
36010&quot;target&quot; attribute is then set to the value of @target_value if it is
36011non-%NULL or unset otherwise.
36012
36013Normal menu items (ie: not submenu, section or other custom item
36014types) are expected to have the &quot;action&quot; attribute set to identify
36015the action that they are associated with.  The state type of the
36016action help to determine the disposition of the menu item.  See
36017#GAction and #GActionGroup for an overview of actions.
36018
36019In general, clicking on the menu item will result in activation of
36020the named action with the &quot;target&quot; attribute given as the parameter
36021to the action invocation.  If the &quot;target&quot; attribute is not set then
36022the action is invoked with no parameter.
36023
36024If the action has no state then the menu item is usually drawn as a
36025plain menu item (ie: with no additional decoration).
36026
36027If the action has a boolean state then the menu item is usually drawn
36028as a toggle menu item (ie: with a checkmark or equivalent
36029indication).  The item should be marked as 'toggled' or 'checked'
36030when the boolean state is %TRUE.
36031
36032If the action has a string state then the menu item is usually drawn
36033as a radio menu item (ie: with a radio bullet or equivalent
36034indication).  The item should be marked as 'selected' when the string
36035state is equal to the value of the @target property.
36036
36037See g_menu_item_set_action_and_target() or
36038g_menu_item_set_detailed_action() for two equivalent calls that are
36039probably more convenient for most uses.
36040
36041Since: 2.32
36042
36043</description>
36044<parameters>
36045<parameter name="menu_item">
36046<parameter_description> a #GMenuItem
36047</parameter_description>
36048</parameter>
36049<parameter name="action">
36050<parameter_description> the name of the action for this item
36051</parameter_description>
36052</parameter>
36053<parameter name="target_value">
36054<parameter_description> a #GVariant to use as the action target
36055</parameter_description>
36056</parameter>
36057</parameters>
36058<return></return>
36059</function>
36060
36061<function name="g_menu_item_set_attribute">
36062<description>
36063Sets or unsets an attribute on @menu_item.
36064
36065The attribute to set or unset is specified by @attribute. This
36066can be one of the standard attribute names %G_MENU_ATTRIBUTE_LABEL,
36067%G_MENU_ATTRIBUTE_ACTION, %G_MENU_ATTRIBUTE_TARGET, or a custom
36068attribute name.
36069Attribute names are restricted to lowercase characters, numbers
36070and '-'. Furthermore, the names must begin with a lowercase character,
36071must not end with a '-', and must not contain consecutive dashes.
36072
36073If @format_string is non-%NULL then the proper position parameters
36074are collected to create a #GVariant instance to use as the attribute
36075value.  If it is %NULL then the positional parameterrs are ignored
36076and the named attribute is unset.
36077
36078See also g_menu_item_set_attribute_value() for an equivalent call
36079that directly accepts a #GVariant.
36080
36081Since: 2.32
36082
36083</description>
36084<parameters>
36085<parameter name="menu_item">
36086<parameter_description> a #GMenuItem
36087</parameter_description>
36088</parameter>
36089<parameter name="attribute">
36090<parameter_description> the attribute to set
36091</parameter_description>
36092</parameter>
36093<parameter name="format_string">
36094<parameter_description> a #GVariant format string, or %NULL
36095</parameter_description>
36096</parameter>
36097<parameter name="Varargs">
36098<parameter_description> positional parameters, as per @format_string
36099</parameter_description>
36100</parameter>
36101</parameters>
36102<return></return>
36103</function>
36104
36105<function name="g_menu_item_set_attribute_value">
36106<description>
36107Sets or unsets an attribute on @menu_item.
36108
36109The attribute to set or unset is specified by @attribute. This
36110can be one of the standard attribute names %G_MENU_ATTRIBUTE_LABEL,
36111%G_MENU_ATTRIBUTE_ACTION, %G_MENU_ATTRIBUTE_TARGET, or a custom
36112attribute name.
36113Attribute names are restricted to lowercase characters, numbers
36114and '-'. Furthermore, the names must begin with a lowercase character,
36115must not end with a '-', and must not contain consecutive dashes.
36116
36117must consist only of lowercase
36118ASCII characters, digits and '-'.
36119
36120If @value is non-%NULL then it is used as the new value for the
36121attribute.  If @value is %NULL then the attribute is unset. If
36122the @value #GVariant is floating, it is consumed.
36123
36124See also g_menu_item_set_attribute() for a more convenient way to do
36125the same.
36126
36127Since: 2.32
36128
36129</description>
36130<parameters>
36131<parameter name="menu_item">
36132<parameter_description> a #GMenuItem
36133</parameter_description>
36134</parameter>
36135<parameter name="attribute">
36136<parameter_description> the attribute to set
36137</parameter_description>
36138</parameter>
36139<parameter name="value">
36140<parameter_description> a #GVariant to use as the value, or %NULL
36141</parameter_description>
36142</parameter>
36143</parameters>
36144<return></return>
36145</function>
36146
36147<function name="g_menu_item_set_detailed_action">
36148<description>
36149Sets the &quot;action&quot; and possibly the &quot;target&quot; attribute of @menu_item.
36150
36151The format of @detailed_action is the same format parsed by
36152g_action_parse_detailed_name().
36153
36154See g_menu_item_set_action_and_target() or
36155g_menu_item_set_action_and_target_value() for more flexible (but
36156slightly less convenient) alternatives.
36157
36158See also g_menu_item_set_action_and_target_value() for a description of
36159the semantics of the action and target attributes.
36160
36161Since: 2.32
36162
36163</description>
36164<parameters>
36165<parameter name="menu_item">
36166<parameter_description> a #GMenuItem
36167</parameter_description>
36168</parameter>
36169<parameter name="detailed_action">
36170<parameter_description> the &quot;detailed&quot; action string
36171</parameter_description>
36172</parameter>
36173</parameters>
36174<return></return>
36175</function>
36176
36177<function name="g_menu_item_set_icon">
36178<description>
36179Sets (or unsets) the icon on @menu_item.
36180
36181This call is the same as calling g_icon_serialize() and using the
36182result as the value to g_menu_item_set_attribute_value() for
36183%G_MENU_ATTRIBUTE_ICON.
36184
36185This API is only intended for use with &quot;noun&quot; menu items; things like
36186bookmarks or applications in an &quot;Open With&quot; menu.  Don't use it on
36187menu items corresponding to verbs (eg: stock icons for 'Save' or
36188'Quit').
36189
36190If @icon is %NULL then the icon is unset.
36191
36192Since: 2.38
36193
36194</description>
36195<parameters>
36196<parameter name="menu_item">
36197<parameter_description> a #GMenuItem
36198</parameter_description>
36199</parameter>
36200<parameter name="icon">
36201<parameter_description> a #GIcon, or %NULL
36202</parameter_description>
36203</parameter>
36204</parameters>
36205<return></return>
36206</function>
36207
36208<function name="g_menu_item_set_label">
36209<description>
36210Sets or unsets the &quot;label&quot; attribute of @menu_item.
36211
36212If @label is non-%NULL it is used as the label for the menu item.  If
36213it is %NULL then the label attribute is unset.
36214
36215Since: 2.32
36216
36217</description>
36218<parameters>
36219<parameter name="menu_item">
36220<parameter_description> a #GMenuItem
36221</parameter_description>
36222</parameter>
36223<parameter name="label">
36224<parameter_description> the label to set, or %NULL to unset
36225</parameter_description>
36226</parameter>
36227</parameters>
36228<return></return>
36229</function>
36230
36231<function name="g_menu_item_set_link">
36232<description>
36233Creates a link from @menu_item to @model if non-%NULL, or unsets it.
36234
36235Links are used to establish a relationship between a particular menu
36236item and another menu.  For example, %G_MENU_LINK_SUBMENU is used to
36237associate a submenu with a particular menu item, and %G_MENU_LINK_SECTION
36238is used to create a section. Other types of link can be used, but there
36239is no guarantee that clients will be able to make sense of them.
36240Link types are restricted to lowercase characters, numbers
36241and '-'. Furthermore, the names must begin with a lowercase character,
36242must not end with a '-', and must not contain consecutive dashes.
36243
36244Since: 2.32
36245
36246</description>
36247<parameters>
36248<parameter name="menu_item">
36249<parameter_description> a #GMenuItem
36250</parameter_description>
36251</parameter>
36252<parameter name="link">
36253<parameter_description> type of link to establish or unset
36254</parameter_description>
36255</parameter>
36256<parameter name="model">
36257<parameter_description> the #GMenuModel to link to (or %NULL to unset)
36258</parameter_description>
36259</parameter>
36260</parameters>
36261<return></return>
36262</function>
36263
36264<function name="g_menu_item_set_section">
36265<description>
36266Sets or unsets the &quot;section&quot; link of @menu_item to @section.
36267
36268The effect of having one menu appear as a section of another is
36269exactly as it sounds: the items from @section become a direct part of
36270the menu that @menu_item is added to.  See g_menu_item_new_section()
36271for more information about what it means for a menu item to be a
36272section.
36273
36274Since: 2.32
36275
36276</description>
36277<parameters>
36278<parameter name="menu_item">
36279<parameter_description> a #GMenuItem
36280</parameter_description>
36281</parameter>
36282<parameter name="section">
36283<parameter_description> a #GMenuModel, or %NULL
36284</parameter_description>
36285</parameter>
36286</parameters>
36287<return></return>
36288</function>
36289
36290<function name="g_menu_item_set_submenu">
36291<description>
36292Sets or unsets the &quot;submenu&quot; link of @menu_item to @submenu.
36293
36294If @submenu is non-%NULL, it is linked to.  If it is %NULL then the
36295link is unset.
36296
36297The effect of having one menu appear as a submenu of another is
36298exactly as it sounds.
36299
36300Since: 2.32
36301
36302</description>
36303<parameters>
36304<parameter name="menu_item">
36305<parameter_description> a #GMenuItem
36306</parameter_description>
36307</parameter>
36308<parameter name="submenu">
36309<parameter_description> a #GMenuModel, or %NULL
36310</parameter_description>
36311</parameter>
36312</parameters>
36313<return></return>
36314</function>
36315
36316<function name="g_menu_link_iter_get_name">
36317<description>
36318Gets the name of the link at the current iterator position.
36319
36320The iterator is not advanced.
36321
36322Since: 2.32
36323
36324</description>
36325<parameters>
36326<parameter name="iter">
36327<parameter_description> a #GMenuLinkIter
36328</parameter_description>
36329</parameter>
36330</parameters>
36331<return> the type of the link
36332
36333</return>
36334</function>
36335
36336<function name="g_menu_link_iter_get_next">
36337<description>
36338This function combines g_menu_link_iter_next() with
36339g_menu_link_iter_get_name() and g_menu_link_iter_get_value().
36340
36341First the iterator is advanced to the next (possibly first) link.
36342If that fails, then %FALSE is returned and there are no other effects.
36343
36344If successful, @out_link and @value are set to the name and #GMenuModel
36345of the link that has just been advanced to.  At this point,
36346g_menu_link_iter_get_name() and g_menu_link_iter_get_value() will return the
36347same values again.
36348
36349The value returned in @out_link remains valid for as long as the iterator
36350remains at the current position.  The value returned in @value must
36351be unreffed using g_object_unref() when it is no longer in use.
36352
36353Since: 2.32
36354
36355</description>
36356<parameters>
36357<parameter name="iter">
36358<parameter_description> a #GMenuLinkIter
36359</parameter_description>
36360</parameter>
36361<parameter name="out_link">
36362<parameter_description> the name of the link
36363</parameter_description>
36364</parameter>
36365<parameter name="value">
36366<parameter_description> the linked #GMenuModel
36367</parameter_description>
36368</parameter>
36369</parameters>
36370<return> %TRUE on success, or %FALSE if there is no additional link
36371
36372</return>
36373</function>
36374
36375<function name="g_menu_link_iter_get_value">
36376<description>
36377Gets the linked #GMenuModel at the current iterator position.
36378
36379The iterator is not advanced.
36380
36381Since: 2.32
36382
36383</description>
36384<parameters>
36385<parameter name="iter">
36386<parameter_description> a #GMenuLinkIter
36387</parameter_description>
36388</parameter>
36389</parameters>
36390<return> the #GMenuModel that is linked to
36391
36392</return>
36393</function>
36394
36395<function name="g_menu_link_iter_next">
36396<description>
36397Attempts to advance the iterator to the next (possibly first)
36398link.
36399
36400%TRUE is returned on success, or %FALSE if there are no more links.
36401
36402You must call this function when you first acquire the iterator to
36403advance it to the first link (and determine if the first link exists
36404at all).
36405
36406Since: 2.32
36407
36408</description>
36409<parameters>
36410<parameter name="iter">
36411<parameter_description> a #GMenuLinkIter
36412</parameter_description>
36413</parameter>
36414</parameters>
36415<return> %TRUE on success, or %FALSE when there are no more links
36416
36417</return>
36418</function>
36419
36420<function name="g_menu_model_get_item_attribute">
36421<description>
36422Queries item at position @item_index in @model for the attribute
36423specified by @attribute.
36424
36425If the attribute exists and matches the #GVariantType corresponding
36426to @format_string then @format_string is used to deconstruct the
36427value into the positional parameters and %TRUE is returned.
36428
36429If the attribute does not exist, or it does exist but has the wrong
36430type, then the positional parameters are ignored and %FALSE is
36431returned.
36432
36433This function is a mix of g_menu_model_get_item_attribute_value() and
36434g_variant_get(), followed by a g_variant_unref().  As such,
36435@format_string must make a complete copy of the data (since the
36436#GVariant may go away after the call to g_variant_unref()).  In
36437particular, no '&amp;' characters are allowed in @format_string.
36438
36439Since: 2.32
36440
36441</description>
36442<parameters>
36443<parameter name="model">
36444<parameter_description> a #GMenuModel
36445</parameter_description>
36446</parameter>
36447<parameter name="item_index">
36448<parameter_description> the index of the item
36449</parameter_description>
36450</parameter>
36451<parameter name="attribute">
36452<parameter_description> the attribute to query
36453</parameter_description>
36454</parameter>
36455<parameter name="format_string">
36456<parameter_description> a #GVariant format string
36457</parameter_description>
36458</parameter>
36459<parameter name="Varargs">
36460<parameter_description> positional parameters, as per @format_string
36461</parameter_description>
36462</parameter>
36463</parameters>
36464<return> %TRUE if the named attribute was found with the expected
36465type
36466
36467</return>
36468</function>
36469
36470<function name="g_menu_model_get_item_attribute_value">
36471<description>
36472Queries the item at position @item_index in @model for the attribute
36473specified by @attribute.
36474
36475If @expected_type is non-%NULL then it specifies the expected type of
36476the attribute.  If it is %NULL then any type will be accepted.
36477
36478If the attribute exists and matches @expected_type (or if the
36479expected type is unspecified) then the value is returned.
36480
36481If the attribute does not exist, or does not match the expected type
36482then %NULL is returned.
36483
36484Since: 2.32
36485
36486</description>
36487<parameters>
36488<parameter name="model">
36489<parameter_description> a #GMenuModel
36490</parameter_description>
36491</parameter>
36492<parameter name="item_index">
36493<parameter_description> the index of the item
36494</parameter_description>
36495</parameter>
36496<parameter name="attribute">
36497<parameter_description> the attribute to query
36498</parameter_description>
36499</parameter>
36500<parameter name="expected_type">
36501<parameter_description> the expected type of the attribute, or
36502%NULL
36503</parameter_description>
36504</parameter>
36505</parameters>
36506<return> the value of the attribute
36507
36508</return>
36509</function>
36510
36511<function name="g_menu_model_get_item_link">
36512<description>
36513Queries the item at position @item_index in @model for the link
36514specified by @link.
36515
36516If the link exists, the linked #GMenuModel is returned.  If the link
36517does not exist, %NULL is returned.
36518
36519Since: 2.32
36520
36521</description>
36522<parameters>
36523<parameter name="model">
36524<parameter_description> a #GMenuModel
36525</parameter_description>
36526</parameter>
36527<parameter name="item_index">
36528<parameter_description> the index of the item
36529</parameter_description>
36530</parameter>
36531<parameter name="link">
36532<parameter_description> the link to query
36533</parameter_description>
36534</parameter>
36535</parameters>
36536<return> the linked #GMenuModel, or %NULL
36537
36538</return>
36539</function>
36540
36541<function name="g_menu_model_get_n_items">
36542<description>
36543Query the number of items in @model.
36544
36545Since: 2.32
36546
36547</description>
36548<parameters>
36549<parameter name="model">
36550<parameter_description> a #GMenuModel
36551</parameter_description>
36552</parameter>
36553</parameters>
36554<return> the number of items
36555
36556</return>
36557</function>
36558
36559<function name="g_menu_model_is_mutable">
36560<description>
36561Queries if @model is mutable.
36562
36563An immutable #GMenuModel will never emit the #GMenuModel::items-changed
36564signal. Consumers of the model may make optimisations accordingly.
36565
36566Since: 2.32
36567
36568</description>
36569<parameters>
36570<parameter name="model">
36571<parameter_description> a #GMenuModel
36572</parameter_description>
36573</parameter>
36574</parameters>
36575<return> %TRUE if the model is mutable (ie: &quot;items-changed&quot; may be
36576emitted).
36577
36578</return>
36579</function>
36580
36581<function name="g_menu_model_items_changed">
36582<description>
36583Requests emission of the #GMenuModel::items-changed signal on @model.
36584
36585This function should never be called except by #GMenuModel
36586subclasses.  Any other calls to this function will very likely lead
36587to a violation of the interface of the model.
36588
36589The implementation should update its internal representation of the
36590menu before emitting the signal.  The implementation should further
36591expect to receive queries about the new state of the menu (and
36592particularly added menu items) while signal handlers are running.
36593
36594The implementation must dispatch this call directly from a mainloop
36595entry and not in response to calls -- particularly those from the
36596#GMenuModel API.  Said another way: the menu must not change while
36597user code is running without returning to the mainloop.
36598
36599Since: 2.32
36600
36601</description>
36602<parameters>
36603<parameter name="model">
36604<parameter_description> a #GMenuModel
36605</parameter_description>
36606</parameter>
36607<parameter name="position">
36608<parameter_description> the position of the change
36609</parameter_description>
36610</parameter>
36611<parameter name="removed">
36612<parameter_description> the number of items removed
36613</parameter_description>
36614</parameter>
36615<parameter name="added">
36616<parameter_description> the number of items added
36617</parameter_description>
36618</parameter>
36619</parameters>
36620<return></return>
36621</function>
36622
36623<function name="g_menu_model_iterate_item_attributes">
36624<description>
36625Creates a #GMenuAttributeIter to iterate over the attributes of
36626the item at position @item_index in @model.
36627
36628You must free the iterator with g_object_unref() when you are done.
36629
36630Since: 2.32
36631
36632</description>
36633<parameters>
36634<parameter name="model">
36635<parameter_description> a #GMenuModel
36636</parameter_description>
36637</parameter>
36638<parameter name="item_index">
36639<parameter_description> the index of the item
36640</parameter_description>
36641</parameter>
36642</parameters>
36643<return> a new #GMenuAttributeIter
36644
36645</return>
36646</function>
36647
36648<function name="g_menu_model_iterate_item_links">
36649<description>
36650Creates a #GMenuLinkIter to iterate over the links of the item at
36651position @item_index in @model.
36652
36653You must free the iterator with g_object_unref() when you are done.
36654
36655Since: 2.32
36656
36657</description>
36658<parameters>
36659<parameter name="model">
36660<parameter_description> a #GMenuModel
36661</parameter_description>
36662</parameter>
36663<parameter name="item_index">
36664<parameter_description> the index of the item
36665</parameter_description>
36666</parameter>
36667</parameters>
36668<return> a new #GMenuLinkIter
36669
36670</return>
36671</function>
36672
36673<function name="g_menu_new">
36674<description>
36675Creates a new #GMenu.
36676
36677The new menu has no items.
36678
36679Since: 2.32
36680
36681</description>
36682<parameters>
36683</parameters>
36684<return> a new #GMenu
36685
36686</return>
36687</function>
36688
36689<function name="g_menu_prepend">
36690<description>
36691Convenience function for prepending a normal menu item to the start
36692of @menu.  Combine g_menu_item_new() and g_menu_insert_item() for a more
36693flexible alternative.
36694
36695Since: 2.32
36696
36697</description>
36698<parameters>
36699<parameter name="menu">
36700<parameter_description> a #GMenu
36701</parameter_description>
36702</parameter>
36703<parameter name="label">
36704<parameter_description> the section label, or %NULL
36705</parameter_description>
36706</parameter>
36707<parameter name="detailed_action">
36708<parameter_description> the detailed action string, or %NULL
36709</parameter_description>
36710</parameter>
36711</parameters>
36712<return></return>
36713</function>
36714
36715<function name="g_menu_prepend_item">
36716<description>
36717Prepends @item to the start of @menu.
36718
36719See g_menu_insert_item() for more information.
36720
36721Since: 2.32
36722
36723</description>
36724<parameters>
36725<parameter name="menu">
36726<parameter_description> a #GMenu
36727</parameter_description>
36728</parameter>
36729<parameter name="item">
36730<parameter_description> a #GMenuItem to prepend
36731</parameter_description>
36732</parameter>
36733</parameters>
36734<return></return>
36735</function>
36736
36737<function name="g_menu_prepend_section">
36738<description>
36739Convenience function for prepending a section menu item to the start
36740of @menu.  Combine g_menu_item_new_section() and g_menu_insert_item() for
36741a more flexible alternative.
36742
36743Since: 2.32
36744
36745</description>
36746<parameters>
36747<parameter name="menu">
36748<parameter_description> a #GMenu
36749</parameter_description>
36750</parameter>
36751<parameter name="label">
36752<parameter_description> the section label, or %NULL
36753</parameter_description>
36754</parameter>
36755<parameter name="section">
36756<parameter_description> a #GMenuModel with the items of the section
36757</parameter_description>
36758</parameter>
36759</parameters>
36760<return></return>
36761</function>
36762
36763<function name="g_menu_prepend_submenu">
36764<description>
36765Convenience function for prepending a submenu menu item to the start
36766of @menu.  Combine g_menu_item_new_submenu() and g_menu_insert_item() for
36767a more flexible alternative.
36768
36769Since: 2.32
36770
36771</description>
36772<parameters>
36773<parameter name="menu">
36774<parameter_description> a #GMenu
36775</parameter_description>
36776</parameter>
36777<parameter name="label">
36778<parameter_description> the section label, or %NULL
36779</parameter_description>
36780</parameter>
36781<parameter name="submenu">
36782<parameter_description> a #GMenuModel with the items of the submenu
36783</parameter_description>
36784</parameter>
36785</parameters>
36786<return></return>
36787</function>
36788
36789<function name="g_menu_remove">
36790<description>
36791Removes an item from the menu.
36792
36793@position gives the index of the item to remove.
36794
36795It is an error if position is not in range the range from 0 to one
36796less than the number of items in the menu.
36797
36798It is not possible to remove items by identity since items are added
36799to the menu simply by copying their links and attributes (ie:
36800identity of the item itself is not preserved).
36801
36802Since: 2.32
36803
36804</description>
36805<parameters>
36806<parameter name="menu">
36807<parameter_description> a #GMenu
36808</parameter_description>
36809</parameter>
36810<parameter name="position">
36811<parameter_description> the position of the item to remove
36812</parameter_description>
36813</parameter>
36814</parameters>
36815<return></return>
36816</function>
36817
36818<function name="g_menu_remove_all">
36819<description>
36820Removes all items in the menu.
36821
36822Since: 2.38
36823
36824</description>
36825<parameters>
36826<parameter name="menu">
36827<parameter_description> a #GMenu
36828</parameter_description>
36829</parameter>
36830</parameters>
36831<return></return>
36832</function>
36833
36834<function name="g_mount_can_eject">
36835<description>
36836Checks if @mount can be ejected.
36837
36838
36839</description>
36840<parameters>
36841<parameter name="mount">
36842<parameter_description> a #GMount.
36843</parameter_description>
36844</parameter>
36845</parameters>
36846<return> %TRUE if the @mount can be ejected.
36847</return>
36848</function>
36849
36850<function name="g_mount_can_unmount">
36851<description>
36852Checks if @mount can be unmounted.
36853
36854
36855</description>
36856<parameters>
36857<parameter name="mount">
36858<parameter_description> a #GMount.
36859</parameter_description>
36860</parameter>
36861</parameters>
36862<return> %TRUE if the @mount can be unmounted.
36863</return>
36864</function>
36865
36866<function name="g_mount_eject">
36867<description>
36868Ejects a mount. This is an asynchronous operation, and is
36869finished by calling g_mount_eject_finish() with the @mount
36870and #GAsyncResult data returned in the @callback.
36871
36872Deprecated: 2.22: Use g_mount_eject_with_operation() instead.
36873
36874</description>
36875<parameters>
36876<parameter name="mount">
36877<parameter_description> a #GMount.
36878</parameter_description>
36879</parameter>
36880<parameter name="flags">
36881<parameter_description> flags affecting the unmount if required for eject
36882</parameter_description>
36883</parameter>
36884<parameter name="cancellable">
36885<parameter_description> optional #GCancellable object, %NULL to ignore.
36886</parameter_description>
36887</parameter>
36888<parameter name="callback">
36889<parameter_description> a #GAsyncReadyCallback, or %NULL.
36890</parameter_description>
36891</parameter>
36892<parameter name="user_data">
36893<parameter_description> user data passed to @callback.
36894</parameter_description>
36895</parameter>
36896</parameters>
36897<return></return>
36898</function>
36899
36900<function name="g_mount_eject_finish">
36901<description>
36902Finishes ejecting a mount. If any errors occurred during the operation,
36903@error will be set to contain the errors and %FALSE will be returned.
36904
36905Deprecated: 2.22: Use g_mount_eject_with_operation_finish() instead.
36906
36907</description>
36908<parameters>
36909<parameter name="mount">
36910<parameter_description> a #GMount.
36911</parameter_description>
36912</parameter>
36913<parameter name="result">
36914<parameter_description> a #GAsyncResult.
36915</parameter_description>
36916</parameter>
36917<parameter name="error">
36918<parameter_description> a #GError location to store the error occurring, or %NULL to
36919ignore.
36920</parameter_description>
36921</parameter>
36922</parameters>
36923<return> %TRUE if the mount was successfully ejected. %FALSE otherwise.
36924
36925</return>
36926</function>
36927
36928<function name="g_mount_eject_with_operation">
36929<description>
36930Ejects a mount. This is an asynchronous operation, and is
36931finished by calling g_mount_eject_with_operation_finish() with the @mount
36932and #GAsyncResult data returned in the @callback.
36933
36934Since: 2.22
36935
36936</description>
36937<parameters>
36938<parameter name="mount">
36939<parameter_description> a #GMount.
36940</parameter_description>
36941</parameter>
36942<parameter name="flags">
36943<parameter_description> flags affecting the unmount if required for eject
36944</parameter_description>
36945</parameter>
36946<parameter name="mount_operation">
36947<parameter_description> a #GMountOperation or %NULL to avoid
36948user interaction.
36949</parameter_description>
36950</parameter>
36951<parameter name="cancellable">
36952<parameter_description> optional #GCancellable object, %NULL to ignore.
36953</parameter_description>
36954</parameter>
36955<parameter name="callback">
36956<parameter_description> a #GAsyncReadyCallback, or %NULL.
36957</parameter_description>
36958</parameter>
36959<parameter name="user_data">
36960<parameter_description> user data passed to @callback.
36961</parameter_description>
36962</parameter>
36963</parameters>
36964<return></return>
36965</function>
36966
36967<function name="g_mount_eject_with_operation_finish">
36968<description>
36969Finishes ejecting a mount. If any errors occurred during the operation,
36970@error will be set to contain the errors and %FALSE will be returned.
36971
36972Since: 2.22
36973
36974</description>
36975<parameters>
36976<parameter name="mount">
36977<parameter_description> a #GMount.
36978</parameter_description>
36979</parameter>
36980<parameter name="result">
36981<parameter_description> a #GAsyncResult.
36982</parameter_description>
36983</parameter>
36984<parameter name="error">
36985<parameter_description> a #GError location to store the error occurring, or %NULL to
36986ignore.
36987</parameter_description>
36988</parameter>
36989</parameters>
36990<return> %TRUE if the mount was successfully ejected. %FALSE otherwise.
36991
36992</return>
36993</function>
36994
36995<function name="g_mount_get_default_location">
36996<description>
36997Gets the default location of @mount. The default location of the given
36998@mount is a path that reflects the main entry point for the user (e.g.
36999the home directory, or the root of the volume).
37000
37001
37002</description>
37003<parameters>
37004<parameter name="mount">
37005<parameter_description> a #GMount.
37006</parameter_description>
37007</parameter>
37008</parameters>
37009<return> a #GFile.
37010The returned object should be unreffed with
37011g_object_unref() when no longer needed.
37012</return>
37013</function>
37014
37015<function name="g_mount_get_drive">
37016<description>
37017Gets the drive for the @mount.
37018
37019This is a convenience method for getting the #GVolume and then
37020using that object to get the #GDrive.
37021
37022
37023</description>
37024<parameters>
37025<parameter name="mount">
37026<parameter_description> a #GMount.
37027</parameter_description>
37028</parameter>
37029</parameters>
37030<return> a #GDrive or %NULL if @mount is not
37031associated with a volume or a drive.
37032The returned object should be unreffed with
37033g_object_unref() when no longer needed.
37034</return>
37035</function>
37036
37037<function name="g_mount_get_icon">
37038<description>
37039Gets the icon for @mount.
37040
37041
37042</description>
37043<parameters>
37044<parameter name="mount">
37045<parameter_description> a #GMount.
37046</parameter_description>
37047</parameter>
37048</parameters>
37049<return> a #GIcon.
37050The returned object should be unreffed with
37051g_object_unref() when no longer needed.
37052</return>
37053</function>
37054
37055<function name="g_mount_get_name">
37056<description>
37057Gets the name of @mount.
37058
37059
37060</description>
37061<parameters>
37062<parameter name="mount">
37063<parameter_description> a #GMount.
37064</parameter_description>
37065</parameter>
37066</parameters>
37067<return> the name for the given @mount.
37068The returned string should be freed with g_free()
37069when no longer needed.
37070</return>
37071</function>
37072
37073<function name="g_mount_get_root">
37074<description>
37075Gets the root directory on @mount.
37076
37077
37078</description>
37079<parameters>
37080<parameter name="mount">
37081<parameter_description> a #GMount.
37082</parameter_description>
37083</parameter>
37084</parameters>
37085<return> a #GFile.
37086The returned object should be unreffed with
37087g_object_unref() when no longer needed.
37088</return>
37089</function>
37090
37091<function name="g_mount_get_sort_key">
37092<description>
37093Gets the sort key for @mount, if any.
37094
37095Since: 2.32
37096
37097</description>
37098<parameters>
37099<parameter name="mount">
37100<parameter_description> A #GMount.
37101</parameter_description>
37102</parameter>
37103</parameters>
37104<return> Sorting key for @mount or %NULL if no such key is available.
37105
37106</return>
37107</function>
37108
37109<function name="g_mount_get_symbolic_icon">
37110<description>
37111Gets the symbolic icon for @mount.
37112
37113Since: 2.34
37114
37115</description>
37116<parameters>
37117<parameter name="mount">
37118<parameter_description> a #GMount.
37119</parameter_description>
37120</parameter>
37121</parameters>
37122<return> a #GIcon.
37123The returned object should be unreffed with
37124g_object_unref() when no longer needed.
37125
37126</return>
37127</function>
37128
37129<function name="g_mount_get_uuid">
37130<description>
37131Gets the UUID for the @mount. The reference is typically based on
37132the file system UUID for the mount in question and should be
37133considered an opaque string. Returns %NULL if there is no UUID
37134available.
37135
37136
37137</description>
37138<parameters>
37139<parameter name="mount">
37140<parameter_description> a #GMount.
37141</parameter_description>
37142</parameter>
37143</parameters>
37144<return> the UUID for @mount or %NULL if no UUID
37145can be computed.
37146The returned string should be freed with g_free()
37147when no longer needed.
37148</return>
37149</function>
37150
37151<function name="g_mount_get_volume">
37152<description>
37153Gets the volume for the @mount.
37154
37155
37156</description>
37157<parameters>
37158<parameter name="mount">
37159<parameter_description> a #GMount.
37160</parameter_description>
37161</parameter>
37162</parameters>
37163<return> a #GVolume or %NULL if @mount is not
37164associated with a volume.
37165The returned object should be unreffed with
37166g_object_unref() when no longer needed.
37167</return>
37168</function>
37169
37170<function name="g_mount_guess_content_type">
37171<description>
37172Tries to guess the type of content stored on @mount. Returns one or
37173more textual identifiers of well-known content types (typically
37174prefixed with &quot;x-content/&quot;), e.g. x-content/image-dcf for camera
37175memory cards. See the
37176[shared-mime-info](http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec)
37177specification for more on x-content types.
37178
37179This is an asynchronous operation (see
37180g_mount_guess_content_type_sync() for the synchronous version), and
37181is finished by calling g_mount_guess_content_type_finish() with the
37182@mount and #GAsyncResult data returned in the @callback.
37183
37184Since: 2.18
37185
37186</description>
37187<parameters>
37188<parameter name="mount">
37189<parameter_description> a #GMount
37190</parameter_description>
37191</parameter>
37192<parameter name="force_rescan">
37193<parameter_description> Whether to force a rescan of the content.
37194Otherwise a cached result will be used if available
37195</parameter_description>
37196</parameter>
37197<parameter name="cancellable">
37198<parameter_description> optional #GCancellable object, %NULL to ignore
37199</parameter_description>
37200</parameter>
37201<parameter name="callback">
37202<parameter_description> a #GAsyncReadyCallback
37203</parameter_description>
37204</parameter>
37205<parameter name="user_data">
37206<parameter_description> user data passed to @callback
37207</parameter_description>
37208</parameter>
37209</parameters>
37210<return></return>
37211</function>
37212
37213<function name="g_mount_guess_content_type_finish">
37214<description>
37215Finishes guessing content types of @mount. If any errors occurred
37216during the operation, @error will be set to contain the errors and
37217%FALSE will be returned. In particular, you may get an
37218%G_IO_ERROR_NOT_SUPPORTED if the mount does not support content
37219guessing.
37220
37221Since: 2.18
37222
37223</description>
37224<parameters>
37225<parameter name="mount">
37226<parameter_description> a #GMount
37227</parameter_description>
37228</parameter>
37229<parameter name="result">
37230<parameter_description> a #GAsyncResult
37231</parameter_description>
37232</parameter>
37233<parameter name="error">
37234<parameter_description> a #GError location to store the error occurring, or %NULL to
37235ignore
37236</parameter_description>
37237</parameter>
37238</parameters>
37239<return> a %NULL-terminated array of content types or %NULL on error.
37240Caller should free this array with g_strfreev() when done with it.
37241
37242</return>
37243</function>
37244
37245<function name="g_mount_guess_content_type_sync">
37246<description>
37247Tries to guess the type of content stored on @mount. Returns one or
37248more textual identifiers of well-known content types (typically
37249prefixed with &quot;x-content/&quot;), e.g. x-content/image-dcf for camera
37250memory cards. See the
37251[shared-mime-info](http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec)
37252specification for more on x-content types.
37253
37254This is a synchronous operation and as such may block doing IO;
37255see g_mount_guess_content_type() for the asynchronous version.
37256
37257Since: 2.18
37258
37259</description>
37260<parameters>
37261<parameter name="mount">
37262<parameter_description> a #GMount
37263</parameter_description>
37264</parameter>
37265<parameter name="force_rescan">
37266<parameter_description> Whether to force a rescan of the content.
37267Otherwise a cached result will be used if available
37268</parameter_description>
37269</parameter>
37270<parameter name="cancellable">
37271<parameter_description> optional #GCancellable object, %NULL to ignore
37272</parameter_description>
37273</parameter>
37274<parameter name="error">
37275<parameter_description> a #GError location to store the error occurring, or %NULL to
37276ignore
37277</parameter_description>
37278</parameter>
37279</parameters>
37280<return> a %NULL-terminated array of content types or %NULL on error.
37281Caller should free this array with g_strfreev() when done with it.
37282
37283</return>
37284</function>
37285
37286<function name="g_mount_is_shadowed">
37287<description>
37288Determines if @mount is shadowed. Applications or libraries should
37289avoid displaying @mount in the user interface if it is shadowed.
37290
37291A mount is said to be shadowed if there exists one or more user
37292visible objects (currently #GMount objects) with a root that is
37293inside the root of @mount.
37294
37295One application of shadow mounts is when exposing a single file
37296system that is used to address several logical volumes. In this
37297situation, a #GVolumeMonitor implementation would create two
37298#GVolume objects (for example, one for the camera functionality of
37299the device and one for a SD card reader on the device) with
37300activation URIs `gphoto2://[usb:001,002]/store1/`
37301and `gphoto2://[usb:001,002]/store2/`. When the
37302underlying mount (with root
37303`gphoto2://[usb:001,002]/`) is mounted, said
37304#GVolumeMonitor implementation would create two #GMount objects
37305(each with their root matching the corresponding volume activation
37306root) that would shadow the original mount.
37307
37308The proxy monitor in GVfs 2.26 and later, automatically creates and
37309manage shadow mounts (and shadows the underlying mount) if the
37310activation root on a #GVolume is set.
37311
37312Since: 2.20
37313
37314</description>
37315<parameters>
37316<parameter name="mount">
37317<parameter_description> A #GMount.
37318</parameter_description>
37319</parameter>
37320</parameters>
37321<return> %TRUE if @mount is shadowed.
37322
37323</return>
37324</function>
37325
37326<function name="g_mount_operation_get_anonymous">
37327<description>
37328Check to see whether the mount operation is being used
37329for an anonymous user.
37330
37331
37332</description>
37333<parameters>
37334<parameter name="op">
37335<parameter_description> a #GMountOperation.
37336</parameter_description>
37337</parameter>
37338</parameters>
37339<return> %TRUE if mount operation is anonymous.
37340</return>
37341</function>
37342
37343<function name="g_mount_operation_get_choice">
37344<description>
37345Gets a choice from the mount operation.
37346
37347
37348</description>
37349<parameters>
37350<parameter name="op">
37351<parameter_description> a #GMountOperation.
37352</parameter_description>
37353</parameter>
37354</parameters>
37355<return> an integer containing an index of the user's choice from
37356the choice's list, or `0`.
37357</return>
37358</function>
37359
37360<function name="g_mount_operation_get_domain">
37361<description>
37362Gets the domain of the mount operation.
37363
37364
37365</description>
37366<parameters>
37367<parameter name="op">
37368<parameter_description> a #GMountOperation.
37369</parameter_description>
37370</parameter>
37371</parameters>
37372<return> a string set to the domain.
37373</return>
37374</function>
37375
37376<function name="g_mount_operation_get_is_tcrypt_hidden_volume">
37377<description>
37378Check to see whether the mount operation is being used
37379for a TCRYPT hidden volume.
37380
37381Since: 2.58
37382
37383</description>
37384<parameters>
37385<parameter name="op">
37386<parameter_description> a #GMountOperation.
37387</parameter_description>
37388</parameter>
37389</parameters>
37390<return> %TRUE if mount operation is for hidden volume.
37391
37392</return>
37393</function>
37394
37395<function name="g_mount_operation_get_is_tcrypt_system_volume">
37396<description>
37397Check to see whether the mount operation is being used
37398for a TCRYPT system volume.
37399
37400Since: 2.58
37401
37402</description>
37403<parameters>
37404<parameter name="op">
37405<parameter_description> a #GMountOperation.
37406</parameter_description>
37407</parameter>
37408</parameters>
37409<return> %TRUE if mount operation is for system volume.
37410
37411</return>
37412</function>
37413
37414<function name="g_mount_operation_get_password">
37415<description>
37416Gets a password from the mount operation.
37417
37418
37419</description>
37420<parameters>
37421<parameter name="op">
37422<parameter_description> a #GMountOperation.
37423</parameter_description>
37424</parameter>
37425</parameters>
37426<return> a string containing the password within @op.
37427</return>
37428</function>
37429
37430<function name="g_mount_operation_get_password_save">
37431<description>
37432Gets the state of saving passwords for the mount operation.
37433
37434
37435</description>
37436<parameters>
37437<parameter name="op">
37438<parameter_description> a #GMountOperation.
37439</parameter_description>
37440</parameter>
37441</parameters>
37442<return> a #GPasswordSave flag.
37443</return>
37444</function>
37445
37446<function name="g_mount_operation_get_pim">
37447<description>
37448Gets a PIM from the mount operation.
37449
37450Since: 2.58
37451
37452</description>
37453<parameters>
37454<parameter name="op">
37455<parameter_description> a #GMountOperation.
37456</parameter_description>
37457</parameter>
37458</parameters>
37459<return> The VeraCrypt PIM within @op.
37460
37461</return>
37462</function>
37463
37464<function name="g_mount_operation_get_username">
37465<description>
37466Get the user name from the mount operation.
37467
37468
37469</description>
37470<parameters>
37471<parameter name="op">
37472<parameter_description> a #GMountOperation.
37473</parameter_description>
37474</parameter>
37475</parameters>
37476<return> a string containing the user name.
37477</return>
37478</function>
37479
37480<function name="g_mount_operation_new">
37481<description>
37482Creates a new mount operation.
37483
37484
37485</description>
37486<parameters>
37487</parameters>
37488<return> a #GMountOperation.
37489</return>
37490</function>
37491
37492<function name="g_mount_operation_reply">
37493<description>
37494Emits the #GMountOperation::reply signal.
37495
37496</description>
37497<parameters>
37498<parameter name="op">
37499<parameter_description> a #GMountOperation
37500</parameter_description>
37501</parameter>
37502<parameter name="result">
37503<parameter_description> a #GMountOperationResult
37504</parameter_description>
37505</parameter>
37506</parameters>
37507<return></return>
37508</function>
37509
37510<function name="g_mount_operation_set_anonymous">
37511<description>
37512Sets the mount operation to use an anonymous user if @anonymous is %TRUE.
37513
37514</description>
37515<parameters>
37516<parameter name="op">
37517<parameter_description> a #GMountOperation.
37518</parameter_description>
37519</parameter>
37520<parameter name="anonymous">
37521<parameter_description> boolean value.
37522</parameter_description>
37523</parameter>
37524</parameters>
37525<return></return>
37526</function>
37527
37528<function name="g_mount_operation_set_choice">
37529<description>
37530Sets a default choice for the mount operation.
37531
37532</description>
37533<parameters>
37534<parameter name="op">
37535<parameter_description> a #GMountOperation.
37536</parameter_description>
37537</parameter>
37538<parameter name="choice">
37539<parameter_description> an integer.
37540</parameter_description>
37541</parameter>
37542</parameters>
37543<return></return>
37544</function>
37545
37546<function name="g_mount_operation_set_domain">
37547<description>
37548Sets the mount operation's domain.
37549
37550</description>
37551<parameters>
37552<parameter name="op">
37553<parameter_description> a #GMountOperation.
37554</parameter_description>
37555</parameter>
37556<parameter name="domain">
37557<parameter_description> the domain to set.
37558</parameter_description>
37559</parameter>
37560</parameters>
37561<return></return>
37562</function>
37563
37564<function name="g_mount_operation_set_is_tcrypt_hidden_volume">
37565<description>
37566Sets the mount operation to use a hidden volume if @hidden_volume is %TRUE.
37567
37568Since: 2.58
37569
37570</description>
37571<parameters>
37572<parameter name="op">
37573<parameter_description> a #GMountOperation.
37574</parameter_description>
37575</parameter>
37576<parameter name="hidden_volume">
37577<parameter_description> boolean value.
37578</parameter_description>
37579</parameter>
37580</parameters>
37581<return></return>
37582</function>
37583
37584<function name="g_mount_operation_set_is_tcrypt_system_volume">
37585<description>
37586Sets the mount operation to use a system volume if @system_volume is %TRUE.
37587
37588Since: 2.58
37589
37590</description>
37591<parameters>
37592<parameter name="op">
37593<parameter_description> a #GMountOperation.
37594</parameter_description>
37595</parameter>
37596<parameter name="system_volume">
37597<parameter_description> boolean value.
37598</parameter_description>
37599</parameter>
37600</parameters>
37601<return></return>
37602</function>
37603
37604<function name="g_mount_operation_set_password">
37605<description>
37606Sets the mount operation's password to @password.
37607
37608
37609</description>
37610<parameters>
37611<parameter name="op">
37612<parameter_description> a #GMountOperation.
37613</parameter_description>
37614</parameter>
37615<parameter name="password">
37616<parameter_description> password to set.
37617</parameter_description>
37618</parameter>
37619</parameters>
37620<return></return>
37621</function>
37622
37623<function name="g_mount_operation_set_password_save">
37624<description>
37625Sets the state of saving passwords for the mount operation.
37626
37627
37628</description>
37629<parameters>
37630<parameter name="op">
37631<parameter_description> a #GMountOperation.
37632</parameter_description>
37633</parameter>
37634<parameter name="save">
37635<parameter_description> a set of #GPasswordSave flags.
37636</parameter_description>
37637</parameter>
37638</parameters>
37639<return></return>
37640</function>
37641
37642<function name="g_mount_operation_set_pim">
37643<description>
37644Sets the mount operation's PIM to @pim.
37645
37646Since: 2.58
37647
37648</description>
37649<parameters>
37650<parameter name="op">
37651<parameter_description> a #GMountOperation.
37652</parameter_description>
37653</parameter>
37654<parameter name="pim">
37655<parameter_description> an unsigned integer.
37656</parameter_description>
37657</parameter>
37658</parameters>
37659<return></return>
37660</function>
37661
37662<function name="g_mount_operation_set_username">
37663<description>
37664Sets the user name within @op to @username.
37665
37666</description>
37667<parameters>
37668<parameter name="op">
37669<parameter_description> a #GMountOperation.
37670</parameter_description>
37671</parameter>
37672<parameter name="username">
37673<parameter_description> input username.
37674</parameter_description>
37675</parameter>
37676</parameters>
37677<return></return>
37678</function>
37679
37680<function name="g_mount_remount">
37681<description>
37682Remounts a mount. This is an asynchronous operation, and is
37683finished by calling g_mount_remount_finish() with the @mount
37684and #GAsyncResults data returned in the @callback.
37685
37686Remounting is useful when some setting affecting the operation
37687of the volume has been changed, as these may need a remount to
37688take affect. While this is semantically equivalent with unmounting
37689and then remounting not all backends might need to actually be
37690unmounted.
37691
37692</description>
37693<parameters>
37694<parameter name="mount">
37695<parameter_description> a #GMount.
37696</parameter_description>
37697</parameter>
37698<parameter name="flags">
37699<parameter_description> flags affecting the operation
37700</parameter_description>
37701</parameter>
37702<parameter name="mount_operation">
37703<parameter_description> a #GMountOperation or %NULL to avoid
37704user interaction.
37705</parameter_description>
37706</parameter>
37707<parameter name="cancellable">
37708<parameter_description> optional #GCancellable object, %NULL to ignore.
37709</parameter_description>
37710</parameter>
37711<parameter name="callback">
37712<parameter_description> a #GAsyncReadyCallback, or %NULL.
37713</parameter_description>
37714</parameter>
37715<parameter name="user_data">
37716<parameter_description> user data passed to @callback.
37717</parameter_description>
37718</parameter>
37719</parameters>
37720<return></return>
37721</function>
37722
37723<function name="g_mount_remount_finish">
37724<description>
37725Finishes remounting a mount. If any errors occurred during the operation,
37726@error will be set to contain the errors and %FALSE will be returned.
37727
37728
37729</description>
37730<parameters>
37731<parameter name="mount">
37732<parameter_description> a #GMount.
37733</parameter_description>
37734</parameter>
37735<parameter name="result">
37736<parameter_description> a #GAsyncResult.
37737</parameter_description>
37738</parameter>
37739<parameter name="error">
37740<parameter_description> a #GError location to store the error occurring, or %NULL to
37741ignore.
37742</parameter_description>
37743</parameter>
37744</parameters>
37745<return> %TRUE if the mount was successfully remounted. %FALSE otherwise.
37746</return>
37747</function>
37748
37749<function name="g_mount_shadow">
37750<description>
37751Increments the shadow count on @mount. Usually used by
37752#GVolumeMonitor implementations when creating a shadow mount for
37753@mount, see g_mount_is_shadowed() for more information. The caller
37754will need to emit the #GMount::changed signal on @mount manually.
37755
37756Since: 2.20
37757
37758</description>
37759<parameters>
37760<parameter name="mount">
37761<parameter_description> A #GMount.
37762</parameter_description>
37763</parameter>
37764</parameters>
37765<return></return>
37766</function>
37767
37768<function name="g_mount_unmount">
37769<description>
37770Unmounts a mount. This is an asynchronous operation, and is
37771finished by calling g_mount_unmount_finish() with the @mount
37772and #GAsyncResult data returned in the @callback.
37773
37774Deprecated: 2.22: Use g_mount_unmount_with_operation() instead.
37775
37776</description>
37777<parameters>
37778<parameter name="mount">
37779<parameter_description> a #GMount.
37780</parameter_description>
37781</parameter>
37782<parameter name="flags">
37783<parameter_description> flags affecting the operation
37784</parameter_description>
37785</parameter>
37786<parameter name="cancellable">
37787<parameter_description> optional #GCancellable object, %NULL to ignore.
37788</parameter_description>
37789</parameter>
37790<parameter name="callback">
37791<parameter_description> a #GAsyncReadyCallback, or %NULL.
37792</parameter_description>
37793</parameter>
37794<parameter name="user_data">
37795<parameter_description> user data passed to @callback.
37796</parameter_description>
37797</parameter>
37798</parameters>
37799<return></return>
37800</function>
37801
37802<function name="g_mount_unmount_finish">
37803<description>
37804Finishes unmounting a mount. If any errors occurred during the operation,
37805@error will be set to contain the errors and %FALSE will be returned.
37806
37807Deprecated: 2.22: Use g_mount_unmount_with_operation_finish() instead.
37808
37809</description>
37810<parameters>
37811<parameter name="mount">
37812<parameter_description> a #GMount.
37813</parameter_description>
37814</parameter>
37815<parameter name="result">
37816<parameter_description> a #GAsyncResult.
37817</parameter_description>
37818</parameter>
37819<parameter name="error">
37820<parameter_description> a #GError location to store the error occurring, or %NULL to
37821ignore.
37822</parameter_description>
37823</parameter>
37824</parameters>
37825<return> %TRUE if the mount was successfully unmounted. %FALSE otherwise.
37826
37827</return>
37828</function>
37829
37830<function name="g_mount_unmount_with_operation">
37831<description>
37832Unmounts a mount. This is an asynchronous operation, and is
37833finished by calling g_mount_unmount_with_operation_finish() with the @mount
37834and #GAsyncResult data returned in the @callback.
37835
37836Since: 2.22
37837
37838</description>
37839<parameters>
37840<parameter name="mount">
37841<parameter_description> a #GMount.
37842</parameter_description>
37843</parameter>
37844<parameter name="flags">
37845<parameter_description> flags affecting the operation
37846</parameter_description>
37847</parameter>
37848<parameter name="mount_operation">
37849<parameter_description> a #GMountOperation or %NULL to avoid
37850user interaction.
37851</parameter_description>
37852</parameter>
37853<parameter name="cancellable">
37854<parameter_description> optional #GCancellable object, %NULL to ignore.
37855</parameter_description>
37856</parameter>
37857<parameter name="callback">
37858<parameter_description> a #GAsyncReadyCallback, or %NULL.
37859</parameter_description>
37860</parameter>
37861<parameter name="user_data">
37862<parameter_description> user data passed to @callback.
37863</parameter_description>
37864</parameter>
37865</parameters>
37866<return></return>
37867</function>
37868
37869<function name="g_mount_unmount_with_operation_finish">
37870<description>
37871Finishes unmounting a mount. If any errors occurred during the operation,
37872@error will be set to contain the errors and %FALSE will be returned.
37873
37874Since: 2.22
37875
37876</description>
37877<parameters>
37878<parameter name="mount">
37879<parameter_description> a #GMount.
37880</parameter_description>
37881</parameter>
37882<parameter name="result">
37883<parameter_description> a #GAsyncResult.
37884</parameter_description>
37885</parameter>
37886<parameter name="error">
37887<parameter_description> a #GError location to store the error occurring, or %NULL to
37888ignore.
37889</parameter_description>
37890</parameter>
37891</parameters>
37892<return> %TRUE if the mount was successfully unmounted. %FALSE otherwise.
37893
37894</return>
37895</function>
37896
37897<function name="g_mount_unshadow">
37898<description>
37899Decrements the shadow count on @mount. Usually used by
37900#GVolumeMonitor implementations when destroying a shadow mount for
37901@mount, see g_mount_is_shadowed() for more information. The caller
37902will need to emit the #GMount::changed signal on @mount manually.
37903
37904Since: 2.20
37905
37906</description>
37907<parameters>
37908<parameter name="mount">
37909<parameter_description> A #GMount.
37910</parameter_description>
37911</parameter>
37912</parameters>
37913<return></return>
37914</function>
37915
37916<function name="g_native_socket_address_new">
37917<description>
37918Creates a new #GNativeSocketAddress for @native and @len.
37919
37920Since: 2.46
37921
37922</description>
37923<parameters>
37924<parameter name="native">
37925<parameter_description> a native address object
37926</parameter_description>
37927</parameter>
37928<parameter name="len">
37929<parameter_description> the length of @native, in bytes
37930</parameter_description>
37931</parameter>
37932</parameters>
37933<return> a new #GNativeSocketAddress
37934
37935</return>
37936</function>
37937
37938<function name="g_network_address_get_hostname">
37939<description>
37940Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded,
37941depending on what @addr was created with.
37942
37943Since: 2.22
37944
37945</description>
37946<parameters>
37947<parameter name="addr">
37948<parameter_description> a #GNetworkAddress
37949</parameter_description>
37950</parameter>
37951</parameters>
37952<return> @addr's hostname
37953
37954</return>
37955</function>
37956
37957<function name="g_network_address_get_port">
37958<description>
37959Gets @addr's port number
37960
37961Since: 2.22
37962
37963</description>
37964<parameters>
37965<parameter name="addr">
37966<parameter_description> a #GNetworkAddress
37967</parameter_description>
37968</parameter>
37969</parameters>
37970<return> @addr's port (which may be 0)
37971
37972</return>
37973</function>
37974
37975<function name="g_network_address_get_scheme">
37976<description>
37977Gets @addr's scheme
37978
37979Since: 2.26
37980
37981</description>
37982<parameters>
37983<parameter name="addr">
37984<parameter_description> a #GNetworkAddress
37985</parameter_description>
37986</parameter>
37987</parameters>
37988<return> @addr's scheme (%NULL if not built from URI)
37989
37990</return>
37991</function>
37992
37993<function name="g_network_address_new">
37994<description>
37995Creates a new #GSocketConnectable for connecting to the given
37996@hostname and @port.
37997
37998Note that depending on the configuration of the machine, a
37999@hostname of `localhost` may refer to the IPv4 loopback address
38000only, or to both IPv4 and IPv6; use
38001g_network_address_new_loopback() to create a #GNetworkAddress that
38002is guaranteed to resolve to both addresses.
38003
38004Since: 2.22
38005
38006</description>
38007<parameters>
38008<parameter name="hostname">
38009<parameter_description> the hostname
38010</parameter_description>
38011</parameter>
38012<parameter name="port">
38013<parameter_description> the port
38014</parameter_description>
38015</parameter>
38016</parameters>
38017<return> the new #GNetworkAddress
38018
38019</return>
38020</function>
38021
38022<function name="g_network_address_new_loopback">
38023<description>
38024Creates a new #GSocketConnectable for connecting to the local host
38025over a loopback connection to the given @port. This is intended for
38026use in connecting to local services which may be running on IPv4 or
38027IPv6.
38028
38029The connectable will return IPv4 and IPv6 loopback addresses,
38030regardless of how the host resolves `localhost`. By contrast,
38031g_network_address_new() will often only return an IPv4 address when
38032resolving `localhost`, and an IPv6 address for `localhost6`.
38033
38034g_network_address_get_hostname() will always return `localhost` for
38035a #GNetworkAddress created with this constructor.
38036
38037Since: 2.44
38038
38039</description>
38040<parameters>
38041<parameter name="port">
38042<parameter_description> the port
38043</parameter_description>
38044</parameter>
38045</parameters>
38046<return> the new #GNetworkAddress
38047
38048</return>
38049</function>
38050
38051<function name="g_network_address_parse">
38052<description>
38053Creates a new #GSocketConnectable for connecting to the given
38054@hostname and @port. May fail and return %NULL in case
38055parsing @host_and_port fails.
38056
38057@host_and_port may be in any of a number of recognised formats; an IPv6
38058address, an IPv4 address, or a domain name (in which case a DNS
38059lookup is performed). Quoting with [] is supported for all address
38060types. A port override may be specified in the usual way with a
38061colon.
38062
38063If no port is specified in @host_and_port then @default_port will be
38064used as the port number to connect to.
38065
38066In general, @host_and_port is expected to be provided by the user
38067(allowing them to give the hostname, and a port override if necessary)
38068and @default_port is expected to be provided by the application.
38069
38070(The port component of @host_and_port can also be specified as a
38071service name rather than as a numeric port, but this functionality
38072is deprecated, because it depends on the contents of /etc/services,
38073which is generally quite sparse on platforms other than Linux.)
38074
38075Since: 2.22
38076
38077</description>
38078<parameters>
38079<parameter name="host_and_port">
38080<parameter_description> the hostname and optionally a port
38081</parameter_description>
38082</parameter>
38083<parameter name="default_port">
38084<parameter_description> the default port if not in @host_and_port
38085</parameter_description>
38086</parameter>
38087<parameter name="error">
38088<parameter_description> a pointer to a #GError, or %NULL
38089</parameter_description>
38090</parameter>
38091</parameters>
38092<return> the new
38093#GNetworkAddress, or %NULL on error
38094
38095</return>
38096</function>
38097
38098<function name="g_network_address_parse_uri">
38099<description>
38100Creates a new #GSocketConnectable for connecting to the given
38101@uri. May fail and return %NULL in case parsing @uri fails.
38102
38103Using this rather than g_network_address_new() or
38104g_network_address_parse() allows #GSocketClient to determine
38105when to use application-specific proxy protocols.
38106
38107Since: 2.26
38108
38109</description>
38110<parameters>
38111<parameter name="uri">
38112<parameter_description> the hostname and optionally a port
38113</parameter_description>
38114</parameter>
38115<parameter name="default_port">
38116<parameter_description> The default port if none is found in the URI
38117</parameter_description>
38118</parameter>
38119<parameter name="error">
38120<parameter_description> a pointer to a #GError, or %NULL
38121</parameter_description>
38122</parameter>
38123</parameters>
38124<return> the new
38125#GNetworkAddress, or %NULL on error
38126
38127</return>
38128</function>
38129
38130<function name="g_network_monitor_base_add_network">
38131<description>
38132Adds @network to @monitor's list of available networks.
38133
38134Since: 2.32
38135
38136</description>
38137<parameters>
38138<parameter name="monitor">
38139<parameter_description> the #GNetworkMonitorBase
38140</parameter_description>
38141</parameter>
38142<parameter name="network">
38143<parameter_description> a #GInetAddressMask
38144</parameter_description>
38145</parameter>
38146</parameters>
38147<return></return>
38148</function>
38149
38150<function name="g_network_monitor_base_remove_network">
38151<description>
38152Removes @network from @monitor's list of available networks.
38153
38154Since: 2.32
38155
38156</description>
38157<parameters>
38158<parameter name="monitor">
38159<parameter_description> the #GNetworkMonitorBase
38160</parameter_description>
38161</parameter>
38162<parameter name="network">
38163<parameter_description> a #GInetAddressMask
38164</parameter_description>
38165</parameter>
38166</parameters>
38167<return></return>
38168</function>
38169
38170<function name="g_network_monitor_base_set_networks">
38171<description>
38172Drops @monitor's current list of available networks and replaces
38173it with @networks.
38174
38175</description>
38176<parameters>
38177<parameter name="monitor">
38178<parameter_description> the #GNetworkMonitorBase
38179</parameter_description>
38180</parameter>
38181<parameter name="networks">
38182<parameter_description> an array of #GInetAddressMask
38183</parameter_description>
38184</parameter>
38185<parameter name="length">
38186<parameter_description> length of @networks
38187</parameter_description>
38188</parameter>
38189</parameters>
38190<return></return>
38191</function>
38192
38193<function name="g_network_monitor_can_reach">
38194<description>
38195Attempts to determine whether or not the host pointed to by
38196@connectable can be reached, without actually trying to connect to
38197it.
38198
38199This may return %TRUE even when #GNetworkMonitor:network-available
38200is %FALSE, if, for example, @monitor can determine that
38201@connectable refers to a host on a local network.
38202
38203If @monitor believes that an attempt to connect to @connectable
38204will succeed, it will return %TRUE. Otherwise, it will return
38205%FALSE and set @error to an appropriate error (such as
38206%G_IO_ERROR_HOST_UNREACHABLE).
38207
38208Note that although this does not attempt to connect to
38209@connectable, it may still block for a brief period of time (eg,
38210trying to do multicast DNS on the local network), so if you do not
38211want to block, you should use g_network_monitor_can_reach_async().
38212
38213Since: 2.32
38214
38215</description>
38216<parameters>
38217<parameter name="monitor">
38218<parameter_description> a #GNetworkMonitor
38219</parameter_description>
38220</parameter>
38221<parameter name="connectable">
38222<parameter_description> a #GSocketConnectable
38223</parameter_description>
38224</parameter>
38225<parameter name="cancellable">
38226<parameter_description> a #GCancellable, or %NULL
38227</parameter_description>
38228</parameter>
38229<parameter name="error">
38230<parameter_description> return location for a #GError, or %NULL
38231</parameter_description>
38232</parameter>
38233</parameters>
38234<return> %TRUE if @connectable is reachable, %FALSE if not.
38235
38236</return>
38237</function>
38238
38239<function name="g_network_monitor_can_reach_async">
38240<description>
38241Asynchronously attempts to determine whether or not the host
38242pointed to by @connectable can be reached, without actually
38243trying to connect to it.
38244
38245For more details, see g_network_monitor_can_reach().
38246
38247When the operation is finished, @callback will be called.
38248You can then call g_network_monitor_can_reach_finish()
38249to get the result of the operation.
38250
38251</description>
38252<parameters>
38253<parameter name="monitor">
38254<parameter_description> a #GNetworkMonitor
38255</parameter_description>
38256</parameter>
38257<parameter name="connectable">
38258<parameter_description> a #GSocketConnectable
38259</parameter_description>
38260</parameter>
38261<parameter name="cancellable">
38262<parameter_description> a #GCancellable, or %NULL
38263</parameter_description>
38264</parameter>
38265<parameter name="callback">
38266<parameter_description> a #GAsyncReadyCallback to call when the
38267request is satisfied
38268</parameter_description>
38269</parameter>
38270<parameter name="user_data">
38271<parameter_description> the data to pass to callback function
38272</parameter_description>
38273</parameter>
38274</parameters>
38275<return></return>
38276</function>
38277
38278<function name="g_network_monitor_can_reach_finish">
38279<description>
38280Finishes an async network connectivity test.
38281See g_network_monitor_can_reach_async().
38282
38283
38284</description>
38285<parameters>
38286<parameter name="monitor">
38287<parameter_description> a #GNetworkMonitor
38288</parameter_description>
38289</parameter>
38290<parameter name="result">
38291<parameter_description> a #GAsyncResult
38292</parameter_description>
38293</parameter>
38294<parameter name="error">
38295<parameter_description> return location for errors, or %NULL
38296</parameter_description>
38297</parameter>
38298</parameters>
38299<return> %TRUE if network is reachable, %FALSE if not.
38300</return>
38301</function>
38302
38303<function name="g_network_monitor_get_connectivity">
38304<description>
38305Gets a more detailed networking state than
38306g_network_monitor_get_network_available().
38307
38308If #GNetworkMonitor:network-available is %FALSE, then the
38309connectivity state will be %G_NETWORK_CONNECTIVITY_LOCAL.
38310
38311If #GNetworkMonitor:network-available is %TRUE, then the
38312connectivity state will be %G_NETWORK_CONNECTIVITY_FULL (if there
38313is full Internet connectivity), %G_NETWORK_CONNECTIVITY_LIMITED (if
38314the host has a default route, but appears to be unable to actually
38315reach the full Internet), or %G_NETWORK_CONNECTIVITY_PORTAL (if the
38316host is trapped behind a &quot;captive portal&quot; that requires some sort
38317of login or acknowledgement before allowing full Internet access).
38318
38319Note that in the case of %G_NETWORK_CONNECTIVITY_LIMITED and
38320%G_NETWORK_CONNECTIVITY_PORTAL, it is possible that some sites are
38321reachable but others are not. In this case, applications can
38322attempt to connect to remote servers, but should gracefully fall
38323back to their &quot;offline&quot; behavior if the connection attempt fails.
38324
38325Since: 2.44
38326
38327</description>
38328<parameters>
38329<parameter name="monitor">
38330<parameter_description> the #GNetworkMonitor
38331</parameter_description>
38332</parameter>
38333</parameters>
38334<return> the network connectivity state
38335
38336</return>
38337</function>
38338
38339<function name="g_network_monitor_get_default">
38340<description>
38341Gets the default #GNetworkMonitor for the system.
38342
38343Since: 2.32
38344
38345</description>
38346<parameters>
38347</parameters>
38348<return> a #GNetworkMonitor
38349
38350</return>
38351</function>
38352
38353<function name="g_network_monitor_get_network_available">
38354<description>
38355Checks if the network is available. &quot;Available&quot; here means that the
38356system has a default route available for at least one of IPv4 or
38357IPv6. It does not necessarily imply that the public Internet is
38358reachable. See #GNetworkMonitor:network-available for more details.
38359
38360Since: 2.32
38361
38362</description>
38363<parameters>
38364<parameter name="monitor">
38365<parameter_description> the #GNetworkMonitor
38366</parameter_description>
38367</parameter>
38368</parameters>
38369<return> whether the network is available
38370
38371</return>
38372</function>
38373
38374<function name="g_network_monitor_get_network_metered">
38375<description>
38376Checks if the network is metered.
38377See #GNetworkMonitor:network-metered for more details.
38378
38379Since: 2.46
38380
38381</description>
38382<parameters>
38383<parameter name="monitor">
38384<parameter_description> the #GNetworkMonitor
38385</parameter_description>
38386</parameter>
38387</parameters>
38388<return> whether the connection is metered
38389
38390</return>
38391</function>
38392
38393<function name="g_network_service_get_domain">
38394<description>
38395Gets the domain that @srv serves. This might be either UTF-8 or
38396ASCII-encoded, depending on what @srv was created with.
38397
38398Since: 2.22
38399
38400</description>
38401<parameters>
38402<parameter name="srv">
38403<parameter_description> a #GNetworkService
38404</parameter_description>
38405</parameter>
38406</parameters>
38407<return> @srv's domain name
38408
38409</return>
38410</function>
38411
38412<function name="g_network_service_get_protocol">
38413<description>
38414Gets @srv's protocol name (eg, &quot;tcp&quot;).
38415
38416Since: 2.22
38417
38418</description>
38419<parameters>
38420<parameter name="srv">
38421<parameter_description> a #GNetworkService
38422</parameter_description>
38423</parameter>
38424</parameters>
38425<return> @srv's protocol name
38426
38427</return>
38428</function>
38429
38430<function name="g_network_service_get_scheme">
38431<description>
38432Get's the URI scheme used to resolve proxies. By default, the service name
38433is used as scheme.
38434
38435Since: 2.26
38436
38437</description>
38438<parameters>
38439<parameter name="srv">
38440<parameter_description> a #GNetworkService
38441</parameter_description>
38442</parameter>
38443</parameters>
38444<return> @srv's scheme name
38445
38446</return>
38447</function>
38448
38449<function name="g_network_service_get_service">
38450<description>
38451Gets @srv's service name (eg, &quot;ldap&quot;).
38452
38453Since: 2.22
38454
38455</description>
38456<parameters>
38457<parameter name="srv">
38458<parameter_description> a #GNetworkService
38459</parameter_description>
38460</parameter>
38461</parameters>
38462<return> @srv's service name
38463
38464</return>
38465</function>
38466
38467<function name="g_network_service_new">
38468<description>
38469Creates a new #GNetworkService representing the given @service,
38470@protocol, and @domain. This will initially be unresolved; use the
38471#GSocketConnectable interface to resolve it.
38472
38473Since: 2.22
38474
38475</description>
38476<parameters>
38477<parameter name="service">
38478<parameter_description> the service type to look up (eg, &quot;ldap&quot;)
38479</parameter_description>
38480</parameter>
38481<parameter name="protocol">
38482<parameter_description> the networking protocol to use for @service (eg, &quot;tcp&quot;)
38483</parameter_description>
38484</parameter>
38485<parameter name="domain">
38486<parameter_description> the DNS domain to look up the service in
38487</parameter_description>
38488</parameter>
38489</parameters>
38490<return> a new #GNetworkService
38491
38492</return>
38493</function>
38494
38495<function name="g_network_service_set_scheme">
38496<description>
38497Set's the URI scheme used to resolve proxies. By default, the service name
38498is used as scheme.
38499
38500Since: 2.26
38501
38502</description>
38503<parameters>
38504<parameter name="srv">
38505<parameter_description> a #GNetworkService
38506</parameter_description>
38507</parameter>
38508<parameter name="scheme">
38509<parameter_description> a URI scheme
38510</parameter_description>
38511</parameter>
38512</parameters>
38513<return></return>
38514</function>
38515
38516<function name="g_networking_init">
38517<description>
38518Initializes the platform networking libraries (eg, on Windows, this
38519calls WSAStartup()). GLib will call this itself if it is needed, so
38520you only need to call it if you directly call system networking
38521functions (without calling any GLib networking functions first).
38522
38523Since: 2.36
38524
38525</description>
38526<parameters>
38527</parameters>
38528<return></return>
38529</function>
38530
38531<function name="g_notification_add_button">
38532<description>
38533Adds a button to @notification that activates the action in
38534@detailed_action when clicked. That action must be an
38535application-wide action (starting with &quot;app.&quot;). If @detailed_action
38536contains a target, the action will be activated with that target as
38537its parameter.
38538
38539See g_action_parse_detailed_name() for a description of the format
38540for @detailed_action.
38541
38542Since: 2.40
38543
38544</description>
38545<parameters>
38546<parameter name="notification">
38547<parameter_description> a #GNotification
38548</parameter_description>
38549</parameter>
38550<parameter name="label">
38551<parameter_description> label of the button
38552</parameter_description>
38553</parameter>
38554<parameter name="detailed_action">
38555<parameter_description> a detailed action name
38556</parameter_description>
38557</parameter>
38558</parameters>
38559<return></return>
38560</function>
38561
38562<function name="g_notification_add_button_with_target">
38563<description>
38564Adds a button to @notification that activates @action when clicked.
38565@action must be an application-wide action (it must start with &quot;app.&quot;).
38566
38567If @target_format is given, it is used to collect remaining
38568positional parameters into a #GVariant instance, similar to
38569g_variant_new(). @action will be activated with that #GVariant as its
38570parameter.
38571
38572Since: 2.40
38573
38574</description>
38575<parameters>
38576<parameter name="notification">
38577<parameter_description> a #GNotification
38578</parameter_description>
38579</parameter>
38580<parameter name="label">
38581<parameter_description> label of the button
38582</parameter_description>
38583</parameter>
38584<parameter name="action">
38585<parameter_description> an action name
38586</parameter_description>
38587</parameter>
38588<parameter name="target_format">
38589<parameter_description> a #GVariant format string, or %NULL
38590</parameter_description>
38591</parameter>
38592<parameter name="Varargs">
38593<parameter_description> positional parameters, as determined by @target_format
38594</parameter_description>
38595</parameter>
38596</parameters>
38597<return></return>
38598</function>
38599
38600<function name="g_notification_add_button_with_target_value">
38601<description>
38602Adds a button to @notification that activates @action when clicked.
38603@action must be an application-wide action (it must start with &quot;app.&quot;).
38604
38605If @target is non-%NULL, @action will be activated with @target as
38606its parameter.
38607
38608Since: 2.40
38609
38610</description>
38611<parameters>
38612<parameter name="notification">
38613<parameter_description> a #GNotification
38614</parameter_description>
38615</parameter>
38616<parameter name="label">
38617<parameter_description> label of the button
38618</parameter_description>
38619</parameter>
38620<parameter name="action">
38621<parameter_description> an action name
38622</parameter_description>
38623</parameter>
38624<parameter name="target">
38625<parameter_description> a #GVariant to use as @action's parameter, or %NULL
38626</parameter_description>
38627</parameter>
38628</parameters>
38629<return></return>
38630</function>
38631
38632<function name="g_notification_new">
38633<description>
38634Creates a new #GNotification with @title as its title.
38635
38636After populating @notification with more details, it can be sent to
38637the desktop shell with g_application_send_notification(). Changing
38638any properties after this call will not have any effect until
38639resending @notification.
38640
38641Since: 2.40
38642
38643</description>
38644<parameters>
38645<parameter name="title">
38646<parameter_description> the title of the notification
38647</parameter_description>
38648</parameter>
38649</parameters>
38650<return> a new #GNotification instance
38651
38652</return>
38653</function>
38654
38655<function name="g_notification_set_body">
38656<description>
38657Sets the body of @notification to @body.
38658
38659Since: 2.40
38660
38661</description>
38662<parameters>
38663<parameter name="notification">
38664<parameter_description> a #GNotification
38665</parameter_description>
38666</parameter>
38667<parameter name="body">
38668<parameter_description> the new body for @notification, or %NULL
38669</parameter_description>
38670</parameter>
38671</parameters>
38672<return></return>
38673</function>
38674
38675<function name="g_notification_set_default_action">
38676<description>
38677Sets the default action of @notification to @detailed_action. This
38678action is activated when the notification is clicked on.
38679
38680The action in @detailed_action must be an application-wide action (it
38681must start with &quot;app.&quot;). If @detailed_action contains a target, the
38682given action will be activated with that target as its parameter.
38683See g_action_parse_detailed_name() for a description of the format
38684for @detailed_action.
38685
38686When no default action is set, the application that the notification
38687was sent on is activated.
38688
38689Since: 2.40
38690
38691</description>
38692<parameters>
38693<parameter name="notification">
38694<parameter_description> a #GNotification
38695</parameter_description>
38696</parameter>
38697<parameter name="detailed_action">
38698<parameter_description> a detailed action name
38699</parameter_description>
38700</parameter>
38701</parameters>
38702<return></return>
38703</function>
38704
38705<function name="g_notification_set_default_action_and_target">
38706<description>
38707Sets the default action of @notification to @action. This action is
38708activated when the notification is clicked on. It must be an
38709application-wide action (it must start with &quot;app.&quot;).
38710
38711If @target_format is given, it is used to collect remaining
38712positional parameters into a #GVariant instance, similar to
38713g_variant_new(). @action will be activated with that #GVariant as its
38714parameter.
38715
38716When no default action is set, the application that the notification
38717was sent on is activated.
38718
38719Since: 2.40
38720
38721</description>
38722<parameters>
38723<parameter name="notification">
38724<parameter_description> a #GNotification
38725</parameter_description>
38726</parameter>
38727<parameter name="action">
38728<parameter_description> an action name
38729</parameter_description>
38730</parameter>
38731<parameter name="target_format">
38732<parameter_description> a #GVariant format string, or %NULL
38733</parameter_description>
38734</parameter>
38735<parameter name="Varargs">
38736<parameter_description> positional parameters, as determined by @target_format
38737</parameter_description>
38738</parameter>
38739</parameters>
38740<return></return>
38741</function>
38742
38743<function name="g_notification_set_default_action_and_target_value">
38744<description>
38745Sets the default action of @notification to @action. This action is
38746activated when the notification is clicked on. It must be an
38747application-wide action (start with &quot;app.&quot;).
38748
38749If @target is non-%NULL, @action will be activated with @target as
38750its parameter.
38751
38752When no default action is set, the application that the notification
38753was sent on is activated.
38754
38755Since: 2.40
38756
38757</description>
38758<parameters>
38759<parameter name="notification">
38760<parameter_description> a #GNotification
38761</parameter_description>
38762</parameter>
38763<parameter name="action">
38764<parameter_description> an action name
38765</parameter_description>
38766</parameter>
38767<parameter name="target">
38768<parameter_description> a #GVariant to use as @action's parameter, or %NULL
38769</parameter_description>
38770</parameter>
38771</parameters>
38772<return></return>
38773</function>
38774
38775<function name="g_notification_set_icon">
38776<description>
38777Sets the icon of @notification to @icon.
38778
38779Since: 2.40
38780
38781</description>
38782<parameters>
38783<parameter name="notification">
38784<parameter_description> a #GNotification
38785</parameter_description>
38786</parameter>
38787<parameter name="icon">
38788<parameter_description> the icon to be shown in @notification, as a #GIcon
38789</parameter_description>
38790</parameter>
38791</parameters>
38792<return></return>
38793</function>
38794
38795<function name="g_notification_set_priority">
38796<description>
38797Sets the priority of @notification to @priority. See
38798#GNotificationPriority for possible values.
38799
38800</description>
38801<parameters>
38802<parameter name="notification">
38803<parameter_description> a #GNotification
38804</parameter_description>
38805</parameter>
38806<parameter name="priority">
38807<parameter_description> a #GNotificationPriority
38808</parameter_description>
38809</parameter>
38810</parameters>
38811<return></return>
38812</function>
38813
38814<function name="g_notification_set_title">
38815<description>
38816Sets the title of @notification to @title.
38817
38818Since: 2.40
38819
38820</description>
38821<parameters>
38822<parameter name="notification">
38823<parameter_description> a #GNotification
38824</parameter_description>
38825</parameter>
38826<parameter name="title">
38827<parameter_description> the new title for @notification
38828</parameter_description>
38829</parameter>
38830</parameters>
38831<return></return>
38832</function>
38833
38834<function name="g_notification_set_urgent">
38835<description>
38836Deprecated in favor of g_notification_set_priority().
38837
38838Since: 2.40
38839Deprecated: 2.42: Since 2.42, this has been deprecated in favour of
38840g_notification_set_priority().
38841
38842</description>
38843<parameters>
38844<parameter name="notification">
38845<parameter_description> a #GNotification
38846</parameter_description>
38847</parameter>
38848<parameter name="urgent">
38849<parameter_description> %TRUE if @notification is urgent
38850</parameter_description>
38851</parameter>
38852</parameters>
38853<return></return>
38854</function>
38855
38856<function name="g_null_settings_backend_new">
38857<description>
38858Creates a readonly #GSettingsBackend.
38859
38860This backend does not allow changes to settings, so all settings
38861will always have their default values.
38862
38863Since: 2.28
38864
38865</description>
38866<parameters>
38867</parameters>
38868<return> a newly created #GSettingsBackend
38869
38870</return>
38871</function>
38872
38873<function name="g_output_stream_clear_pending">
38874<description>
38875Clears the pending flag on @stream.
38876
38877</description>
38878<parameters>
38879<parameter name="stream">
38880<parameter_description> output stream
38881</parameter_description>
38882</parameter>
38883</parameters>
38884<return></return>
38885</function>
38886
38887<function name="g_output_stream_close">
38888<description>
38889Closes the stream, releasing resources related to it.
38890
38891Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED.
38892Closing a stream multiple times will not return an error.
38893
38894Closing a stream will automatically flush any outstanding buffers in the
38895stream.
38896
38897Streams will be automatically closed when the last reference
38898is dropped, but you might want to call this function to make sure
38899resources are released as early as possible.
38900
38901Some streams might keep the backing store of the stream (e.g. a file descriptor)
38902open after the stream is closed. See the documentation for the individual
38903stream for details.
38904
38905On failure the first error that happened will be reported, but the close
38906operation will finish as much as possible. A stream that failed to
38907close will still return %G_IO_ERROR_CLOSED for all operations. Still, it
38908is important to check and report the error to the user, otherwise
38909there might be a loss of data as all data might not be written.
38910
38911If @cancellable is not %NULL, then the operation can be cancelled by
38912triggering the cancellable object from another thread. If the operation
38913was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
38914Cancelling a close will still leave the stream closed, but there some streams
38915can use a faster close that doesn't block to e.g. check errors. On
38916cancellation (as with any error) there is no guarantee that all written
38917data will reach the target.
38918
38919
38920</description>
38921<parameters>
38922<parameter name="stream">
38923<parameter_description> A #GOutputStream.
38924</parameter_description>
38925</parameter>
38926<parameter name="cancellable">
38927<parameter_description> optional cancellable object
38928</parameter_description>
38929</parameter>
38930<parameter name="error">
38931<parameter_description> location to store the error occurring, or %NULL to ignore
38932</parameter_description>
38933</parameter>
38934</parameters>
38935<return> %TRUE on success, %FALSE on failure
38936</return>
38937</function>
38938
38939<function name="g_output_stream_close_async">
38940<description>
38941Requests an asynchronous close of the stream, releasing resources
38942related to it. When the operation is finished @callback will be
38943called. You can then call g_output_stream_close_finish() to get
38944the result of the operation.
38945
38946For behaviour details see g_output_stream_close().
38947
38948The asynchronous methods have a default fallback that uses threads
38949to implement asynchronicity, so they are optional for inheriting
38950classes. However, if you override one you must override all.
38951
38952</description>
38953<parameters>
38954<parameter name="stream">
38955<parameter_description> A #GOutputStream.
38956</parameter_description>
38957</parameter>
38958<parameter name="io_priority">
38959<parameter_description> the io priority of the request.
38960</parameter_description>
38961</parameter>
38962<parameter name="cancellable">
38963<parameter_description> optional cancellable object
38964</parameter_description>
38965</parameter>
38966<parameter name="callback">
38967<parameter_description> callback to call when the request is satisfied
38968</parameter_description>
38969</parameter>
38970<parameter name="user_data">
38971<parameter_description> the data to pass to callback function
38972</parameter_description>
38973</parameter>
38974</parameters>
38975<return></return>
38976</function>
38977
38978<function name="g_output_stream_close_finish">
38979<description>
38980Closes an output stream.
38981
38982
38983</description>
38984<parameters>
38985<parameter name="stream">
38986<parameter_description> a #GOutputStream.
38987</parameter_description>
38988</parameter>
38989<parameter name="result">
38990<parameter_description> a #GAsyncResult.
38991</parameter_description>
38992</parameter>
38993<parameter name="error">
38994<parameter_description> a #GError location to store the error occurring, or %NULL to
38995ignore.
38996</parameter_description>
38997</parameter>
38998</parameters>
38999<return> %TRUE if stream was successfully closed, %FALSE otherwise.
39000</return>
39001</function>
39002
39003<function name="g_output_stream_flush">
39004<description>
39005Forces a write of all user-space buffered data for the given
39006@stream. Will block during the operation. Closing the stream will
39007implicitly cause a flush.
39008
39009This function is optional for inherited classes.
39010
39011If @cancellable is not %NULL, then the operation can be cancelled by
39012triggering the cancellable object from another thread. If the operation
39013was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
39014
39015
39016</description>
39017<parameters>
39018<parameter name="stream">
39019<parameter_description> a #GOutputStream.
39020</parameter_description>
39021</parameter>
39022<parameter name="cancellable">
39023<parameter_description> optional cancellable object
39024</parameter_description>
39025</parameter>
39026<parameter name="error">
39027<parameter_description> location to store the error occurring, or %NULL to ignore
39028</parameter_description>
39029</parameter>
39030</parameters>
39031<return> %TRUE on success, %FALSE on error
39032</return>
39033</function>
39034
39035<function name="g_output_stream_flush_async">
39036<description>
39037Forces an asynchronous write of all user-space buffered data for
39038the given @stream.
39039For behaviour details see g_output_stream_flush().
39040
39041When the operation is finished @callback will be
39042called. You can then call g_output_stream_flush_finish() to get the
39043result of the operation.
39044
39045</description>
39046<parameters>
39047<parameter name="stream">
39048<parameter_description> a #GOutputStream.
39049</parameter_description>
39050</parameter>
39051<parameter name="io_priority">
39052<parameter_description> the io priority of the request.
39053</parameter_description>
39054</parameter>
39055<parameter name="cancellable">
39056<parameter_description> optional #GCancellable object, %NULL to ignore.
39057</parameter_description>
39058</parameter>
39059<parameter name="callback">
39060<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
39061</parameter_description>
39062</parameter>
39063<parameter name="user_data">
39064<parameter_description> the data to pass to callback function
39065</parameter_description>
39066</parameter>
39067</parameters>
39068<return></return>
39069</function>
39070
39071<function name="g_output_stream_flush_finish">
39072<description>
39073Finishes flushing an output stream.
39074
39075
39076</description>
39077<parameters>
39078<parameter name="stream">
39079<parameter_description> a #GOutputStream.
39080</parameter_description>
39081</parameter>
39082<parameter name="result">
39083<parameter_description> a GAsyncResult.
39084</parameter_description>
39085</parameter>
39086<parameter name="error">
39087<parameter_description> a #GError location to store the error occurring, or %NULL to
39088ignore.
39089</parameter_description>
39090</parameter>
39091</parameters>
39092<return> %TRUE if flush operation succeeded, %FALSE otherwise.
39093</return>
39094</function>
39095
39096<function name="g_output_stream_has_pending">
39097<description>
39098Checks if an output stream has pending actions.
39099
39100
39101</description>
39102<parameters>
39103<parameter name="stream">
39104<parameter_description> a #GOutputStream.
39105</parameter_description>
39106</parameter>
39107</parameters>
39108<return> %TRUE if @stream has pending actions.
39109</return>
39110</function>
39111
39112<function name="g_output_stream_is_closed">
39113<description>
39114Checks if an output stream has already been closed.
39115
39116
39117</description>
39118<parameters>
39119<parameter name="stream">
39120<parameter_description> a #GOutputStream.
39121</parameter_description>
39122</parameter>
39123</parameters>
39124<return> %TRUE if @stream is closed. %FALSE otherwise.
39125</return>
39126</function>
39127
39128<function name="g_output_stream_is_closing">
39129<description>
39130Checks if an output stream is being closed. This can be
39131used inside e.g. a flush implementation to see if the
39132flush (or other i/o operation) is called from within
39133the closing operation.
39134
39135Since: 2.24
39136
39137</description>
39138<parameters>
39139<parameter name="stream">
39140<parameter_description> a #GOutputStream.
39141</parameter_description>
39142</parameter>
39143</parameters>
39144<return> %TRUE if @stream is being closed. %FALSE otherwise.
39145
39146</return>
39147</function>
39148
39149<function name="g_output_stream_printf">
39150<description>
39151This is a utility function around g_output_stream_write_all(). It
39152uses g_strdup_vprintf() to turn @format and @... into a string that
39153is then written to @stream.
39154
39155See the documentation of g_output_stream_write_all() about the
39156behavior of the actual write operation.
39157
39158Note that partial writes cannot be properly checked with this
39159function due to the variable length of the written string, if you
39160need precise control over partial write failures, you need to
39161create you own printf()-like wrapper around g_output_stream_write()
39162or g_output_stream_write_all().
39163
39164Since: 2.40
39165
39166
39167</description>
39168<parameters>
39169<parameter name="stream">
39170<parameter_description> a #GOutputStream.
39171</parameter_description>
39172</parameter>
39173<parameter name="bytes_written">
39174<parameter_description> location to store the number of bytes that was
39175written to the stream
39176</parameter_description>
39177</parameter>
39178<parameter name="cancellable">
39179<parameter_description> optional #GCancellable object, %NULL to ignore.
39180</parameter_description>
39181</parameter>
39182<parameter name="error">
39183<parameter_description> location to store the error occurring, or %NULL to ignore
39184</parameter_description>
39185</parameter>
39186<parameter name="format">
39187<parameter_description> the format string. See the printf() documentation
39188</parameter_description>
39189</parameter>
39190<parameter name="Varargs">
39191<parameter_description> the parameters to insert into the format string
39192</parameter_description>
39193</parameter>
39194</parameters>
39195<return> %TRUE on success, %FALSE if there was an error
39196</return>
39197</function>
39198
39199<function name="g_output_stream_set_pending">
39200<description>
39201Sets @stream to have actions pending. If the pending flag is
39202already set or @stream is closed, it will return %FALSE and set
39203@error.
39204
39205
39206</description>
39207<parameters>
39208<parameter name="stream">
39209<parameter_description> a #GOutputStream.
39210</parameter_description>
39211</parameter>
39212<parameter name="error">
39213<parameter_description> a #GError location to store the error occurring, or %NULL to
39214ignore.
39215</parameter_description>
39216</parameter>
39217</parameters>
39218<return> %TRUE if pending was previously unset and is now set.
39219</return>
39220</function>
39221
39222<function name="g_output_stream_splice">
39223<description>
39224Splices an input stream into an output stream.
39225
39226
39227</description>
39228<parameters>
39229<parameter name="stream">
39230<parameter_description> a #GOutputStream.
39231</parameter_description>
39232</parameter>
39233<parameter name="source">
39234<parameter_description> a #GInputStream.
39235</parameter_description>
39236</parameter>
39237<parameter name="flags">
39238<parameter_description> a set of #GOutputStreamSpliceFlags.
39239</parameter_description>
39240</parameter>
39241<parameter name="cancellable">
39242<parameter_description> optional #GCancellable object, %NULL to ignore.
39243</parameter_description>
39244</parameter>
39245<parameter name="error">
39246<parameter_description> a #GError location to store the error occurring, or %NULL to
39247ignore.
39248</parameter_description>
39249</parameter>
39250</parameters>
39251<return> a #gssize containing the size of the data spliced, or
39252-1 if an error occurred. Note that if the number of bytes
39253spliced is greater than %G_MAXSSIZE, then that will be
39254returned, and there is no way to determine the actual number
39255of bytes spliced.
39256</return>
39257</function>
39258
39259<function name="g_output_stream_splice_async">
39260<description>
39261Splices a stream asynchronously.
39262When the operation is finished @callback will be called.
39263You can then call g_output_stream_splice_finish() to get the
39264result of the operation.
39265
39266For the synchronous, blocking version of this function, see
39267g_output_stream_splice().
39268
39269</description>
39270<parameters>
39271<parameter name="stream">
39272<parameter_description> a #GOutputStream.
39273</parameter_description>
39274</parameter>
39275<parameter name="source">
39276<parameter_description> a #GInputStream.
39277</parameter_description>
39278</parameter>
39279<parameter name="flags">
39280<parameter_description> a set of #GOutputStreamSpliceFlags.
39281</parameter_description>
39282</parameter>
39283<parameter name="io_priority">
39284<parameter_description> the io priority of the request.
39285</parameter_description>
39286</parameter>
39287<parameter name="cancellable">
39288<parameter_description> optional #GCancellable object, %NULL to ignore.
39289</parameter_description>
39290</parameter>
39291<parameter name="callback">
39292<parameter_description> a #GAsyncReadyCallback.
39293</parameter_description>
39294</parameter>
39295<parameter name="user_data">
39296<parameter_description> user data passed to @callback.
39297</parameter_description>
39298</parameter>
39299</parameters>
39300<return></return>
39301</function>
39302
39303<function name="g_output_stream_splice_finish">
39304<description>
39305Finishes an asynchronous stream splice operation.
39306
39307
39308</description>
39309<parameters>
39310<parameter name="stream">
39311<parameter_description> a #GOutputStream.
39312</parameter_description>
39313</parameter>
39314<parameter name="result">
39315<parameter_description> a #GAsyncResult.
39316</parameter_description>
39317</parameter>
39318<parameter name="error">
39319<parameter_description> a #GError location to store the error occurring, or %NULL to
39320ignore.
39321</parameter_description>
39322</parameter>
39323</parameters>
39324<return> a #gssize of the number of bytes spliced. Note that if the
39325number of bytes spliced is greater than %G_MAXSSIZE, then that
39326will be returned, and there is no way to determine the actual
39327number of bytes spliced.
39328</return>
39329</function>
39330
39331<function name="g_output_stream_vprintf">
39332<description>
39333This is a utility function around g_output_stream_write_all(). It
39334uses g_strdup_vprintf() to turn @format and @args into a string that
39335is then written to @stream.
39336
39337See the documentation of g_output_stream_write_all() about the
39338behavior of the actual write operation.
39339
39340Note that partial writes cannot be properly checked with this
39341function due to the variable length of the written string, if you
39342need precise control over partial write failures, you need to
39343create you own printf()-like wrapper around g_output_stream_write()
39344or g_output_stream_write_all().
39345
39346Since: 2.40
39347
39348
39349</description>
39350<parameters>
39351<parameter name="stream">
39352<parameter_description> a #GOutputStream.
39353</parameter_description>
39354</parameter>
39355<parameter name="bytes_written">
39356<parameter_description> location to store the number of bytes that was
39357written to the stream
39358</parameter_description>
39359</parameter>
39360<parameter name="cancellable">
39361<parameter_description> optional #GCancellable object, %NULL to ignore.
39362</parameter_description>
39363</parameter>
39364<parameter name="error">
39365<parameter_description> location to store the error occurring, or %NULL to ignore
39366</parameter_description>
39367</parameter>
39368<parameter name="format">
39369<parameter_description> the format string. See the printf() documentation
39370</parameter_description>
39371</parameter>
39372<parameter name="args">
39373<parameter_description> the parameters to insert into the format string
39374</parameter_description>
39375</parameter>
39376</parameters>
39377<return> %TRUE on success, %FALSE if there was an error
39378</return>
39379</function>
39380
39381<function name="g_output_stream_write">
39382<description>
39383Tries to write @count bytes from @buffer into the stream. Will block
39384during the operation.
39385
39386If count is 0, returns 0 and does nothing. A value of @count
39387larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error.
39388
39389On success, the number of bytes written to the stream is returned.
39390It is not an error if this is not the same as the requested size, as it
39391can happen e.g. on a partial I/O error, or if there is not enough
39392storage in the stream. All writes block until at least one byte
39393is written or an error occurs; 0 is never returned (unless
39394@count is 0).
39395
39396If @cancellable is not %NULL, then the operation can be cancelled by
39397triggering the cancellable object from another thread. If the operation
39398was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
39399operation was partially finished when the operation was cancelled the
39400partial result will be returned, without an error.
39401
39402On error -1 is returned and @error is set accordingly.
39403
39404Virtual: write_fn
39405
39406
39407</description>
39408<parameters>
39409<parameter name="stream">
39410<parameter_description> a #GOutputStream.
39411</parameter_description>
39412</parameter>
39413<parameter name="buffer">
39414<parameter_description> the buffer containing the data to write.
39415</parameter_description>
39416</parameter>
39417<parameter name="count">
39418<parameter_description> the number of bytes to write
39419</parameter_description>
39420</parameter>
39421<parameter name="cancellable">
39422<parameter_description> optional cancellable object
39423</parameter_description>
39424</parameter>
39425<parameter name="error">
39426<parameter_description> location to store the error occurring, or %NULL to ignore
39427</parameter_description>
39428</parameter>
39429</parameters>
39430<return> Number of bytes written, or -1 on error
39431</return>
39432</function>
39433
39434<function name="g_output_stream_write_all">
39435<description>
39436Tries to write @count bytes from @buffer into the stream. Will block
39437during the operation.
39438
39439This function is similar to g_output_stream_write(), except it tries to
39440write as many bytes as requested, only stopping on an error.
39441
39442On a successful write of @count bytes, %TRUE is returned, and @bytes_written
39443is set to @count.
39444
39445If there is an error during the operation %FALSE is returned and @error
39446is set to indicate the error status.
39447
39448As a special exception to the normal conventions for functions that
39449use #GError, if this function returns %FALSE (and sets @error) then
39450@bytes_written will be set to the number of bytes that were
39451successfully written before the error was encountered.  This
39452functionality is only available from C.  If you need it from another
39453language then you must write your own loop around
39454g_output_stream_write().
39455
39456
39457</description>
39458<parameters>
39459<parameter name="stream">
39460<parameter_description> a #GOutputStream.
39461</parameter_description>
39462</parameter>
39463<parameter name="buffer">
39464<parameter_description> the buffer containing the data to write.
39465</parameter_description>
39466</parameter>
39467<parameter name="count">
39468<parameter_description> the number of bytes to write
39469</parameter_description>
39470</parameter>
39471<parameter name="bytes_written">
39472<parameter_description> location to store the number of bytes that was
39473written to the stream
39474</parameter_description>
39475</parameter>
39476<parameter name="cancellable">
39477<parameter_description> optional #GCancellable object, %NULL to ignore.
39478</parameter_description>
39479</parameter>
39480<parameter name="error">
39481<parameter_description> location to store the error occurring, or %NULL to ignore
39482</parameter_description>
39483</parameter>
39484</parameters>
39485<return> %TRUE on success, %FALSE if there was an error
39486</return>
39487</function>
39488
39489<function name="g_output_stream_write_all_async">
39490<description>
39491Request an asynchronous write of @count bytes from @buffer into
39492the stream. When the operation is finished @callback will be called.
39493You can then call g_output_stream_write_all_finish() to get the result of the
39494operation.
39495
39496This is the asynchronous version of g_output_stream_write_all().
39497
39498Call g_output_stream_write_all_finish() to collect the result.
39499
39500Any outstanding I/O request with higher priority (lower numerical
39501value) will be executed before an outstanding request with lower
39502priority. Default priority is %G_PRIORITY_DEFAULT.
39503
39504Note that no copy of @buffer will be made, so it must stay valid
39505until @callback is called.
39506
39507Since: 2.44
39508
39509</description>
39510<parameters>
39511<parameter name="stream">
39512<parameter_description> A #GOutputStream
39513</parameter_description>
39514</parameter>
39515<parameter name="buffer">
39516<parameter_description> the buffer containing the data to write
39517</parameter_description>
39518</parameter>
39519<parameter name="count">
39520<parameter_description> the number of bytes to write
39521</parameter_description>
39522</parameter>
39523<parameter name="io_priority">
39524<parameter_description> the io priority of the request
39525</parameter_description>
39526</parameter>
39527<parameter name="cancellable">
39528<parameter_description> optional #GCancellable object, %NULL to ignore
39529</parameter_description>
39530</parameter>
39531<parameter name="callback">
39532<parameter_description> callback to call when the request is satisfied
39533</parameter_description>
39534</parameter>
39535<parameter name="user_data">
39536<parameter_description> the data to pass to callback function
39537</parameter_description>
39538</parameter>
39539</parameters>
39540<return></return>
39541</function>
39542
39543<function name="g_output_stream_write_all_finish">
39544<description>
39545Finishes an asynchronous stream write operation started with
39546g_output_stream_write_all_async().
39547
39548As a special exception to the normal conventions for functions that
39549use #GError, if this function returns %FALSE (and sets @error) then
39550@bytes_written will be set to the number of bytes that were
39551successfully written before the error was encountered.  This
39552functionality is only available from C.  If you need it from another
39553language then you must write your own loop around
39554g_output_stream_write_async().
39555
39556Since: 2.44
39557
39558</description>
39559<parameters>
39560<parameter name="stream">
39561<parameter_description> a #GOutputStream
39562</parameter_description>
39563</parameter>
39564<parameter name="result">
39565<parameter_description> a #GAsyncResult
39566</parameter_description>
39567</parameter>
39568<parameter name="bytes_written">
39569<parameter_description> location to store the number of bytes that was written to the stream
39570</parameter_description>
39571</parameter>
39572<parameter name="error">
39573<parameter_description> a #GError location to store the error occurring, or %NULL to ignore.
39574</parameter_description>
39575</parameter>
39576</parameters>
39577<return> %TRUE on success, %FALSE if there was an error
39578
39579</return>
39580</function>
39581
39582<function name="g_output_stream_write_async">
39583<description>
39584Request an asynchronous write of @count bytes from @buffer into
39585the stream. When the operation is finished @callback will be called.
39586You can then call g_output_stream_write_finish() to get the result of the
39587operation.
39588
39589During an async request no other sync and async calls are allowed,
39590and will result in %G_IO_ERROR_PENDING errors.
39591
39592A value of @count larger than %G_MAXSSIZE will cause a
39593%G_IO_ERROR_INVALID_ARGUMENT error.
39594
39595On success, the number of bytes written will be passed to the
39596@callback. It is not an error if this is not the same as the
39597requested size, as it can happen e.g. on a partial I/O error,
39598but generally we try to write as many bytes as requested.
39599
39600You are guaranteed that this method will never fail with
39601%G_IO_ERROR_WOULD_BLOCK - if @stream can't accept more data, the
39602method will just wait until this changes.
39603
39604Any outstanding I/O request with higher priority (lower numerical
39605value) will be executed before an outstanding request with lower
39606priority. Default priority is %G_PRIORITY_DEFAULT.
39607
39608The asynchronous methods have a default fallback that uses threads
39609to implement asynchronicity, so they are optional for inheriting
39610classes. However, if you override one you must override all.
39611
39612For the synchronous, blocking version of this function, see
39613g_output_stream_write().
39614
39615Note that no copy of @buffer will be made, so it must stay valid
39616until @callback is called. See g_output_stream_write_bytes_async()
39617for a #GBytes version that will automatically hold a reference to
39618the contents (without copying) for the duration of the call.
39619
39620</description>
39621<parameters>
39622<parameter name="stream">
39623<parameter_description> A #GOutputStream.
39624</parameter_description>
39625</parameter>
39626<parameter name="buffer">
39627<parameter_description> the buffer containing the data to write.
39628</parameter_description>
39629</parameter>
39630<parameter name="count">
39631<parameter_description> the number of bytes to write
39632</parameter_description>
39633</parameter>
39634<parameter name="io_priority">
39635<parameter_description> the io priority of the request.
39636</parameter_description>
39637</parameter>
39638<parameter name="cancellable">
39639<parameter_description> optional #GCancellable object, %NULL to ignore.
39640</parameter_description>
39641</parameter>
39642<parameter name="callback">
39643<parameter_description> callback to call when the request is satisfied
39644</parameter_description>
39645</parameter>
39646<parameter name="user_data">
39647<parameter_description> the data to pass to callback function
39648</parameter_description>
39649</parameter>
39650</parameters>
39651<return></return>
39652</function>
39653
39654<function name="g_output_stream_write_bytes">
39655<description>
39656A wrapper function for g_output_stream_write() which takes a
39657#GBytes as input.  This can be more convenient for use by language
39658bindings or in other cases where the refcounted nature of #GBytes
39659is helpful over a bare pointer interface.
39660
39661However, note that this function may still perform partial writes,
39662just like g_output_stream_write().  If that occurs, to continue
39663writing, you will need to create a new #GBytes containing just the
39664remaining bytes, using g_bytes_new_from_bytes(). Passing the same
39665#GBytes instance multiple times potentially can result in duplicated
39666data in the output stream.
39667
39668
39669</description>
39670<parameters>
39671<parameter name="stream">
39672<parameter_description> a #GOutputStream.
39673</parameter_description>
39674</parameter>
39675<parameter name="bytes">
39676<parameter_description> the #GBytes to write
39677</parameter_description>
39678</parameter>
39679<parameter name="cancellable">
39680<parameter_description> optional cancellable object
39681</parameter_description>
39682</parameter>
39683<parameter name="error">
39684<parameter_description> location to store the error occurring, or %NULL to ignore
39685</parameter_description>
39686</parameter>
39687</parameters>
39688<return> Number of bytes written, or -1 on error
39689</return>
39690</function>
39691
39692<function name="g_output_stream_write_bytes_async">
39693<description>
39694This function is similar to g_output_stream_write_async(), but
39695takes a #GBytes as input.  Due to the refcounted nature of #GBytes,
39696this allows the stream to avoid taking a copy of the data.
39697
39698However, note that this function may still perform partial writes,
39699just like g_output_stream_write_async(). If that occurs, to continue
39700writing, you will need to create a new #GBytes containing just the
39701remaining bytes, using g_bytes_new_from_bytes(). Passing the same
39702#GBytes instance multiple times potentially can result in duplicated
39703data in the output stream.
39704
39705For the synchronous, blocking version of this function, see
39706g_output_stream_write_bytes().
39707
39708</description>
39709<parameters>
39710<parameter name="stream">
39711<parameter_description> A #GOutputStream.
39712</parameter_description>
39713</parameter>
39714<parameter name="bytes">
39715<parameter_description> The bytes to write
39716</parameter_description>
39717</parameter>
39718<parameter name="io_priority">
39719<parameter_description> the io priority of the request.
39720</parameter_description>
39721</parameter>
39722<parameter name="cancellable">
39723<parameter_description> optional #GCancellable object, %NULL to ignore.
39724</parameter_description>
39725</parameter>
39726<parameter name="callback">
39727<parameter_description> callback to call when the request is satisfied
39728</parameter_description>
39729</parameter>
39730<parameter name="user_data">
39731<parameter_description> the data to pass to callback function
39732</parameter_description>
39733</parameter>
39734</parameters>
39735<return></return>
39736</function>
39737
39738<function name="g_output_stream_write_bytes_finish">
39739<description>
39740Finishes a stream write-from-#GBytes operation.
39741
39742
39743</description>
39744<parameters>
39745<parameter name="stream">
39746<parameter_description> a #GOutputStream.
39747</parameter_description>
39748</parameter>
39749<parameter name="result">
39750<parameter_description> a #GAsyncResult.
39751</parameter_description>
39752</parameter>
39753<parameter name="error">
39754<parameter_description> a #GError location to store the error occurring, or %NULL to
39755ignore.
39756</parameter_description>
39757</parameter>
39758</parameters>
39759<return> a #gssize containing the number of bytes written to the stream.
39760</return>
39761</function>
39762
39763<function name="g_output_stream_write_finish">
39764<description>
39765Finishes a stream write operation.
39766
39767
39768</description>
39769<parameters>
39770<parameter name="stream">
39771<parameter_description> a #GOutputStream.
39772</parameter_description>
39773</parameter>
39774<parameter name="result">
39775<parameter_description> a #GAsyncResult.
39776</parameter_description>
39777</parameter>
39778<parameter name="error">
39779<parameter_description> a #GError location to store the error occurring, or %NULL to
39780ignore.
39781</parameter_description>
39782</parameter>
39783</parameters>
39784<return> a #gssize containing the number of bytes written to the stream.
39785</return>
39786</function>
39787
39788<function name="g_output_stream_writev">
39789<description>
39790Tries to write the bytes contained in the @n_vectors @vectors into the
39791stream. Will block during the operation.
39792
39793If @n_vectors is 0 or the sum of all bytes in @vectors is 0, returns 0 and
39794does nothing.
39795
39796On success, the number of bytes written to the stream is returned.
39797It is not an error if this is not the same as the requested size, as it
39798can happen e.g. on a partial I/O error, or if there is not enough
39799storage in the stream. All writes block until at least one byte
39800is written or an error occurs; 0 is never returned (unless
39801@n_vectors is 0 or the sum of all bytes in @vectors is 0).
39802
39803If @cancellable is not %NULL, then the operation can be cancelled by
39804triggering the cancellable object from another thread. If the operation
39805was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
39806operation was partially finished when the operation was cancelled the
39807partial result will be returned, without an error.
39808
39809Some implementations of g_output_stream_writev() may have limitations on the
39810aggregate buffer size, and will return %G_IO_ERROR_INVALID_ARGUMENT if these
39811are exceeded. For example, when writing to a local file on UNIX platforms,
39812the aggregate buffer size must not exceed %G_MAXSSIZE bytes.
39813
39814Virtual: writev_fn
39815
39816Since: 2.60
39817
39818</description>
39819<parameters>
39820<parameter name="stream">
39821<parameter_description> a #GOutputStream.
39822</parameter_description>
39823</parameter>
39824<parameter name="vectors">
39825<parameter_description> the buffer containing the #GOutputVectors to write.
39826</parameter_description>
39827</parameter>
39828<parameter name="n_vectors">
39829<parameter_description> the number of vectors to write
39830</parameter_description>
39831</parameter>
39832<parameter name="bytes_written">
39833<parameter_description> location to store the number of bytes that were
39834written to the stream
39835</parameter_description>
39836</parameter>
39837<parameter name="cancellable">
39838<parameter_description> optional cancellable object
39839</parameter_description>
39840</parameter>
39841<parameter name="error">
39842<parameter_description> location to store the error occurring, or %NULL to ignore
39843</parameter_description>
39844</parameter>
39845</parameters>
39846<return> %TRUE on success, %FALSE if there was an error
39847
39848</return>
39849</function>
39850
39851<function name="g_output_stream_writev_all">
39852<description>
39853Tries to write the bytes contained in the @n_vectors @vectors into the
39854stream. Will block during the operation.
39855
39856This function is similar to g_output_stream_writev(), except it tries to
39857write as many bytes as requested, only stopping on an error.
39858
39859On a successful write of all @n_vectors vectors, %TRUE is returned, and
39860@bytes_written is set to the sum of all the sizes of @vectors.
39861
39862If there is an error during the operation %FALSE is returned and @error
39863is set to indicate the error status.
39864
39865As a special exception to the normal conventions for functions that
39866use #GError, if this function returns %FALSE (and sets @error) then
39867@bytes_written will be set to the number of bytes that were
39868successfully written before the error was encountered.  This
39869functionality is only available from C. If you need it from another
39870language then you must write your own loop around
39871g_output_stream_write().
39872
39873The content of the individual elements of @vectors might be changed by this
39874function.
39875
39876Since: 2.60
39877
39878</description>
39879<parameters>
39880<parameter name="stream">
39881<parameter_description> a #GOutputStream.
39882</parameter_description>
39883</parameter>
39884<parameter name="vectors">
39885<parameter_description> the buffer containing the #GOutputVectors to write.
39886</parameter_description>
39887</parameter>
39888<parameter name="n_vectors">
39889<parameter_description> the number of vectors to write
39890</parameter_description>
39891</parameter>
39892<parameter name="bytes_written">
39893<parameter_description> location to store the number of bytes that were
39894written to the stream
39895</parameter_description>
39896</parameter>
39897<parameter name="cancellable">
39898<parameter_description> optional #GCancellable object, %NULL to ignore.
39899</parameter_description>
39900</parameter>
39901<parameter name="error">
39902<parameter_description> location to store the error occurring, or %NULL to ignore
39903</parameter_description>
39904</parameter>
39905</parameters>
39906<return> %TRUE on success, %FALSE if there was an error
39907
39908</return>
39909</function>
39910
39911<function name="g_output_stream_writev_all_async">
39912<description>
39913Request an asynchronous write of the bytes contained in the @n_vectors @vectors into
39914the stream. When the operation is finished @callback will be called.
39915You can then call g_output_stream_writev_all_finish() to get the result of the
39916operation.
39917
39918This is the asynchronous version of g_output_stream_writev_all().
39919
39920Call g_output_stream_writev_all_finish() to collect the result.
39921
39922Any outstanding I/O request with higher priority (lower numerical
39923value) will be executed before an outstanding request with lower
39924priority. Default priority is %G_PRIORITY_DEFAULT.
39925
39926Note that no copy of @vectors will be made, so it must stay valid
39927until @callback is called. The content of the individual elements
39928of @vectors might be changed by this function.
39929
39930Since: 2.60
39931
39932</description>
39933<parameters>
39934<parameter name="stream">
39935<parameter_description> A #GOutputStream
39936</parameter_description>
39937</parameter>
39938<parameter name="vectors">
39939<parameter_description> the buffer containing the #GOutputVectors to write.
39940</parameter_description>
39941</parameter>
39942<parameter name="n_vectors">
39943<parameter_description> the number of vectors to write
39944</parameter_description>
39945</parameter>
39946<parameter name="io_priority">
39947<parameter_description> the I/O priority of the request
39948</parameter_description>
39949</parameter>
39950<parameter name="cancellable">
39951<parameter_description> optional #GCancellable object, %NULL to ignore
39952</parameter_description>
39953</parameter>
39954<parameter name="callback">
39955<parameter_description> callback to call when the request is satisfied
39956</parameter_description>
39957</parameter>
39958<parameter name="user_data">
39959<parameter_description> the data to pass to callback function
39960</parameter_description>
39961</parameter>
39962</parameters>
39963<return></return>
39964</function>
39965
39966<function name="g_output_stream_writev_all_finish">
39967<description>
39968Finishes an asynchronous stream write operation started with
39969g_output_stream_writev_all_async().
39970
39971As a special exception to the normal conventions for functions that
39972use #GError, if this function returns %FALSE (and sets @error) then
39973@bytes_written will be set to the number of bytes that were
39974successfully written before the error was encountered.  This
39975functionality is only available from C.  If you need it from another
39976language then you must write your own loop around
39977g_output_stream_writev_async().
39978
39979Since: 2.60
39980
39981</description>
39982<parameters>
39983<parameter name="stream">
39984<parameter_description> a #GOutputStream
39985</parameter_description>
39986</parameter>
39987<parameter name="result">
39988<parameter_description> a #GAsyncResult
39989</parameter_description>
39990</parameter>
39991<parameter name="bytes_written">
39992<parameter_description> location to store the number of bytes that were written to the stream
39993</parameter_description>
39994</parameter>
39995<parameter name="error">
39996<parameter_description> a #GError location to store the error occurring, or %NULL to ignore.
39997</parameter_description>
39998</parameter>
39999</parameters>
40000<return> %TRUE on success, %FALSE if there was an error
40001
40002</return>
40003</function>
40004
40005<function name="g_output_stream_writev_async">
40006<description>
40007Request an asynchronous write of the bytes contained in @n_vectors @vectors into
40008the stream. When the operation is finished @callback will be called.
40009You can then call g_output_stream_writev_finish() to get the result of the
40010operation.
40011
40012During an async request no other sync and async calls are allowed,
40013and will result in %G_IO_ERROR_PENDING errors.
40014
40015On success, the number of bytes written will be passed to the
40016@callback. It is not an error if this is not the same as the
40017requested size, as it can happen e.g. on a partial I/O error,
40018but generally we try to write as many bytes as requested.
40019
40020You are guaranteed that this method will never fail with
40021%G_IO_ERROR_WOULD_BLOCK — if @stream can't accept more data, the
40022method will just wait until this changes.
40023
40024Any outstanding I/O request with higher priority (lower numerical
40025value) will be executed before an outstanding request with lower
40026priority. Default priority is %G_PRIORITY_DEFAULT.
40027
40028The asynchronous methods have a default fallback that uses threads
40029to implement asynchronicity, so they are optional for inheriting
40030classes. However, if you override one you must override all.
40031
40032For the synchronous, blocking version of this function, see
40033g_output_stream_writev().
40034
40035Note that no copy of @vectors will be made, so it must stay valid
40036until @callback is called.
40037
40038Since: 2.60
40039
40040</description>
40041<parameters>
40042<parameter name="stream">
40043<parameter_description> A #GOutputStream.
40044</parameter_description>
40045</parameter>
40046<parameter name="vectors">
40047<parameter_description> the buffer containing the #GOutputVectors to write.
40048</parameter_description>
40049</parameter>
40050<parameter name="n_vectors">
40051<parameter_description> the number of vectors to write
40052</parameter_description>
40053</parameter>
40054<parameter name="io_priority">
40055<parameter_description> the I/O priority of the request.
40056</parameter_description>
40057</parameter>
40058<parameter name="cancellable">
40059<parameter_description> optional #GCancellable object, %NULL to ignore.
40060</parameter_description>
40061</parameter>
40062<parameter name="callback">
40063<parameter_description> callback to call when the request is satisfied
40064</parameter_description>
40065</parameter>
40066<parameter name="user_data">
40067<parameter_description> the data to pass to callback function
40068</parameter_description>
40069</parameter>
40070</parameters>
40071<return></return>
40072</function>
40073
40074<function name="g_output_stream_writev_finish">
40075<description>
40076Finishes a stream writev operation.
40077
40078Since: 2.60
40079
40080</description>
40081<parameters>
40082<parameter name="stream">
40083<parameter_description> a #GOutputStream.
40084</parameter_description>
40085</parameter>
40086<parameter name="result">
40087<parameter_description> a #GAsyncResult.
40088</parameter_description>
40089</parameter>
40090<parameter name="bytes_written">
40091<parameter_description> location to store the number of bytes that were written to the stream
40092</parameter_description>
40093</parameter>
40094<parameter name="error">
40095<parameter_description> a #GError location to store the error occurring, or %NULL to
40096ignore.
40097</parameter_description>
40098</parameter>
40099</parameters>
40100<return> %TRUE on success, %FALSE if there was an error
40101
40102</return>
40103</function>
40104
40105<function name="g_permission_acquire">
40106<description>
40107Attempts to acquire the permission represented by @permission.
40108
40109The precise method by which this happens depends on the permission
40110and the underlying authentication mechanism.  A simple example is
40111that a dialog may appear asking the user to enter their password.
40112
40113You should check with g_permission_get_can_acquire() before calling
40114this function.
40115
40116If the permission is acquired then %TRUE is returned.  Otherwise,
40117%FALSE is returned and @error is set appropriately.
40118
40119This call is blocking, likely for a very long time (in the case that
40120user interaction is required).  See g_permission_acquire_async() for
40121the non-blocking version.
40122
40123Since: 2.26
40124
40125</description>
40126<parameters>
40127<parameter name="permission">
40128<parameter_description> a #GPermission instance
40129</parameter_description>
40130</parameter>
40131<parameter name="cancellable">
40132<parameter_description> a #GCancellable, or %NULL
40133</parameter_description>
40134</parameter>
40135<parameter name="error">
40136<parameter_description> a pointer to a %NULL #GError, or %NULL
40137</parameter_description>
40138</parameter>
40139</parameters>
40140<return> %TRUE if the permission was successfully acquired
40141
40142</return>
40143</function>
40144
40145<function name="g_permission_acquire_async">
40146<description>
40147Attempts to acquire the permission represented by @permission.
40148
40149This is the first half of the asynchronous version of
40150g_permission_acquire().
40151
40152Since: 2.26
40153
40154</description>
40155<parameters>
40156<parameter name="permission">
40157<parameter_description> a #GPermission instance
40158</parameter_description>
40159</parameter>
40160<parameter name="cancellable">
40161<parameter_description> a #GCancellable, or %NULL
40162</parameter_description>
40163</parameter>
40164<parameter name="callback">
40165<parameter_description> the #GAsyncReadyCallback to call when done
40166</parameter_description>
40167</parameter>
40168<parameter name="user_data">
40169<parameter_description> the user data to pass to @callback
40170</parameter_description>
40171</parameter>
40172</parameters>
40173<return></return>
40174</function>
40175
40176<function name="g_permission_acquire_finish">
40177<description>
40178Collects the result of attempting to acquire the permission
40179represented by @permission.
40180
40181This is the second half of the asynchronous version of
40182g_permission_acquire().
40183
40184Since: 2.26
40185
40186</description>
40187<parameters>
40188<parameter name="permission">
40189<parameter_description> a #GPermission instance
40190</parameter_description>
40191</parameter>
40192<parameter name="result">
40193<parameter_description> the #GAsyncResult given to the #GAsyncReadyCallback
40194</parameter_description>
40195</parameter>
40196<parameter name="error">
40197<parameter_description> a pointer to a %NULL #GError, or %NULL
40198</parameter_description>
40199</parameter>
40200</parameters>
40201<return> %TRUE if the permission was successfully acquired
40202
40203</return>
40204</function>
40205
40206<function name="g_permission_get_allowed">
40207<description>
40208Gets the value of the 'allowed' property.  This property is %TRUE if
40209the caller currently has permission to perform the action that
40210@permission represents the permission to perform.
40211
40212Since: 2.26
40213
40214</description>
40215<parameters>
40216<parameter name="permission">
40217<parameter_description> a #GPermission instance
40218</parameter_description>
40219</parameter>
40220</parameters>
40221<return> the value of the 'allowed' property
40222
40223</return>
40224</function>
40225
40226<function name="g_permission_get_can_acquire">
40227<description>
40228Gets the value of the 'can-acquire' property.  This property is %TRUE
40229if it is generally possible to acquire the permission by calling
40230g_permission_acquire().
40231
40232Since: 2.26
40233
40234</description>
40235<parameters>
40236<parameter name="permission">
40237<parameter_description> a #GPermission instance
40238</parameter_description>
40239</parameter>
40240</parameters>
40241<return> the value of the 'can-acquire' property
40242
40243</return>
40244</function>
40245
40246<function name="g_permission_get_can_release">
40247<description>
40248Gets the value of the 'can-release' property.  This property is %TRUE
40249if it is generally possible to release the permission by calling
40250g_permission_release().
40251
40252Since: 2.26
40253
40254</description>
40255<parameters>
40256<parameter name="permission">
40257<parameter_description> a #GPermission instance
40258</parameter_description>
40259</parameter>
40260</parameters>
40261<return> the value of the 'can-release' property
40262
40263</return>
40264</function>
40265
40266<function name="g_permission_impl_update">
40267<description>
40268This function is called by the #GPermission implementation to update
40269the properties of the permission.  You should never call this
40270function except from a #GPermission implementation.
40271
40272GObject notify signals are generated, as appropriate.
40273
40274Since: 2.26
40275
40276</description>
40277<parameters>
40278<parameter name="permission">
40279<parameter_description> a #GPermission instance
40280</parameter_description>
40281</parameter>
40282<parameter name="allowed">
40283<parameter_description> the new value for the 'allowed' property
40284</parameter_description>
40285</parameter>
40286<parameter name="can_acquire">
40287<parameter_description> the new value for the 'can-acquire' property
40288</parameter_description>
40289</parameter>
40290<parameter name="can_release">
40291<parameter_description> the new value for the 'can-release' property
40292</parameter_description>
40293</parameter>
40294</parameters>
40295<return></return>
40296</function>
40297
40298<function name="g_permission_release">
40299<description>
40300Attempts to release the permission represented by @permission.
40301
40302The precise method by which this happens depends on the permission
40303and the underlying authentication mechanism.  In most cases the
40304permission will be dropped immediately without further action.
40305
40306You should check with g_permission_get_can_release() before calling
40307this function.
40308
40309If the permission is released then %TRUE is returned.  Otherwise,
40310%FALSE is returned and @error is set appropriately.
40311
40312This call is blocking, likely for a very long time (in the case that
40313user interaction is required).  See g_permission_release_async() for
40314the non-blocking version.
40315
40316Since: 2.26
40317
40318</description>
40319<parameters>
40320<parameter name="permission">
40321<parameter_description> a #GPermission instance
40322</parameter_description>
40323</parameter>
40324<parameter name="cancellable">
40325<parameter_description> a #GCancellable, or %NULL
40326</parameter_description>
40327</parameter>
40328<parameter name="error">
40329<parameter_description> a pointer to a %NULL #GError, or %NULL
40330</parameter_description>
40331</parameter>
40332</parameters>
40333<return> %TRUE if the permission was successfully released
40334
40335</return>
40336</function>
40337
40338<function name="g_permission_release_async">
40339<description>
40340Attempts to release the permission represented by @permission.
40341
40342This is the first half of the asynchronous version of
40343g_permission_release().
40344
40345Since: 2.26
40346
40347</description>
40348<parameters>
40349<parameter name="permission">
40350<parameter_description> a #GPermission instance
40351</parameter_description>
40352</parameter>
40353<parameter name="cancellable">
40354<parameter_description> a #GCancellable, or %NULL
40355</parameter_description>
40356</parameter>
40357<parameter name="callback">
40358<parameter_description> the #GAsyncReadyCallback to call when done
40359</parameter_description>
40360</parameter>
40361<parameter name="user_data">
40362<parameter_description> the user data to pass to @callback
40363</parameter_description>
40364</parameter>
40365</parameters>
40366<return></return>
40367</function>
40368
40369<function name="g_permission_release_finish">
40370<description>
40371Collects the result of attempting to release the permission
40372represented by @permission.
40373
40374This is the second half of the asynchronous version of
40375g_permission_release().
40376
40377Since: 2.26
40378
40379</description>
40380<parameters>
40381<parameter name="permission">
40382<parameter_description> a #GPermission instance
40383</parameter_description>
40384</parameter>
40385<parameter name="result">
40386<parameter_description> the #GAsyncResult given to the #GAsyncReadyCallback
40387</parameter_description>
40388</parameter>
40389<parameter name="error">
40390<parameter_description> a pointer to a %NULL #GError, or %NULL
40391</parameter_description>
40392</parameter>
40393</parameters>
40394<return> %TRUE if the permission was successfully released
40395
40396</return>
40397</function>
40398
40399<function name="g_pollable_input_stream_can_poll">
40400<description>
40401Checks if @stream is actually pollable. Some classes may implement
40402#GPollableInputStream but have only certain instances of that class
40403be pollable. If this method returns %FALSE, then the behavior of
40404other #GPollableInputStream methods is undefined.
40405
40406For any given stream, the value returned by this method is constant;
40407a stream cannot switch from pollable to non-pollable or vice versa.
40408
40409Since: 2.28
40410
40411</description>
40412<parameters>
40413<parameter name="stream">
40414<parameter_description> a #GPollableInputStream.
40415</parameter_description>
40416</parameter>
40417</parameters>
40418<return> %TRUE if @stream is pollable, %FALSE if not.
40419
40420</return>
40421</function>
40422
40423<function name="g_pollable_input_stream_create_source">
40424<description>
40425Creates a #GSource that triggers when @stream can be read, or
40426@cancellable is triggered or an error occurs. The callback on the
40427source is of the #GPollableSourceFunc type.
40428
40429As with g_pollable_input_stream_is_readable(), it is possible that
40430the stream may not actually be readable even after the source
40431triggers, so you should use g_pollable_input_stream_read_nonblocking()
40432rather than g_input_stream_read() from the callback.
40433
40434Since: 2.28
40435
40436</description>
40437<parameters>
40438<parameter name="stream">
40439<parameter_description> a #GPollableInputStream.
40440</parameter_description>
40441</parameter>
40442<parameter name="cancellable">
40443<parameter_description> a #GCancellable, or %NULL
40444</parameter_description>
40445</parameter>
40446</parameters>
40447<return> a new #GSource
40448
40449</return>
40450</function>
40451
40452<function name="g_pollable_input_stream_is_readable">
40453<description>
40454Checks if @stream can be read.
40455
40456Note that some stream types may not be able to implement this 100%
40457reliably, and it is possible that a call to g_input_stream_read()
40458after this returns %TRUE would still block. To guarantee
40459non-blocking behavior, you should always use
40460g_pollable_input_stream_read_nonblocking(), which will return a
40461%G_IO_ERROR_WOULD_BLOCK error rather than blocking.
40462
40463Since: 2.28
40464
40465</description>
40466<parameters>
40467<parameter name="stream">
40468<parameter_description> a #GPollableInputStream.
40469</parameter_description>
40470</parameter>
40471</parameters>
40472<return> %TRUE if @stream is readable, %FALSE if not. If an error
40473has occurred on @stream, this will result in
40474g_pollable_input_stream_is_readable() returning %TRUE, and the
40475next attempt to read will return the error.
40476
40477</return>
40478</function>
40479
40480<function name="g_pollable_input_stream_read_nonblocking">
40481<description>
40482Attempts to read up to @count bytes from @stream into @buffer, as
40483with g_input_stream_read(). If @stream is not currently readable,
40484this will immediately return %G_IO_ERROR_WOULD_BLOCK, and you can
40485use g_pollable_input_stream_create_source() to create a #GSource
40486that will be triggered when @stream is readable.
40487
40488Note that since this method never blocks, you cannot actually
40489use @cancellable to cancel it. However, it will return an error
40490if @cancellable has already been cancelled when you call, which
40491may happen if you call this method after a source triggers due
40492to having been cancelled.
40493
40494Virtual: read_nonblocking
40495
40496</description>
40497<parameters>
40498<parameter name="stream">
40499<parameter_description> a #GPollableInputStream
40500</parameter_description>
40501</parameter>
40502<parameter name="buffer">
40503<parameter_description> a buffer to
40504read data into (which should be at least @count bytes long).
40505</parameter_description>
40506</parameter>
40507<parameter name="count">
40508<parameter_description> the number of bytes you want to read
40509</parameter_description>
40510</parameter>
40511<parameter name="cancellable">
40512<parameter_description> a #GCancellable, or %NULL
40513</parameter_description>
40514</parameter>
40515<parameter name="error">
40516<parameter_description> #GError for error reporting, or %NULL to ignore.
40517</parameter_description>
40518</parameter>
40519</parameters>
40520<return> the number of bytes read, or -1 on error (including
40521%G_IO_ERROR_WOULD_BLOCK).
40522</return>
40523</function>
40524
40525<function name="g_pollable_output_stream_can_poll">
40526<description>
40527Checks if @stream is actually pollable. Some classes may implement
40528#GPollableOutputStream but have only certain instances of that
40529class be pollable. If this method returns %FALSE, then the behavior
40530of other #GPollableOutputStream methods is undefined.
40531
40532For any given stream, the value returned by this method is constant;
40533a stream cannot switch from pollable to non-pollable or vice versa.
40534
40535Since: 2.28
40536
40537</description>
40538<parameters>
40539<parameter name="stream">
40540<parameter_description> a #GPollableOutputStream.
40541</parameter_description>
40542</parameter>
40543</parameters>
40544<return> %TRUE if @stream is pollable, %FALSE if not.
40545
40546</return>
40547</function>
40548
40549<function name="g_pollable_output_stream_create_source">
40550<description>
40551Creates a #GSource that triggers when @stream can be written, or
40552@cancellable is triggered or an error occurs. The callback on the
40553source is of the #GPollableSourceFunc type.
40554
40555As with g_pollable_output_stream_is_writable(), it is possible that
40556the stream may not actually be writable even after the source
40557triggers, so you should use g_pollable_output_stream_write_nonblocking()
40558rather than g_output_stream_write() from the callback.
40559
40560Since: 2.28
40561
40562</description>
40563<parameters>
40564<parameter name="stream">
40565<parameter_description> a #GPollableOutputStream.
40566</parameter_description>
40567</parameter>
40568<parameter name="cancellable">
40569<parameter_description> a #GCancellable, or %NULL
40570</parameter_description>
40571</parameter>
40572</parameters>
40573<return> a new #GSource
40574
40575</return>
40576</function>
40577
40578<function name="g_pollable_output_stream_is_writable">
40579<description>
40580Checks if @stream can be written.
40581
40582Note that some stream types may not be able to implement this 100%
40583reliably, and it is possible that a call to g_output_stream_write()
40584after this returns %TRUE would still block. To guarantee
40585non-blocking behavior, you should always use
40586g_pollable_output_stream_write_nonblocking(), which will return a
40587%G_IO_ERROR_WOULD_BLOCK error rather than blocking.
40588
40589Since: 2.28
40590
40591</description>
40592<parameters>
40593<parameter name="stream">
40594<parameter_description> a #GPollableOutputStream.
40595</parameter_description>
40596</parameter>
40597</parameters>
40598<return> %TRUE if @stream is writable, %FALSE if not. If an error
40599has occurred on @stream, this will result in
40600g_pollable_output_stream_is_writable() returning %TRUE, and the
40601next attempt to write will return the error.
40602
40603</return>
40604</function>
40605
40606<function name="g_pollable_output_stream_write_nonblocking">
40607<description>
40608Attempts to write up to @count bytes from @buffer to @stream, as
40609with g_output_stream_write(). If @stream is not currently writable,
40610this will immediately return %G_IO_ERROR_WOULD_BLOCK, and you can
40611use g_pollable_output_stream_create_source() to create a #GSource
40612that will be triggered when @stream is writable.
40613
40614Note that since this method never blocks, you cannot actually
40615use @cancellable to cancel it. However, it will return an error
40616if @cancellable has already been cancelled when you call, which
40617may happen if you call this method after a source triggers due
40618to having been cancelled.
40619
40620Also note that if %G_IO_ERROR_WOULD_BLOCK is returned some underlying
40621transports like D/TLS require that you re-send the same @buffer and
40622@count in the next write call.
40623
40624Virtual: write_nonblocking
40625
40626</description>
40627<parameters>
40628<parameter name="stream">
40629<parameter_description> a #GPollableOutputStream
40630</parameter_description>
40631</parameter>
40632<parameter name="buffer">
40633<parameter_description> a buffer to write
40634data from
40635</parameter_description>
40636</parameter>
40637<parameter name="count">
40638<parameter_description> the number of bytes you want to write
40639</parameter_description>
40640</parameter>
40641<parameter name="cancellable">
40642<parameter_description> a #GCancellable, or %NULL
40643</parameter_description>
40644</parameter>
40645<parameter name="error">
40646<parameter_description> #GError for error reporting, or %NULL to ignore.
40647</parameter_description>
40648</parameter>
40649</parameters>
40650<return> the number of bytes written, or -1 on error (including
40651%G_IO_ERROR_WOULD_BLOCK).
40652</return>
40653</function>
40654
40655<function name="g_pollable_output_stream_writev_nonblocking">
40656<description>
40657Attempts to write the bytes contained in the @n_vectors @vectors to @stream,
40658as with g_output_stream_writev(). If @stream is not currently writable,
40659this will immediately return %@G_POLLABLE_RETURN_WOULD_BLOCK, and you can
40660use g_pollable_output_stream_create_source() to create a #GSource
40661that will be triggered when @stream is writable. @error will *not* be
40662set in that case.
40663
40664Note that since this method never blocks, you cannot actually
40665use @cancellable to cancel it. However, it will return an error
40666if @cancellable has already been cancelled when you call, which
40667may happen if you call this method after a source triggers due
40668to having been cancelled.
40669
40670Also note that if %G_POLLABLE_RETURN_WOULD_BLOCK is returned some underlying
40671transports like D/TLS require that you re-send the same @vectors and
40672@n_vectors in the next write call.
40673
40674Virtual: writev_nonblocking
40675
40676Since: 2.60
40677
40678</description>
40679<parameters>
40680<parameter name="stream">
40681<parameter_description> a #GPollableOutputStream
40682</parameter_description>
40683</parameter>
40684<parameter name="vectors">
40685<parameter_description> the buffer containing the #GOutputVectors to write.
40686</parameter_description>
40687</parameter>
40688<parameter name="n_vectors">
40689<parameter_description> the number of vectors to write
40690</parameter_description>
40691</parameter>
40692<parameter name="bytes_written">
40693<parameter_description> location to store the number of bytes that were
40694written to the stream
40695</parameter_description>
40696</parameter>
40697<parameter name="cancellable">
40698<parameter_description> a #GCancellable, or %NULL
40699</parameter_description>
40700</parameter>
40701<parameter name="error">
40702<parameter_description> #GError for error reporting, or %NULL to ignore.
40703</parameter_description>
40704</parameter>
40705</parameters>
40706<return> %@G_POLLABLE_RETURN_OK on success, %G_POLLABLE_RETURN_WOULD_BLOCK
40707if the stream is not currently writable (and @error is *not* set), or
40708%G_POLLABLE_RETURN_FAILED if there was an error in which case @error will
40709be set.
40710
40711</return>
40712</function>
40713
40714<function name="g_pollable_source_new">
40715<description>
40716Utility method for #GPollableInputStream and #GPollableOutputStream
40717implementations. Creates a new #GSource that expects a callback of
40718type #GPollableSourceFunc. The new source does not actually do
40719anything on its own; use g_source_add_child_source() to add other
40720sources to it to cause it to trigger.
40721
40722Since: 2.28
40723
40724</description>
40725<parameters>
40726<parameter name="pollable_stream">
40727<parameter_description> the stream associated with the new source
40728</parameter_description>
40729</parameter>
40730</parameters>
40731<return> the new #GSource.
40732
40733</return>
40734</function>
40735
40736<function name="g_pollable_source_new_full">
40737<description>
40738Utility method for #GPollableInputStream and #GPollableOutputStream
40739implementations. Creates a new #GSource, as with
40740g_pollable_source_new(), but also attaching @child_source (with a
40741dummy callback), and @cancellable, if they are non-%NULL.
40742
40743Since: 2.34
40744
40745</description>
40746<parameters>
40747<parameter name="pollable_stream">
40748<parameter_description> the stream associated with the
40749new source
40750</parameter_description>
40751</parameter>
40752<parameter name="child_source">
40753<parameter_description> optional child source to attach
40754</parameter_description>
40755</parameter>
40756<parameter name="cancellable">
40757<parameter_description> optional #GCancellable to attach
40758</parameter_description>
40759</parameter>
40760</parameters>
40761<return> the new #GSource.
40762
40763</return>
40764</function>
40765
40766<function name="g_pollable_stream_read">
40767<description>
40768Tries to read from @stream, as with g_input_stream_read() (if
40769@blocking is %TRUE) or g_pollable_input_stream_read_nonblocking()
40770(if @blocking is %FALSE). This can be used to more easily share
40771code between blocking and non-blocking implementations of a method.
40772
40773If @blocking is %FALSE, then @stream must be a
40774#GPollableInputStream for which g_pollable_input_stream_can_poll()
40775returns %TRUE, or else the behavior is undefined. If @blocking is
40776%TRUE, then @stream does not need to be a #GPollableInputStream.
40777
40778Since: 2.34
40779
40780</description>
40781<parameters>
40782<parameter name="stream">
40783<parameter_description> a #GInputStream
40784</parameter_description>
40785</parameter>
40786<parameter name="buffer">
40787<parameter_description> a buffer to
40788read data into
40789</parameter_description>
40790</parameter>
40791<parameter name="count">
40792<parameter_description> the number of bytes to read
40793</parameter_description>
40794</parameter>
40795<parameter name="blocking">
40796<parameter_description> whether to do blocking I/O
40797</parameter_description>
40798</parameter>
40799<parameter name="cancellable">
40800<parameter_description> optional #GCancellable object, %NULL to ignore.
40801</parameter_description>
40802</parameter>
40803<parameter name="error">
40804<parameter_description> location to store the error occurring, or %NULL to ignore
40805</parameter_description>
40806</parameter>
40807</parameters>
40808<return> the number of bytes read, or -1 on error.
40809
40810</return>
40811</function>
40812
40813<function name="g_pollable_stream_write">
40814<description>
40815Tries to write to @stream, as with g_output_stream_write() (if
40816@blocking is %TRUE) or g_pollable_output_stream_write_nonblocking()
40817(if @blocking is %FALSE). This can be used to more easily share
40818code between blocking and non-blocking implementations of a method.
40819
40820If @blocking is %FALSE, then @stream must be a
40821#GPollableOutputStream for which
40822g_pollable_output_stream_can_poll() returns %TRUE or else the
40823behavior is undefined. If @blocking is %TRUE, then @stream does not
40824need to be a #GPollableOutputStream.
40825
40826Since: 2.34
40827
40828</description>
40829<parameters>
40830<parameter name="stream">
40831<parameter_description> a #GOutputStream.
40832</parameter_description>
40833</parameter>
40834<parameter name="buffer">
40835<parameter_description> the buffer
40836containing the data to write.
40837</parameter_description>
40838</parameter>
40839<parameter name="count">
40840<parameter_description> the number of bytes to write
40841</parameter_description>
40842</parameter>
40843<parameter name="blocking">
40844<parameter_description> whether to do blocking I/O
40845</parameter_description>
40846</parameter>
40847<parameter name="cancellable">
40848<parameter_description> optional #GCancellable object, %NULL to ignore.
40849</parameter_description>
40850</parameter>
40851<parameter name="error">
40852<parameter_description> location to store the error occurring, or %NULL to ignore
40853</parameter_description>
40854</parameter>
40855</parameters>
40856<return> the number of bytes written, or -1 on error.
40857
40858</return>
40859</function>
40860
40861<function name="g_pollable_stream_write_all">
40862<description>
40863Tries to write @count bytes to @stream, as with
40864g_output_stream_write_all(), but using g_pollable_stream_write()
40865rather than g_output_stream_write().
40866
40867On a successful write of @count bytes, %TRUE is returned, and
40868@bytes_written is set to @count.
40869
40870If there is an error during the operation (including
40871%G_IO_ERROR_WOULD_BLOCK in the non-blocking case), %FALSE is
40872returned and @error is set to indicate the error status,
40873@bytes_written is updated to contain the number of bytes written
40874into the stream before the error occurred.
40875
40876As with g_pollable_stream_write(), if @blocking is %FALSE, then
40877@stream must be a #GPollableOutputStream for which
40878g_pollable_output_stream_can_poll() returns %TRUE or else the
40879behavior is undefined. If @blocking is %TRUE, then @stream does not
40880need to be a #GPollableOutputStream.
40881
40882Since: 2.34
40883
40884</description>
40885<parameters>
40886<parameter name="stream">
40887<parameter_description> a #GOutputStream.
40888</parameter_description>
40889</parameter>
40890<parameter name="buffer">
40891<parameter_description> the buffer
40892containing the data to write.
40893</parameter_description>
40894</parameter>
40895<parameter name="count">
40896<parameter_description> the number of bytes to write
40897</parameter_description>
40898</parameter>
40899<parameter name="blocking">
40900<parameter_description> whether to do blocking I/O
40901</parameter_description>
40902</parameter>
40903<parameter name="bytes_written">
40904<parameter_description> location to store the number of bytes that was
40905written to the stream
40906</parameter_description>
40907</parameter>
40908<parameter name="cancellable">
40909<parameter_description> optional #GCancellable object, %NULL to ignore.
40910</parameter_description>
40911</parameter>
40912<parameter name="error">
40913<parameter_description> location to store the error occurring, or %NULL to ignore
40914</parameter_description>
40915</parameter>
40916</parameters>
40917<return> %TRUE on success, %FALSE if there was an error
40918
40919</return>
40920</function>
40921
40922<function name="g_property_action_new">
40923<description>
40924Creates a #GAction corresponding to the value of property
40925@property_name on @object.
40926
40927The property must be existent and readable and writable (and not
40928construct-only).
40929
40930This function takes a reference on @object and doesn't release it
40931until the action is destroyed.
40932
40933Since: 2.38
40934
40935</description>
40936<parameters>
40937<parameter name="name">
40938<parameter_description> the name of the action to create
40939</parameter_description>
40940</parameter>
40941<parameter name="object">
40942<parameter_description> the object that has the property
40943to wrap
40944</parameter_description>
40945</parameter>
40946<parameter name="property_name">
40947<parameter_description> the name of the property
40948</parameter_description>
40949</parameter>
40950</parameters>
40951<return> a new #GPropertyAction
40952
40953</return>
40954</function>
40955
40956<function name="g_proxy_address_get_destination_hostname">
40957<description>
40958Gets @proxy's destination hostname; that is, the name of the host
40959that will be connected to via the proxy, not the name of the proxy
40960itself.
40961
40962Since: 2.26
40963
40964</description>
40965<parameters>
40966<parameter name="proxy">
40967<parameter_description> a #GProxyAddress
40968</parameter_description>
40969</parameter>
40970</parameters>
40971<return> the @proxy's destination hostname
40972
40973</return>
40974</function>
40975
40976<function name="g_proxy_address_get_destination_port">
40977<description>
40978Gets @proxy's destination port; that is, the port on the
40979destination host that will be connected to via the proxy, not the
40980port number of the proxy itself.
40981
40982Since: 2.26
40983
40984</description>
40985<parameters>
40986<parameter name="proxy">
40987<parameter_description> a #GProxyAddress
40988</parameter_description>
40989</parameter>
40990</parameters>
40991<return> the @proxy's destination port
40992
40993</return>
40994</function>
40995
40996<function name="g_proxy_address_get_destination_protocol">
40997<description>
40998Gets the protocol that is being spoken to the destination
40999server; eg, &quot;http&quot; or &quot;ftp&quot;.
41000
41001Since: 2.34
41002
41003</description>
41004<parameters>
41005<parameter name="proxy">
41006<parameter_description> a #GProxyAddress
41007</parameter_description>
41008</parameter>
41009</parameters>
41010<return> the @proxy's destination protocol
41011
41012</return>
41013</function>
41014
41015<function name="g_proxy_address_get_password">
41016<description>
41017Gets @proxy's password.
41018
41019Since: 2.26
41020
41021</description>
41022<parameters>
41023<parameter name="proxy">
41024<parameter_description> a #GProxyAddress
41025</parameter_description>
41026</parameter>
41027</parameters>
41028<return> the @proxy's password
41029
41030</return>
41031</function>
41032
41033<function name="g_proxy_address_get_protocol">
41034<description>
41035Gets @proxy's protocol. eg, &quot;socks&quot; or &quot;http&quot;
41036
41037Since: 2.26
41038
41039</description>
41040<parameters>
41041<parameter name="proxy">
41042<parameter_description> a #GProxyAddress
41043</parameter_description>
41044</parameter>
41045</parameters>
41046<return> the @proxy's protocol
41047
41048</return>
41049</function>
41050
41051<function name="g_proxy_address_get_uri">
41052<description>
41053Gets the proxy URI that @proxy was constructed from.
41054
41055Since: 2.34
41056
41057</description>
41058<parameters>
41059<parameter name="proxy">
41060<parameter_description> a #GProxyAddress
41061</parameter_description>
41062</parameter>
41063</parameters>
41064<return> the @proxy's URI, or %NULL if unknown
41065
41066</return>
41067</function>
41068
41069<function name="g_proxy_address_get_username">
41070<description>
41071Gets @proxy's username.
41072
41073Since: 2.26
41074
41075</description>
41076<parameters>
41077<parameter name="proxy">
41078<parameter_description> a #GProxyAddress
41079</parameter_description>
41080</parameter>
41081</parameters>
41082<return> the @proxy's username
41083
41084</return>
41085</function>
41086
41087<function name="g_proxy_address_new">
41088<description>
41089Creates a new #GProxyAddress for @inetaddr with @protocol that should
41090tunnel through @dest_hostname and @dest_port.
41091
41092(Note that this method doesn't set the #GProxyAddress:uri or
41093#GProxyAddress:destination-protocol fields; use g_object_new()
41094directly if you want to set those.)
41095
41096Since: 2.26
41097
41098</description>
41099<parameters>
41100<parameter name="inetaddr">
41101<parameter_description> The proxy server #GInetAddress.
41102</parameter_description>
41103</parameter>
41104<parameter name="port">
41105<parameter_description> The proxy server port.
41106</parameter_description>
41107</parameter>
41108<parameter name="protocol">
41109<parameter_description> The proxy protocol to support, in lower case (e.g. socks, http).
41110</parameter_description>
41111</parameter>
41112<parameter name="dest_hostname">
41113<parameter_description> The destination hostname the proxy should tunnel to.
41114</parameter_description>
41115</parameter>
41116<parameter name="dest_port">
41117<parameter_description> The destination port to tunnel to.
41118</parameter_description>
41119</parameter>
41120<parameter name="username">
41121<parameter_description> The username to authenticate to the proxy server
41122(or %NULL).
41123</parameter_description>
41124</parameter>
41125<parameter name="password">
41126<parameter_description> The password to authenticate to the proxy server
41127(or %NULL).
41128</parameter_description>
41129</parameter>
41130</parameters>
41131<return> a new #GProxyAddress
41132
41133</return>
41134</function>
41135
41136<function name="g_proxy_connect">
41137<description>
41138Given @connection to communicate with a proxy (eg, a
41139#GSocketConnection that is connected to the proxy server), this
41140does the necessary handshake to connect to @proxy_address, and if
41141required, wraps the #GIOStream to handle proxy payload.
41142
41143Since: 2.26
41144
41145</description>
41146<parameters>
41147<parameter name="proxy">
41148<parameter_description> a #GProxy
41149</parameter_description>
41150</parameter>
41151<parameter name="connection">
41152<parameter_description> a #GIOStream
41153</parameter_description>
41154</parameter>
41155<parameter name="proxy_address">
41156<parameter_description> a #GProxyAddress
41157</parameter_description>
41158</parameter>
41159<parameter name="cancellable">
41160<parameter_description> a #GCancellable
41161</parameter_description>
41162</parameter>
41163<parameter name="error">
41164<parameter_description> return #GError
41165</parameter_description>
41166</parameter>
41167</parameters>
41168<return> a #GIOStream that will replace @connection. This might
41169be the same as @connection, in which case a reference
41170will be added.
41171
41172</return>
41173</function>
41174
41175<function name="g_proxy_connect_async">
41176<description>
41177Asynchronous version of g_proxy_connect().
41178
41179Since: 2.26
41180
41181</description>
41182<parameters>
41183<parameter name="proxy">
41184<parameter_description> a #GProxy
41185</parameter_description>
41186</parameter>
41187<parameter name="connection">
41188<parameter_description> a #GIOStream
41189</parameter_description>
41190</parameter>
41191<parameter name="proxy_address">
41192<parameter_description> a #GProxyAddress
41193</parameter_description>
41194</parameter>
41195<parameter name="cancellable">
41196<parameter_description> a #GCancellable
41197</parameter_description>
41198</parameter>
41199<parameter name="callback">
41200<parameter_description> a #GAsyncReadyCallback
41201</parameter_description>
41202</parameter>
41203<parameter name="user_data">
41204<parameter_description> callback data
41205</parameter_description>
41206</parameter>
41207</parameters>
41208<return></return>
41209</function>
41210
41211<function name="g_proxy_connect_finish">
41212<description>
41213See g_proxy_connect().
41214
41215Since: 2.26
41216
41217</description>
41218<parameters>
41219<parameter name="proxy">
41220<parameter_description> a #GProxy
41221</parameter_description>
41222</parameter>
41223<parameter name="result">
41224<parameter_description> a #GAsyncResult
41225</parameter_description>
41226</parameter>
41227<parameter name="error">
41228<parameter_description> return #GError
41229</parameter_description>
41230</parameter>
41231</parameters>
41232<return> a #GIOStream.
41233
41234</return>
41235</function>
41236
41237<function name="g_proxy_get_default_for_protocol">
41238<description>
41239Find the `gio-proxy` extension point for a proxy implementation that supports
41240the specified protocol.
41241
41242Since: 2.26
41243
41244</description>
41245<parameters>
41246<parameter name="protocol">
41247<parameter_description> the proxy protocol name (e.g. http, socks, etc)
41248</parameter_description>
41249</parameter>
41250</parameters>
41251<return> return a #GProxy or NULL if protocol
41252is not supported.
41253
41254</return>
41255</function>
41256
41257<function name="g_proxy_resolver_get_default">
41258<description>
41259Gets the default #GProxyResolver for the system.
41260
41261Since: 2.26
41262
41263</description>
41264<parameters>
41265</parameters>
41266<return> the default #GProxyResolver.
41267
41268</return>
41269</function>
41270
41271<function name="g_proxy_resolver_is_supported">
41272<description>
41273Checks if @resolver can be used on this system. (This is used
41274internally; g_proxy_resolver_get_default() will only return a proxy
41275resolver that returns %TRUE for this method.)
41276
41277Since: 2.26
41278
41279</description>
41280<parameters>
41281<parameter name="resolver">
41282<parameter_description> a #GProxyResolver
41283</parameter_description>
41284</parameter>
41285</parameters>
41286<return> %TRUE if @resolver is supported.
41287
41288</return>
41289</function>
41290
41291<function name="g_proxy_resolver_lookup">
41292<description>
41293Looks into the system proxy configuration to determine what proxy,
41294if any, to use to connect to @uri. The returned proxy URIs are of
41295the form `&lt;protocol&gt;://[user[:password]@]host:port` or
41296`direct://`, where &lt;protocol&gt; could be http, rtsp, socks
41297or other proxying protocol.
41298
41299If you don't know what network protocol is being used on the
41300socket, you should use `none` as the URI protocol.
41301In this case, the resolver might still return a generic proxy type
41302(such as SOCKS), but would not return protocol-specific proxy types
41303(such as http).
41304
41305`direct://` is used when no proxy is needed.
41306Direct connection should not be attempted unless it is part of the
41307returned array of proxies.
41308
41309Since: 2.26
41310
41311</description>
41312<parameters>
41313<parameter name="resolver">
41314<parameter_description> a #GProxyResolver
41315</parameter_description>
41316</parameter>
41317<parameter name="uri">
41318<parameter_description> a URI representing the destination to connect to
41319</parameter_description>
41320</parameter>
41321<parameter name="cancellable">
41322<parameter_description> a #GCancellable, or %NULL
41323</parameter_description>
41324</parameter>
41325<parameter name="error">
41326<parameter_description> return location for a #GError, or %NULL
41327</parameter_description>
41328</parameter>
41329</parameters>
41330<return> A
41331NULL-terminated array of proxy URIs. Must be freed
41332with g_strfreev().
41333
41334</return>
41335</function>
41336
41337<function name="g_proxy_resolver_lookup_async">
41338<description>
41339Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more
41340details.
41341
41342Since: 2.26
41343
41344</description>
41345<parameters>
41346<parameter name="resolver">
41347<parameter_description> a #GProxyResolver
41348</parameter_description>
41349</parameter>
41350<parameter name="uri">
41351<parameter_description> a URI representing the destination to connect to
41352</parameter_description>
41353</parameter>
41354<parameter name="cancellable">
41355<parameter_description> a #GCancellable, or %NULL
41356</parameter_description>
41357</parameter>
41358<parameter name="callback">
41359<parameter_description> callback to call after resolution completes
41360</parameter_description>
41361</parameter>
41362<parameter name="user_data">
41363<parameter_description> data for @callback
41364</parameter_description>
41365</parameter>
41366</parameters>
41367<return></return>
41368</function>
41369
41370<function name="g_proxy_resolver_lookup_finish">
41371<description>
41372Call this function to obtain the array of proxy URIs when
41373g_proxy_resolver_lookup_async() is complete. See
41374g_proxy_resolver_lookup() for more details.
41375
41376Since: 2.26
41377
41378</description>
41379<parameters>
41380<parameter name="resolver">
41381<parameter_description> a #GProxyResolver
41382</parameter_description>
41383</parameter>
41384<parameter name="result">
41385<parameter_description> the result passed to your #GAsyncReadyCallback
41386</parameter_description>
41387</parameter>
41388<parameter name="error">
41389<parameter_description> return location for a #GError, or %NULL
41390</parameter_description>
41391</parameter>
41392</parameters>
41393<return> A
41394NULL-terminated array of proxy URIs. Must be freed
41395with g_strfreev().
41396
41397</return>
41398</function>
41399
41400<function name="g_proxy_supports_hostname">
41401<description>
41402Some proxy protocols expect to be passed a hostname, which they
41403will resolve to an IP address themselves. Others, like SOCKS4, do
41404not allow this. This function will return %FALSE if @proxy is
41405implementing such a protocol. When %FALSE is returned, the caller
41406should resolve the destination hostname first, and then pass a
41407#GProxyAddress containing the stringified IP address to
41408g_proxy_connect() or g_proxy_connect_async().
41409
41410Since: 2.26
41411
41412</description>
41413<parameters>
41414<parameter name="proxy">
41415<parameter_description> a #GProxy
41416</parameter_description>
41417</parameter>
41418</parameters>
41419<return> %TRUE if hostname resolution is supported.
41420
41421</return>
41422</function>
41423
41424<function name="g_remote_action_group_activate_action_full">
41425<description>
41426Activates the remote action.
41427
41428This is the same as g_action_group_activate_action() except that it
41429allows for provision of &quot;platform data&quot; to be sent along with the
41430activation request.  This typically contains details such as the user
41431interaction timestamp or startup notification information.
41432
41433@platform_data must be non-%NULL and must have the type
41434%G_VARIANT_TYPE_VARDICT.  If it is floating, it will be consumed.
41435
41436Since: 2.32
41437
41438</description>
41439<parameters>
41440<parameter name="remote">
41441<parameter_description> a #GDBusActionGroup
41442</parameter_description>
41443</parameter>
41444<parameter name="action_name">
41445<parameter_description> the name of the action to activate
41446</parameter_description>
41447</parameter>
41448<parameter name="parameter">
41449<parameter_description> the optional parameter to the activation
41450</parameter_description>
41451</parameter>
41452<parameter name="platform_data">
41453<parameter_description> the platform data to send
41454</parameter_description>
41455</parameter>
41456</parameters>
41457<return></return>
41458</function>
41459
41460<function name="g_remote_action_group_change_action_state_full">
41461<description>
41462Changes the state of a remote action.
41463
41464This is the same as g_action_group_change_action_state() except that
41465it allows for provision of &quot;platform data&quot; to be sent along with the
41466state change request.  This typically contains details such as the
41467user interaction timestamp or startup notification information.
41468
41469@platform_data must be non-%NULL and must have the type
41470%G_VARIANT_TYPE_VARDICT.  If it is floating, it will be consumed.
41471
41472Since: 2.32
41473
41474</description>
41475<parameters>
41476<parameter name="remote">
41477<parameter_description> a #GRemoteActionGroup
41478</parameter_description>
41479</parameter>
41480<parameter name="action_name">
41481<parameter_description> the name of the action to change the state of
41482</parameter_description>
41483</parameter>
41484<parameter name="value">
41485<parameter_description> the new requested value for the state
41486</parameter_description>
41487</parameter>
41488<parameter name="platform_data">
41489<parameter_description> the platform data to send
41490</parameter_description>
41491</parameter>
41492</parameters>
41493<return></return>
41494</function>
41495
41496<function name="g_resolver_error_quark">
41497<description>
41498Gets the #GResolver Error Quark.
41499
41500Since: 2.22
41501
41502</description>
41503<parameters>
41504</parameters>
41505<return> a #GQuark.
41506
41507</return>
41508</function>
41509
41510<function name="g_resolver_free_addresses">
41511<description>
41512Frees @addresses (which should be the return value from
41513g_resolver_lookup_by_name() or g_resolver_lookup_by_name_finish()).
41514(This is a convenience method; you can also simply free the results
41515by hand.)
41516
41517Since: 2.22
41518
41519</description>
41520<parameters>
41521<parameter name="addresses">
41522<parameter_description> a #GList of #GInetAddress
41523</parameter_description>
41524</parameter>
41525</parameters>
41526<return></return>
41527</function>
41528
41529<function name="g_resolver_free_targets">
41530<description>
41531Frees @targets (which should be the return value from
41532g_resolver_lookup_service() or g_resolver_lookup_service_finish()).
41533(This is a convenience method; you can also simply free the
41534results by hand.)
41535
41536Since: 2.22
41537
41538</description>
41539<parameters>
41540<parameter name="targets">
41541<parameter_description> a #GList of #GSrvTarget
41542</parameter_description>
41543</parameter>
41544</parameters>
41545<return></return>
41546</function>
41547
41548<function name="g_resolver_get_default">
41549<description>
41550Gets the default #GResolver. You should unref it when you are done
41551with it. #GResolver may use its reference count as a hint about how
41552many threads it should allocate for concurrent DNS resolutions.
41553
41554Since: 2.22
41555
41556</description>
41557<parameters>
41558</parameters>
41559<return> the default #GResolver.
41560
41561</return>
41562</function>
41563
41564<function name="g_resolver_lookup_by_address">
41565<description>
41566Synchronously reverse-resolves @address to determine its
41567associated hostname.
41568
41569If the DNS resolution fails, @error (if non-%NULL) will be set to
41570a value from #GResolverError.
41571
41572If @cancellable is non-%NULL, it can be used to cancel the
41573operation, in which case @error (if non-%NULL) will be set to
41574%G_IO_ERROR_CANCELLED.
41575
41576Since: 2.22
41577
41578</description>
41579<parameters>
41580<parameter name="resolver">
41581<parameter_description> a #GResolver
41582</parameter_description>
41583</parameter>
41584<parameter name="address">
41585<parameter_description> the address to reverse-resolve
41586</parameter_description>
41587</parameter>
41588<parameter name="cancellable">
41589<parameter_description> a #GCancellable, or %NULL
41590</parameter_description>
41591</parameter>
41592<parameter name="error">
41593<parameter_description> return location for a #GError, or %NULL
41594</parameter_description>
41595</parameter>
41596</parameters>
41597<return> a hostname (either ASCII-only, or in ASCII-encoded
41598form), or %NULL on error.
41599
41600</return>
41601</function>
41602
41603<function name="g_resolver_lookup_by_address_async">
41604<description>
41605Begins asynchronously reverse-resolving @address to determine its
41606associated hostname, and eventually calls @callback, which must
41607call g_resolver_lookup_by_address_finish() to get the final result.
41608
41609Since: 2.22
41610
41611</description>
41612<parameters>
41613<parameter name="resolver">
41614<parameter_description> a #GResolver
41615</parameter_description>
41616</parameter>
41617<parameter name="address">
41618<parameter_description> the address to reverse-resolve
41619</parameter_description>
41620</parameter>
41621<parameter name="cancellable">
41622<parameter_description> a #GCancellable, or %NULL
41623</parameter_description>
41624</parameter>
41625<parameter name="callback">
41626<parameter_description> callback to call after resolution completes
41627</parameter_description>
41628</parameter>
41629<parameter name="user_data">
41630<parameter_description> data for @callback
41631</parameter_description>
41632</parameter>
41633</parameters>
41634<return></return>
41635</function>
41636
41637<function name="g_resolver_lookup_by_address_finish">
41638<description>
41639Retrieves the result of a previous call to
41640g_resolver_lookup_by_address_async().
41641
41642If the DNS resolution failed, @error (if non-%NULL) will be set to
41643a value from #GResolverError. If the operation was cancelled,
41644@error will be set to %G_IO_ERROR_CANCELLED.
41645
41646Since: 2.22
41647
41648</description>
41649<parameters>
41650<parameter name="resolver">
41651<parameter_description> a #GResolver
41652</parameter_description>
41653</parameter>
41654<parameter name="result">
41655<parameter_description> the result passed to your #GAsyncReadyCallback
41656</parameter_description>
41657</parameter>
41658<parameter name="error">
41659<parameter_description> return location for a #GError, or %NULL
41660</parameter_description>
41661</parameter>
41662</parameters>
41663<return> a hostname (either ASCII-only, or in ASCII-encoded
41664form), or %NULL on error.
41665
41666</return>
41667</function>
41668
41669<function name="g_resolver_lookup_by_name">
41670<description>
41671Synchronously resolves @hostname to determine its associated IP
41672address(es). @hostname may be an ASCII-only or UTF-8 hostname, or
41673the textual form of an IP address (in which case this just becomes
41674a wrapper around g_inet_address_new_from_string()).
41675
41676On success, g_resolver_lookup_by_name() will return a non-empty #GList of
41677#GInetAddress, sorted in order of preference and guaranteed to not
41678contain duplicates. That is, if using the result to connect to
41679@hostname, you should attempt to connect to the first address
41680first, then the second if the first fails, etc. If you are using
41681the result to listen on a socket, it is appropriate to add each
41682result using e.g. g_socket_listener_add_address().
41683
41684If the DNS resolution fails, @error (if non-%NULL) will be set to a
41685value from #GResolverError and %NULL will be returned.
41686
41687If @cancellable is non-%NULL, it can be used to cancel the
41688operation, in which case @error (if non-%NULL) will be set to
41689%G_IO_ERROR_CANCELLED.
41690
41691If you are planning to connect to a socket on the resolved IP
41692address, it may be easier to create a #GNetworkAddress and use its
41693#GSocketConnectable interface.
41694
41695Since: 2.22
41696
41697</description>
41698<parameters>
41699<parameter name="resolver">
41700<parameter_description> a #GResolver
41701</parameter_description>
41702</parameter>
41703<parameter name="hostname">
41704<parameter_description> the hostname to look up
41705</parameter_description>
41706</parameter>
41707<parameter name="cancellable">
41708<parameter_description> a #GCancellable, or %NULL
41709</parameter_description>
41710</parameter>
41711<parameter name="error">
41712<parameter_description> return location for a #GError, or %NULL
41713</parameter_description>
41714</parameter>
41715</parameters>
41716<return> a non-empty #GList
41717of #GInetAddress, or %NULL on error. You
41718must unref each of the addresses and free the list when you are
41719done with it. (You can use g_resolver_free_addresses() to do this.)
41720
41721</return>
41722</function>
41723
41724<function name="g_resolver_lookup_by_name_async">
41725<description>
41726Begins asynchronously resolving @hostname to determine its
41727associated IP address(es), and eventually calls @callback, which
41728must call g_resolver_lookup_by_name_finish() to get the result.
41729See g_resolver_lookup_by_name() for more details.
41730
41731Since: 2.22
41732
41733</description>
41734<parameters>
41735<parameter name="resolver">
41736<parameter_description> a #GResolver
41737</parameter_description>
41738</parameter>
41739<parameter name="hostname">
41740<parameter_description> the hostname to look up the address of
41741</parameter_description>
41742</parameter>
41743<parameter name="cancellable">
41744<parameter_description> a #GCancellable, or %NULL
41745</parameter_description>
41746</parameter>
41747<parameter name="callback">
41748<parameter_description> callback to call after resolution completes
41749</parameter_description>
41750</parameter>
41751<parameter name="user_data">
41752<parameter_description> data for @callback
41753</parameter_description>
41754</parameter>
41755</parameters>
41756<return></return>
41757</function>
41758
41759<function name="g_resolver_lookup_by_name_finish">
41760<description>
41761Retrieves the result of a call to
41762g_resolver_lookup_by_name_async().
41763
41764If the DNS resolution failed, @error (if non-%NULL) will be set to
41765a value from #GResolverError. If the operation was cancelled,
41766@error will be set to %G_IO_ERROR_CANCELLED.
41767
41768Since: 2.22
41769
41770</description>
41771<parameters>
41772<parameter name="resolver">
41773<parameter_description> a #GResolver
41774</parameter_description>
41775</parameter>
41776<parameter name="result">
41777<parameter_description> the result passed to your #GAsyncReadyCallback
41778</parameter_description>
41779</parameter>
41780<parameter name="error">
41781<parameter_description> return location for a #GError, or %NULL
41782</parameter_description>
41783</parameter>
41784</parameters>
41785<return> a #GList
41786of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
41787for more details.
41788
41789</return>
41790</function>
41791
41792<function name="g_resolver_lookup_by_name_with_flags">
41793<description>
41794This differs from g_resolver_lookup_by_name() in that you can modify
41795the lookup behavior with @flags. For example this can be used to limit
41796results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.
41797
41798Since: 2.60
41799
41800</description>
41801<parameters>
41802<parameter name="resolver">
41803<parameter_description> a #GResolver
41804</parameter_description>
41805</parameter>
41806<parameter name="hostname">
41807<parameter_description> the hostname to look up
41808</parameter_description>
41809</parameter>
41810<parameter name="flags">
41811<parameter_description> extra #GResolverNameLookupFlags for the lookup
41812</parameter_description>
41813</parameter>
41814<parameter name="cancellable">
41815<parameter_description> a #GCancellable, or %NULL
41816</parameter_description>
41817</parameter>
41818<parameter name="error">
41819<parameter_description> return location for a #GError, or %NULL
41820</parameter_description>
41821</parameter>
41822</parameters>
41823<return> a non-empty #GList
41824of #GInetAddress, or %NULL on error. You
41825must unref each of the addresses and free the list when you are
41826done with it. (You can use g_resolver_free_addresses() to do this.)
41827
41828</return>
41829</function>
41830
41831<function name="g_resolver_lookup_by_name_with_flags_async">
41832<description>
41833Begins asynchronously resolving @hostname to determine its
41834associated IP address(es), and eventually calls @callback, which
41835must call g_resolver_lookup_by_name_with_flags_finish() to get the result.
41836See g_resolver_lookup_by_name() for more details.
41837
41838Since: 2.60
41839
41840</description>
41841<parameters>
41842<parameter name="resolver">
41843<parameter_description> a #GResolver
41844</parameter_description>
41845</parameter>
41846<parameter name="hostname">
41847<parameter_description> the hostname to look up the address of
41848</parameter_description>
41849</parameter>
41850<parameter name="flags">
41851<parameter_description> extra #GResolverNameLookupFlags for the lookup
41852</parameter_description>
41853</parameter>
41854<parameter name="cancellable">
41855<parameter_description> a #GCancellable, or %NULL
41856</parameter_description>
41857</parameter>
41858<parameter name="callback">
41859<parameter_description> callback to call after resolution completes
41860</parameter_description>
41861</parameter>
41862<parameter name="user_data">
41863<parameter_description> data for @callback
41864</parameter_description>
41865</parameter>
41866</parameters>
41867<return></return>
41868</function>
41869
41870<function name="g_resolver_lookup_by_name_with_flags_finish">
41871<description>
41872Retrieves the result of a call to
41873g_resolver_lookup_by_name_with_flags_async().
41874
41875If the DNS resolution failed, @error (if non-%NULL) will be set to
41876a value from #GResolverError. If the operation was cancelled,
41877@error will be set to %G_IO_ERROR_CANCELLED.
41878
41879Since: 2.60
41880
41881</description>
41882<parameters>
41883<parameter name="resolver">
41884<parameter_description> a #GResolver
41885</parameter_description>
41886</parameter>
41887<parameter name="result">
41888<parameter_description> the result passed to your #GAsyncReadyCallback
41889</parameter_description>
41890</parameter>
41891<parameter name="error">
41892<parameter_description> return location for a #GError, or %NULL
41893</parameter_description>
41894</parameter>
41895</parameters>
41896<return> a #GList
41897of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
41898for more details.
41899
41900</return>
41901</function>
41902
41903<function name="g_resolver_lookup_records">
41904<description>
41905Synchronously performs a DNS record lookup for the given @rrname and returns
41906a list of records as #GVariant tuples. See #GResolverRecordType for
41907information on what the records contain for each @record_type.
41908
41909If the DNS resolution fails, @error (if non-%NULL) will be set to
41910a value from #GResolverError and %NULL will be returned.
41911
41912If @cancellable is non-%NULL, it can be used to cancel the
41913operation, in which case @error (if non-%NULL) will be set to
41914%G_IO_ERROR_CANCELLED.
41915
41916Since: 2.34
41917
41918</description>
41919<parameters>
41920<parameter name="resolver">
41921<parameter_description> a #GResolver
41922</parameter_description>
41923</parameter>
41924<parameter name="rrname">
41925<parameter_description> the DNS name to look up the record for
41926</parameter_description>
41927</parameter>
41928<parameter name="record_type">
41929<parameter_description> the type of DNS record to look up
41930</parameter_description>
41931</parameter>
41932<parameter name="cancellable">
41933<parameter_description> a #GCancellable, or %NULL
41934</parameter_description>
41935</parameter>
41936<parameter name="error">
41937<parameter_description> return location for a #GError, or %NULL
41938</parameter_description>
41939</parameter>
41940</parameters>
41941<return> a non-empty #GList of
41942#GVariant, or %NULL on error. You must free each of the records and the list
41943when you are done with it. (You can use g_list_free_full() with
41944g_variant_unref() to do this.)
41945
41946</return>
41947</function>
41948
41949<function name="g_resolver_lookup_records_async">
41950<description>
41951Begins asynchronously performing a DNS lookup for the given
41952@rrname, and eventually calls @callback, which must call
41953g_resolver_lookup_records_finish() to get the final result. See
41954g_resolver_lookup_records() for more details.
41955
41956Since: 2.34
41957
41958</description>
41959<parameters>
41960<parameter name="resolver">
41961<parameter_description> a #GResolver
41962</parameter_description>
41963</parameter>
41964<parameter name="rrname">
41965<parameter_description> the DNS name to look up the record for
41966</parameter_description>
41967</parameter>
41968<parameter name="record_type">
41969<parameter_description> the type of DNS record to look up
41970</parameter_description>
41971</parameter>
41972<parameter name="cancellable">
41973<parameter_description> a #GCancellable, or %NULL
41974</parameter_description>
41975</parameter>
41976<parameter name="callback">
41977<parameter_description> callback to call after resolution completes
41978</parameter_description>
41979</parameter>
41980<parameter name="user_data">
41981<parameter_description> data for @callback
41982</parameter_description>
41983</parameter>
41984</parameters>
41985<return></return>
41986</function>
41987
41988<function name="g_resolver_lookup_records_finish">
41989<description>
41990Retrieves the result of a previous call to
41991g_resolver_lookup_records_async(). Returns a non-empty list of records as
41992#GVariant tuples. See #GResolverRecordType for information on what the
41993records contain.
41994
41995If the DNS resolution failed, @error (if non-%NULL) will be set to
41996a value from #GResolverError. If the operation was cancelled,
41997@error will be set to %G_IO_ERROR_CANCELLED.
41998
41999Since: 2.34
42000
42001</description>
42002<parameters>
42003<parameter name="resolver">
42004<parameter_description> a #GResolver
42005</parameter_description>
42006</parameter>
42007<parameter name="result">
42008<parameter_description> the result passed to your #GAsyncReadyCallback
42009</parameter_description>
42010</parameter>
42011<parameter name="error">
42012<parameter_description> return location for a #GError, or %NULL
42013</parameter_description>
42014</parameter>
42015</parameters>
42016<return> a non-empty #GList of
42017#GVariant, or %NULL on error. You must free each of the records and the list
42018when you are done with it. (You can use g_list_free_full() with
42019g_variant_unref() to do this.)
42020
42021</return>
42022</function>
42023
42024<function name="g_resolver_lookup_service">
42025<description>
42026Synchronously performs a DNS SRV lookup for the given @service and
42027@protocol in the given @domain and returns an array of #GSrvTarget.
42028@domain may be an ASCII-only or UTF-8 hostname. Note also that the
42029@service and @protocol arguments do not include the leading underscore
42030that appears in the actual DNS entry.
42031
42032On success, g_resolver_lookup_service() will return a non-empty #GList of
42033#GSrvTarget, sorted in order of preference. (That is, you should
42034attempt to connect to the first target first, then the second if
42035the first fails, etc.)
42036
42037If the DNS resolution fails, @error (if non-%NULL) will be set to
42038a value from #GResolverError and %NULL will be returned.
42039
42040If @cancellable is non-%NULL, it can be used to cancel the
42041operation, in which case @error (if non-%NULL) will be set to
42042%G_IO_ERROR_CANCELLED.
42043
42044If you are planning to connect to the service, it is usually easier
42045to create a #GNetworkService and use its #GSocketConnectable
42046interface.
42047
42048Since: 2.22
42049
42050</description>
42051<parameters>
42052<parameter name="resolver">
42053<parameter_description> a #GResolver
42054</parameter_description>
42055</parameter>
42056<parameter name="service">
42057<parameter_description> the service type to look up (eg, &quot;ldap&quot;)
42058</parameter_description>
42059</parameter>
42060<parameter name="protocol">
42061<parameter_description> the networking protocol to use for @service (eg, &quot;tcp&quot;)
42062</parameter_description>
42063</parameter>
42064<parameter name="domain">
42065<parameter_description> the DNS domain to look up the service in
42066</parameter_description>
42067</parameter>
42068<parameter name="cancellable">
42069<parameter_description> a #GCancellable, or %NULL
42070</parameter_description>
42071</parameter>
42072<parameter name="error">
42073<parameter_description> return location for a #GError, or %NULL
42074</parameter_description>
42075</parameter>
42076</parameters>
42077<return> a non-empty #GList of
42078#GSrvTarget, or %NULL on error. You must free each of the targets and the
42079list when you are done with it. (You can use g_resolver_free_targets() to do
42080this.)
42081
42082</return>
42083</function>
42084
42085<function name="g_resolver_lookup_service_async">
42086<description>
42087Begins asynchronously performing a DNS SRV lookup for the given
42088@service and @protocol in the given @domain, and eventually calls
42089@callback, which must call g_resolver_lookup_service_finish() to
42090get the final result. See g_resolver_lookup_service() for more
42091details.
42092
42093Since: 2.22
42094
42095</description>
42096<parameters>
42097<parameter name="resolver">
42098<parameter_description> a #GResolver
42099</parameter_description>
42100</parameter>
42101<parameter name="service">
42102<parameter_description> the service type to look up (eg, &quot;ldap&quot;)
42103</parameter_description>
42104</parameter>
42105<parameter name="protocol">
42106<parameter_description> the networking protocol to use for @service (eg, &quot;tcp&quot;)
42107</parameter_description>
42108</parameter>
42109<parameter name="domain">
42110<parameter_description> the DNS domain to look up the service in
42111</parameter_description>
42112</parameter>
42113<parameter name="cancellable">
42114<parameter_description> a #GCancellable, or %NULL
42115</parameter_description>
42116</parameter>
42117<parameter name="callback">
42118<parameter_description> callback to call after resolution completes
42119</parameter_description>
42120</parameter>
42121<parameter name="user_data">
42122<parameter_description> data for @callback
42123</parameter_description>
42124</parameter>
42125</parameters>
42126<return></return>
42127</function>
42128
42129<function name="g_resolver_lookup_service_finish">
42130<description>
42131Retrieves the result of a previous call to
42132g_resolver_lookup_service_async().
42133
42134If the DNS resolution failed, @error (if non-%NULL) will be set to
42135a value from #GResolverError. If the operation was cancelled,
42136@error will be set to %G_IO_ERROR_CANCELLED.
42137
42138Since: 2.22
42139
42140</description>
42141<parameters>
42142<parameter name="resolver">
42143<parameter_description> a #GResolver
42144</parameter_description>
42145</parameter>
42146<parameter name="result">
42147<parameter_description> the result passed to your #GAsyncReadyCallback
42148</parameter_description>
42149</parameter>
42150<parameter name="error">
42151<parameter_description> return location for a #GError, or %NULL
42152</parameter_description>
42153</parameter>
42154</parameters>
42155<return> a non-empty #GList of
42156#GSrvTarget, or %NULL on error. See g_resolver_lookup_service() for more
42157details.
42158
42159</return>
42160</function>
42161
42162<function name="g_resolver_set_default">
42163<description>
42164Sets @resolver to be the application's default resolver (reffing
42165@resolver, and unreffing the previous default resolver, if any).
42166Future calls to g_resolver_get_default() will return this resolver.
42167
42168This can be used if an application wants to perform any sort of DNS
42169caching or &quot;pinning&quot;; it can implement its own #GResolver that
42170calls the original default resolver for DNS operations, and
42171implements its own cache policies on top of that, and then set
42172itself as the default resolver for all later code to use.
42173
42174Since: 2.22
42175
42176</description>
42177<parameters>
42178<parameter name="resolver">
42179<parameter_description> the new default #GResolver
42180</parameter_description>
42181</parameter>
42182</parameters>
42183<return></return>
42184</function>
42185
42186<function name="g_resource_enumerate_children">
42187<description>
42188Returns all the names of children at the specified @path in the resource.
42189The return result is a %NULL terminated list of strings which should
42190be released with g_strfreev().
42191
42192If @path is invalid or does not exist in the #GResource,
42193%G_RESOURCE_ERROR_NOT_FOUND will be returned.
42194
42195@lookup_flags controls the behaviour of the lookup.
42196
42197Since: 2.32
42198
42199</description>
42200<parameters>
42201<parameter name="resource">
42202<parameter_description> A #GResource
42203</parameter_description>
42204</parameter>
42205<parameter name="path">
42206<parameter_description> A pathname inside the resource
42207</parameter_description>
42208</parameter>
42209<parameter name="lookup_flags">
42210<parameter_description> A #GResourceLookupFlags
42211</parameter_description>
42212</parameter>
42213<parameter name="error">
42214<parameter_description> return location for a #GError, or %NULL
42215</parameter_description>
42216</parameter>
42217</parameters>
42218<return> an array of constant strings
42219
42220</return>
42221</function>
42222
42223<function name="g_resource_error_quark">
42224<description>
42225Gets the #GResource Error Quark.
42226
42227Since: 2.32
42228
42229</description>
42230<parameters>
42231</parameters>
42232<return> a #GQuark
42233
42234</return>
42235</function>
42236
42237<function name="g_resource_get_info">
42238<description>
42239Looks for a file at the specified @path in the resource and
42240if found returns information about it.
42241
42242@lookup_flags controls the behaviour of the lookup.
42243
42244Since: 2.32
42245
42246</description>
42247<parameters>
42248<parameter name="resource">
42249<parameter_description> A #GResource
42250</parameter_description>
42251</parameter>
42252<parameter name="path">
42253<parameter_description> A pathname inside the resource
42254</parameter_description>
42255</parameter>
42256<parameter name="lookup_flags">
42257<parameter_description> A #GResourceLookupFlags
42258</parameter_description>
42259</parameter>
42260<parameter name="size">
42261<parameter_description> a location to place the length of the contents of the file,
42262or %NULL if the length is not needed
42263</parameter_description>
42264</parameter>
42265<parameter name="flags">
42266<parameter_description> a location to place the flags about the file,
42267or %NULL if the length is not needed
42268</parameter_description>
42269</parameter>
42270<parameter name="error">
42271<parameter_description> return location for a #GError, or %NULL
42272</parameter_description>
42273</parameter>
42274</parameters>
42275<return> %TRUE if the file was found. %FALSE if there were errors
42276
42277</return>
42278</function>
42279
42280<function name="g_resource_load">
42281<description>
42282Loads a binary resource bundle and creates a #GResource representation of it, allowing
42283you to query it for data.
42284
42285If you want to use this resource in the global resource namespace you need
42286to register it with g_resources_register().
42287
42288If @filename is empty or the data in it is corrupt,
42289%G_RESOURCE_ERROR_INTERNAL will be returned. If @filename doesn’t exist, or
42290there is an error in reading it, an error from g_mapped_file_new() will be
42291returned.
42292
42293Since: 2.32
42294
42295</description>
42296<parameters>
42297<parameter name="filename">
42298<parameter_description> the path of a filename to load, in the GLib filename encoding
42299</parameter_description>
42300</parameter>
42301<parameter name="error">
42302<parameter_description> return location for a #GError, or %NULL
42303</parameter_description>
42304</parameter>
42305</parameters>
42306<return> a new #GResource, or %NULL on error
42307
42308</return>
42309</function>
42310
42311<function name="g_resource_lookup_data">
42312<description>
42313Looks for a file at the specified @path in the resource and
42314returns a #GBytes that lets you directly access the data in
42315memory.
42316
42317The data is always followed by a zero byte, so you
42318can safely use the data as a C string. However, that byte
42319is not included in the size of the GBytes.
42320
42321For uncompressed resource files this is a pointer directly into
42322the resource bundle, which is typically in some readonly data section
42323in the program binary. For compressed files we allocate memory on
42324the heap and automatically uncompress the data.
42325
42326@lookup_flags controls the behaviour of the lookup.
42327
42328Since: 2.32
42329
42330</description>
42331<parameters>
42332<parameter name="resource">
42333<parameter_description> A #GResource
42334</parameter_description>
42335</parameter>
42336<parameter name="path">
42337<parameter_description> A pathname inside the resource
42338</parameter_description>
42339</parameter>
42340<parameter name="lookup_flags">
42341<parameter_description> A #GResourceLookupFlags
42342</parameter_description>
42343</parameter>
42344<parameter name="error">
42345<parameter_description> return location for a #GError, or %NULL
42346</parameter_description>
42347</parameter>
42348</parameters>
42349<return> #GBytes or %NULL on error.
42350Free the returned object with g_bytes_unref()
42351
42352</return>
42353</function>
42354
42355<function name="g_resource_new_from_data">
42356<description>
42357Creates a GResource from a reference to the binary resource bundle.
42358This will keep a reference to @data while the resource lives, so
42359the data should not be modified or freed.
42360
42361If you want to use this resource in the global resource namespace you need
42362to register it with g_resources_register().
42363
42364Note: @data must be backed by memory that is at least pointer aligned.
42365Otherwise this function will internally create a copy of the memory since
42366GLib 2.56, or in older versions fail and exit the process.
42367
42368If @data is empty or corrupt, %G_RESOURCE_ERROR_INTERNAL will be returned.
42369
42370Since: 2.32
42371
42372</description>
42373<parameters>
42374<parameter name="data">
42375<parameter_description> A #GBytes
42376</parameter_description>
42377</parameter>
42378<parameter name="error">
42379<parameter_description> return location for a #GError, or %NULL
42380</parameter_description>
42381</parameter>
42382</parameters>
42383<return> a new #GResource, or %NULL on error
42384
42385</return>
42386</function>
42387
42388<function name="g_resource_open_stream">
42389<description>
42390Looks for a file at the specified @path in the resource and
42391returns a #GInputStream that lets you read the data.
42392
42393@lookup_flags controls the behaviour of the lookup.
42394
42395Since: 2.32
42396
42397</description>
42398<parameters>
42399<parameter name="resource">
42400<parameter_description> A #GResource
42401</parameter_description>
42402</parameter>
42403<parameter name="path">
42404<parameter_description> A pathname inside the resource
42405</parameter_description>
42406</parameter>
42407<parameter name="lookup_flags">
42408<parameter_description> A #GResourceLookupFlags
42409</parameter_description>
42410</parameter>
42411<parameter name="error">
42412<parameter_description> return location for a #GError, or %NULL
42413</parameter_description>
42414</parameter>
42415</parameters>
42416<return> #GInputStream or %NULL on error.
42417Free the returned object with g_object_unref()
42418
42419</return>
42420</function>
42421
42422<function name="g_resource_ref">
42423<description>
42424Atomically increments the reference count of @resource by one. This
42425function is MT-safe and may be called from any thread.
42426
42427Since: 2.32
42428
42429</description>
42430<parameters>
42431<parameter name="resource">
42432<parameter_description> A #GResource
42433</parameter_description>
42434</parameter>
42435</parameters>
42436<return> The passed in #GResource
42437
42438</return>
42439</function>
42440
42441<function name="g_resource_unref">
42442<description>
42443Atomically decrements the reference count of @resource by one. If the
42444reference count drops to 0, all memory allocated by the resource is
42445released. This function is MT-safe and may be called from any
42446thread.
42447
42448Since: 2.32
42449
42450</description>
42451<parameters>
42452<parameter name="resource">
42453<parameter_description> A #GResource
42454</parameter_description>
42455</parameter>
42456</parameters>
42457<return></return>
42458</function>
42459
42460<function name="g_resources_enumerate_children">
42461<description>
42462Returns all the names of children at the specified @path in the set of
42463globally registered resources.
42464The return result is a %NULL terminated list of strings which should
42465be released with g_strfreev().
42466
42467@lookup_flags controls the behaviour of the lookup.
42468
42469Since: 2.32
42470
42471</description>
42472<parameters>
42473<parameter name="path">
42474<parameter_description> A pathname inside the resource
42475</parameter_description>
42476</parameter>
42477<parameter name="lookup_flags">
42478<parameter_description> A #GResourceLookupFlags
42479</parameter_description>
42480</parameter>
42481<parameter name="error">
42482<parameter_description> return location for a #GError, or %NULL
42483</parameter_description>
42484</parameter>
42485</parameters>
42486<return> an array of constant strings
42487
42488</return>
42489</function>
42490
42491<function name="g_resources_get_info">
42492<description>
42493Looks for a file at the specified @path in the set of
42494globally registered resources and if found returns information about it.
42495
42496@lookup_flags controls the behaviour of the lookup.
42497
42498Since: 2.32
42499
42500</description>
42501<parameters>
42502<parameter name="path">
42503<parameter_description> A pathname inside the resource
42504</parameter_description>
42505</parameter>
42506<parameter name="lookup_flags">
42507<parameter_description> A #GResourceLookupFlags
42508</parameter_description>
42509</parameter>
42510<parameter name="size">
42511<parameter_description> a location to place the length of the contents of the file,
42512or %NULL if the length is not needed
42513</parameter_description>
42514</parameter>
42515<parameter name="flags">
42516<parameter_description> a location to place the #GResourceFlags about the file,
42517or %NULL if the flags are not needed
42518</parameter_description>
42519</parameter>
42520<parameter name="error">
42521<parameter_description> return location for a #GError, or %NULL
42522</parameter_description>
42523</parameter>
42524</parameters>
42525<return> %TRUE if the file was found. %FALSE if there were errors
42526
42527</return>
42528</function>
42529
42530<function name="g_resources_lookup_data">
42531<description>
42532Looks for a file at the specified @path in the set of
42533globally registered resources and returns a #GBytes that
42534lets you directly access the data in memory.
42535
42536The data is always followed by a zero byte, so you
42537can safely use the data as a C string. However, that byte
42538is not included in the size of the GBytes.
42539
42540For uncompressed resource files this is a pointer directly into
42541the resource bundle, which is typically in some readonly data section
42542in the program binary. For compressed files we allocate memory on
42543the heap and automatically uncompress the data.
42544
42545@lookup_flags controls the behaviour of the lookup.
42546
42547Since: 2.32
42548
42549</description>
42550<parameters>
42551<parameter name="path">
42552<parameter_description> A pathname inside the resource
42553</parameter_description>
42554</parameter>
42555<parameter name="lookup_flags">
42556<parameter_description> A #GResourceLookupFlags
42557</parameter_description>
42558</parameter>
42559<parameter name="error">
42560<parameter_description> return location for a #GError, or %NULL
42561</parameter_description>
42562</parameter>
42563</parameters>
42564<return> #GBytes or %NULL on error.
42565Free the returned object with g_bytes_unref()
42566
42567</return>
42568</function>
42569
42570<function name="g_resources_open_stream">
42571<description>
42572Looks for a file at the specified @path in the set of
42573globally registered resources and returns a #GInputStream
42574that lets you read the data.
42575
42576@lookup_flags controls the behaviour of the lookup.
42577
42578Since: 2.32
42579
42580</description>
42581<parameters>
42582<parameter name="path">
42583<parameter_description> A pathname inside the resource
42584</parameter_description>
42585</parameter>
42586<parameter name="lookup_flags">
42587<parameter_description> A #GResourceLookupFlags
42588</parameter_description>
42589</parameter>
42590<parameter name="error">
42591<parameter_description> return location for a #GError, or %NULL
42592</parameter_description>
42593</parameter>
42594</parameters>
42595<return> #GInputStream or %NULL on error.
42596Free the returned object with g_object_unref()
42597
42598</return>
42599</function>
42600
42601<function name="g_resources_register">
42602<description>
42603Registers the resource with the process-global set of resources.
42604Once a resource is registered the files in it can be accessed
42605with the global resource lookup functions like g_resources_lookup_data().
42606
42607Since: 2.32
42608
42609</description>
42610<parameters>
42611<parameter name="resource">
42612<parameter_description> A #GResource
42613</parameter_description>
42614</parameter>
42615</parameters>
42616<return></return>
42617</function>
42618
42619<function name="g_resources_unregister">
42620<description>
42621Unregisters the resource from the process-global set of resources.
42622
42623Since: 2.32
42624
42625</description>
42626<parameters>
42627<parameter name="resource">
42628<parameter_description> A #GResource
42629</parameter_description>
42630</parameter>
42631</parameters>
42632<return></return>
42633</function>
42634
42635<function name="g_seekable_can_seek">
42636<description>
42637Tests if the stream supports the #GSeekableIface.
42638
42639
42640</description>
42641<parameters>
42642<parameter name="seekable">
42643<parameter_description> a #GSeekable.
42644</parameter_description>
42645</parameter>
42646</parameters>
42647<return> %TRUE if @seekable can be seeked. %FALSE otherwise.
42648</return>
42649</function>
42650
42651<function name="g_seekable_can_truncate">
42652<description>
42653Tests if the length of the stream can be adjusted with
42654g_seekable_truncate().
42655
42656
42657</description>
42658<parameters>
42659<parameter name="seekable">
42660<parameter_description> a #GSeekable.
42661</parameter_description>
42662</parameter>
42663</parameters>
42664<return> %TRUE if the stream can be truncated, %FALSE otherwise.
42665</return>
42666</function>
42667
42668<function name="g_seekable_seek">
42669<description>
42670Seeks in the stream by the given @offset, modified by @type.
42671
42672Attempting to seek past the end of the stream will have different
42673results depending on if the stream is fixed-sized or resizable.  If
42674the stream is resizable then seeking past the end and then writing
42675will result in zeros filling the empty space.  Seeking past the end
42676of a resizable stream and reading will result in EOF.  Seeking past
42677the end of a fixed-sized stream will fail.
42678
42679Any operation that would result in a negative offset will fail.
42680
42681If @cancellable is not %NULL, then the operation can be cancelled by
42682triggering the cancellable object from another thread. If the operation
42683was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
42684
42685
42686</description>
42687<parameters>
42688<parameter name="seekable">
42689<parameter_description> a #GSeekable.
42690</parameter_description>
42691</parameter>
42692<parameter name="offset">
42693<parameter_description> a #goffset.
42694</parameter_description>
42695</parameter>
42696<parameter name="type">
42697<parameter_description> a #GSeekType.
42698</parameter_description>
42699</parameter>
42700<parameter name="cancellable">
42701<parameter_description> optional #GCancellable object, %NULL to ignore.
42702</parameter_description>
42703</parameter>
42704<parameter name="error">
42705<parameter_description> a #GError location to store the error occurring, or %NULL to
42706ignore.
42707</parameter_description>
42708</parameter>
42709</parameters>
42710<return> %TRUE if successful. If an error
42711has occurred, this function will return %FALSE and set @error
42712appropriately if present.
42713</return>
42714</function>
42715
42716<function name="g_seekable_tell">
42717<description>
42718Tells the current position within the stream.
42719
42720
42721</description>
42722<parameters>
42723<parameter name="seekable">
42724<parameter_description> a #GSeekable.
42725</parameter_description>
42726</parameter>
42727</parameters>
42728<return> the offset from the beginning of the buffer.
42729</return>
42730</function>
42731
42732<function name="g_seekable_truncate">
42733<description>
42734Sets the length of the stream to @offset. If the stream was previously
42735larger than @offset, the extra data is discarded. If the stream was
42736previouly shorter than @offset, it is extended with NUL ('\0') bytes.
42737
42738If @cancellable is not %NULL, then the operation can be cancelled by
42739triggering the cancellable object from another thread. If the operation
42740was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
42741operation was partially finished when the operation was cancelled the
42742partial result will be returned, without an error.
42743
42744
42745</description>
42746<parameters>
42747<parameter name="seekable">
42748<parameter_description> a #GSeekable.
42749</parameter_description>
42750</parameter>
42751<parameter name="offset">
42752<parameter_description> new length for @seekable, in bytes.
42753</parameter_description>
42754</parameter>
42755<parameter name="cancellable">
42756<parameter_description> optional #GCancellable object, %NULL to ignore.
42757</parameter_description>
42758</parameter>
42759<parameter name="error">
42760<parameter_description> a #GError location to store the error occurring, or %NULL to
42761ignore.
42762</parameter_description>
42763</parameter>
42764</parameters>
42765<return> %TRUE if successful. If an error
42766has occurred, this function will return %FALSE and set @error
42767appropriately if present.
42768</return>
42769</function>
42770
42771<function name="g_settings_apply">
42772<description>
42773Applies any changes that have been made to the settings.  This
42774function does nothing unless @settings is in 'delay-apply' mode;
42775see g_settings_delay().  In the normal case settings are always
42776applied immediately.
42777
42778</description>
42779<parameters>
42780<parameter name="settings">
42781<parameter_description> a #GSettings instance
42782</parameter_description>
42783</parameter>
42784</parameters>
42785<return></return>
42786</function>
42787
42788<function name="g_settings_backend_changed">
42789<description>
42790Signals that a single key has possibly changed.  Backend
42791implementations should call this if a key has possibly changed its
42792value.
42793
42794@key must be a valid key (ie starting with a slash, not containing
42795'//', and not ending with a slash).
42796
42797The implementation must call this function during any call to
42798g_settings_backend_write(), before the call returns (except in the
42799case that no keys are actually changed and it cares to detect this
42800fact).  It may not rely on the existence of a mainloop for
42801dispatching the signal later.
42802
42803The implementation may call this function at any other time it likes
42804in response to other events (such as changes occurring outside of the
42805program).  These calls may originate from a mainloop or may originate
42806in response to any other action (including from calls to
42807g_settings_backend_write()).
42808
42809In the case that this call is in response to a call to
42810g_settings_backend_write() then @origin_tag must be set to the same
42811value that was passed to that call.
42812
42813Since: 2.26
42814
42815</description>
42816<parameters>
42817<parameter name="backend">
42818<parameter_description> a #GSettingsBackend implementation
42819</parameter_description>
42820</parameter>
42821<parameter name="key">
42822<parameter_description> the name of the key
42823</parameter_description>
42824</parameter>
42825<parameter name="origin_tag">
42826<parameter_description> the origin tag
42827</parameter_description>
42828</parameter>
42829</parameters>
42830<return></return>
42831</function>
42832
42833<function name="g_settings_backend_changed_tree">
42834<description>
42835This call is a convenience wrapper.  It gets the list of changes from
42836@tree, computes the longest common prefix and calls
42837g_settings_backend_changed().
42838
42839Since: 2.26
42840
42841</description>
42842<parameters>
42843<parameter name="backend">
42844<parameter_description> a #GSettingsBackend implementation
42845</parameter_description>
42846</parameter>
42847<parameter name="tree">
42848<parameter_description> a #GTree containing the changes
42849</parameter_description>
42850</parameter>
42851<parameter name="origin_tag">
42852<parameter_description> the origin tag
42853</parameter_description>
42854</parameter>
42855</parameters>
42856<return></return>
42857</function>
42858
42859<function name="g_settings_backend_flatten_tree">
42860<description>
42861Calculate the longest common prefix of all keys in a tree and write
42862out an array of the key names relative to that prefix and,
42863optionally, the value to store at each of those keys.
42864
42865You must free the value returned in @path, @keys and @values using
42866g_free().  You should not attempt to free or unref the contents of
42867@keys or @values.
42868
42869Since: 2.26
42870
42871</description>
42872<parameters>
42873<parameter name="tree">
42874<parameter_description> a #GTree containing the changes
42875</parameter_description>
42876</parameter>
42877<parameter name="path">
42878<parameter_description> the location to save the path
42879</parameter_description>
42880</parameter>
42881<parameter name="keys">
42882<parameter_description> the
42883location to save the relative keys
42884</parameter_description>
42885</parameter>
42886<parameter name="values">
42887<parameter_description>
42888the location to save the values, or %NULL
42889</parameter_description>
42890</parameter>
42891</parameters>
42892<return></return>
42893</function>
42894
42895<function name="g_settings_backend_get_default">
42896<description>
42897Returns the default #GSettingsBackend. It is possible to override
42898the default by setting the `GSETTINGS_BACKEND` environment variable
42899to the name of a settings backend.
42900
42901The user gets a reference to the backend.
42902
42903Since: 2.28
42904
42905</description>
42906<parameters>
42907</parameters>
42908<return> the default #GSettingsBackend
42909
42910</return>
42911</function>
42912
42913<function name="g_settings_backend_keys_changed">
42914<description>
42915Signals that a list of keys have possibly changed.  Backend
42916implementations should call this if keys have possibly changed their
42917values.
42918
42919@path must be a valid path (ie starting and ending with a slash and
42920not containing '//').  Each string in @items must form a valid key
42921name when @path is prefixed to it (ie: each item must not start or
42922end with '/' and must not contain '//').
42923
42924The meaning of this signal is that any of the key names resulting
42925from the contatenation of @path with each item in @items may have
42926changed.
42927
42928The same rules for when notifications must occur apply as per
42929g_settings_backend_changed().  These two calls can be used
42930interchangeably if exactly one item has changed (although in that
42931case g_settings_backend_changed() is definitely preferred).
42932
42933For efficiency reasons, the implementation should strive for @path to
42934be as long as possible (ie: the longest common prefix of all of the
42935keys that were changed) but this is not strictly required.
42936
42937Since: 2.26
42938
42939</description>
42940<parameters>
42941<parameter name="backend">
42942<parameter_description> a #GSettingsBackend implementation
42943</parameter_description>
42944</parameter>
42945<parameter name="path">
42946<parameter_description> the path containing the changes
42947</parameter_description>
42948</parameter>
42949<parameter name="items">
42950<parameter_description> the %NULL-terminated list of changed keys
42951</parameter_description>
42952</parameter>
42953<parameter name="origin_tag">
42954<parameter_description> the origin tag
42955</parameter_description>
42956</parameter>
42957</parameters>
42958<return></return>
42959</function>
42960
42961<function name="g_settings_backend_path_changed">
42962<description>
42963Signals that all keys below a given path may have possibly changed.
42964Backend implementations should call this if an entire path of keys
42965have possibly changed their values.
42966
42967@path must be a valid path (ie starting and ending with a slash and
42968not containing '//').
42969
42970The meaning of this signal is that any of the key which has a name
42971starting with @path may have changed.
42972
42973The same rules for when notifications must occur apply as per
42974g_settings_backend_changed().  This call might be an appropriate
42975reasponse to a 'reset' call but implementations are also free to
42976explicitly list the keys that were affected by that call if they can
42977easily do so.
42978
42979For efficiency reasons, the implementation should strive for @path to
42980be as long as possible (ie: the longest common prefix of all of the
42981keys that were changed) but this is not strictly required.  As an
42982example, if this function is called with the path of &quot;/&quot; then every
42983single key in the application will be notified of a possible change.
42984
42985Since: 2.26
42986
42987</description>
42988<parameters>
42989<parameter name="backend">
42990<parameter_description> a #GSettingsBackend implementation
42991</parameter_description>
42992</parameter>
42993<parameter name="path">
42994<parameter_description> the path containing the changes
42995</parameter_description>
42996</parameter>
42997<parameter name="origin_tag">
42998<parameter_description> the origin tag
42999</parameter_description>
43000</parameter>
43001</parameters>
43002<return></return>
43003</function>
43004
43005<function name="g_settings_backend_path_writable_changed">
43006<description>
43007Signals that the writability of all keys below a given path may have
43008changed.
43009
43010Since GSettings performs no locking operations for itself, this call
43011will always be made in response to external events.
43012
43013Since: 2.26
43014
43015</description>
43016<parameters>
43017<parameter name="backend">
43018<parameter_description> a #GSettingsBackend implementation
43019</parameter_description>
43020</parameter>
43021<parameter name="path">
43022<parameter_description> the name of the path
43023</parameter_description>
43024</parameter>
43025</parameters>
43026<return></return>
43027</function>
43028
43029<function name="g_settings_backend_writable_changed">
43030<description>
43031Signals that the writability of a single key has possibly changed.
43032
43033Since GSettings performs no locking operations for itself, this call
43034will always be made in response to external events.
43035
43036Since: 2.26
43037
43038</description>
43039<parameters>
43040<parameter name="backend">
43041<parameter_description> a #GSettingsBackend implementation
43042</parameter_description>
43043</parameter>
43044<parameter name="key">
43045<parameter_description> the name of the key
43046</parameter_description>
43047</parameter>
43048</parameters>
43049<return></return>
43050</function>
43051
43052<function name="g_settings_bind">
43053<description>
43054Create a binding between the @key in the @settings object
43055and the property @property of @object.
43056
43057The binding uses the default GIO mapping functions to map
43058between the settings and property values. These functions
43059handle booleans, numeric types and string types in a
43060straightforward way. Use g_settings_bind_with_mapping() if
43061you need a custom mapping, or map between types that are not
43062supported by the default mapping functions.
43063
43064Unless the @flags include %G_SETTINGS_BIND_NO_SENSITIVITY, this
43065function also establishes a binding between the writability of
43066@key and the &quot;sensitive&quot; property of @object (if @object has
43067a boolean property by that name). See g_settings_bind_writable()
43068for more details about writable bindings.
43069
43070Note that the lifecycle of the binding is tied to @object,
43071and that you can have only one binding per object property.
43072If you bind the same property twice on the same object, the second
43073binding overrides the first one.
43074
43075Since: 2.26
43076
43077</description>
43078<parameters>
43079<parameter name="settings">
43080<parameter_description> a #GSettings object
43081</parameter_description>
43082</parameter>
43083<parameter name="key">
43084<parameter_description> the key to bind
43085</parameter_description>
43086</parameter>
43087<parameter name="object">
43088<parameter_description> a #GObject
43089</parameter_description>
43090</parameter>
43091<parameter name="property">
43092<parameter_description> the name of the property to bind
43093</parameter_description>
43094</parameter>
43095<parameter name="flags">
43096<parameter_description> flags for the binding
43097</parameter_description>
43098</parameter>
43099</parameters>
43100<return></return>
43101</function>
43102
43103<function name="g_settings_bind_with_mapping">
43104<description>
43105Create a binding between the @key in the @settings object
43106and the property @property of @object.
43107
43108The binding uses the provided mapping functions to map between
43109settings and property values.
43110
43111Note that the lifecycle of the binding is tied to @object,
43112and that you can have only one binding per object property.
43113If you bind the same property twice on the same object, the second
43114binding overrides the first one.
43115
43116Since: 2.26
43117
43118</description>
43119<parameters>
43120<parameter name="settings">
43121<parameter_description> a #GSettings object
43122</parameter_description>
43123</parameter>
43124<parameter name="key">
43125<parameter_description> the key to bind
43126</parameter_description>
43127</parameter>
43128<parameter name="object">
43129<parameter_description> a #GObject
43130</parameter_description>
43131</parameter>
43132<parameter name="property">
43133<parameter_description> the name of the property to bind
43134</parameter_description>
43135</parameter>
43136<parameter name="flags">
43137<parameter_description> flags for the binding
43138</parameter_description>
43139</parameter>
43140<parameter name="get_mapping">
43141<parameter_description> a function that gets called to convert values
43142from @settings to @object, or %NULL to use the default GIO mapping
43143</parameter_description>
43144</parameter>
43145<parameter name="set_mapping">
43146<parameter_description> a function that gets called to convert values
43147from @object to @settings, or %NULL to use the default GIO mapping
43148</parameter_description>
43149</parameter>
43150<parameter name="user_data">
43151<parameter_description> data that gets passed to @get_mapping and @set_mapping
43152</parameter_description>
43153</parameter>
43154<parameter name="destroy">
43155<parameter_description> #GDestroyNotify function for @user_data
43156</parameter_description>
43157</parameter>
43158</parameters>
43159<return></return>
43160</function>
43161
43162<function name="g_settings_bind_writable">
43163<description>
43164Create a binding between the writability of @key in the
43165@settings object and the property @property of @object.
43166The property must be boolean; &quot;sensitive&quot; or &quot;visible&quot;
43167properties of widgets are the most likely candidates.
43168
43169Writable bindings are always uni-directional; changes of the
43170writability of the setting will be propagated to the object
43171property, not the other way.
43172
43173When the @inverted argument is %TRUE, the binding inverts the
43174value as it passes from the setting to the object, i.e. @property
43175will be set to %TRUE if the key is not writable.
43176
43177Note that the lifecycle of the binding is tied to @object,
43178and that you can have only one binding per object property.
43179If you bind the same property twice on the same object, the second
43180binding overrides the first one.
43181
43182Since: 2.26
43183
43184</description>
43185<parameters>
43186<parameter name="settings">
43187<parameter_description> a #GSettings object
43188</parameter_description>
43189</parameter>
43190<parameter name="key">
43191<parameter_description> the key to bind
43192</parameter_description>
43193</parameter>
43194<parameter name="object">
43195<parameter_description>a #GObject
43196</parameter_description>
43197</parameter>
43198<parameter name="property">
43199<parameter_description> the name of a boolean property to bind
43200</parameter_description>
43201</parameter>
43202<parameter name="inverted">
43203<parameter_description> whether to 'invert' the value
43204</parameter_description>
43205</parameter>
43206</parameters>
43207<return></return>
43208</function>
43209
43210<function name="g_settings_create_action">
43211<description>
43212Creates a #GAction corresponding to a given #GSettings key.
43213
43214The action has the same name as the key.
43215
43216The value of the key becomes the state of the action and the action
43217is enabled when the key is writable.  Changing the state of the
43218action results in the key being written to.  Changes to the value or
43219writability of the key cause appropriate change notifications to be
43220emitted for the action.
43221
43222For boolean-valued keys, action activations take no parameter and
43223result in the toggling of the value.  For all other types,
43224activations take the new value for the key (which must have the
43225correct type).
43226
43227Since: 2.32
43228
43229</description>
43230<parameters>
43231<parameter name="settings">
43232<parameter_description> a #GSettings
43233</parameter_description>
43234</parameter>
43235<parameter name="key">
43236<parameter_description> the name of a key in @settings
43237</parameter_description>
43238</parameter>
43239</parameters>
43240<return> a new #GAction
43241
43242</return>
43243</function>
43244
43245<function name="g_settings_delay">
43246<description>
43247Changes the #GSettings object into 'delay-apply' mode. In this
43248mode, changes to @settings are not immediately propagated to the
43249backend, but kept locally until g_settings_apply() is called.
43250
43251Since: 2.26
43252
43253</description>
43254<parameters>
43255<parameter name="settings">
43256<parameter_description> a #GSettings object
43257</parameter_description>
43258</parameter>
43259</parameters>
43260<return></return>
43261</function>
43262
43263<function name="g_settings_get">
43264<description>
43265Gets the value that is stored at @key in @settings.
43266
43267A convenience function that combines g_settings_get_value() with
43268g_variant_get().
43269
43270It is a programmer error to give a @key that isn't contained in the
43271schema for @settings or for the #GVariantType of @format to mismatch
43272the type given in the schema.
43273
43274Since: 2.26
43275
43276</description>
43277<parameters>
43278<parameter name="settings">
43279<parameter_description> a #GSettings object
43280</parameter_description>
43281</parameter>
43282<parameter name="key">
43283<parameter_description> the key to get the value for
43284</parameter_description>
43285</parameter>
43286<parameter name="format">
43287<parameter_description> a #GVariant format string
43288</parameter_description>
43289</parameter>
43290<parameter name="Varargs">
43291<parameter_description> arguments as per @format
43292</parameter_description>
43293</parameter>
43294</parameters>
43295<return></return>
43296</function>
43297
43298<function name="g_settings_get_boolean">
43299<description>
43300Gets the value that is stored at @key in @settings.
43301
43302A convenience variant of g_settings_get() for booleans.
43303
43304It is a programmer error to give a @key that isn't specified as
43305having a boolean type in the schema for @settings.
43306
43307Since: 2.26
43308
43309</description>
43310<parameters>
43311<parameter name="settings">
43312<parameter_description> a #GSettings object
43313</parameter_description>
43314</parameter>
43315<parameter name="key">
43316<parameter_description> the key to get the value for
43317</parameter_description>
43318</parameter>
43319</parameters>
43320<return> a boolean
43321
43322</return>
43323</function>
43324
43325<function name="g_settings_get_child">
43326<description>
43327Creates a child settings object which has a base path of
43328`base-path/@name`, where `base-path` is the base path of
43329@settings.
43330
43331The schema for the child settings object must have been declared
43332in the schema of @settings using a &lt;child&gt; element.
43333
43334Since: 2.26
43335
43336</description>
43337<parameters>
43338<parameter name="settings">
43339<parameter_description> a #GSettings object
43340</parameter_description>
43341</parameter>
43342<parameter name="name">
43343<parameter_description> the name of the child schema
43344</parameter_description>
43345</parameter>
43346</parameters>
43347<return> a 'child' settings object
43348
43349</return>
43350</function>
43351
43352<function name="g_settings_get_default_value">
43353<description>
43354Gets the &quot;default value&quot; of a key.
43355
43356This is the value that would be read if g_settings_reset() were to be
43357called on the key.
43358
43359Note that this may be a different value than returned by
43360g_settings_schema_key_get_default_value() if the system administrator
43361has provided a default value.
43362
43363Comparing the return values of g_settings_get_default_value() and
43364g_settings_get_value() is not sufficient for determining if a value
43365has been set because the user may have explicitly set the value to
43366something that happens to be equal to the default.  The difference
43367here is that if the default changes in the future, the user's key
43368will still be set.
43369
43370This function may be useful for adding an indication to a UI of what
43371the default value was before the user set it.
43372
43373It is a programmer error to give a @key that isn't contained in the
43374schema for @settings.
43375
43376Since: 2.40
43377
43378</description>
43379<parameters>
43380<parameter name="settings">
43381<parameter_description> a #GSettings object
43382</parameter_description>
43383</parameter>
43384<parameter name="key">
43385<parameter_description> the key to get the default value for
43386</parameter_description>
43387</parameter>
43388</parameters>
43389<return> the default value
43390
43391</return>
43392</function>
43393
43394<function name="g_settings_get_double">
43395<description>
43396Gets the value that is stored at @key in @settings.
43397
43398A convenience variant of g_settings_get() for doubles.
43399
43400It is a programmer error to give a @key that isn't specified as
43401having a 'double' type in the schema for @settings.
43402
43403Since: 2.26
43404
43405</description>
43406<parameters>
43407<parameter name="settings">
43408<parameter_description> a #GSettings object
43409</parameter_description>
43410</parameter>
43411<parameter name="key">
43412<parameter_description> the key to get the value for
43413</parameter_description>
43414</parameter>
43415</parameters>
43416<return> a double
43417
43418</return>
43419</function>
43420
43421<function name="g_settings_get_enum">
43422<description>
43423Gets the value that is stored in @settings for @key and converts it
43424to the enum value that it represents.
43425
43426In order to use this function the type of the value must be a string
43427and it must be marked in the schema file as an enumerated type.
43428
43429It is a programmer error to give a @key that isn't contained in the
43430schema for @settings or is not marked as an enumerated type.
43431
43432If the value stored in the configuration database is not a valid
43433value for the enumerated type then this function will return the
43434default value.
43435
43436Since: 2.26
43437
43438</description>
43439<parameters>
43440<parameter name="settings">
43441<parameter_description> a #GSettings object
43442</parameter_description>
43443</parameter>
43444<parameter name="key">
43445<parameter_description> the key to get the value for
43446</parameter_description>
43447</parameter>
43448</parameters>
43449<return> the enum value
43450
43451</return>
43452</function>
43453
43454<function name="g_settings_get_flags">
43455<description>
43456Gets the value that is stored in @settings for @key and converts it
43457to the flags value that it represents.
43458
43459In order to use this function the type of the value must be an array
43460of strings and it must be marked in the schema file as a flags type.
43461
43462It is a programmer error to give a @key that isn't contained in the
43463schema for @settings or is not marked as a flags type.
43464
43465If the value stored in the configuration database is not a valid
43466value for the flags type then this function will return the default
43467value.
43468
43469Since: 2.26
43470
43471</description>
43472<parameters>
43473<parameter name="settings">
43474<parameter_description> a #GSettings object
43475</parameter_description>
43476</parameter>
43477<parameter name="key">
43478<parameter_description> the key to get the value for
43479</parameter_description>
43480</parameter>
43481</parameters>
43482<return> the flags value
43483
43484</return>
43485</function>
43486
43487<function name="g_settings_get_has_unapplied">
43488<description>
43489Returns whether the #GSettings object has any unapplied
43490changes.  This can only be the case if it is in 'delayed-apply' mode.
43491
43492Since: 2.26
43493
43494</description>
43495<parameters>
43496<parameter name="settings">
43497<parameter_description> a #GSettings object
43498</parameter_description>
43499</parameter>
43500</parameters>
43501<return> %TRUE if @settings has unapplied changes
43502
43503</return>
43504</function>
43505
43506<function name="g_settings_get_int">
43507<description>
43508Gets the value that is stored at @key in @settings.
43509
43510A convenience variant of g_settings_get() for 32-bit integers.
43511
43512It is a programmer error to give a @key that isn't specified as
43513having a int32 type in the schema for @settings.
43514
43515Since: 2.26
43516
43517</description>
43518<parameters>
43519<parameter name="settings">
43520<parameter_description> a #GSettings object
43521</parameter_description>
43522</parameter>
43523<parameter name="key">
43524<parameter_description> the key to get the value for
43525</parameter_description>
43526</parameter>
43527</parameters>
43528<return> an integer
43529
43530</return>
43531</function>
43532
43533<function name="g_settings_get_int64">
43534<description>
43535Gets the value that is stored at @key in @settings.
43536
43537A convenience variant of g_settings_get() for 64-bit integers.
43538
43539It is a programmer error to give a @key that isn't specified as
43540having a int64 type in the schema for @settings.
43541
43542Since: 2.50
43543
43544</description>
43545<parameters>
43546<parameter name="settings">
43547<parameter_description> a #GSettings object
43548</parameter_description>
43549</parameter>
43550<parameter name="key">
43551<parameter_description> the key to get the value for
43552</parameter_description>
43553</parameter>
43554</parameters>
43555<return> a 64-bit integer
43556
43557</return>
43558</function>
43559
43560<function name="g_settings_get_mapped">
43561<description>
43562Gets the value that is stored at @key in @settings, subject to
43563application-level validation/mapping.
43564
43565You should use this function when the application needs to perform
43566some processing on the value of the key (for example, parsing).  The
43567@mapping function performs that processing.  If the function
43568indicates that the processing was unsuccessful (due to a parse error,
43569for example) then the mapping is tried again with another value.
43570
43571This allows a robust 'fall back to defaults' behaviour to be
43572implemented somewhat automatically.
43573
43574The first value that is tried is the user's setting for the key.  If
43575the mapping function fails to map this value, other values may be
43576tried in an unspecified order (system or site defaults, translated
43577schema default values, untranslated schema default values, etc).
43578
43579If the mapping function fails for all possible values, one additional
43580attempt is made: the mapping function is called with a %NULL value.
43581If the mapping function still indicates failure at this point then
43582the application will be aborted.
43583
43584The result parameter for the @mapping function is pointed to a
43585#gpointer which is initially set to %NULL.  The same pointer is given
43586to each invocation of @mapping.  The final value of that #gpointer is
43587what is returned by this function.  %NULL is valid; it is returned
43588just as any other value would be.
43589
43590
43591</description>
43592<parameters>
43593<parameter name="settings">
43594<parameter_description> a #GSettings object
43595</parameter_description>
43596</parameter>
43597<parameter name="key">
43598<parameter_description> the key to get the value for
43599</parameter_description>
43600</parameter>
43601<parameter name="mapping">
43602<parameter_description> the function to map the value in the
43603settings database to the value used by the application
43604</parameter_description>
43605</parameter>
43606<parameter name="user_data">
43607<parameter_description> user data for @mapping
43608</parameter_description>
43609</parameter>
43610</parameters>
43611<return> the result, which may be %NULL
43612</return>
43613</function>
43614
43615<function name="g_settings_get_range">
43616<description>
43617Queries the range of a key.
43618
43619Since: 2.28
43620
43621Deprecated:2.40:Use g_settings_schema_key_get_range() instead.
43622
43623</description>
43624<parameters>
43625<parameter name="settings">
43626<parameter_description> a #GSettings
43627</parameter_description>
43628</parameter>
43629<parameter name="key">
43630<parameter_description> the key to query the range of
43631</parameter_description>
43632</parameter>
43633</parameters>
43634<return></return>
43635</function>
43636
43637<function name="g_settings_get_string">
43638<description>
43639Gets the value that is stored at @key in @settings.
43640
43641A convenience variant of g_settings_get() for strings.
43642
43643It is a programmer error to give a @key that isn't specified as
43644having a string type in the schema for @settings.
43645
43646Since: 2.26
43647
43648</description>
43649<parameters>
43650<parameter name="settings">
43651<parameter_description> a #GSettings object
43652</parameter_description>
43653</parameter>
43654<parameter name="key">
43655<parameter_description> the key to get the value for
43656</parameter_description>
43657</parameter>
43658</parameters>
43659<return> a newly-allocated string
43660
43661</return>
43662</function>
43663
43664<function name="g_settings_get_strv">
43665<description>
43666A convenience variant of g_settings_get() for string arrays.
43667
43668It is a programmer error to give a @key that isn't specified as
43669having an array of strings type in the schema for @settings.
43670
43671Since: 2.26
43672
43673</description>
43674<parameters>
43675<parameter name="settings">
43676<parameter_description> a #GSettings object
43677</parameter_description>
43678</parameter>
43679<parameter name="key">
43680<parameter_description> the key to get the value for
43681</parameter_description>
43682</parameter>
43683</parameters>
43684<return> a
43685newly-allocated, %NULL-terminated array of strings, the value that
43686is stored at @key in @settings.
43687
43688</return>
43689</function>
43690
43691<function name="g_settings_get_uint">
43692<description>
43693Gets the value that is stored at @key in @settings.
43694
43695A convenience variant of g_settings_get() for 32-bit unsigned
43696integers.
43697
43698It is a programmer error to give a @key that isn't specified as
43699having a uint32 type in the schema for @settings.
43700
43701Since: 2.30
43702
43703</description>
43704<parameters>
43705<parameter name="settings">
43706<parameter_description> a #GSettings object
43707</parameter_description>
43708</parameter>
43709<parameter name="key">
43710<parameter_description> the key to get the value for
43711</parameter_description>
43712</parameter>
43713</parameters>
43714<return> an unsigned integer
43715
43716</return>
43717</function>
43718
43719<function name="g_settings_get_uint64">
43720<description>
43721Gets the value that is stored at @key in @settings.
43722
43723A convenience variant of g_settings_get() for 64-bit unsigned
43724integers.
43725
43726It is a programmer error to give a @key that isn't specified as
43727having a uint64 type in the schema for @settings.
43728
43729Since: 2.50
43730
43731</description>
43732<parameters>
43733<parameter name="settings">
43734<parameter_description> a #GSettings object
43735</parameter_description>
43736</parameter>
43737<parameter name="key">
43738<parameter_description> the key to get the value for
43739</parameter_description>
43740</parameter>
43741</parameters>
43742<return> a 64-bit unsigned integer
43743
43744</return>
43745</function>
43746
43747<function name="g_settings_get_user_value">
43748<description>
43749Checks the &quot;user value&quot; of a key, if there is one.
43750
43751The user value of a key is the last value that was set by the user.
43752
43753After calling g_settings_reset() this function should always return
43754%NULL (assuming something is not wrong with the system
43755configuration).
43756
43757It is possible that g_settings_get_value() will return a different
43758value than this function.  This can happen in the case that the user
43759set a value for a key that was subsequently locked down by the system
43760administrator -- this function will return the user's old value.
43761
43762This function may be useful for adding a &quot;reset&quot; option to a UI or
43763for providing indication that a particular value has been changed.
43764
43765It is a programmer error to give a @key that isn't contained in the
43766schema for @settings.
43767
43768Since: 2.40
43769
43770</description>
43771<parameters>
43772<parameter name="settings">
43773<parameter_description> a #GSettings object
43774</parameter_description>
43775</parameter>
43776<parameter name="key">
43777<parameter_description> the key to get the user value for
43778</parameter_description>
43779</parameter>
43780</parameters>
43781<return> the user's value, if set
43782
43783</return>
43784</function>
43785
43786<function name="g_settings_get_value">
43787<description>
43788Gets the value that is stored in @settings for @key.
43789
43790It is a programmer error to give a @key that isn't contained in the
43791schema for @settings.
43792
43793Since: 2.26
43794
43795</description>
43796<parameters>
43797<parameter name="settings">
43798<parameter_description> a #GSettings object
43799</parameter_description>
43800</parameter>
43801<parameter name="key">
43802<parameter_description> the key to get the value for
43803</parameter_description>
43804</parameter>
43805</parameters>
43806<return> a new #GVariant
43807
43808</return>
43809</function>
43810
43811<function name="g_settings_is_writable">
43812<description>
43813Finds out if a key can be written or not
43814
43815Since: 2.26
43816
43817</description>
43818<parameters>
43819<parameter name="settings">
43820<parameter_description> a #GSettings object
43821</parameter_description>
43822</parameter>
43823<parameter name="name">
43824<parameter_description> the name of a key
43825</parameter_description>
43826</parameter>
43827</parameters>
43828<return> %TRUE if the key @name is writable
43829
43830</return>
43831</function>
43832
43833<function name="g_settings_list_children">
43834<description>
43835Gets the list of children on @settings.
43836
43837The list is exactly the list of strings for which it is not an error
43838to call g_settings_get_child().
43839
43840There is little reason to call this function from &quot;normal&quot; code, since
43841you should already know what children are in your schema. This function
43842may still be useful there for introspection reasons, however.
43843
43844You should free the return value with g_strfreev() when you are done
43845with it.
43846
43847
43848</description>
43849<parameters>
43850<parameter name="settings">
43851<parameter_description> a #GSettings object
43852</parameter_description>
43853</parameter>
43854</parameters>
43855<return> a list of the children on
43856@settings, in no defined order
43857</return>
43858</function>
43859
43860<function name="g_settings_list_keys">
43861<description>
43862Introspects the list of keys on @settings.
43863
43864You should probably not be calling this function from &quot;normal&quot; code
43865(since you should already know what keys are in your schema).  This
43866function is intended for introspection reasons.
43867
43868You should free the return value with g_strfreev() when you are done
43869with it.
43870
43871Deprecated: 2.46: Use g_settings_schema_list_keys() instead.
43872
43873</description>
43874<parameters>
43875<parameter name="settings">
43876<parameter_description> a #GSettings object
43877</parameter_description>
43878</parameter>
43879</parameters>
43880<return> a list of the keys on
43881@settings, in no defined order
43882</return>
43883</function>
43884
43885<function name="g_settings_list_relocatable_schemas">
43886<description>
43887Deprecated.
43888
43889Since: 2.28
43890
43891Deprecated: 2.40: Use g_settings_schema_source_list_schemas() instead
43892
43893</description>
43894<parameters>
43895</parameters>
43896<return> a list of relocatable
43897#GSettings schemas that are available, in no defined order.  The list must
43898not be modified or freed.
43899
43900</return>
43901</function>
43902
43903<function name="g_settings_list_schemas">
43904<description>
43905Deprecated.
43906
43907Since: 2.26
43908
43909Deprecated: 2.40: Use g_settings_schema_source_list_schemas() instead.
43910If you used g_settings_list_schemas() to check for the presence of
43911a particular schema, use g_settings_schema_source_lookup() instead
43912of your whole loop.
43913
43914</description>
43915<parameters>
43916</parameters>
43917<return>  a list of #GSettings
43918schemas that are available, in no defined order.  The list must not be
43919modified or freed.
43920
43921</return>
43922</function>
43923
43924<function name="g_settings_new">
43925<description>
43926Creates a new #GSettings object with the schema specified by
43927@schema_id.
43928
43929Signals on the newly created #GSettings object will be dispatched
43930via the thread-default #GMainContext in effect at the time of the
43931call to g_settings_new().  The new #GSettings will hold a reference
43932on the context.  See g_main_context_push_thread_default().
43933
43934Since: 2.26
43935
43936</description>
43937<parameters>
43938<parameter name="schema_id">
43939<parameter_description> the id of the schema
43940</parameter_description>
43941</parameter>
43942</parameters>
43943<return> a new #GSettings object
43944
43945</return>
43946</function>
43947
43948<function name="g_settings_new_full">
43949<description>
43950Creates a new #GSettings object with a given schema, backend and
43951path.
43952
43953It should be extremely rare that you ever want to use this function.
43954It is made available for advanced use-cases (such as plugin systems
43955that want to provide access to schemas loaded from custom locations,
43956etc).
43957
43958At the most basic level, a #GSettings object is a pure composition of
439594 things: a #GSettingsSchema, a #GSettingsBackend, a path within that
43960backend, and a #GMainContext to which signals are dispatched.
43961
43962This constructor therefore gives you full control over constructing
43963#GSettings instances.  The first 3 parameters are given directly as
43964@schema, @backend and @path, and the main context is taken from the
43965thread-default (as per g_settings_new()).
43966
43967If @backend is %NULL then the default backend is used.
43968
43969If @path is %NULL then the path from the schema is used.  It is an
43970error if @path is %NULL and the schema has no path of its own or if
43971@path is non-%NULL and not equal to the path that the schema does
43972have.
43973
43974Since: 2.32
43975
43976</description>
43977<parameters>
43978<parameter name="schema">
43979<parameter_description> a #GSettingsSchema
43980</parameter_description>
43981</parameter>
43982<parameter name="backend">
43983<parameter_description> a #GSettingsBackend
43984</parameter_description>
43985</parameter>
43986<parameter name="path">
43987<parameter_description> the path to use
43988</parameter_description>
43989</parameter>
43990</parameters>
43991<return> a new #GSettings object
43992
43993</return>
43994</function>
43995
43996<function name="g_settings_new_with_backend">
43997<description>
43998Creates a new #GSettings object with the schema specified by
43999@schema_id and a given #GSettingsBackend.
44000
44001Creating a #GSettings object with a different backend allows accessing
44002settings from a database other than the usual one. For example, it may make
44003sense to pass a backend corresponding to the &quot;defaults&quot; settings database on
44004the system to get a settings object that modifies the system default
44005settings instead of the settings for this user.
44006
44007Since: 2.26
44008
44009</description>
44010<parameters>
44011<parameter name="schema_id">
44012<parameter_description> the id of the schema
44013</parameter_description>
44014</parameter>
44015<parameter name="backend">
44016<parameter_description> the #GSettingsBackend to use
44017</parameter_description>
44018</parameter>
44019</parameters>
44020<return> a new #GSettings object
44021
44022</return>
44023</function>
44024
44025<function name="g_settings_new_with_backend_and_path">
44026<description>
44027Creates a new #GSettings object with the schema specified by
44028@schema_id and a given #GSettingsBackend and path.
44029
44030This is a mix of g_settings_new_with_backend() and
44031g_settings_new_with_path().
44032
44033Since: 2.26
44034
44035</description>
44036<parameters>
44037<parameter name="schema_id">
44038<parameter_description> the id of the schema
44039</parameter_description>
44040</parameter>
44041<parameter name="backend">
44042<parameter_description> the #GSettingsBackend to use
44043</parameter_description>
44044</parameter>
44045<parameter name="path">
44046<parameter_description> the path to use
44047</parameter_description>
44048</parameter>
44049</parameters>
44050<return> a new #GSettings object
44051
44052</return>
44053</function>
44054
44055<function name="g_settings_new_with_path">
44056<description>
44057Creates a new #GSettings object with the relocatable schema specified
44058by @schema_id and a given path.
44059
44060You only need to do this if you want to directly create a settings
44061object with a schema that doesn't have a specified path of its own.
44062That's quite rare.
44063
44064It is a programmer error to call this function for a schema that
44065has an explicitly specified path.
44066
44067It is a programmer error if @path is not a valid path.  A valid path
44068begins and ends with '/' and does not contain two consecutive '/'
44069characters.
44070
44071Since: 2.26
44072
44073</description>
44074<parameters>
44075<parameter name="schema_id">
44076<parameter_description> the id of the schema
44077</parameter_description>
44078</parameter>
44079<parameter name="path">
44080<parameter_description> the path to use
44081</parameter_description>
44082</parameter>
44083</parameters>
44084<return> a new #GSettings object
44085
44086</return>
44087</function>
44088
44089<function name="g_settings_range_check">
44090<description>
44091Checks if the given @value is of the correct type and within the
44092permitted range for @key.
44093
44094Since: 2.28
44095
44096Deprecated:2.40:Use g_settings_schema_key_range_check() instead.
44097
44098</description>
44099<parameters>
44100<parameter name="settings">
44101<parameter_description> a #GSettings
44102</parameter_description>
44103</parameter>
44104<parameter name="key">
44105<parameter_description> the key to check
44106</parameter_description>
44107</parameter>
44108<parameter name="value">
44109<parameter_description> the value to check
44110</parameter_description>
44111</parameter>
44112</parameters>
44113<return> %TRUE if @value is valid for @key
44114
44115</return>
44116</function>
44117
44118<function name="g_settings_reset">
44119<description>
44120Resets @key to its default value.
44121
44122This call resets the key, as much as possible, to its default value.
44123That might be the value specified in the schema or the one set by the
44124administrator.
44125
44126</description>
44127<parameters>
44128<parameter name="settings">
44129<parameter_description> a #GSettings object
44130</parameter_description>
44131</parameter>
44132<parameter name="key">
44133<parameter_description> the name of a key
44134</parameter_description>
44135</parameter>
44136</parameters>
44137<return></return>
44138</function>
44139
44140<function name="g_settings_revert">
44141<description>
44142Reverts all non-applied changes to the settings.  This function
44143does nothing unless @settings is in 'delay-apply' mode; see
44144g_settings_delay().  In the normal case settings are always applied
44145immediately.
44146
44147Change notifications will be emitted for affected keys.
44148
44149</description>
44150<parameters>
44151<parameter name="settings">
44152<parameter_description> a #GSettings instance
44153</parameter_description>
44154</parameter>
44155</parameters>
44156<return></return>
44157</function>
44158
44159<function name="g_settings_schema_get_id">
44160<description>
44161Get the ID of @schema.
44162
44163
44164</description>
44165<parameters>
44166<parameter name="schema">
44167<parameter_description> a #GSettingsSchema
44168</parameter_description>
44169</parameter>
44170</parameters>
44171<return> the ID
44172</return>
44173</function>
44174
44175<function name="g_settings_schema_get_key">
44176<description>
44177Gets the key named @name from @schema.
44178
44179It is a programmer error to request a key that does not exist.  See
44180g_settings_schema_list_keys().
44181
44182Since: 2.40
44183
44184</description>
44185<parameters>
44186<parameter name="schema">
44187<parameter_description> a #GSettingsSchema
44188</parameter_description>
44189</parameter>
44190<parameter name="name">
44191<parameter_description> the name of a key
44192</parameter_description>
44193</parameter>
44194</parameters>
44195<return> the #GSettingsSchemaKey for @name
44196
44197</return>
44198</function>
44199
44200<function name="g_settings_schema_get_path">
44201<description>
44202Gets the path associated with @schema, or %NULL.
44203
44204Schemas may be single-instance or relocatable.  Single-instance
44205schemas correspond to exactly one set of keys in the backend
44206database: those located at the path returned by this function.
44207
44208Relocatable schemas can be referenced by other schemas and can
44209therefore describe multiple sets of keys at different locations.  For
44210relocatable schemas, this function will return %NULL.
44211
44212Since: 2.32
44213
44214</description>
44215<parameters>
44216<parameter name="schema">
44217<parameter_description> a #GSettingsSchema
44218</parameter_description>
44219</parameter>
44220</parameters>
44221<return> the path of the schema, or %NULL
44222
44223</return>
44224</function>
44225
44226<function name="g_settings_schema_has_key">
44227<description>
44228Checks if @schema has a key named @name.
44229
44230Since: 2.40
44231
44232</description>
44233<parameters>
44234<parameter name="schema">
44235<parameter_description> a #GSettingsSchema
44236</parameter_description>
44237</parameter>
44238<parameter name="name">
44239<parameter_description> the name of a key
44240</parameter_description>
44241</parameter>
44242</parameters>
44243<return> %TRUE if such a key exists
44244
44245</return>
44246</function>
44247
44248<function name="g_settings_schema_key_get_default_value">
44249<description>
44250Gets the default value for @key.
44251
44252Note that this is the default value according to the schema.  System
44253administrator defaults and lockdown are not visible via this API.
44254
44255Since: 2.40
44256
44257</description>
44258<parameters>
44259<parameter name="key">
44260<parameter_description> a #GSettingsSchemaKey
44261</parameter_description>
44262</parameter>
44263</parameters>
44264<return> the default value for the key
44265
44266</return>
44267</function>
44268
44269<function name="g_settings_schema_key_get_description">
44270<description>
44271Gets the description for @key.
44272
44273If no description has been provided in the schema for @key, returns
44274%NULL.
44275
44276The description can be one sentence to several paragraphs in length.
44277Paragraphs are delimited with a double newline.  Descriptions can be
44278translated and the value returned from this function is is the
44279current locale.
44280
44281This function is slow.  The summary and description information for
44282the schemas is not stored in the compiled schema database so this
44283function has to parse all of the source XML files in the schema
44284directory.
44285
44286Since: 2.34
44287
44288</description>
44289<parameters>
44290<parameter name="key">
44291<parameter_description> a #GSettingsSchemaKey
44292</parameter_description>
44293</parameter>
44294</parameters>
44295<return> the description for @key, or %NULL
44296
44297</return>
44298</function>
44299
44300<function name="g_settings_schema_key_get_name">
44301<description>
44302Gets the name of @key.
44303
44304Since: 2.44
44305
44306</description>
44307<parameters>
44308<parameter name="key">
44309<parameter_description> a #GSettingsSchemaKey
44310</parameter_description>
44311</parameter>
44312</parameters>
44313<return> the name of @key.
44314
44315</return>
44316</function>
44317
44318<function name="g_settings_schema_key_get_range">
44319<description>
44320Queries the range of a key.
44321
44322This function will return a #GVariant that fully describes the range
44323of values that are valid for @key.
44324
44325The type of #GVariant returned is `(sv)`. The string describes
44326the type of range restriction in effect. The type and meaning of
44327the value contained in the variant depends on the string.
44328
44329If the string is `'type'` then the variant contains an empty array.
44330The element type of that empty array is the expected type of value
44331and all values of that type are valid.
44332
44333If the string is `'enum'` then the variant contains an array
44334enumerating the possible values. Each item in the array is
44335a possible valid value and no other values are valid.
44336
44337If the string is `'flags'` then the variant contains an array. Each
44338item in the array is a value that may appear zero or one times in an
44339array to be used as the value for this key. For example, if the
44340variant contained the array `['x', 'y']` then the valid values for
44341the key would be `[]`, `['x']`, `['y']`, `['x', 'y']` and
44342`['y', 'x']`.
44343
44344Finally, if the string is `'range'` then the variant contains a pair
44345of like-typed values -- the minimum and maximum permissible values
44346for this key.
44347
44348This information should not be used by normal programs.  It is
44349considered to be a hint for introspection purposes.  Normal programs
44350should already know what is permitted by their own schema.  The
44351format may change in any way in the future -- but particularly, new
44352forms may be added to the possibilities described above.
44353
44354You should free the returned value with g_variant_unref() when it is
44355no longer needed.
44356
44357Since: 2.40
44358
44359</description>
44360<parameters>
44361<parameter name="key">
44362<parameter_description> a #GSettingsSchemaKey
44363</parameter_description>
44364</parameter>
44365</parameters>
44366<return> a #GVariant describing the range
44367
44368</return>
44369</function>
44370
44371<function name="g_settings_schema_key_get_summary">
44372<description>
44373Gets the summary for @key.
44374
44375If no summary has been provided in the schema for @key, returns
44376%NULL.
44377
44378The summary is a short description of the purpose of the key; usually
44379one short sentence.  Summaries can be translated and the value
44380returned from this function is is the current locale.
44381
44382This function is slow.  The summary and description information for
44383the schemas is not stored in the compiled schema database so this
44384function has to parse all of the source XML files in the schema
44385directory.
44386
44387Since: 2.34
44388
44389</description>
44390<parameters>
44391<parameter name="key">
44392<parameter_description> a #GSettingsSchemaKey
44393</parameter_description>
44394</parameter>
44395</parameters>
44396<return> the summary for @key, or %NULL
44397
44398</return>
44399</function>
44400
44401<function name="g_settings_schema_key_get_value_type">
44402<description>
44403Gets the #GVariantType of @key.
44404
44405Since: 2.40
44406
44407</description>
44408<parameters>
44409<parameter name="key">
44410<parameter_description> a #GSettingsSchemaKey
44411</parameter_description>
44412</parameter>
44413</parameters>
44414<return> the type of @key
44415
44416</return>
44417</function>
44418
44419<function name="g_settings_schema_key_range_check">
44420<description>
44421Checks if the given @value is of the correct type and within the
44422permitted range for @key.
44423
44424It is a programmer error if @value is not of the correct type -- you
44425must check for this first.
44426
44427Since: 2.40
44428
44429</description>
44430<parameters>
44431<parameter name="key">
44432<parameter_description> a #GSettingsSchemaKey
44433</parameter_description>
44434</parameter>
44435<parameter name="value">
44436<parameter_description> the value to check
44437</parameter_description>
44438</parameter>
44439</parameters>
44440<return> %TRUE if @value is valid for @key
44441
44442</return>
44443</function>
44444
44445<function name="g_settings_schema_key_ref">
44446<description>
44447Increase the reference count of @key, returning a new reference.
44448
44449Since: 2.40
44450
44451</description>
44452<parameters>
44453<parameter name="key">
44454<parameter_description> a #GSettingsSchemaKey
44455</parameter_description>
44456</parameter>
44457</parameters>
44458<return> a new reference to @key
44459
44460</return>
44461</function>
44462
44463<function name="g_settings_schema_key_unref">
44464<description>
44465Decrease the reference count of @key, possibly freeing it.
44466
44467Since: 2.40
44468
44469</description>
44470<parameters>
44471<parameter name="key">
44472<parameter_description> a #GSettingsSchemaKey
44473</parameter_description>
44474</parameter>
44475</parameters>
44476<return></return>
44477</function>
44478
44479<function name="g_settings_schema_list_children">
44480<description>
44481Gets the list of children in @schema.
44482
44483You should free the return value with g_strfreev() when you are done
44484with it.
44485
44486Since: 2.44
44487
44488</description>
44489<parameters>
44490<parameter name="schema">
44491<parameter_description> a #GSettingsSchema
44492</parameter_description>
44493</parameter>
44494</parameters>
44495<return> a list of the children on
44496@settings, in no defined order
44497
44498</return>
44499</function>
44500
44501<function name="g_settings_schema_list_keys">
44502<description>
44503Introspects the list of keys on @schema.
44504
44505You should probably not be calling this function from &quot;normal&quot; code
44506(since you should already know what keys are in your schema).  This
44507function is intended for introspection reasons.
44508
44509Since: 2.46
44510
44511</description>
44512<parameters>
44513<parameter name="schema">
44514<parameter_description> a #GSettingsSchema
44515</parameter_description>
44516</parameter>
44517</parameters>
44518<return> a list of the keys on
44519@schema, in no defined order
44520
44521</return>
44522</function>
44523
44524<function name="g_settings_schema_ref">
44525<description>
44526Increase the reference count of @schema, returning a new reference.
44527
44528Since: 2.32
44529
44530</description>
44531<parameters>
44532<parameter name="schema">
44533<parameter_description> a #GSettingsSchema
44534</parameter_description>
44535</parameter>
44536</parameters>
44537<return> a new reference to @schema
44538
44539</return>
44540</function>
44541
44542<function name="g_settings_schema_source_get_default">
44543<description>
44544Gets the default system schema source.
44545
44546This function is not required for normal uses of #GSettings but it
44547may be useful to authors of plugin management systems or to those who
44548want to introspect the content of schemas.
44549
44550If no schemas are installed, %NULL will be returned.
44551
44552The returned source may actually consist of multiple schema sources
44553from different directories, depending on which directories were given
44554in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
44555lookups performed against the default source should probably be done
44556recursively.
44557
44558Since: 2.32
44559
44560</description>
44561<parameters>
44562</parameters>
44563<return> the default schema source
44564
44565</return>
44566</function>
44567
44568<function name="g_settings_schema_source_list_schemas">
44569<description>
44570Lists the schemas in a given source.
44571
44572If @recursive is %TRUE then include parent sources.  If %FALSE then
44573only include the schemas from one source (ie: one directory).  You
44574probably want %TRUE.
44575
44576Non-relocatable schemas are those for which you can call
44577g_settings_new().  Relocatable schemas are those for which you must
44578use g_settings_new_with_path().
44579
44580Do not call this function from normal programs.  This is designed for
44581use by database editors, commandline tools, etc.
44582
44583Since: 2.40
44584
44585</description>
44586<parameters>
44587<parameter name="source">
44588<parameter_description> a #GSettingsSchemaSource
44589</parameter_description>
44590</parameter>
44591<parameter name="recursive">
44592<parameter_description> if we should recurse
44593</parameter_description>
44594</parameter>
44595<parameter name="non_relocatable">
44596<parameter_description> the
44597list of non-relocatable schemas, in no defined order
44598</parameter_description>
44599</parameter>
44600<parameter name="relocatable">
44601<parameter_description> the list
44602of relocatable schemas, in no defined order
44603</parameter_description>
44604</parameter>
44605</parameters>
44606<return></return>
44607</function>
44608
44609<function name="g_settings_schema_source_lookup">
44610<description>
44611Looks up a schema with the identifier @schema_id in @source.
44612
44613This function is not required for normal uses of #GSettings but it
44614may be useful to authors of plugin management systems or to those who
44615want to introspect the content of schemas.
44616
44617If the schema isn't found directly in @source and @recursive is %TRUE
44618then the parent sources will also be checked.
44619
44620If the schema isn't found, %NULL is returned.
44621
44622Since: 2.32
44623
44624</description>
44625<parameters>
44626<parameter name="source">
44627<parameter_description> a #GSettingsSchemaSource
44628</parameter_description>
44629</parameter>
44630<parameter name="schema_id">
44631<parameter_description> a schema ID
44632</parameter_description>
44633</parameter>
44634<parameter name="recursive">
44635<parameter_description> %TRUE if the lookup should be recursive
44636</parameter_description>
44637</parameter>
44638</parameters>
44639<return> a new #GSettingsSchema
44640
44641</return>
44642</function>
44643
44644<function name="g_settings_schema_source_new_from_directory">
44645<description>
44646Attempts to create a new schema source corresponding to the contents
44647of the given directory.
44648
44649This function is not required for normal uses of #GSettings but it
44650may be useful to authors of plugin management systems.
44651
44652The directory should contain a file called `gschemas.compiled` as
44653produced by the [glib-compile-schemas][glib-compile-schemas] tool.
44654
44655If @trusted is %TRUE then `gschemas.compiled` is trusted not to be
44656corrupted. This assumption has a performance advantage, but can result
44657in crashes or inconsistent behaviour in the case of a corrupted file.
44658Generally, you should set @trusted to %TRUE for files installed by the
44659system and to %FALSE for files in the home directory.
44660
44661In either case, an empty file or some types of corruption in the file will
44662result in %G_FILE_ERROR_INVAL being returned.
44663
44664If @parent is non-%NULL then there are two effects.
44665
44666First, if g_settings_schema_source_lookup() is called with the
44667@recursive flag set to %TRUE and the schema can not be found in the
44668source, the lookup will recurse to the parent.
44669
44670Second, any references to other schemas specified within this
44671source (ie: `child` or `extends`) references may be resolved
44672from the @parent.
44673
44674For this second reason, except in very unusual situations, the
44675@parent should probably be given as the default schema source, as
44676returned by g_settings_schema_source_get_default().
44677
44678Since: 2.32
44679
44680</description>
44681<parameters>
44682<parameter name="directory">
44683<parameter_description> the filename of a directory
44684</parameter_description>
44685</parameter>
44686<parameter name="parent">
44687<parameter_description> a #GSettingsSchemaSource, or %NULL
44688</parameter_description>
44689</parameter>
44690<parameter name="trusted">
44691<parameter_description> %TRUE, if the directory is trusted
44692</parameter_description>
44693</parameter>
44694<parameter name="error">
44695<parameter_description> a pointer to a #GError pointer set to %NULL, or %NULL
44696</parameter_description>
44697</parameter>
44698</parameters>
44699<return></return>
44700</function>
44701
44702<function name="g_settings_schema_source_ref">
44703<description>
44704Increase the reference count of @source, returning a new reference.
44705
44706Since: 2.32
44707
44708</description>
44709<parameters>
44710<parameter name="source">
44711<parameter_description> a #GSettingsSchemaSource
44712</parameter_description>
44713</parameter>
44714</parameters>
44715<return> a new reference to @source
44716
44717</return>
44718</function>
44719
44720<function name="g_settings_schema_source_unref">
44721<description>
44722Decrease the reference count of @source, possibly freeing it.
44723
44724Since: 2.32
44725
44726</description>
44727<parameters>
44728<parameter name="source">
44729<parameter_description> a #GSettingsSchemaSource
44730</parameter_description>
44731</parameter>
44732</parameters>
44733<return></return>
44734</function>
44735
44736<function name="g_settings_schema_unref">
44737<description>
44738Decrease the reference count of @schema, possibly freeing it.
44739
44740Since: 2.32
44741
44742</description>
44743<parameters>
44744<parameter name="schema">
44745<parameter_description> a #GSettingsSchema
44746</parameter_description>
44747</parameter>
44748</parameters>
44749<return></return>
44750</function>
44751
44752<function name="g_settings_set">
44753<description>
44754Sets @key in @settings to @value.
44755
44756A convenience function that combines g_settings_set_value() with
44757g_variant_new().
44758
44759It is a programmer error to give a @key that isn't contained in the
44760schema for @settings or for the #GVariantType of @format to mismatch
44761the type given in the schema.
44762
44763Since: 2.26
44764
44765</description>
44766<parameters>
44767<parameter name="settings">
44768<parameter_description> a #GSettings object
44769</parameter_description>
44770</parameter>
44771<parameter name="key">
44772<parameter_description> the name of the key to set
44773</parameter_description>
44774</parameter>
44775<parameter name="format">
44776<parameter_description> a #GVariant format string
44777</parameter_description>
44778</parameter>
44779<parameter name="Varargs">
44780<parameter_description> arguments as per @format
44781</parameter_description>
44782</parameter>
44783</parameters>
44784<return> %TRUE if setting the key succeeded,
44785%FALSE if the key was not writable
44786
44787</return>
44788</function>
44789
44790<function name="g_settings_set_boolean">
44791<description>
44792Sets @key in @settings to @value.
44793
44794A convenience variant of g_settings_set() for booleans.
44795
44796It is a programmer error to give a @key that isn't specified as
44797having a boolean type in the schema for @settings.
44798
44799Since: 2.26
44800
44801</description>
44802<parameters>
44803<parameter name="settings">
44804<parameter_description> a #GSettings object
44805</parameter_description>
44806</parameter>
44807<parameter name="key">
44808<parameter_description> the name of the key to set
44809</parameter_description>
44810</parameter>
44811<parameter name="value">
44812<parameter_description> the value to set it to
44813</parameter_description>
44814</parameter>
44815</parameters>
44816<return> %TRUE if setting the key succeeded,
44817%FALSE if the key was not writable
44818
44819</return>
44820</function>
44821
44822<function name="g_settings_set_double">
44823<description>
44824Sets @key in @settings to @value.
44825
44826A convenience variant of g_settings_set() for doubles.
44827
44828It is a programmer error to give a @key that isn't specified as
44829having a 'double' type in the schema for @settings.
44830
44831Since: 2.26
44832
44833</description>
44834<parameters>
44835<parameter name="settings">
44836<parameter_description> a #GSettings object
44837</parameter_description>
44838</parameter>
44839<parameter name="key">
44840<parameter_description> the name of the key to set
44841</parameter_description>
44842</parameter>
44843<parameter name="value">
44844<parameter_description> the value to set it to
44845</parameter_description>
44846</parameter>
44847</parameters>
44848<return> %TRUE if setting the key succeeded,
44849%FALSE if the key was not writable
44850
44851</return>
44852</function>
44853
44854<function name="g_settings_set_enum">
44855<description>
44856Looks up the enumerated type nick for @value and writes it to @key,
44857within @settings.
44858
44859It is a programmer error to give a @key that isn't contained in the
44860schema for @settings or is not marked as an enumerated type, or for
44861@value not to be a valid value for the named type.
44862
44863After performing the write, accessing @key directly with
44864g_settings_get_string() will return the 'nick' associated with
44865@value.
44866
44867
44868</description>
44869<parameters>
44870<parameter name="settings">
44871<parameter_description> a #GSettings object
44872</parameter_description>
44873</parameter>
44874<parameter name="key">
44875<parameter_description> a key, within @settings
44876</parameter_description>
44877</parameter>
44878<parameter name="value">
44879<parameter_description> an enumerated value
44880</parameter_description>
44881</parameter>
44882</parameters>
44883<return> %TRUE, if the set succeeds
44884</return>
44885</function>
44886
44887<function name="g_settings_set_flags">
44888<description>
44889Looks up the flags type nicks for the bits specified by @value, puts
44890them in an array of strings and writes the array to @key, within
44891@settings.
44892
44893It is a programmer error to give a @key that isn't contained in the
44894schema for @settings or is not marked as a flags type, or for @value
44895to contain any bits that are not value for the named type.
44896
44897After performing the write, accessing @key directly with
44898g_settings_get_strv() will return an array of 'nicks'; one for each
44899bit in @value.
44900
44901
44902</description>
44903<parameters>
44904<parameter name="settings">
44905<parameter_description> a #GSettings object
44906</parameter_description>
44907</parameter>
44908<parameter name="key">
44909<parameter_description> a key, within @settings
44910</parameter_description>
44911</parameter>
44912<parameter name="value">
44913<parameter_description> a flags value
44914</parameter_description>
44915</parameter>
44916</parameters>
44917<return> %TRUE, if the set succeeds
44918</return>
44919</function>
44920
44921<function name="g_settings_set_int">
44922<description>
44923Sets @key in @settings to @value.
44924
44925A convenience variant of g_settings_set() for 32-bit integers.
44926
44927It is a programmer error to give a @key that isn't specified as
44928having a int32 type in the schema for @settings.
44929
44930Since: 2.26
44931
44932</description>
44933<parameters>
44934<parameter name="settings">
44935<parameter_description> a #GSettings object
44936</parameter_description>
44937</parameter>
44938<parameter name="key">
44939<parameter_description> the name of the key to set
44940</parameter_description>
44941</parameter>
44942<parameter name="value">
44943<parameter_description> the value to set it to
44944</parameter_description>
44945</parameter>
44946</parameters>
44947<return> %TRUE if setting the key succeeded,
44948%FALSE if the key was not writable
44949
44950</return>
44951</function>
44952
44953<function name="g_settings_set_int64">
44954<description>
44955Sets @key in @settings to @value.
44956
44957A convenience variant of g_settings_set() for 64-bit integers.
44958
44959It is a programmer error to give a @key that isn't specified as
44960having a int64 type in the schema for @settings.
44961
44962Since: 2.50
44963
44964</description>
44965<parameters>
44966<parameter name="settings">
44967<parameter_description> a #GSettings object
44968</parameter_description>
44969</parameter>
44970<parameter name="key">
44971<parameter_description> the name of the key to set
44972</parameter_description>
44973</parameter>
44974<parameter name="value">
44975<parameter_description> the value to set it to
44976</parameter_description>
44977</parameter>
44978</parameters>
44979<return> %TRUE if setting the key succeeded,
44980%FALSE if the key was not writable
44981
44982</return>
44983</function>
44984
44985<function name="g_settings_set_string">
44986<description>
44987Sets @key in @settings to @value.
44988
44989A convenience variant of g_settings_set() for strings.
44990
44991It is a programmer error to give a @key that isn't specified as
44992having a string type in the schema for @settings.
44993
44994Since: 2.26
44995
44996</description>
44997<parameters>
44998<parameter name="settings">
44999<parameter_description> a #GSettings object
45000</parameter_description>
45001</parameter>
45002<parameter name="key">
45003<parameter_description> the name of the key to set
45004</parameter_description>
45005</parameter>
45006<parameter name="value">
45007<parameter_description> the value to set it to
45008</parameter_description>
45009</parameter>
45010</parameters>
45011<return> %TRUE if setting the key succeeded,
45012%FALSE if the key was not writable
45013
45014</return>
45015</function>
45016
45017<function name="g_settings_set_strv">
45018<description>
45019Sets @key in @settings to @value.
45020
45021A convenience variant of g_settings_set() for string arrays.  If
45022@value is %NULL, then @key is set to be the empty array.
45023
45024It is a programmer error to give a @key that isn't specified as
45025having an array of strings type in the schema for @settings.
45026
45027Since: 2.26
45028
45029</description>
45030<parameters>
45031<parameter name="settings">
45032<parameter_description> a #GSettings object
45033</parameter_description>
45034</parameter>
45035<parameter name="key">
45036<parameter_description> the name of the key to set
45037</parameter_description>
45038</parameter>
45039<parameter name="value">
45040<parameter_description> the value to set it to, or %NULL
45041</parameter_description>
45042</parameter>
45043</parameters>
45044<return> %TRUE if setting the key succeeded,
45045%FALSE if the key was not writable
45046
45047</return>
45048</function>
45049
45050<function name="g_settings_set_uint">
45051<description>
45052Sets @key in @settings to @value.
45053
45054A convenience variant of g_settings_set() for 32-bit unsigned
45055integers.
45056
45057It is a programmer error to give a @key that isn't specified as
45058having a uint32 type in the schema for @settings.
45059
45060Since: 2.30
45061
45062</description>
45063<parameters>
45064<parameter name="settings">
45065<parameter_description> a #GSettings object
45066</parameter_description>
45067</parameter>
45068<parameter name="key">
45069<parameter_description> the name of the key to set
45070</parameter_description>
45071</parameter>
45072<parameter name="value">
45073<parameter_description> the value to set it to
45074</parameter_description>
45075</parameter>
45076</parameters>
45077<return> %TRUE if setting the key succeeded,
45078%FALSE if the key was not writable
45079
45080</return>
45081</function>
45082
45083<function name="g_settings_set_uint64">
45084<description>
45085Sets @key in @settings to @value.
45086
45087A convenience variant of g_settings_set() for 64-bit unsigned
45088integers.
45089
45090It is a programmer error to give a @key that isn't specified as
45091having a uint64 type in the schema for @settings.
45092
45093Since: 2.50
45094
45095</description>
45096<parameters>
45097<parameter name="settings">
45098<parameter_description> a #GSettings object
45099</parameter_description>
45100</parameter>
45101<parameter name="key">
45102<parameter_description> the name of the key to set
45103</parameter_description>
45104</parameter>
45105<parameter name="value">
45106<parameter_description> the value to set it to
45107</parameter_description>
45108</parameter>
45109</parameters>
45110<return> %TRUE if setting the key succeeded,
45111%FALSE if the key was not writable
45112
45113</return>
45114</function>
45115
45116<function name="g_settings_set_value">
45117<description>
45118Sets @key in @settings to @value.
45119
45120It is a programmer error to give a @key that isn't contained in the
45121schema for @settings or for @value to have the incorrect type, per
45122the schema.
45123
45124If @value is floating then this function consumes the reference.
45125
45126Since: 2.26
45127
45128</description>
45129<parameters>
45130<parameter name="settings">
45131<parameter_description> a #GSettings object
45132</parameter_description>
45133</parameter>
45134<parameter name="key">
45135<parameter_description> the name of the key to set
45136</parameter_description>
45137</parameter>
45138<parameter name="value">
45139<parameter_description> a #GVariant of the correct type
45140</parameter_description>
45141</parameter>
45142</parameters>
45143<return> %TRUE if setting the key succeeded,
45144%FALSE if the key was not writable
45145
45146</return>
45147</function>
45148
45149<function name="g_settings_sync">
45150<description>
45151Ensures that all pending operations are complete for the default backend.
45152
45153Writes made to a #GSettings are handled asynchronously.  For this
45154reason, it is very unlikely that the changes have it to disk by the
45155time g_settings_set() returns.
45156
45157This call will block until all of the writes have made it to the
45158backend.  Since the mainloop is not running, no change notifications
45159will be dispatched during this call (but some may be queued by the
45160time the call is done).
45161
45162</description>
45163<parameters>
45164</parameters>
45165<return></return>
45166</function>
45167
45168<function name="g_settings_unbind">
45169<description>
45170Removes an existing binding for @property on @object.
45171
45172Note that bindings are automatically removed when the
45173object is finalized, so it is rarely necessary to call this
45174function.
45175
45176Since: 2.26
45177
45178</description>
45179<parameters>
45180<parameter name="object">
45181<parameter_description> the object
45182</parameter_description>
45183</parameter>
45184<parameter name="property">
45185<parameter_description> the property whose binding is removed
45186</parameter_description>
45187</parameter>
45188</parameters>
45189<return></return>
45190</function>
45191
45192<function name="g_simple_action_group_add_entries">
45193<description>
45194A convenience function for creating multiple #GSimpleAction instances
45195and adding them to the action group.
45196
45197Since: 2.30
45198
45199Deprecated: 2.38: Use g_action_map_add_action_entries()
45200
45201</description>
45202<parameters>
45203<parameter name="simple">
45204<parameter_description> a #GSimpleActionGroup
45205</parameter_description>
45206</parameter>
45207<parameter name="entries">
45208<parameter_description> a pointer to the first item in
45209an array of #GActionEntry structs
45210</parameter_description>
45211</parameter>
45212<parameter name="n_entries">
45213<parameter_description> the length of @entries, or -1
45214</parameter_description>
45215</parameter>
45216<parameter name="user_data">
45217<parameter_description> the user data for signal connections
45218</parameter_description>
45219</parameter>
45220</parameters>
45221<return></return>
45222</function>
45223
45224<function name="g_simple_action_group_insert">
45225<description>
45226Adds an action to the action group.
45227
45228If the action group already contains an action with the same name as
45229@action then the old action is dropped from the group.
45230
45231The action group takes its own reference on @action.
45232
45233Since: 2.28
45234
45235Deprecated: 2.38: Use g_action_map_add_action()
45236
45237</description>
45238<parameters>
45239<parameter name="simple">
45240<parameter_description> a #GSimpleActionGroup
45241</parameter_description>
45242</parameter>
45243<parameter name="action">
45244<parameter_description> a #GAction
45245</parameter_description>
45246</parameter>
45247</parameters>
45248<return></return>
45249</function>
45250
45251<function name="g_simple_action_group_lookup">
45252<description>
45253Looks up the action with the name @action_name in the group.
45254
45255If no such action exists, returns %NULL.
45256
45257Since: 2.28
45258
45259Deprecated: 2.38: Use g_action_map_lookup_action()
45260
45261</description>
45262<parameters>
45263<parameter name="simple">
45264<parameter_description> a #GSimpleActionGroup
45265</parameter_description>
45266</parameter>
45267<parameter name="action_name">
45268<parameter_description> the name of an action
45269</parameter_description>
45270</parameter>
45271</parameters>
45272<return> a #GAction, or %NULL
45273
45274</return>
45275</function>
45276
45277<function name="g_simple_action_group_new">
45278<description>
45279Creates a new, empty, #GSimpleActionGroup.
45280
45281Since: 2.28
45282
45283</description>
45284<parameters>
45285</parameters>
45286<return> a new #GSimpleActionGroup
45287
45288</return>
45289</function>
45290
45291<function name="g_simple_action_group_remove">
45292<description>
45293Removes the named action from the action group.
45294
45295If no action of this name is in the group then nothing happens.
45296
45297Since: 2.28
45298
45299Deprecated: 2.38: Use g_action_map_remove_action()
45300
45301</description>
45302<parameters>
45303<parameter name="simple">
45304<parameter_description> a #GSimpleActionGroup
45305</parameter_description>
45306</parameter>
45307<parameter name="action_name">
45308<parameter_description> the name of the action
45309</parameter_description>
45310</parameter>
45311</parameters>
45312<return></return>
45313</function>
45314
45315<function name="g_simple_action_new">
45316<description>
45317Creates a new action.
45318
45319The created action is stateless. See g_simple_action_new_stateful() to create
45320an action that has state.
45321
45322Since: 2.28
45323
45324</description>
45325<parameters>
45326<parameter name="name">
45327<parameter_description> the name of the action
45328</parameter_description>
45329</parameter>
45330<parameter name="parameter_type">
45331<parameter_description> the type of parameter that will be passed to
45332handlers for the #GSimpleAction::activate signal, or %NULL for no parameter
45333</parameter_description>
45334</parameter>
45335</parameters>
45336<return> a new #GSimpleAction
45337
45338</return>
45339</function>
45340
45341<function name="g_simple_action_new_stateful">
45342<description>
45343Creates a new stateful action.
45344
45345All future state values must have the same #GVariantType as the initial
45346@state.
45347
45348If the @state #GVariant is floating, it is consumed.
45349
45350Since: 2.28
45351
45352</description>
45353<parameters>
45354<parameter name="name">
45355<parameter_description> the name of the action
45356</parameter_description>
45357</parameter>
45358<parameter name="parameter_type">
45359<parameter_description> the type of the parameter that will be passed to
45360handlers for the #GSimpleAction::activate signal, or %NULL for no parameter
45361</parameter_description>
45362</parameter>
45363<parameter name="state">
45364<parameter_description> the initial state of the action
45365</parameter_description>
45366</parameter>
45367</parameters>
45368<return> a new #GSimpleAction
45369
45370</return>
45371</function>
45372
45373<function name="g_simple_action_set_enabled">
45374<description>
45375Sets the action as enabled or not.
45376
45377An action must be enabled in order to be activated or in order to
45378have its state changed from outside callers.
45379
45380This should only be called by the implementor of the action.  Users
45381of the action should not attempt to modify its enabled flag.
45382
45383Since: 2.28
45384
45385</description>
45386<parameters>
45387<parameter name="simple">
45388<parameter_description> a #GSimpleAction
45389</parameter_description>
45390</parameter>
45391<parameter name="enabled">
45392<parameter_description> whether the action is enabled
45393</parameter_description>
45394</parameter>
45395</parameters>
45396<return></return>
45397</function>
45398
45399<function name="g_simple_action_set_state">
45400<description>
45401Sets the state of the action.
45402
45403This directly updates the 'state' property to the given value.
45404
45405This should only be called by the implementor of the action.  Users
45406of the action should not attempt to directly modify the 'state'
45407property.  Instead, they should call g_action_change_state() to
45408request the change.
45409
45410If the @value GVariant is floating, it is consumed.
45411
45412Since: 2.30
45413
45414</description>
45415<parameters>
45416<parameter name="simple">
45417<parameter_description> a #GSimpleAction
45418</parameter_description>
45419</parameter>
45420<parameter name="value">
45421<parameter_description> the new #GVariant for the state
45422</parameter_description>
45423</parameter>
45424</parameters>
45425<return></return>
45426</function>
45427
45428<function name="g_simple_action_set_state_hint">
45429<description>
45430Sets the state hint for the action.
45431
45432See g_action_get_state_hint() for more information about
45433action state hints.
45434
45435Since: 2.44
45436
45437</description>
45438<parameters>
45439<parameter name="simple">
45440<parameter_description> a #GSimpleAction
45441</parameter_description>
45442</parameter>
45443<parameter name="state_hint">
45444<parameter_description> a #GVariant representing the state hint
45445</parameter_description>
45446</parameter>
45447</parameters>
45448<return></return>
45449</function>
45450
45451<function name="g_simple_async_report_error_in_idle">
45452<description>
45453Reports an error in an asynchronous function in an idle function by
45454directly setting the contents of the #GAsyncResult with the given error
45455information.
45456
45457Deprecated: 2.46: Use g_task_report_error().
45458
45459</description>
45460<parameters>
45461<parameter name="object">
45462<parameter_description> a #GObject, or %NULL.
45463</parameter_description>
45464</parameter>
45465<parameter name="callback">
45466<parameter_description> a #GAsyncReadyCallback.
45467</parameter_description>
45468</parameter>
45469<parameter name="user_data">
45470<parameter_description> user data passed to @callback.
45471</parameter_description>
45472</parameter>
45473<parameter name="domain">
45474<parameter_description> a #GQuark containing the error domain (usually #G_IO_ERROR).
45475</parameter_description>
45476</parameter>
45477<parameter name="code">
45478<parameter_description> a specific error code.
45479</parameter_description>
45480</parameter>
45481<parameter name="format">
45482<parameter_description> a formatted error reporting string.
45483</parameter_description>
45484</parameter>
45485<parameter name="Varargs">
45486<parameter_description> a list of variables to fill in @format.
45487</parameter_description>
45488</parameter>
45489</parameters>
45490<return></return>
45491</function>
45492
45493<function name="g_simple_async_report_gerror_in_idle">
45494<description>
45495Reports an error in an idle function. Similar to
45496g_simple_async_report_error_in_idle(), but takes a #GError rather
45497than building a new one.
45498
45499Deprecated: 2.46: Use g_task_report_error().
45500
45501</description>
45502<parameters>
45503<parameter name="object">
45504<parameter_description> a #GObject, or %NULL
45505</parameter_description>
45506</parameter>
45507<parameter name="callback">
45508<parameter_description> a #GAsyncReadyCallback.
45509</parameter_description>
45510</parameter>
45511<parameter name="user_data">
45512<parameter_description> user data passed to @callback.
45513</parameter_description>
45514</parameter>
45515<parameter name="error">
45516<parameter_description> the #GError to report
45517</parameter_description>
45518</parameter>
45519</parameters>
45520<return></return>
45521</function>
45522
45523<function name="g_simple_async_report_take_gerror_in_idle">
45524<description>
45525Reports an error in an idle function. Similar to
45526g_simple_async_report_gerror_in_idle(), but takes over the caller's
45527ownership of @error, so the caller does not have to free it any more.
45528
45529Since: 2.28
45530
45531Deprecated: 2.46: Use g_task_report_error().
45532
45533</description>
45534<parameters>
45535<parameter name="object">
45536<parameter_description> a #GObject, or %NULL
45537</parameter_description>
45538</parameter>
45539<parameter name="callback">
45540<parameter_description> a #GAsyncReadyCallback.
45541</parameter_description>
45542</parameter>
45543<parameter name="user_data">
45544<parameter_description> user data passed to @callback.
45545</parameter_description>
45546</parameter>
45547<parameter name="error">
45548<parameter_description> the #GError to report
45549</parameter_description>
45550</parameter>
45551</parameters>
45552<return></return>
45553</function>
45554
45555<function name="g_simple_async_result_complete">
45556<description>
45557Completes an asynchronous I/O job immediately. Must be called in
45558the thread where the asynchronous result was to be delivered, as it
45559invokes the callback directly. If you are in a different thread use
45560g_simple_async_result_complete_in_idle().
45561
45562Calling this function takes a reference to @simple for as long as
45563is needed to complete the call.
45564
45565Deprecated: 2.46: Use #GTask instead.
45566
45567</description>
45568<parameters>
45569<parameter name="simple">
45570<parameter_description> a #GSimpleAsyncResult.
45571</parameter_description>
45572</parameter>
45573</parameters>
45574<return></return>
45575</function>
45576
45577<function name="g_simple_async_result_complete_in_idle">
45578<description>
45579Completes an asynchronous function in an idle handler in the
45580[thread-default main context][g-main-context-push-thread-default]
45581of the thread that @simple was initially created in
45582(and re-pushes that context around the invocation of the callback).
45583
45584Calling this function takes a reference to @simple for as long as
45585is needed to complete the call.
45586
45587Deprecated: 2.46: Use #GTask instead.
45588
45589</description>
45590<parameters>
45591<parameter name="simple">
45592<parameter_description> a #GSimpleAsyncResult.
45593</parameter_description>
45594</parameter>
45595</parameters>
45596<return></return>
45597</function>
45598
45599<function name="g_simple_async_result_get_op_res_gboolean">
45600<description>
45601Gets the operation result boolean from within the asynchronous result.
45602
45603Deprecated: 2.46: Use #GTask and g_task_propagate_boolean() instead.
45604
45605</description>
45606<parameters>
45607<parameter name="simple">
45608<parameter_description> a #GSimpleAsyncResult.
45609</parameter_description>
45610</parameter>
45611</parameters>
45612<return> %TRUE if the operation's result was %TRUE, %FALSE
45613if the operation's result was %FALSE.
45614
45615</return>
45616</function>
45617
45618<function name="g_simple_async_result_get_op_res_gpointer">
45619<description>
45620Gets a pointer result as returned by the asynchronous function.
45621
45622Deprecated: 2.46: Use #GTask and g_task_propagate_pointer() instead.
45623
45624</description>
45625<parameters>
45626<parameter name="simple">
45627<parameter_description> a #GSimpleAsyncResult.
45628</parameter_description>
45629</parameter>
45630</parameters>
45631<return> a pointer from the result.
45632
45633</return>
45634</function>
45635
45636<function name="g_simple_async_result_get_op_res_gssize">
45637<description>
45638Gets a gssize from the asynchronous result.
45639
45640Deprecated: 2.46: Use #GTask and g_task_propagate_int() instead.
45641
45642</description>
45643<parameters>
45644<parameter name="simple">
45645<parameter_description> a #GSimpleAsyncResult.
45646</parameter_description>
45647</parameter>
45648</parameters>
45649<return> a gssize returned from the asynchronous function.
45650
45651</return>
45652</function>
45653
45654<function name="g_simple_async_result_get_source_tag">
45655<description>
45656Gets the source tag for the #GSimpleAsyncResult.
45657
45658Deprecated: 2.46. Use #GTask and g_task_get_source_tag() instead.
45659
45660</description>
45661<parameters>
45662<parameter name="simple">
45663<parameter_description> a #GSimpleAsyncResult.
45664</parameter_description>
45665</parameter>
45666</parameters>
45667<return> a #gpointer to the source object for the #GSimpleAsyncResult.
45668
45669</return>
45670</function>
45671
45672<function name="g_simple_async_result_is_valid">
45673<description>
45674Ensures that the data passed to the _finish function of an async
45675operation is consistent.  Three checks are performed.
45676
45677First, @result is checked to ensure that it is really a
45678#GSimpleAsyncResult.  Second, @source is checked to ensure that it
45679matches the source object of @result.  Third, @source_tag is
45680checked to ensure that it is equal to the @source_tag argument given
45681to g_simple_async_result_new() (which, by convention, is a pointer
45682to the _async function corresponding to the _finish function from
45683which this function is called).  (Alternatively, if either
45684@source_tag or @result's source tag is %NULL, then the source tag
45685check is skipped.)
45686
45687Since: 2.20
45688
45689Deprecated: 2.46: Use #GTask and g_task_is_valid() instead.
45690
45691</description>
45692<parameters>
45693<parameter name="result">
45694<parameter_description> the #GAsyncResult passed to the _finish function.
45695</parameter_description>
45696</parameter>
45697<parameter name="source">
45698<parameter_description> the #GObject passed to the _finish function.
45699</parameter_description>
45700</parameter>
45701<parameter name="source_tag">
45702<parameter_description> the asynchronous function.
45703</parameter_description>
45704</parameter>
45705</parameters>
45706<return> #TRUE if all checks passed or #FALSE if any failed.
45707
45708</return>
45709</function>
45710
45711<function name="g_simple_async_result_new">
45712<description>
45713Creates a #GSimpleAsyncResult.
45714
45715The common convention is to create the #GSimpleAsyncResult in the
45716function that starts the asynchronous operation and use that same
45717function as the @source_tag.
45718
45719If your operation supports cancellation with #GCancellable (which it
45720probably should) then you should provide the user's cancellable to
45721g_simple_async_result_set_check_cancellable() immediately after
45722this function returns.
45723
45724Deprecated: 2.46: Use g_task_new() instead.
45725
45726</description>
45727<parameters>
45728<parameter name="source_object">
45729<parameter_description> a #GObject, or %NULL.
45730</parameter_description>
45731</parameter>
45732<parameter name="callback">
45733<parameter_description> a #GAsyncReadyCallback.
45734</parameter_description>
45735</parameter>
45736<parameter name="user_data">
45737<parameter_description> user data passed to @callback.
45738</parameter_description>
45739</parameter>
45740<parameter name="source_tag">
45741<parameter_description> the asynchronous function.
45742</parameter_description>
45743</parameter>
45744</parameters>
45745<return> a #GSimpleAsyncResult.
45746
45747</return>
45748</function>
45749
45750<function name="g_simple_async_result_new_error">
45751<description>
45752Creates a new #GSimpleAsyncResult with a set error.
45753
45754Deprecated: 2.46: Use g_task_new() and g_task_return_new_error() instead.
45755
45756</description>
45757<parameters>
45758<parameter name="source_object">
45759<parameter_description> a #GObject, or %NULL.
45760</parameter_description>
45761</parameter>
45762<parameter name="callback">
45763<parameter_description> a #GAsyncReadyCallback.
45764</parameter_description>
45765</parameter>
45766<parameter name="user_data">
45767<parameter_description> user data passed to @callback.
45768</parameter_description>
45769</parameter>
45770<parameter name="domain">
45771<parameter_description> a #GQuark.
45772</parameter_description>
45773</parameter>
45774<parameter name="code">
45775<parameter_description> an error code.
45776</parameter_description>
45777</parameter>
45778<parameter name="format">
45779<parameter_description> a string with format characters.
45780</parameter_description>
45781</parameter>
45782<parameter name="Varargs">
45783<parameter_description> a list of values to insert into @format.
45784</parameter_description>
45785</parameter>
45786</parameters>
45787<return> a #GSimpleAsyncResult.
45788
45789</return>
45790</function>
45791
45792<function name="g_simple_async_result_new_from_error">
45793<description>
45794Creates a #GSimpleAsyncResult from an error condition.
45795
45796Deprecated: 2.46: Use g_task_new() and g_task_return_error() instead.
45797
45798</description>
45799<parameters>
45800<parameter name="source_object">
45801<parameter_description> a #GObject, or %NULL.
45802</parameter_description>
45803</parameter>
45804<parameter name="callback">
45805<parameter_description> a #GAsyncReadyCallback.
45806</parameter_description>
45807</parameter>
45808<parameter name="user_data">
45809<parameter_description> user data passed to @callback.
45810</parameter_description>
45811</parameter>
45812<parameter name="error">
45813<parameter_description> a #GError
45814</parameter_description>
45815</parameter>
45816</parameters>
45817<return> a #GSimpleAsyncResult.
45818
45819</return>
45820</function>
45821
45822<function name="g_simple_async_result_new_take_error">
45823<description>
45824Creates a #GSimpleAsyncResult from an error condition, and takes over the
45825caller's ownership of @error, so the caller does not need to free it anymore.
45826
45827Since: 2.28
45828
45829Deprecated: 2.46: Use g_task_new() and g_task_return_error() instead.
45830
45831</description>
45832<parameters>
45833<parameter name="source_object">
45834<parameter_description> a #GObject, or %NULL
45835</parameter_description>
45836</parameter>
45837<parameter name="callback">
45838<parameter_description> a #GAsyncReadyCallback
45839</parameter_description>
45840</parameter>
45841<parameter name="user_data">
45842<parameter_description> user data passed to @callback
45843</parameter_description>
45844</parameter>
45845<parameter name="error">
45846<parameter_description> a #GError
45847</parameter_description>
45848</parameter>
45849</parameters>
45850<return> a #GSimpleAsyncResult
45851
45852</return>
45853</function>
45854
45855<function name="g_simple_async_result_propagate_error">
45856<description>
45857Propagates an error from within the simple asynchronous result to
45858a given destination.
45859
45860If the #GCancellable given to a prior call to
45861g_simple_async_result_set_check_cancellable() is cancelled then this
45862function will return %TRUE with @dest set appropriately.
45863
45864Deprecated: 2.46: Use #GTask instead.
45865
45866</description>
45867<parameters>
45868<parameter name="simple">
45869<parameter_description> a #GSimpleAsyncResult.
45870</parameter_description>
45871</parameter>
45872<parameter name="dest">
45873<parameter_description> a location to propagate the error to.
45874</parameter_description>
45875</parameter>
45876</parameters>
45877<return> %TRUE if the error was propagated to @dest. %FALSE otherwise.
45878
45879</return>
45880</function>
45881
45882<function name="g_simple_async_result_run_in_thread">
45883<description>
45884Runs the asynchronous job in a separate thread and then calls
45885g_simple_async_result_complete_in_idle() on @simple to return
45886the result to the appropriate main loop.
45887
45888Calling this function takes a reference to @simple for as long as
45889is needed to run the job and report its completion.
45890
45891Deprecated: 2.46: Use #GTask and g_task_run_in_thread() instead.
45892
45893</description>
45894<parameters>
45895<parameter name="simple">
45896<parameter_description> a #GSimpleAsyncResult.
45897</parameter_description>
45898</parameter>
45899<parameter name="func">
45900<parameter_description> a #GSimpleAsyncThreadFunc.
45901</parameter_description>
45902</parameter>
45903<parameter name="io_priority">
45904<parameter_description> the io priority of the request.
45905</parameter_description>
45906</parameter>
45907<parameter name="cancellable">
45908<parameter_description> optional #GCancellable object, %NULL to ignore.
45909</parameter_description>
45910</parameter>
45911</parameters>
45912<return></return>
45913</function>
45914
45915<function name="g_simple_async_result_set_check_cancellable">
45916<description>
45917Sets a #GCancellable to check before dispatching results.
45918
45919This function has one very specific purpose: the provided cancellable
45920is checked at the time of g_simple_async_result_propagate_error() If
45921it is cancelled, these functions will return an &quot;Operation was
45922cancelled&quot; error (%G_IO_ERROR_CANCELLED).
45923
45924Implementors of cancellable asynchronous functions should use this in
45925order to provide a guarantee to their callers that cancelling an
45926async operation will reliably result in an error being returned for
45927that operation (even if a positive result for the operation has
45928already been sent as an idle to the main context to be dispatched).
45929
45930The checking described above is done regardless of any call to the
45931unrelated g_simple_async_result_set_handle_cancellation() function.
45932
45933Since: 2.32
45934
45935Deprecated: 2.46: Use #GTask instead.
45936
45937</description>
45938<parameters>
45939<parameter name="simple">
45940<parameter_description> a #GSimpleAsyncResult
45941</parameter_description>
45942</parameter>
45943<parameter name="check_cancellable">
45944<parameter_description> a #GCancellable to check, or %NULL to unset
45945</parameter_description>
45946</parameter>
45947</parameters>
45948<return></return>
45949</function>
45950
45951<function name="g_simple_async_result_set_error">
45952<description>
45953Sets an error within the asynchronous result without a #GError.
45954
45955Deprecated: 2.46: Use #GTask and g_task_return_new_error() instead.
45956
45957</description>
45958<parameters>
45959<parameter name="simple">
45960<parameter_description> a #GSimpleAsyncResult.
45961</parameter_description>
45962</parameter>
45963<parameter name="domain">
45964<parameter_description> a #GQuark (usually #G_IO_ERROR).
45965</parameter_description>
45966</parameter>
45967<parameter name="code">
45968<parameter_description> an error code.
45969</parameter_description>
45970</parameter>
45971<parameter name="format">
45972<parameter_description> a formatted error reporting string.
45973</parameter_description>
45974</parameter>
45975<parameter name="Varargs">
45976<parameter_description> a list of variables to fill in @format.
45977</parameter_description>
45978</parameter>
45979</parameters>
45980<return></return>
45981</function>
45982
45983<function name="g_simple_async_result_set_error_va">
45984<description>
45985Sets an error within the asynchronous result without a #GError.
45986Unless writing a binding, see g_simple_async_result_set_error().
45987
45988Deprecated: 2.46: Use #GTask and g_task_return_error() instead.
45989
45990</description>
45991<parameters>
45992<parameter name="simple">
45993<parameter_description> a #GSimpleAsyncResult.
45994</parameter_description>
45995</parameter>
45996<parameter name="domain">
45997<parameter_description> a #GQuark (usually #G_IO_ERROR).
45998</parameter_description>
45999</parameter>
46000<parameter name="code">
46001<parameter_description> an error code.
46002</parameter_description>
46003</parameter>
46004<parameter name="format">
46005<parameter_description> a formatted error reporting string.
46006</parameter_description>
46007</parameter>
46008<parameter name="args">
46009<parameter_description> va_list of arguments.
46010</parameter_description>
46011</parameter>
46012</parameters>
46013<return></return>
46014</function>
46015
46016<function name="g_simple_async_result_set_from_error">
46017<description>
46018Sets the result from a #GError.
46019
46020Deprecated: 2.46: Use #GTask and g_task_return_error() instead.
46021
46022</description>
46023<parameters>
46024<parameter name="simple">
46025<parameter_description> a #GSimpleAsyncResult.
46026</parameter_description>
46027</parameter>
46028<parameter name="error">
46029<parameter_description> #GError.
46030</parameter_description>
46031</parameter>
46032</parameters>
46033<return></return>
46034</function>
46035
46036<function name="g_simple_async_result_set_handle_cancellation">
46037<description>
46038Sets whether to handle cancellation within the asynchronous operation.
46039
46040This function has nothing to do with
46041g_simple_async_result_set_check_cancellable().  It only refers to the
46042#GCancellable passed to g_simple_async_result_run_in_thread().
46043
46044Deprecated: 2.46
46045
46046</description>
46047<parameters>
46048<parameter name="simple">
46049<parameter_description> a #GSimpleAsyncResult.
46050</parameter_description>
46051</parameter>
46052<parameter name="handle_cancellation">
46053<parameter_description> a #gboolean.
46054</parameter_description>
46055</parameter>
46056</parameters>
46057<return></return>
46058</function>
46059
46060<function name="g_simple_async_result_set_op_res_gboolean">
46061<description>
46062Sets the operation result to a boolean within the asynchronous result.
46063
46064Deprecated: 2.46: Use #GTask and g_task_return_boolean() instead.
46065
46066</description>
46067<parameters>
46068<parameter name="simple">
46069<parameter_description> a #GSimpleAsyncResult.
46070</parameter_description>
46071</parameter>
46072<parameter name="op_res">
46073<parameter_description> a #gboolean.
46074</parameter_description>
46075</parameter>
46076</parameters>
46077<return></return>
46078</function>
46079
46080<function name="g_simple_async_result_set_op_res_gpointer">
46081<description>
46082Sets the operation result within the asynchronous result to a pointer.
46083
46084Deprecated: 2.46: Use #GTask and g_task_return_pointer() instead.
46085
46086</description>
46087<parameters>
46088<parameter name="simple">
46089<parameter_description> a #GSimpleAsyncResult.
46090</parameter_description>
46091</parameter>
46092<parameter name="op_res">
46093<parameter_description> a pointer result from an asynchronous function.
46094</parameter_description>
46095</parameter>
46096<parameter name="destroy_op_res">
46097<parameter_description> a #GDestroyNotify function.
46098</parameter_description>
46099</parameter>
46100</parameters>
46101<return></return>
46102</function>
46103
46104<function name="g_simple_async_result_set_op_res_gssize">
46105<description>
46106Sets the operation result within the asynchronous result to
46107the given @op_res.
46108
46109Deprecated: 2.46: Use #GTask and g_task_return_int() instead.
46110
46111</description>
46112<parameters>
46113<parameter name="simple">
46114<parameter_description> a #GSimpleAsyncResult.
46115</parameter_description>
46116</parameter>
46117<parameter name="op_res">
46118<parameter_description> a #gssize.
46119</parameter_description>
46120</parameter>
46121</parameters>
46122<return></return>
46123</function>
46124
46125<function name="g_simple_async_result_take_error">
46126<description>
46127Sets the result from @error, and takes over the caller's ownership
46128of @error, so the caller does not need to free it any more.
46129
46130Since: 2.28
46131
46132Deprecated: 2.46: Use #GTask and g_task_return_error() instead.
46133
46134</description>
46135<parameters>
46136<parameter name="simple">
46137<parameter_description> a #GSimpleAsyncResult
46138</parameter_description>
46139</parameter>
46140<parameter name="error">
46141<parameter_description> a #GError
46142</parameter_description>
46143</parameter>
46144</parameters>
46145<return></return>
46146</function>
46147
46148<function name="g_simple_io_stream_new">
46149<description>
46150Creates a new #GSimpleIOStream wrapping @input_stream and @output_stream.
46151See also #GIOStream.
46152
46153Since: 2.44
46154
46155</description>
46156<parameters>
46157<parameter name="input_stream">
46158<parameter_description> a #GInputStream.
46159</parameter_description>
46160</parameter>
46161<parameter name="output_stream">
46162<parameter_description> a #GOutputStream.
46163</parameter_description>
46164</parameter>
46165</parameters>
46166<return> a new #GSimpleIOStream instance.
46167
46168</return>
46169</function>
46170
46171<function name="g_simple_permission_new">
46172<description>
46173Creates a new #GPermission instance that represents an action that is
46174either always or never allowed.
46175
46176Since: 2.26
46177
46178</description>
46179<parameters>
46180<parameter name="allowed">
46181<parameter_description> %TRUE if the action is allowed
46182</parameter_description>
46183</parameter>
46184</parameters>
46185<return> the #GSimplePermission, as a #GPermission
46186
46187</return>
46188</function>
46189
46190<function name="g_simple_proxy_resolver_new">
46191<description>
46192Creates a new #GSimpleProxyResolver. See
46193#GSimpleProxyResolver:default-proxy and
46194#GSimpleProxyResolver:ignore-hosts for more details on how the
46195arguments are interpreted.
46196
46197Since: 2.36
46198
46199</description>
46200<parameters>
46201<parameter name="default_proxy">
46202<parameter_description> the default proxy to use, eg
46203&quot;socks://192.168.1.1&quot;
46204</parameter_description>
46205</parameter>
46206<parameter name="ignore_hosts">
46207<parameter_description> an optional list of hosts/IP addresses
46208to not use a proxy for.
46209</parameter_description>
46210</parameter>
46211</parameters>
46212<return> (transfer full) a new #GSimpleProxyResolver
46213
46214</return>
46215</function>
46216
46217<function name="g_simple_proxy_resolver_set_default_proxy">
46218<description>
46219Sets the default proxy on @resolver, to be used for any URIs that
46220don't match #GSimpleProxyResolver:ignore-hosts or a proxy set
46221via g_simple_proxy_resolver_set_uri_proxy().
46222
46223If @default_proxy starts with &quot;socks://&quot;,
46224#GSimpleProxyResolver will treat it as referring to all three of
46225the socks5, socks4a, and socks4 proxy types.
46226
46227Since: 2.36
46228
46229</description>
46230<parameters>
46231<parameter name="resolver">
46232<parameter_description> a #GSimpleProxyResolver
46233</parameter_description>
46234</parameter>
46235<parameter name="default_proxy">
46236<parameter_description> the default proxy to use
46237</parameter_description>
46238</parameter>
46239</parameters>
46240<return></return>
46241</function>
46242
46243<function name="g_simple_proxy_resolver_set_ignore_hosts">
46244<description>
46245Sets the list of ignored hosts.
46246
46247See #GSimpleProxyResolver:ignore-hosts for more details on how the
46248@ignore_hosts argument is interpreted.
46249
46250Since: 2.36
46251
46252</description>
46253<parameters>
46254<parameter name="resolver">
46255<parameter_description> a #GSimpleProxyResolver
46256</parameter_description>
46257</parameter>
46258<parameter name="ignore_hosts">
46259<parameter_description> %NULL-terminated list of hosts/IP addresses
46260to not use a proxy for
46261</parameter_description>
46262</parameter>
46263</parameters>
46264<return></return>
46265</function>
46266
46267<function name="g_simple_proxy_resolver_set_uri_proxy">
46268<description>
46269Adds a URI-scheme-specific proxy to @resolver; URIs whose scheme
46270matches @uri_scheme (and which don't match
46271#GSimpleProxyResolver:ignore-hosts) will be proxied via @proxy.
46272
46273As with #GSimpleProxyResolver:default-proxy, if @proxy starts with
46274&quot;socks://&quot;, #GSimpleProxyResolver will treat it
46275as referring to all three of the socks5, socks4a, and socks4 proxy
46276types.
46277
46278Since: 2.36
46279
46280</description>
46281<parameters>
46282<parameter name="resolver">
46283<parameter_description> a #GSimpleProxyResolver
46284</parameter_description>
46285</parameter>
46286<parameter name="uri_scheme">
46287<parameter_description> the URI scheme to add a proxy for
46288</parameter_description>
46289</parameter>
46290<parameter name="proxy">
46291<parameter_description> the proxy to use for @uri_scheme
46292</parameter_description>
46293</parameter>
46294</parameters>
46295<return></return>
46296</function>
46297
46298<function name="g_socket_accept">
46299<description>
46300Accept incoming connections on a connection-based socket. This removes
46301the first outstanding connection request from the listening socket and
46302creates a #GSocket object for it.
46303
46304The @socket must be bound to a local address with g_socket_bind() and
46305must be listening for incoming connections (g_socket_listen()).
46306
46307If there are no outstanding connections then the operation will block
46308or return %G_IO_ERROR_WOULD_BLOCK if non-blocking I/O is enabled.
46309To be notified of an incoming connection, wait for the %G_IO_IN condition.
46310
46311Since: 2.22
46312
46313</description>
46314<parameters>
46315<parameter name="socket">
46316<parameter_description> a #GSocket.
46317</parameter_description>
46318</parameter>
46319<parameter name="cancellable">
46320<parameter_description> a %GCancellable or %NULL
46321</parameter_description>
46322</parameter>
46323<parameter name="error">
46324<parameter_description> #GError for error reporting, or %NULL to ignore.
46325</parameter_description>
46326</parameter>
46327</parameters>
46328<return> a new #GSocket, or %NULL on error.
46329Free the returned object with g_object_unref().
46330
46331</return>
46332</function>
46333
46334<function name="g_socket_address_enumerator_next">
46335<description>
46336Retrieves the next #GSocketAddress from @enumerator. Note that this
46337may block for some amount of time. (Eg, a #GNetworkAddress may need
46338to do a DNS lookup before it can return an address.) Use
46339g_socket_address_enumerator_next_async() if you need to avoid
46340blocking.
46341
46342If @enumerator is expected to yield addresses, but for some reason
46343is unable to (eg, because of a DNS error), then the first call to
46344g_socket_address_enumerator_next() will return an appropriate error
46345in *@error. However, if the first call to
46346g_socket_address_enumerator_next() succeeds, then any further
46347internal errors (other than @cancellable being triggered) will be
46348ignored.
46349
46350
46351</description>
46352<parameters>
46353<parameter name="enumerator">
46354<parameter_description> a #GSocketAddressEnumerator
46355</parameter_description>
46356</parameter>
46357<parameter name="cancellable">
46358<parameter_description> optional #GCancellable object, %NULL to ignore.
46359</parameter_description>
46360</parameter>
46361<parameter name="error">
46362<parameter_description> a #GError.
46363</parameter_description>
46364</parameter>
46365</parameters>
46366<return> a #GSocketAddress (owned by the caller), or %NULL on
46367error (in which case *@error will be set) or if there are no
46368more addresses.
46369</return>
46370</function>
46371
46372<function name="g_socket_address_enumerator_next_async">
46373<description>
46374Asynchronously retrieves the next #GSocketAddress from @enumerator
46375and then calls @callback, which must call
46376g_socket_address_enumerator_next_finish() to get the result.
46377
46378It is an error to call this multiple times before the previous callback has finished.
46379
46380</description>
46381<parameters>
46382<parameter name="enumerator">
46383<parameter_description> a #GSocketAddressEnumerator
46384</parameter_description>
46385</parameter>
46386<parameter name="cancellable">
46387<parameter_description> optional #GCancellable object, %NULL to ignore.
46388</parameter_description>
46389</parameter>
46390<parameter name="callback">
46391<parameter_description> a #GAsyncReadyCallback to call when the request
46392is satisfied
46393</parameter_description>
46394</parameter>
46395<parameter name="user_data">
46396<parameter_description> the data to pass to callback function
46397</parameter_description>
46398</parameter>
46399</parameters>
46400<return></return>
46401</function>
46402
46403<function name="g_socket_address_enumerator_next_finish">
46404<description>
46405Retrieves the result of a completed call to
46406g_socket_address_enumerator_next_async(). See
46407g_socket_address_enumerator_next() for more information about
46408error handling.
46409
46410
46411</description>
46412<parameters>
46413<parameter name="enumerator">
46414<parameter_description> a #GSocketAddressEnumerator
46415</parameter_description>
46416</parameter>
46417<parameter name="result">
46418<parameter_description> a #GAsyncResult
46419</parameter_description>
46420</parameter>
46421<parameter name="error">
46422<parameter_description> a #GError
46423</parameter_description>
46424</parameter>
46425</parameters>
46426<return> a #GSocketAddress (owned by the caller), or %NULL on
46427error (in which case *@error will be set) or if there are no
46428more addresses.
46429</return>
46430</function>
46431
46432<function name="g_socket_address_get_family">
46433<description>
46434Gets the socket family type of @address.
46435
46436Since: 2.22
46437
46438</description>
46439<parameters>
46440<parameter name="address">
46441<parameter_description> a #GSocketAddress
46442</parameter_description>
46443</parameter>
46444</parameters>
46445<return> the socket family type of @address
46446
46447</return>
46448</function>
46449
46450<function name="g_socket_address_get_native_size">
46451<description>
46452Gets the size of @address's native struct sockaddr.
46453You can use this to allocate memory to pass to
46454g_socket_address_to_native().
46455
46456Since: 2.22
46457
46458</description>
46459<parameters>
46460<parameter name="address">
46461<parameter_description> a #GSocketAddress
46462</parameter_description>
46463</parameter>
46464</parameters>
46465<return> the size of the native struct sockaddr that
46466@address represents
46467
46468</return>
46469</function>
46470
46471<function name="g_socket_address_new_from_native">
46472<description>
46473Creates a #GSocketAddress subclass corresponding to the native
46474struct sockaddr @native.
46475
46476Since: 2.22
46477
46478</description>
46479<parameters>
46480<parameter name="native">
46481<parameter_description> a pointer to a struct sockaddr
46482</parameter_description>
46483</parameter>
46484<parameter name="len">
46485<parameter_description> the size of the memory location pointed to by @native
46486</parameter_description>
46487</parameter>
46488</parameters>
46489<return> a new #GSocketAddress if @native could successfully
46490be converted, otherwise %NULL
46491
46492</return>
46493</function>
46494
46495<function name="g_socket_address_to_native">
46496<description>
46497Converts a #GSocketAddress to a native struct sockaddr, which can
46498be passed to low-level functions like connect() or bind().
46499
46500If not enough space is available, a %G_IO_ERROR_NO_SPACE error
46501is returned. If the address type is not known on the system
46502then a %G_IO_ERROR_NOT_SUPPORTED error is returned.
46503
46504Since: 2.22
46505
46506</description>
46507<parameters>
46508<parameter name="address">
46509<parameter_description> a #GSocketAddress
46510</parameter_description>
46511</parameter>
46512<parameter name="dest">
46513<parameter_description> a pointer to a memory location that will contain the native
46514struct sockaddr
46515</parameter_description>
46516</parameter>
46517<parameter name="destlen">
46518<parameter_description> the size of @dest. Must be at least as large as
46519g_socket_address_get_native_size()
46520</parameter_description>
46521</parameter>
46522<parameter name="error">
46523<parameter_description> #GError for error reporting, or %NULL to ignore
46524</parameter_description>
46525</parameter>
46526</parameters>
46527<return> %TRUE if @dest was filled in, %FALSE on error
46528
46529</return>
46530</function>
46531
46532<function name="g_socket_bind">
46533<description>
46534When a socket is created it is attached to an address family, but it
46535doesn't have an address in this family. g_socket_bind() assigns the
46536address (sometimes called name) of the socket.
46537
46538It is generally required to bind to a local address before you can
46539receive connections. (See g_socket_listen() and g_socket_accept() ).
46540In certain situations, you may also want to bind a socket that will be
46541used to initiate connections, though this is not normally required.
46542
46543If @socket is a TCP socket, then @allow_reuse controls the setting
46544of the `SO_REUSEADDR` socket option; normally it should be %TRUE for
46545server sockets (sockets that you will eventually call
46546g_socket_accept() on), and %FALSE for client sockets. (Failing to
46547set this flag on a server socket may cause g_socket_bind() to return
46548%G_IO_ERROR_ADDRESS_IN_USE if the server program is stopped and then
46549immediately restarted.)
46550
46551If @socket is a UDP socket, then @allow_reuse determines whether or
46552not other UDP sockets can be bound to the same address at the same
46553time. In particular, you can have several UDP sockets bound to the
46554same address, and they will all receive all of the multicast and
46555broadcast packets sent to that address. (The behavior of unicast
46556UDP packets to an address with multiple listeners is not defined.)
46557
46558Since: 2.22
46559
46560</description>
46561<parameters>
46562<parameter name="socket">
46563<parameter_description> a #GSocket.
46564</parameter_description>
46565</parameter>
46566<parameter name="address">
46567<parameter_description> a #GSocketAddress specifying the local address.
46568</parameter_description>
46569</parameter>
46570<parameter name="allow_reuse">
46571<parameter_description> whether to allow reusing this address
46572</parameter_description>
46573</parameter>
46574<parameter name="error">
46575<parameter_description> #GError for error reporting, or %NULL to ignore.
46576</parameter_description>
46577</parameter>
46578</parameters>
46579<return> %TRUE on success, %FALSE on error.
46580
46581</return>
46582</function>
46583
46584<function name="g_socket_check_connect_result">
46585<description>
46586Checks and resets the pending connect error for the socket.
46587This is used to check for errors when g_socket_connect() is
46588used in non-blocking mode.
46589
46590Since: 2.22
46591
46592</description>
46593<parameters>
46594<parameter name="socket">
46595<parameter_description> a #GSocket
46596</parameter_description>
46597</parameter>
46598<parameter name="error">
46599<parameter_description> #GError for error reporting, or %NULL to ignore.
46600</parameter_description>
46601</parameter>
46602</parameters>
46603<return> %TRUE if no error, %FALSE otherwise, setting @error to the error
46604
46605</return>
46606</function>
46607
46608<function name="g_socket_client_add_application_proxy">
46609<description>
46610Enable proxy protocols to be handled by the application. When the
46611indicated proxy protocol is returned by the #GProxyResolver,
46612#GSocketClient will consider this protocol as supported but will
46613not try to find a #GProxy instance to handle handshaking. The
46614application must check for this case by calling
46615g_socket_connection_get_remote_address() on the returned
46616#GSocketConnection, and seeing if it's a #GProxyAddress of the
46617appropriate type, to determine whether or not it needs to handle
46618the proxy handshaking itself.
46619
46620This should be used for proxy protocols that are dialects of
46621another protocol such as HTTP proxy. It also allows cohabitation of
46622proxy protocols that are reused between protocols. A good example
46623is HTTP. It can be used to proxy HTTP, FTP and Gopher and can also
46624be use as generic socket proxy through the HTTP CONNECT method.
46625
46626When the proxy is detected as being an application proxy, TLS handshake
46627will be skipped. This is required to let the application do the proxy
46628specific handshake.
46629
46630</description>
46631<parameters>
46632<parameter name="client">
46633<parameter_description> a #GSocketClient
46634</parameter_description>
46635</parameter>
46636<parameter name="protocol">
46637<parameter_description> The proxy protocol
46638</parameter_description>
46639</parameter>
46640</parameters>
46641<return></return>
46642</function>
46643
46644<function name="g_socket_client_connect">
46645<description>
46646Tries to resolve the @connectable and make a network connection to it.
46647
46648Upon a successful connection, a new #GSocketConnection is constructed
46649and returned.  The caller owns this new object and must drop their
46650reference to it when finished with it.
46651
46652The type of the #GSocketConnection object returned depends on the type of
46653the underlying socket that is used. For instance, for a TCP/IP connection
46654it will be a #GTcpConnection.
46655
46656The socket created will be the same family as the address that the
46657@connectable resolves to, unless family is set with g_socket_client_set_family()
46658or indirectly via g_socket_client_set_local_address(). The socket type
46659defaults to %G_SOCKET_TYPE_STREAM but can be set with
46660g_socket_client_set_socket_type().
46661
46662If a local address is specified with g_socket_client_set_local_address() the
46663socket will be bound to this address before connecting.
46664
46665Since: 2.22
46666
46667</description>
46668<parameters>
46669<parameter name="client">
46670<parameter_description> a #GSocketClient.
46671</parameter_description>
46672</parameter>
46673<parameter name="connectable">
46674<parameter_description> a #GSocketConnectable specifying the remote address.
46675</parameter_description>
46676</parameter>
46677<parameter name="cancellable">
46678<parameter_description> optional #GCancellable object, %NULL to ignore.
46679</parameter_description>
46680</parameter>
46681<parameter name="error">
46682<parameter_description> #GError for error reporting, or %NULL to ignore.
46683</parameter_description>
46684</parameter>
46685</parameters>
46686<return> a #GSocketConnection on success, %NULL on error.
46687
46688</return>
46689</function>
46690
46691<function name="g_socket_client_connect_async">
46692<description>
46693This is the asynchronous version of g_socket_client_connect().
46694
46695When the operation is finished @callback will be
46696called. You can then call g_socket_client_connect_finish() to get
46697the result of the operation.
46698
46699Since: 2.22
46700
46701</description>
46702<parameters>
46703<parameter name="client">
46704<parameter_description> a #GSocketClient
46705</parameter_description>
46706</parameter>
46707<parameter name="connectable">
46708<parameter_description> a #GSocketConnectable specifying the remote address.
46709</parameter_description>
46710</parameter>
46711<parameter name="cancellable">
46712<parameter_description> a #GCancellable, or %NULL
46713</parameter_description>
46714</parameter>
46715<parameter name="callback">
46716<parameter_description> a #GAsyncReadyCallback
46717</parameter_description>
46718</parameter>
46719<parameter name="user_data">
46720<parameter_description> user data for the callback
46721</parameter_description>
46722</parameter>
46723</parameters>
46724<return></return>
46725</function>
46726
46727<function name="g_socket_client_connect_finish">
46728<description>
46729Finishes an async connect operation. See g_socket_client_connect_async()
46730
46731Since: 2.22
46732
46733</description>
46734<parameters>
46735<parameter name="client">
46736<parameter_description> a #GSocketClient.
46737</parameter_description>
46738</parameter>
46739<parameter name="result">
46740<parameter_description> a #GAsyncResult.
46741</parameter_description>
46742</parameter>
46743<parameter name="error">
46744<parameter_description> a #GError location to store the error occurring, or %NULL to
46745ignore.
46746</parameter_description>
46747</parameter>
46748</parameters>
46749<return> a #GSocketConnection on success, %NULL on error.
46750
46751</return>
46752</function>
46753
46754<function name="g_socket_client_connect_to_host">
46755<description>
46756This is a helper function for g_socket_client_connect().
46757
46758Attempts to create a TCP connection to the named host.
46759
46760@host_and_port may be in any of a number of recognized formats; an IPv6
46761address, an IPv4 address, or a domain name (in which case a DNS
46762lookup is performed).  Quoting with [] is supported for all address
46763types.  A port override may be specified in the usual way with a
46764colon.  Ports may be given as decimal numbers or symbolic names (in
46765which case an /etc/services lookup is performed).
46766
46767If no port override is given in @host_and_port then @default_port will be
46768used as the port number to connect to.
46769
46770In general, @host_and_port is expected to be provided by the user (allowing
46771them to give the hostname, and a port override if necessary) and
46772@default_port is expected to be provided by the application.
46773
46774In the case that an IP address is given, a single connection
46775attempt is made.  In the case that a name is given, multiple
46776connection attempts may be made, in turn and according to the
46777number of address records in DNS, until a connection succeeds.
46778
46779Upon a successful connection, a new #GSocketConnection is constructed
46780and returned.  The caller owns this new object and must drop their
46781reference to it when finished with it.
46782
46783In the event of any failure (DNS error, service not found, no hosts
46784connectable) %NULL is returned and @error (if non-%NULL) is set
46785accordingly.
46786
46787Since: 2.22
46788
46789</description>
46790<parameters>
46791<parameter name="client">
46792<parameter_description> a #GSocketClient
46793</parameter_description>
46794</parameter>
46795<parameter name="host_and_port">
46796<parameter_description> the name and optionally port of the host to connect to
46797</parameter_description>
46798</parameter>
46799<parameter name="default_port">
46800<parameter_description> the default port to connect to
46801</parameter_description>
46802</parameter>
46803<parameter name="cancellable">
46804<parameter_description> a #GCancellable, or %NULL
46805</parameter_description>
46806</parameter>
46807<parameter name="error">
46808<parameter_description> a pointer to a #GError, or %NULL
46809</parameter_description>
46810</parameter>
46811</parameters>
46812<return> a #GSocketConnection on success, %NULL on error.
46813
46814</return>
46815</function>
46816
46817<function name="g_socket_client_connect_to_host_async">
46818<description>
46819This is the asynchronous version of g_socket_client_connect_to_host().
46820
46821When the operation is finished @callback will be
46822called. You can then call g_socket_client_connect_to_host_finish() to get
46823the result of the operation.
46824
46825Since: 2.22
46826
46827</description>
46828<parameters>
46829<parameter name="client">
46830<parameter_description> a #GSocketClient
46831</parameter_description>
46832</parameter>
46833<parameter name="host_and_port">
46834<parameter_description> the name and optionally the port of the host to connect to
46835</parameter_description>
46836</parameter>
46837<parameter name="default_port">
46838<parameter_description> the default port to connect to
46839</parameter_description>
46840</parameter>
46841<parameter name="cancellable">
46842<parameter_description> a #GCancellable, or %NULL
46843</parameter_description>
46844</parameter>
46845<parameter name="callback">
46846<parameter_description> a #GAsyncReadyCallback
46847</parameter_description>
46848</parameter>
46849<parameter name="user_data">
46850<parameter_description> user data for the callback
46851</parameter_description>
46852</parameter>
46853</parameters>
46854<return></return>
46855</function>
46856
46857<function name="g_socket_client_connect_to_host_finish">
46858<description>
46859Finishes an async connect operation. See g_socket_client_connect_to_host_async()
46860
46861Since: 2.22
46862
46863</description>
46864<parameters>
46865<parameter name="client">
46866<parameter_description> a #GSocketClient.
46867</parameter_description>
46868</parameter>
46869<parameter name="result">
46870<parameter_description> a #GAsyncResult.
46871</parameter_description>
46872</parameter>
46873<parameter name="error">
46874<parameter_description> a #GError location to store the error occurring, or %NULL to
46875ignore.
46876</parameter_description>
46877</parameter>
46878</parameters>
46879<return> a #GSocketConnection on success, %NULL on error.
46880
46881</return>
46882</function>
46883
46884<function name="g_socket_client_connect_to_service">
46885<description>
46886Attempts to create a TCP connection to a service.
46887
46888This call looks up the SRV record for @service at @domain for the
46889&quot;tcp&quot; protocol.  It then attempts to connect, in turn, to each of
46890the hosts providing the service until either a connection succeeds
46891or there are no hosts remaining.
46892
46893Upon a successful connection, a new #GSocketConnection is constructed
46894and returned.  The caller owns this new object and must drop their
46895reference to it when finished with it.
46896
46897In the event of any failure (DNS error, service not found, no hosts
46898connectable) %NULL is returned and @error (if non-%NULL) is set
46899accordingly.
46900
46901
46902</description>
46903<parameters>
46904<parameter name="client">
46905<parameter_description> a #GSocketConnection
46906</parameter_description>
46907</parameter>
46908<parameter name="domain">
46909<parameter_description> a domain name
46910</parameter_description>
46911</parameter>
46912<parameter name="service">
46913<parameter_description> the name of the service to connect to
46914</parameter_description>
46915</parameter>
46916<parameter name="cancellable">
46917<parameter_description> a #GCancellable, or %NULL
46918</parameter_description>
46919</parameter>
46920<parameter name="error">
46921<parameter_description> a pointer to a #GError, or %NULL
46922</parameter_description>
46923</parameter>
46924</parameters>
46925<return> a #GSocketConnection if successful, or %NULL on error
46926</return>
46927</function>
46928
46929<function name="g_socket_client_connect_to_service_async">
46930<description>
46931This is the asynchronous version of
46932g_socket_client_connect_to_service().
46933
46934Since: 2.22
46935
46936</description>
46937<parameters>
46938<parameter name="client">
46939<parameter_description> a #GSocketClient
46940</parameter_description>
46941</parameter>
46942<parameter name="domain">
46943<parameter_description> a domain name
46944</parameter_description>
46945</parameter>
46946<parameter name="service">
46947<parameter_description> the name of the service to connect to
46948</parameter_description>
46949</parameter>
46950<parameter name="cancellable">
46951<parameter_description> a #GCancellable, or %NULL
46952</parameter_description>
46953</parameter>
46954<parameter name="callback">
46955<parameter_description> a #GAsyncReadyCallback
46956</parameter_description>
46957</parameter>
46958<parameter name="user_data">
46959<parameter_description> user data for the callback
46960</parameter_description>
46961</parameter>
46962</parameters>
46963<return></return>
46964</function>
46965
46966<function name="g_socket_client_connect_to_service_finish">
46967<description>
46968Finishes an async connect operation. See g_socket_client_connect_to_service_async()
46969
46970Since: 2.22
46971
46972</description>
46973<parameters>
46974<parameter name="client">
46975<parameter_description> a #GSocketClient.
46976</parameter_description>
46977</parameter>
46978<parameter name="result">
46979<parameter_description> a #GAsyncResult.
46980</parameter_description>
46981</parameter>
46982<parameter name="error">
46983<parameter_description> a #GError location to store the error occurring, or %NULL to
46984ignore.
46985</parameter_description>
46986</parameter>
46987</parameters>
46988<return> a #GSocketConnection on success, %NULL on error.
46989
46990</return>
46991</function>
46992
46993<function name="g_socket_client_connect_to_uri">
46994<description>
46995This is a helper function for g_socket_client_connect().
46996
46997Attempts to create a TCP connection with a network URI.
46998
46999@uri may be any valid URI containing an &quot;authority&quot; (hostname/port)
47000component. If a port is not specified in the URI, @default_port
47001will be used. TLS will be negotiated if #GSocketClient:tls is %TRUE.
47002(#GSocketClient does not know to automatically assume TLS for
47003certain URI schemes.)
47004
47005Using this rather than g_socket_client_connect() or
47006g_socket_client_connect_to_host() allows #GSocketClient to
47007determine when to use application-specific proxy protocols.
47008
47009Upon a successful connection, a new #GSocketConnection is constructed
47010and returned.  The caller owns this new object and must drop their
47011reference to it when finished with it.
47012
47013In the event of any failure (DNS error, service not found, no hosts
47014connectable) %NULL is returned and @error (if non-%NULL) is set
47015accordingly.
47016
47017Since: 2.26
47018
47019</description>
47020<parameters>
47021<parameter name="client">
47022<parameter_description> a #GSocketClient
47023</parameter_description>
47024</parameter>
47025<parameter name="uri">
47026<parameter_description> A network URI
47027</parameter_description>
47028</parameter>
47029<parameter name="default_port">
47030<parameter_description> the default port to connect to
47031</parameter_description>
47032</parameter>
47033<parameter name="cancellable">
47034<parameter_description> a #GCancellable, or %NULL
47035</parameter_description>
47036</parameter>
47037<parameter name="error">
47038<parameter_description> a pointer to a #GError, or %NULL
47039</parameter_description>
47040</parameter>
47041</parameters>
47042<return> a #GSocketConnection on success, %NULL on error.
47043
47044</return>
47045</function>
47046
47047<function name="g_socket_client_connect_to_uri_async">
47048<description>
47049This is the asynchronous version of g_socket_client_connect_to_uri().
47050
47051When the operation is finished @callback will be
47052called. You can then call g_socket_client_connect_to_uri_finish() to get
47053the result of the operation.
47054
47055Since: 2.26
47056
47057</description>
47058<parameters>
47059<parameter name="client">
47060<parameter_description> a #GSocketClient
47061</parameter_description>
47062</parameter>
47063<parameter name="uri">
47064<parameter_description> a network uri
47065</parameter_description>
47066</parameter>
47067<parameter name="default_port">
47068<parameter_description> the default port to connect to
47069</parameter_description>
47070</parameter>
47071<parameter name="cancellable">
47072<parameter_description> a #GCancellable, or %NULL
47073</parameter_description>
47074</parameter>
47075<parameter name="callback">
47076<parameter_description> a #GAsyncReadyCallback
47077</parameter_description>
47078</parameter>
47079<parameter name="user_data">
47080<parameter_description> user data for the callback
47081</parameter_description>
47082</parameter>
47083</parameters>
47084<return></return>
47085</function>
47086
47087<function name="g_socket_client_connect_to_uri_finish">
47088<description>
47089Finishes an async connect operation. See g_socket_client_connect_to_uri_async()
47090
47091Since: 2.26
47092
47093</description>
47094<parameters>
47095<parameter name="client">
47096<parameter_description> a #GSocketClient.
47097</parameter_description>
47098</parameter>
47099<parameter name="result">
47100<parameter_description> a #GAsyncResult.
47101</parameter_description>
47102</parameter>
47103<parameter name="error">
47104<parameter_description> a #GError location to store the error occurring, or %NULL to
47105ignore.
47106</parameter_description>
47107</parameter>
47108</parameters>
47109<return> a #GSocketConnection on success, %NULL on error.
47110
47111</return>
47112</function>
47113
47114<function name="g_socket_client_get_enable_proxy">
47115<description>
47116Gets the proxy enable state; see g_socket_client_set_enable_proxy()
47117
47118Since: 2.26
47119
47120</description>
47121<parameters>
47122<parameter name="client">
47123<parameter_description> a #GSocketClient.
47124</parameter_description>
47125</parameter>
47126</parameters>
47127<return> whether proxying is enabled
47128
47129</return>
47130</function>
47131
47132<function name="g_socket_client_get_family">
47133<description>
47134Gets the socket family of the socket client.
47135
47136See g_socket_client_set_family() for details.
47137
47138Since: 2.22
47139
47140</description>
47141<parameters>
47142<parameter name="client">
47143<parameter_description> a #GSocketClient.
47144</parameter_description>
47145</parameter>
47146</parameters>
47147<return> a #GSocketFamily
47148
47149</return>
47150</function>
47151
47152<function name="g_socket_client_get_local_address">
47153<description>
47154Gets the local address of the socket client.
47155
47156See g_socket_client_set_local_address() for details.
47157
47158Since: 2.22
47159
47160</description>
47161<parameters>
47162<parameter name="client">
47163<parameter_description> a #GSocketClient.
47164</parameter_description>
47165</parameter>
47166</parameters>
47167<return> a #GSocketAddress or %NULL. Do not free.
47168
47169</return>
47170</function>
47171
47172<function name="g_socket_client_get_protocol">
47173<description>
47174Gets the protocol name type of the socket client.
47175
47176See g_socket_client_set_protocol() for details.
47177
47178Since: 2.22
47179
47180</description>
47181<parameters>
47182<parameter name="client">
47183<parameter_description> a #GSocketClient
47184</parameter_description>
47185</parameter>
47186</parameters>
47187<return> a #GSocketProtocol
47188
47189</return>
47190</function>
47191
47192<function name="g_socket_client_get_proxy_resolver">
47193<description>
47194Gets the #GProxyResolver being used by @client. Normally, this will
47195be the resolver returned by g_proxy_resolver_get_default(), but you
47196can override it with g_socket_client_set_proxy_resolver().
47197
47198Since: 2.36
47199
47200</description>
47201<parameters>
47202<parameter name="client">
47203<parameter_description> a #GSocketClient.
47204</parameter_description>
47205</parameter>
47206</parameters>
47207<return> The #GProxyResolver being used by
47208@client.
47209
47210</return>
47211</function>
47212
47213<function name="g_socket_client_get_socket_type">
47214<description>
47215Gets the socket type of the socket client.
47216
47217See g_socket_client_set_socket_type() for details.
47218
47219Since: 2.22
47220
47221</description>
47222<parameters>
47223<parameter name="client">
47224<parameter_description> a #GSocketClient.
47225</parameter_description>
47226</parameter>
47227</parameters>
47228<return> a #GSocketFamily
47229
47230</return>
47231</function>
47232
47233<function name="g_socket_client_get_timeout">
47234<description>
47235Gets the I/O timeout time for sockets created by @client.
47236
47237See g_socket_client_set_timeout() for details.
47238
47239Since: 2.26
47240
47241</description>
47242<parameters>
47243<parameter name="client">
47244<parameter_description> a #GSocketClient
47245</parameter_description>
47246</parameter>
47247</parameters>
47248<return> the timeout in seconds
47249
47250</return>
47251</function>
47252
47253<function name="g_socket_client_get_tls">
47254<description>
47255Gets whether @client creates TLS connections. See
47256g_socket_client_set_tls() for details.
47257
47258Since: 2.28
47259
47260</description>
47261<parameters>
47262<parameter name="client">
47263<parameter_description> a #GSocketClient.
47264</parameter_description>
47265</parameter>
47266</parameters>
47267<return> whether @client uses TLS
47268
47269</return>
47270</function>
47271
47272<function name="g_socket_client_get_tls_validation_flags">
47273<description>
47274Gets the TLS validation flags used creating TLS connections via
47275@client.
47276
47277Since: 2.28
47278
47279</description>
47280<parameters>
47281<parameter name="client">
47282<parameter_description> a #GSocketClient.
47283</parameter_description>
47284</parameter>
47285</parameters>
47286<return> the TLS validation flags
47287
47288</return>
47289</function>
47290
47291<function name="g_socket_client_new">
47292<description>
47293Creates a new #GSocketClient with the default options.
47294
47295Since: 2.22
47296
47297</description>
47298<parameters>
47299</parameters>
47300<return> a #GSocketClient.
47301Free the returned object with g_object_unref().
47302
47303</return>
47304</function>
47305
47306<function name="g_socket_client_set_enable_proxy">
47307<description>
47308Sets whether or not @client attempts to make connections via a
47309proxy server. When enabled (the default), #GSocketClient will use a
47310#GProxyResolver to determine if a proxy protocol such as SOCKS is
47311needed, and automatically do the necessary proxy negotiation.
47312
47313See also g_socket_client_set_proxy_resolver().
47314
47315Since: 2.26
47316
47317</description>
47318<parameters>
47319<parameter name="client">
47320<parameter_description> a #GSocketClient.
47321</parameter_description>
47322</parameter>
47323<parameter name="enable">
47324<parameter_description> whether to enable proxies
47325</parameter_description>
47326</parameter>
47327</parameters>
47328<return></return>
47329</function>
47330
47331<function name="g_socket_client_set_family">
47332<description>
47333Sets the socket family of the socket client.
47334If this is set to something other than %G_SOCKET_FAMILY_INVALID
47335then the sockets created by this object will be of the specified
47336family.
47337
47338This might be useful for instance if you want to force the local
47339connection to be an ipv4 socket, even though the address might
47340be an ipv6 mapped to ipv4 address.
47341
47342Since: 2.22
47343
47344</description>
47345<parameters>
47346<parameter name="client">
47347<parameter_description> a #GSocketClient.
47348</parameter_description>
47349</parameter>
47350<parameter name="family">
47351<parameter_description> a #GSocketFamily
47352</parameter_description>
47353</parameter>
47354</parameters>
47355<return></return>
47356</function>
47357
47358<function name="g_socket_client_set_local_address">
47359<description>
47360Sets the local address of the socket client.
47361The sockets created by this object will bound to the
47362specified address (if not %NULL) before connecting.
47363
47364This is useful if you want to ensure that the local
47365side of the connection is on a specific port, or on
47366a specific interface.
47367
47368Since: 2.22
47369
47370</description>
47371<parameters>
47372<parameter name="client">
47373<parameter_description> a #GSocketClient.
47374</parameter_description>
47375</parameter>
47376<parameter name="address">
47377<parameter_description> a #GSocketAddress, or %NULL
47378</parameter_description>
47379</parameter>
47380</parameters>
47381<return></return>
47382</function>
47383
47384<function name="g_socket_client_set_protocol">
47385<description>
47386Sets the protocol of the socket client.
47387The sockets created by this object will use of the specified
47388protocol.
47389
47390If @protocol is %G_SOCKET_PROTOCOL_DEFAULT that means to use the default
47391protocol for the socket family and type.
47392
47393Since: 2.22
47394
47395</description>
47396<parameters>
47397<parameter name="client">
47398<parameter_description> a #GSocketClient.
47399</parameter_description>
47400</parameter>
47401<parameter name="protocol">
47402<parameter_description> a #GSocketProtocol
47403</parameter_description>
47404</parameter>
47405</parameters>
47406<return></return>
47407</function>
47408
47409<function name="g_socket_client_set_proxy_resolver">
47410<description>
47411Overrides the #GProxyResolver used by @client. You can call this if
47412you want to use specific proxies, rather than using the system
47413default proxy settings.
47414
47415Note that whether or not the proxy resolver is actually used
47416depends on the setting of #GSocketClient:enable-proxy, which is not
47417changed by this function (but which is %TRUE by default)
47418
47419Since: 2.36
47420
47421</description>
47422<parameters>
47423<parameter name="client">
47424<parameter_description> a #GSocketClient.
47425</parameter_description>
47426</parameter>
47427<parameter name="proxy_resolver">
47428<parameter_description> a #GProxyResolver, or %NULL for the
47429default.
47430</parameter_description>
47431</parameter>
47432</parameters>
47433<return></return>
47434</function>
47435
47436<function name="g_socket_client_set_socket_type">
47437<description>
47438Sets the socket type of the socket client.
47439The sockets created by this object will be of the specified
47440type.
47441
47442It doesn't make sense to specify a type of %G_SOCKET_TYPE_DATAGRAM,
47443as GSocketClient is used for connection oriented services.
47444
47445Since: 2.22
47446
47447</description>
47448<parameters>
47449<parameter name="client">
47450<parameter_description> a #GSocketClient.
47451</parameter_description>
47452</parameter>
47453<parameter name="type">
47454<parameter_description> a #GSocketType
47455</parameter_description>
47456</parameter>
47457</parameters>
47458<return></return>
47459</function>
47460
47461<function name="g_socket_client_set_timeout">
47462<description>
47463Sets the I/O timeout for sockets created by @client. @timeout is a
47464time in seconds, or 0 for no timeout (the default).
47465
47466The timeout value affects the initial connection attempt as well,
47467so setting this may cause calls to g_socket_client_connect(), etc,
47468to fail with %G_IO_ERROR_TIMED_OUT.
47469
47470Since: 2.26
47471
47472</description>
47473<parameters>
47474<parameter name="client">
47475<parameter_description> a #GSocketClient.
47476</parameter_description>
47477</parameter>
47478<parameter name="timeout">
47479<parameter_description> the timeout
47480</parameter_description>
47481</parameter>
47482</parameters>
47483<return></return>
47484</function>
47485
47486<function name="g_socket_client_set_tls">
47487<description>
47488Sets whether @client creates TLS (aka SSL) connections. If @tls is
47489%TRUE, @client will wrap its connections in a #GTlsClientConnection
47490and perform a TLS handshake when connecting.
47491
47492Note that since #GSocketClient must return a #GSocketConnection,
47493but #GTlsClientConnection is not a #GSocketConnection, this
47494actually wraps the resulting #GTlsClientConnection in a
47495#GTcpWrapperConnection when returning it. You can use
47496g_tcp_wrapper_connection_get_base_io_stream() on the return value
47497to extract the #GTlsClientConnection.
47498
47499If you need to modify the behavior of the TLS handshake (eg, by
47500setting a client-side certificate to use, or connecting to the
47501#GTlsConnection::accept-certificate signal), you can connect to
47502@client's #GSocketClient::event signal and wait for it to be
47503emitted with %G_SOCKET_CLIENT_TLS_HANDSHAKING, which will give you
47504a chance to see the #GTlsClientConnection before the handshake
47505starts.
47506
47507Since: 2.28
47508
47509</description>
47510<parameters>
47511<parameter name="client">
47512<parameter_description> a #GSocketClient.
47513</parameter_description>
47514</parameter>
47515<parameter name="tls">
47516<parameter_description> whether to use TLS
47517</parameter_description>
47518</parameter>
47519</parameters>
47520<return></return>
47521</function>
47522
47523<function name="g_socket_client_set_tls_validation_flags">
47524<description>
47525Sets the TLS validation flags used when creating TLS connections
47526via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL.
47527
47528Since: 2.28
47529
47530</description>
47531<parameters>
47532<parameter name="client">
47533<parameter_description> a #GSocketClient.
47534</parameter_description>
47535</parameter>
47536<parameter name="flags">
47537<parameter_description> the validation flags
47538</parameter_description>
47539</parameter>
47540</parameters>
47541<return></return>
47542</function>
47543
47544<function name="g_socket_close">
47545<description>
47546Closes the socket, shutting down any active connection.
47547
47548Closing a socket does not wait for all outstanding I/O operations
47549to finish, so the caller should not rely on them to be guaranteed
47550to complete even if the close returns with no error.
47551
47552Once the socket is closed, all other operations will return
47553%G_IO_ERROR_CLOSED. Closing a socket multiple times will not
47554return an error.
47555
47556Sockets will be automatically closed when the last reference
47557is dropped, but you might want to call this function to make sure
47558resources are released as early as possible.
47559
47560Beware that due to the way that TCP works, it is possible for
47561recently-sent data to be lost if either you close a socket while the
47562%G_IO_IN condition is set, or else if the remote connection tries to
47563send something to you after you close the socket but before it has
47564finished reading all of the data you sent. There is no easy generic
47565way to avoid this problem; the easiest fix is to design the network
47566protocol such that the client will never send data &quot;out of turn&quot;.
47567Another solution is for the server to half-close the connection by
47568calling g_socket_shutdown() with only the @shutdown_write flag set,
47569and then wait for the client to notice this and close its side of the
47570connection, after which the server can safely call g_socket_close().
47571(This is what #GTcpConnection does if you call
47572g_tcp_connection_set_graceful_disconnect(). But of course, this
47573only works if the client will close its connection after the server
47574does.)
47575
47576Since: 2.22
47577
47578</description>
47579<parameters>
47580<parameter name="socket">
47581<parameter_description> a #GSocket
47582</parameter_description>
47583</parameter>
47584<parameter name="error">
47585<parameter_description> #GError for error reporting, or %NULL to ignore.
47586</parameter_description>
47587</parameter>
47588</parameters>
47589<return> %TRUE on success, %FALSE on error
47590
47591</return>
47592</function>
47593
47594<function name="g_socket_condition_check">
47595<description>
47596Checks on the readiness of @socket to perform operations.
47597The operations specified in @condition are checked for and masked
47598against the currently-satisfied conditions on @socket. The result
47599is returned.
47600
47601Note that on Windows, it is possible for an operation to return
47602%G_IO_ERROR_WOULD_BLOCK even immediately after
47603g_socket_condition_check() has claimed that the socket is ready for
47604writing. Rather than calling g_socket_condition_check() and then
47605writing to the socket if it succeeds, it is generally better to
47606simply try writing to the socket right away, and try again later if
47607the initial attempt returns %G_IO_ERROR_WOULD_BLOCK.
47608
47609It is meaningless to specify %G_IO_ERR or %G_IO_HUP in condition;
47610these conditions will always be set in the output if they are true.
47611
47612This call never blocks.
47613
47614Since: 2.22
47615
47616</description>
47617<parameters>
47618<parameter name="socket">
47619<parameter_description> a #GSocket
47620</parameter_description>
47621</parameter>
47622<parameter name="condition">
47623<parameter_description> a #GIOCondition mask to check
47624</parameter_description>
47625</parameter>
47626</parameters>
47627<return> the @GIOCondition mask of the current state
47628
47629</return>
47630</function>
47631
47632<function name="g_socket_condition_timed_wait">
47633<description>
47634Waits for up to @timeout_us microseconds for @condition to become true
47635on @socket. If the condition is met, %TRUE is returned.
47636
47637If @cancellable is cancelled before the condition is met, or if
47638@timeout_us (or the socket's #GSocket:timeout) is reached before the
47639condition is met, then %FALSE is returned and @error, if non-%NULL,
47640is set to the appropriate value (%G_IO_ERROR_CANCELLED or
47641%G_IO_ERROR_TIMED_OUT).
47642
47643If you don't want a timeout, use g_socket_condition_wait().
47644(Alternatively, you can pass -1 for @timeout_us.)
47645
47646Note that although @timeout_us is in microseconds for consistency with
47647other GLib APIs, this function actually only has millisecond
47648resolution, and the behavior is undefined if @timeout_us is not an
47649exact number of milliseconds.
47650
47651Since: 2.32
47652
47653</description>
47654<parameters>
47655<parameter name="socket">
47656<parameter_description> a #GSocket
47657</parameter_description>
47658</parameter>
47659<parameter name="condition">
47660<parameter_description> a #GIOCondition mask to wait for
47661</parameter_description>
47662</parameter>
47663<parameter name="timeout_us">
47664<parameter_description> the maximum time (in microseconds) to wait, or -1
47665</parameter_description>
47666</parameter>
47667<parameter name="cancellable">
47668<parameter_description> a #GCancellable, or %NULL
47669</parameter_description>
47670</parameter>
47671<parameter name="error">
47672<parameter_description> a #GError pointer, or %NULL
47673</parameter_description>
47674</parameter>
47675</parameters>
47676<return> %TRUE if the condition was met, %FALSE otherwise
47677
47678</return>
47679</function>
47680
47681<function name="g_socket_condition_wait">
47682<description>
47683Waits for @condition to become true on @socket. When the condition
47684is met, %TRUE is returned.
47685
47686If @cancellable is cancelled before the condition is met, or if the
47687socket has a timeout set and it is reached before the condition is
47688met, then %FALSE is returned and @error, if non-%NULL, is set to
47689the appropriate value (%G_IO_ERROR_CANCELLED or
47690%G_IO_ERROR_TIMED_OUT).
47691
47692See also g_socket_condition_timed_wait().
47693
47694Since: 2.22
47695
47696</description>
47697<parameters>
47698<parameter name="socket">
47699<parameter_description> a #GSocket
47700</parameter_description>
47701</parameter>
47702<parameter name="condition">
47703<parameter_description> a #GIOCondition mask to wait for
47704</parameter_description>
47705</parameter>
47706<parameter name="cancellable">
47707<parameter_description> a #GCancellable, or %NULL
47708</parameter_description>
47709</parameter>
47710<parameter name="error">
47711<parameter_description> a #GError pointer, or %NULL
47712</parameter_description>
47713</parameter>
47714</parameters>
47715<return> %TRUE if the condition was met, %FALSE otherwise
47716
47717</return>
47718</function>
47719
47720<function name="g_socket_connect">
47721<description>
47722Connect the socket to the specified remote address.
47723
47724For connection oriented socket this generally means we attempt to make
47725a connection to the @address. For a connection-less socket it sets
47726the default address for g_socket_send() and discards all incoming datagrams
47727from other sources.
47728
47729Generally connection oriented sockets can only connect once, but
47730connection-less sockets can connect multiple times to change the
47731default address.
47732
47733If the connect call needs to do network I/O it will block, unless
47734non-blocking I/O is enabled. Then %G_IO_ERROR_PENDING is returned
47735and the user can be notified of the connection finishing by waiting
47736for the G_IO_OUT condition. The result of the connection must then be
47737checked with g_socket_check_connect_result().
47738
47739Since: 2.22
47740
47741</description>
47742<parameters>
47743<parameter name="socket">
47744<parameter_description> a #GSocket.
47745</parameter_description>
47746</parameter>
47747<parameter name="address">
47748<parameter_description> a #GSocketAddress specifying the remote address.
47749</parameter_description>
47750</parameter>
47751<parameter name="cancellable">
47752<parameter_description> a %GCancellable or %NULL
47753</parameter_description>
47754</parameter>
47755<parameter name="error">
47756<parameter_description> #GError for error reporting, or %NULL to ignore.
47757</parameter_description>
47758</parameter>
47759</parameters>
47760<return> %TRUE if connected, %FALSE on error.
47761
47762</return>
47763</function>
47764
47765<function name="g_socket_connectable_enumerate">
47766<description>
47767Creates a #GSocketAddressEnumerator for @connectable.
47768
47769Since: 2.22
47770
47771</description>
47772<parameters>
47773<parameter name="connectable">
47774<parameter_description> a #GSocketConnectable
47775</parameter_description>
47776</parameter>
47777</parameters>
47778<return> a new #GSocketAddressEnumerator.
47779
47780</return>
47781</function>
47782
47783<function name="g_socket_connectable_proxy_enumerate">
47784<description>
47785Creates a #GSocketAddressEnumerator for @connectable that will
47786return a #GProxyAddress for each of its addresses that you must connect
47787to via a proxy.
47788
47789If @connectable does not implement
47790g_socket_connectable_proxy_enumerate(), this will fall back to
47791calling g_socket_connectable_enumerate().
47792
47793Since: 2.26
47794
47795</description>
47796<parameters>
47797<parameter name="connectable">
47798<parameter_description> a #GSocketConnectable
47799</parameter_description>
47800</parameter>
47801</parameters>
47802<return> a new #GSocketAddressEnumerator.
47803
47804</return>
47805</function>
47806
47807<function name="g_socket_connectable_to_string">
47808<description>
47809Format a #GSocketConnectable as a string. This is a human-readable format for
47810use in debugging output, and is not a stable serialization format. It is not
47811suitable for use in user interfaces as it exposes too much information for a
47812user.
47813
47814If the #GSocketConnectable implementation does not support string formatting,
47815the implementation’s type name will be returned as a fallback.
47816
47817Since: 2.48
47818
47819</description>
47820<parameters>
47821<parameter name="connectable">
47822<parameter_description> a #GSocketConnectable
47823</parameter_description>
47824</parameter>
47825</parameters>
47826<return> the formatted string
47827
47828</return>
47829</function>
47830
47831<function name="g_socket_connection_connect">
47832<description>
47833Connect @connection to the specified remote address.
47834
47835Since: 2.32
47836
47837</description>
47838<parameters>
47839<parameter name="connection">
47840<parameter_description> a #GSocketConnection
47841</parameter_description>
47842</parameter>
47843<parameter name="address">
47844<parameter_description> a #GSocketAddress specifying the remote address.
47845</parameter_description>
47846</parameter>
47847<parameter name="cancellable">
47848<parameter_description> a %GCancellable or %NULL
47849</parameter_description>
47850</parameter>
47851<parameter name="error">
47852<parameter_description> #GError for error reporting, or %NULL to ignore.
47853</parameter_description>
47854</parameter>
47855</parameters>
47856<return> %TRUE if the connection succeeded, %FALSE on error
47857
47858</return>
47859</function>
47860
47861<function name="g_socket_connection_connect_async">
47862<description>
47863Asynchronously connect @connection to the specified remote address.
47864
47865This clears the #GSocket:blocking flag on @connection's underlying
47866socket if it is currently set.
47867
47868Use g_socket_connection_connect_finish() to retrieve the result.
47869
47870Since: 2.32
47871
47872</description>
47873<parameters>
47874<parameter name="connection">
47875<parameter_description> a #GSocketConnection
47876</parameter_description>
47877</parameter>
47878<parameter name="address">
47879<parameter_description> a #GSocketAddress specifying the remote address.
47880</parameter_description>
47881</parameter>
47882<parameter name="cancellable">
47883<parameter_description> a %GCancellable or %NULL
47884</parameter_description>
47885</parameter>
47886<parameter name="callback">
47887<parameter_description> a #GAsyncReadyCallback
47888</parameter_description>
47889</parameter>
47890<parameter name="user_data">
47891<parameter_description> user data for the callback
47892</parameter_description>
47893</parameter>
47894</parameters>
47895<return></return>
47896</function>
47897
47898<function name="g_socket_connection_connect_finish">
47899<description>
47900Gets the result of a g_socket_connection_connect_async() call.
47901
47902Since: 2.32
47903
47904</description>
47905<parameters>
47906<parameter name="connection">
47907<parameter_description> a #GSocketConnection
47908</parameter_description>
47909</parameter>
47910<parameter name="result">
47911<parameter_description> the #GAsyncResult
47912</parameter_description>
47913</parameter>
47914<parameter name="error">
47915<parameter_description> #GError for error reporting, or %NULL to ignore.
47916</parameter_description>
47917</parameter>
47918</parameters>
47919<return> %TRUE if the connection succeeded, %FALSE on error
47920
47921</return>
47922</function>
47923
47924<function name="g_socket_connection_factory_create_connection">
47925<description>
47926Creates a #GSocketConnection subclass of the right type for
47927@socket.
47928
47929Since: 2.22
47930
47931</description>
47932<parameters>
47933<parameter name="socket">
47934<parameter_description> a #GSocket
47935</parameter_description>
47936</parameter>
47937</parameters>
47938<return> a #GSocketConnection
47939
47940</return>
47941</function>
47942
47943<function name="g_socket_connection_factory_lookup_type">
47944<description>
47945Looks up the #GType to be used when creating socket connections on
47946sockets with the specified @family, @type and @protocol_id.
47947
47948If no type is registered, the #GSocketConnection base type is returned.
47949
47950Since: 2.22
47951
47952</description>
47953<parameters>
47954<parameter name="family">
47955<parameter_description> a #GSocketFamily
47956</parameter_description>
47957</parameter>
47958<parameter name="type">
47959<parameter_description> a #GSocketType
47960</parameter_description>
47961</parameter>
47962<parameter name="protocol_id">
47963<parameter_description> a protocol id
47964</parameter_description>
47965</parameter>
47966</parameters>
47967<return> a #GType
47968
47969</return>
47970</function>
47971
47972<function name="g_socket_connection_factory_register_type">
47973<description>
47974Looks up the #GType to be used when creating socket connections on
47975sockets with the specified @family, @type and @protocol.
47976
47977If no type is registered, the #GSocketConnection base type is returned.
47978
47979Since: 2.22
47980
47981</description>
47982<parameters>
47983<parameter name="g_type">
47984<parameter_description> a #GType, inheriting from %G_TYPE_SOCKET_CONNECTION
47985</parameter_description>
47986</parameter>
47987<parameter name="family">
47988<parameter_description> a #GSocketFamily
47989</parameter_description>
47990</parameter>
47991<parameter name="type">
47992<parameter_description> a #GSocketType
47993</parameter_description>
47994</parameter>
47995<parameter name="protocol">
47996<parameter_description> a protocol id
47997</parameter_description>
47998</parameter>
47999</parameters>
48000<return></return>
48001</function>
48002
48003<function name="g_socket_connection_get_local_address">
48004<description>
48005Try to get the local address of a socket connection.
48006
48007Since: 2.22
48008
48009</description>
48010<parameters>
48011<parameter name="connection">
48012<parameter_description> a #GSocketConnection
48013</parameter_description>
48014</parameter>
48015<parameter name="error">
48016<parameter_description> #GError for error reporting, or %NULL to ignore.
48017</parameter_description>
48018</parameter>
48019</parameters>
48020<return> a #GSocketAddress or %NULL on error.
48021Free the returned object with g_object_unref().
48022
48023</return>
48024</function>
48025
48026<function name="g_socket_connection_get_remote_address">
48027<description>
48028Try to get the remote address of a socket connection.
48029
48030Since GLib 2.40, when used with g_socket_client_connect() or
48031g_socket_client_connect_async(), during emission of
48032%G_SOCKET_CLIENT_CONNECTING, this function will return the remote
48033address that will be used for the connection.  This allows
48034applications to print e.g. &quot;Connecting to example.com
48035(10.42.77.3)...&quot;.
48036
48037Since: 2.22
48038
48039</description>
48040<parameters>
48041<parameter name="connection">
48042<parameter_description> a #GSocketConnection
48043</parameter_description>
48044</parameter>
48045<parameter name="error">
48046<parameter_description> #GError for error reporting, or %NULL to ignore.
48047</parameter_description>
48048</parameter>
48049</parameters>
48050<return> a #GSocketAddress or %NULL on error.
48051Free the returned object with g_object_unref().
48052
48053</return>
48054</function>
48055
48056<function name="g_socket_connection_get_socket">
48057<description>
48058Gets the underlying #GSocket object of the connection.
48059This can be useful if you want to do something unusual on it
48060not supported by the #GSocketConnection APIs.
48061
48062Since: 2.22
48063
48064</description>
48065<parameters>
48066<parameter name="connection">
48067<parameter_description> a #GSocketConnection
48068</parameter_description>
48069</parameter>
48070</parameters>
48071<return> a #GSocket or %NULL on error.
48072
48073</return>
48074</function>
48075
48076<function name="g_socket_connection_is_connected">
48077<description>
48078Checks if @connection is connected. This is equivalent to calling
48079g_socket_is_connected() on @connection's underlying #GSocket.
48080
48081Since: 2.32
48082
48083</description>
48084<parameters>
48085<parameter name="connection">
48086<parameter_description> a #GSocketConnection
48087</parameter_description>
48088</parameter>
48089</parameters>
48090<return> whether @connection is connected
48091
48092</return>
48093</function>
48094
48095<function name="g_socket_control_message_deserialize">
48096<description>
48097Tries to deserialize a socket control message of a given
48098@level and @type. This will ask all known (to GType) subclasses
48099of #GSocketControlMessage if they can understand this kind
48100of message and if so deserialize it into a #GSocketControlMessage.
48101
48102If there is no implementation for this kind of control message, %NULL
48103will be returned.
48104
48105Since: 2.22
48106
48107</description>
48108<parameters>
48109<parameter name="level">
48110<parameter_description> a socket level
48111</parameter_description>
48112</parameter>
48113<parameter name="type">
48114<parameter_description> a socket control message type for the given @level
48115</parameter_description>
48116</parameter>
48117<parameter name="size">
48118<parameter_description> the size of the data in bytes
48119</parameter_description>
48120</parameter>
48121<parameter name="data">
48122<parameter_description> pointer to the message data
48123</parameter_description>
48124</parameter>
48125</parameters>
48126<return> the deserialized message or %NULL
48127
48128</return>
48129</function>
48130
48131<function name="g_socket_control_message_get_level">
48132<description>
48133Returns the &quot;level&quot; (i.e. the originating protocol) of the control message.
48134This is often SOL_SOCKET.
48135
48136Since: 2.22
48137
48138</description>
48139<parameters>
48140<parameter name="message">
48141<parameter_description> a #GSocketControlMessage
48142</parameter_description>
48143</parameter>
48144</parameters>
48145<return> an integer describing the level
48146
48147</return>
48148</function>
48149
48150<function name="g_socket_control_message_get_msg_type">
48151<description>
48152Returns the protocol specific type of the control message.
48153For instance, for UNIX fd passing this would be SCM_RIGHTS.
48154
48155Since: 2.22
48156
48157</description>
48158<parameters>
48159<parameter name="message">
48160<parameter_description> a #GSocketControlMessage
48161</parameter_description>
48162</parameter>
48163</parameters>
48164<return> an integer describing the type of control message
48165
48166</return>
48167</function>
48168
48169<function name="g_socket_control_message_get_size">
48170<description>
48171Returns the space required for the control message, not including
48172headers or alignment.
48173
48174Since: 2.22
48175
48176</description>
48177<parameters>
48178<parameter name="message">
48179<parameter_description> a #GSocketControlMessage
48180</parameter_description>
48181</parameter>
48182</parameters>
48183<return> The number of bytes required.
48184
48185</return>
48186</function>
48187
48188<function name="g_socket_control_message_serialize">
48189<description>
48190Converts the data in the message to bytes placed in the
48191message.
48192
48193@data is guaranteed to have enough space to fit the size
48194returned by g_socket_control_message_get_size() on this
48195object.
48196
48197Since: 2.22
48198
48199</description>
48200<parameters>
48201<parameter name="message">
48202<parameter_description> a #GSocketControlMessage
48203</parameter_description>
48204</parameter>
48205<parameter name="data">
48206<parameter_description> A buffer to write data to
48207</parameter_description>
48208</parameter>
48209</parameters>
48210<return></return>
48211</function>
48212
48213<function name="g_socket_create_source">
48214<description>
48215Creates a #GSource that can be attached to a %GMainContext to monitor
48216for the availability of the specified @condition on the socket. The #GSource
48217keeps a reference to the @socket.
48218
48219The callback on the source is of the #GSocketSourceFunc type.
48220
48221It is meaningless to specify %G_IO_ERR or %G_IO_HUP in @condition;
48222these conditions will always be reported output if they are true.
48223
48224@cancellable if not %NULL can be used to cancel the source, which will
48225cause the source to trigger, reporting the current condition (which
48226is likely 0 unless cancellation happened at the same time as a
48227condition change). You can check for this in the callback using
48228g_cancellable_is_cancelled().
48229
48230If @socket has a timeout set, and it is reached before @condition
48231occurs, the source will then trigger anyway, reporting %G_IO_IN or
48232%G_IO_OUT depending on @condition. However, @socket will have been
48233marked as having had a timeout, and so the next #GSocket I/O method
48234you call will then fail with a %G_IO_ERROR_TIMED_OUT.
48235
48236Since: 2.22
48237
48238</description>
48239<parameters>
48240<parameter name="socket">
48241<parameter_description> a #GSocket
48242</parameter_description>
48243</parameter>
48244<parameter name="condition">
48245<parameter_description> a #GIOCondition mask to monitor
48246</parameter_description>
48247</parameter>
48248<parameter name="cancellable">
48249<parameter_description> a %GCancellable or %NULL
48250</parameter_description>
48251</parameter>
48252</parameters>
48253<return> a newly allocated %GSource, free with g_source_unref().
48254
48255</return>
48256</function>
48257
48258<function name="g_socket_get_available_bytes">
48259<description>
48260Get the amount of data pending in the OS input buffer, without blocking.
48261
48262If @socket is a UDP or SCTP socket, this will return the size of
48263just the next packet, even if additional packets are buffered after
48264that one.
48265
48266Note that on Windows, this function is rather inefficient in the
48267UDP case, and so if you know any plausible upper bound on the size
48268of the incoming packet, it is better to just do a
48269g_socket_receive() with a buffer of that size, rather than calling
48270g_socket_get_available_bytes() first and then doing a receive of
48271exactly the right size.
48272
48273Since: 2.32
48274
48275</description>
48276<parameters>
48277<parameter name="socket">
48278<parameter_description> a #GSocket
48279</parameter_description>
48280</parameter>
48281</parameters>
48282<return> the number of bytes that can be read from the socket
48283without blocking or truncating, or -1 on error.
48284
48285</return>
48286</function>
48287
48288<function name="g_socket_get_blocking">
48289<description>
48290Gets the blocking mode of the socket. For details on blocking I/O,
48291see g_socket_set_blocking().
48292
48293Since: 2.22
48294
48295</description>
48296<parameters>
48297<parameter name="socket">
48298<parameter_description> a #GSocket.
48299</parameter_description>
48300</parameter>
48301</parameters>
48302<return> %TRUE if blocking I/O is used, %FALSE otherwise.
48303
48304</return>
48305</function>
48306
48307<function name="g_socket_get_broadcast">
48308<description>
48309Gets the broadcast setting on @socket; if %TRUE,
48310it is possible to send packets to broadcast
48311addresses.
48312
48313Since: 2.32
48314
48315</description>
48316<parameters>
48317<parameter name="socket">
48318<parameter_description> a #GSocket.
48319</parameter_description>
48320</parameter>
48321</parameters>
48322<return> the broadcast setting on @socket
48323
48324</return>
48325</function>
48326
48327<function name="g_socket_get_credentials">
48328<description>
48329Returns the credentials of the foreign process connected to this
48330socket, if any (e.g. it is only supported for %G_SOCKET_FAMILY_UNIX
48331sockets).
48332
48333If this operation isn't supported on the OS, the method fails with
48334the %G_IO_ERROR_NOT_SUPPORTED error. On Linux this is implemented
48335by reading the %SO_PEERCRED option on the underlying socket.
48336
48337This method can be expected to be available on the following platforms:
48338
48339- Linux since GLib 2.26
48340- OpenBSD since GLib 2.30
48341- Solaris, Illumos and OpenSolaris since GLib 2.40
48342- NetBSD since GLib 2.42
48343
48344Other ways to obtain credentials from a foreign peer includes the
48345#GUnixCredentialsMessage type and
48346g_unix_connection_send_credentials() /
48347g_unix_connection_receive_credentials() functions.
48348
48349Since: 2.26
48350
48351</description>
48352<parameters>
48353<parameter name="socket">
48354<parameter_description> a #GSocket.
48355</parameter_description>
48356</parameter>
48357<parameter name="error">
48358<parameter_description> #GError for error reporting, or %NULL to ignore.
48359</parameter_description>
48360</parameter>
48361</parameters>
48362<return> %NULL if @error is set, otherwise a #GCredentials object
48363that must be freed with g_object_unref().
48364
48365</return>
48366</function>
48367
48368<function name="g_socket_get_family">
48369<description>
48370Gets the socket family of the socket.
48371
48372Since: 2.22
48373
48374</description>
48375<parameters>
48376<parameter name="socket">
48377<parameter_description> a #GSocket.
48378</parameter_description>
48379</parameter>
48380</parameters>
48381<return> a #GSocketFamily
48382
48383</return>
48384</function>
48385
48386<function name="g_socket_get_fd">
48387<description>
48388Returns the underlying OS socket object. On unix this
48389is a socket file descriptor, and on Windows this is
48390a Winsock2 SOCKET handle. This may be useful for
48391doing platform specific or otherwise unusual operations
48392on the socket.
48393
48394Since: 2.22
48395
48396</description>
48397<parameters>
48398<parameter name="socket">
48399<parameter_description> a #GSocket.
48400</parameter_description>
48401</parameter>
48402</parameters>
48403<return> the file descriptor of the socket.
48404
48405</return>
48406</function>
48407
48408<function name="g_socket_get_keepalive">
48409<description>
48410Gets the keepalive mode of the socket. For details on this,
48411see g_socket_set_keepalive().
48412
48413Since: 2.22
48414
48415</description>
48416<parameters>
48417<parameter name="socket">
48418<parameter_description> a #GSocket.
48419</parameter_description>
48420</parameter>
48421</parameters>
48422<return> %TRUE if keepalive is active, %FALSE otherwise.
48423
48424</return>
48425</function>
48426
48427<function name="g_socket_get_listen_backlog">
48428<description>
48429Gets the listen backlog setting of the socket. For details on this,
48430see g_socket_set_listen_backlog().
48431
48432Since: 2.22
48433
48434</description>
48435<parameters>
48436<parameter name="socket">
48437<parameter_description> a #GSocket.
48438</parameter_description>
48439</parameter>
48440</parameters>
48441<return> the maximum number of pending connections.
48442
48443</return>
48444</function>
48445
48446<function name="g_socket_get_local_address">
48447<description>
48448Try to get the local address of a bound socket. This is only
48449useful if the socket has been bound to a local address,
48450either explicitly or implicitly when connecting.
48451
48452Since: 2.22
48453
48454</description>
48455<parameters>
48456<parameter name="socket">
48457<parameter_description> a #GSocket.
48458</parameter_description>
48459</parameter>
48460<parameter name="error">
48461<parameter_description> #GError for error reporting, or %NULL to ignore.
48462</parameter_description>
48463</parameter>
48464</parameters>
48465<return> a #GSocketAddress or %NULL on error.
48466Free the returned object with g_object_unref().
48467
48468</return>
48469</function>
48470
48471<function name="g_socket_get_multicast_loopback">
48472<description>
48473Gets the multicast loopback setting on @socket; if %TRUE (the
48474default), outgoing multicast packets will be looped back to
48475multicast listeners on the same host.
48476
48477Since: 2.32
48478
48479</description>
48480<parameters>
48481<parameter name="socket">
48482<parameter_description> a #GSocket.
48483</parameter_description>
48484</parameter>
48485</parameters>
48486<return> the multicast loopback setting on @socket
48487
48488</return>
48489</function>
48490
48491<function name="g_socket_get_multicast_ttl">
48492<description>
48493Gets the multicast time-to-live setting on @socket; see
48494g_socket_set_multicast_ttl() for more details.
48495
48496Since: 2.32
48497
48498</description>
48499<parameters>
48500<parameter name="socket">
48501<parameter_description> a #GSocket.
48502</parameter_description>
48503</parameter>
48504</parameters>
48505<return> the multicast time-to-live setting on @socket
48506
48507</return>
48508</function>
48509
48510<function name="g_socket_get_option">
48511<description>
48512Gets the value of an integer-valued option on @socket, as with
48513getsockopt(). (If you need to fetch a  non-integer-valued option,
48514you will need to call getsockopt() directly.)
48515
48516The [&lt;gio/gnetworking.h&gt;][gio-gnetworking.h]
48517header pulls in system headers that will define most of the
48518standard/portable socket options. For unusual socket protocols or
48519platform-dependent options, you may need to include additional
48520headers.
48521
48522Note that even for socket options that are a single byte in size,
48523@value is still a pointer to a #gint variable, not a #guchar;
48524g_socket_get_option() will handle the conversion internally.
48525
48526Since: 2.36
48527
48528</description>
48529<parameters>
48530<parameter name="socket">
48531<parameter_description> a #GSocket
48532</parameter_description>
48533</parameter>
48534<parameter name="level">
48535<parameter_description> the &quot;API level&quot; of the option (eg, `SOL_SOCKET`)
48536</parameter_description>
48537</parameter>
48538<parameter name="optname">
48539<parameter_description> the &quot;name&quot; of the option (eg, `SO_BROADCAST`)
48540</parameter_description>
48541</parameter>
48542<parameter name="value">
48543<parameter_description> return location for the option value
48544</parameter_description>
48545</parameter>
48546<parameter name="error">
48547<parameter_description> #GError for error reporting, or %NULL to ignore.
48548</parameter_description>
48549</parameter>
48550</parameters>
48551<return> success or failure. On failure, @error will be set, and
48552the system error value (`errno` or WSAGetLastError()) will still
48553be set to the result of the getsockopt() call.
48554
48555</return>
48556</function>
48557
48558<function name="g_socket_get_protocol">
48559<description>
48560Gets the socket protocol id the socket was created with.
48561In case the protocol is unknown, -1 is returned.
48562
48563Since: 2.22
48564
48565</description>
48566<parameters>
48567<parameter name="socket">
48568<parameter_description> a #GSocket.
48569</parameter_description>
48570</parameter>
48571</parameters>
48572<return> a protocol id, or -1 if unknown
48573
48574</return>
48575</function>
48576
48577<function name="g_socket_get_remote_address">
48578<description>
48579Try to get the remote address of a connected socket. This is only
48580useful for connection oriented sockets that have been connected.
48581
48582Since: 2.22
48583
48584</description>
48585<parameters>
48586<parameter name="socket">
48587<parameter_description> a #GSocket.
48588</parameter_description>
48589</parameter>
48590<parameter name="error">
48591<parameter_description> #GError for error reporting, or %NULL to ignore.
48592</parameter_description>
48593</parameter>
48594</parameters>
48595<return> a #GSocketAddress or %NULL on error.
48596Free the returned object with g_object_unref().
48597
48598</return>
48599</function>
48600
48601<function name="g_socket_get_socket_type">
48602<description>
48603Gets the socket type of the socket.
48604
48605Since: 2.22
48606
48607</description>
48608<parameters>
48609<parameter name="socket">
48610<parameter_description> a #GSocket.
48611</parameter_description>
48612</parameter>
48613</parameters>
48614<return> a #GSocketType
48615
48616</return>
48617</function>
48618
48619<function name="g_socket_get_timeout">
48620<description>
48621Gets the timeout setting of the socket. For details on this, see
48622g_socket_set_timeout().
48623
48624Since: 2.26
48625
48626</description>
48627<parameters>
48628<parameter name="socket">
48629<parameter_description> a #GSocket.
48630</parameter_description>
48631</parameter>
48632</parameters>
48633<return> the timeout in seconds
48634
48635</return>
48636</function>
48637
48638<function name="g_socket_get_ttl">
48639<description>
48640Gets the unicast time-to-live setting on @socket; see
48641g_socket_set_ttl() for more details.
48642
48643Since: 2.32
48644
48645</description>
48646<parameters>
48647<parameter name="socket">
48648<parameter_description> a #GSocket.
48649</parameter_description>
48650</parameter>
48651</parameters>
48652<return> the time-to-live setting on @socket
48653
48654</return>
48655</function>
48656
48657<function name="g_socket_is_closed">
48658<description>
48659Checks whether a socket is closed.
48660
48661Since: 2.22
48662
48663</description>
48664<parameters>
48665<parameter name="socket">
48666<parameter_description> a #GSocket
48667</parameter_description>
48668</parameter>
48669</parameters>
48670<return> %TRUE if socket is closed, %FALSE otherwise
48671
48672</return>
48673</function>
48674
48675<function name="g_socket_is_connected">
48676<description>
48677Check whether the socket is connected. This is only useful for
48678connection-oriented sockets.
48679
48680If using g_socket_shutdown(), this function will return %TRUE until the
48681socket has been shut down for reading and writing. If you do a non-blocking
48682connect, this function will not return %TRUE until after you call
48683g_socket_check_connect_result().
48684
48685Since: 2.22
48686
48687</description>
48688<parameters>
48689<parameter name="socket">
48690<parameter_description> a #GSocket.
48691</parameter_description>
48692</parameter>
48693</parameters>
48694<return> %TRUE if socket is connected, %FALSE otherwise.
48695
48696</return>
48697</function>
48698
48699<function name="g_socket_join_multicast_group">
48700<description>
48701Registers @socket to receive multicast messages sent to @group.
48702@socket must be a %G_SOCKET_TYPE_DATAGRAM socket, and must have
48703been bound to an appropriate interface and port with
48704g_socket_bind().
48705
48706If @iface is %NULL, the system will automatically pick an interface
48707to bind to based on @group.
48708
48709If @source_specific is %TRUE, source-specific multicast as defined
48710in RFC 4604 is used. Note that on older platforms this may fail
48711with a %G_IO_ERROR_NOT_SUPPORTED error.
48712
48713To bind to a given source-specific multicast address, use
48714g_socket_join_multicast_group_ssm() instead.
48715
48716Since: 2.32
48717
48718</description>
48719<parameters>
48720<parameter name="socket">
48721<parameter_description> a #GSocket.
48722</parameter_description>
48723</parameter>
48724<parameter name="group">
48725<parameter_description> a #GInetAddress specifying the group address to join.
48726</parameter_description>
48727</parameter>
48728<parameter name="iface">
48729<parameter_description> Name of the interface to use, or %NULL
48730</parameter_description>
48731</parameter>
48732<parameter name="source_specific">
48733<parameter_description> %TRUE if source-specific multicast should be used
48734</parameter_description>
48735</parameter>
48736<parameter name="error">
48737<parameter_description> #GError for error reporting, or %NULL to ignore.
48738</parameter_description>
48739</parameter>
48740</parameters>
48741<return> %TRUE on success, %FALSE on error.
48742
48743</return>
48744</function>
48745
48746<function name="g_socket_join_multicast_group_ssm">
48747<description>
48748Registers @socket to receive multicast messages sent to @group.
48749@socket must be a %G_SOCKET_TYPE_DATAGRAM socket, and must have
48750been bound to an appropriate interface and port with
48751g_socket_bind().
48752
48753If @iface is %NULL, the system will automatically pick an interface
48754to bind to based on @group.
48755
48756If @source_specific is not %NULL, use source-specific multicast as
48757defined in RFC 4604. Note that on older platforms this may fail
48758with a %G_IO_ERROR_NOT_SUPPORTED error.
48759
48760Note that this function can be called multiple times for the same
48761@group with different @source_specific in order to receive multicast
48762packets from more than one source.
48763
48764Since: 2.56
48765
48766</description>
48767<parameters>
48768<parameter name="socket">
48769<parameter_description> a #GSocket.
48770</parameter_description>
48771</parameter>
48772<parameter name="group">
48773<parameter_description> a #GInetAddress specifying the group address to join.
48774</parameter_description>
48775</parameter>
48776<parameter name="source_specific">
48777<parameter_description> a #GInetAddress specifying the
48778source-specific multicast address or %NULL to ignore.
48779</parameter_description>
48780</parameter>
48781<parameter name="iface">
48782<parameter_description> Name of the interface to use, or %NULL
48783</parameter_description>
48784</parameter>
48785<parameter name="error">
48786<parameter_description> #GError for error reporting, or %NULL to ignore.
48787</parameter_description>
48788</parameter>
48789</parameters>
48790<return> %TRUE on success, %FALSE on error.
48791
48792</return>
48793</function>
48794
48795<function name="g_socket_leave_multicast_group">
48796<description>
48797Removes @socket from the multicast group defined by @group, @iface,
48798and @source_specific (which must all have the same values they had
48799when you joined the group).
48800
48801@socket remains bound to its address and port, and can still receive
48802unicast messages after calling this.
48803
48804To unbind to a given source-specific multicast address, use
48805g_socket_leave_multicast_group_ssm() instead.
48806
48807Since: 2.32
48808
48809</description>
48810<parameters>
48811<parameter name="socket">
48812<parameter_description> a #GSocket.
48813</parameter_description>
48814</parameter>
48815<parameter name="group">
48816<parameter_description> a #GInetAddress specifying the group address to leave.
48817</parameter_description>
48818</parameter>
48819<parameter name="iface">
48820<parameter_description> Interface used
48821</parameter_description>
48822</parameter>
48823<parameter name="source_specific">
48824<parameter_description> %TRUE if source-specific multicast was used
48825</parameter_description>
48826</parameter>
48827<parameter name="error">
48828<parameter_description> #GError for error reporting, or %NULL to ignore.
48829</parameter_description>
48830</parameter>
48831</parameters>
48832<return> %TRUE on success, %FALSE on error.
48833
48834</return>
48835</function>
48836
48837<function name="g_socket_leave_multicast_group_ssm">
48838<description>
48839Removes @socket from the multicast group defined by @group, @iface,
48840and @source_specific (which must all have the same values they had
48841when you joined the group).
48842
48843@socket remains bound to its address and port, and can still receive
48844unicast messages after calling this.
48845
48846Since: 2.56
48847
48848</description>
48849<parameters>
48850<parameter name="socket">
48851<parameter_description> a #GSocket.
48852</parameter_description>
48853</parameter>
48854<parameter name="group">
48855<parameter_description> a #GInetAddress specifying the group address to leave.
48856</parameter_description>
48857</parameter>
48858<parameter name="source_specific">
48859<parameter_description> a #GInetAddress specifying the
48860source-specific multicast address or %NULL to ignore.
48861</parameter_description>
48862</parameter>
48863<parameter name="iface">
48864<parameter_description> Name of the interface to use, or %NULL
48865</parameter_description>
48866</parameter>
48867<parameter name="error">
48868<parameter_description> #GError for error reporting, or %NULL to ignore.
48869</parameter_description>
48870</parameter>
48871</parameters>
48872<return> %TRUE on success, %FALSE on error.
48873
48874</return>
48875</function>
48876
48877<function name="g_socket_listen">
48878<description>
48879Marks the socket as a server socket, i.e. a socket that is used
48880to accept incoming requests using g_socket_accept().
48881
48882Before calling this the socket must be bound to a local address using
48883g_socket_bind().
48884
48885To set the maximum amount of outstanding clients, use
48886g_socket_set_listen_backlog().
48887
48888Since: 2.22
48889
48890</description>
48891<parameters>
48892<parameter name="socket">
48893<parameter_description> a #GSocket.
48894</parameter_description>
48895</parameter>
48896<parameter name="error">
48897<parameter_description> #GError for error reporting, or %NULL to ignore.
48898</parameter_description>
48899</parameter>
48900</parameters>
48901<return> %TRUE on success, %FALSE on error.
48902
48903</return>
48904</function>
48905
48906<function name="g_socket_listener_accept">
48907<description>
48908Blocks waiting for a client to connect to any of the sockets added
48909to the listener. Returns a #GSocketConnection for the socket that was
48910accepted.
48911
48912If @source_object is not %NULL it will be filled out with the source
48913object specified when the corresponding socket or address was added
48914to the listener.
48915
48916If @cancellable is not %NULL, then the operation can be cancelled by
48917triggering the cancellable object from another thread. If the operation
48918was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
48919
48920Since: 2.22
48921
48922</description>
48923<parameters>
48924<parameter name="listener">
48925<parameter_description> a #GSocketListener
48926</parameter_description>
48927</parameter>
48928<parameter name="source_object">
48929<parameter_description> location where #GObject pointer will be stored, or %NULL
48930</parameter_description>
48931</parameter>
48932<parameter name="cancellable">
48933<parameter_description> optional #GCancellable object, %NULL to ignore.
48934</parameter_description>
48935</parameter>
48936<parameter name="error">
48937<parameter_description> #GError for error reporting, or %NULL to ignore.
48938</parameter_description>
48939</parameter>
48940</parameters>
48941<return> a #GSocketConnection on success, %NULL on error.
48942
48943</return>
48944</function>
48945
48946<function name="g_socket_listener_accept_async">
48947<description>
48948This is the asynchronous version of g_socket_listener_accept().
48949
48950When the operation is finished @callback will be
48951called. You can then call g_socket_listener_accept_socket()
48952to get the result of the operation.
48953
48954Since: 2.22
48955
48956</description>
48957<parameters>
48958<parameter name="listener">
48959<parameter_description> a #GSocketListener
48960</parameter_description>
48961</parameter>
48962<parameter name="cancellable">
48963<parameter_description> a #GCancellable, or %NULL
48964</parameter_description>
48965</parameter>
48966<parameter name="callback">
48967<parameter_description> a #GAsyncReadyCallback
48968</parameter_description>
48969</parameter>
48970<parameter name="user_data">
48971<parameter_description> user data for the callback
48972</parameter_description>
48973</parameter>
48974</parameters>
48975<return></return>
48976</function>
48977
48978<function name="g_socket_listener_accept_finish">
48979<description>
48980Finishes an async accept operation. See g_socket_listener_accept_async()
48981
48982Since: 2.22
48983
48984</description>
48985<parameters>
48986<parameter name="listener">
48987<parameter_description> a #GSocketListener
48988</parameter_description>
48989</parameter>
48990<parameter name="result">
48991<parameter_description> a #GAsyncResult.
48992</parameter_description>
48993</parameter>
48994<parameter name="source_object">
48995<parameter_description> Optional #GObject identifying this source
48996</parameter_description>
48997</parameter>
48998<parameter name="error">
48999<parameter_description> a #GError location to store the error occurring, or %NULL to
49000ignore.
49001</parameter_description>
49002</parameter>
49003</parameters>
49004<return> a #GSocketConnection on success, %NULL on error.
49005
49006</return>
49007</function>
49008
49009<function name="g_socket_listener_accept_socket">
49010<description>
49011Blocks waiting for a client to connect to any of the sockets added
49012to the listener. Returns the #GSocket that was accepted.
49013
49014If you want to accept the high-level #GSocketConnection, not a #GSocket,
49015which is often the case, then you should use g_socket_listener_accept()
49016instead.
49017
49018If @source_object is not %NULL it will be filled out with the source
49019object specified when the corresponding socket or address was added
49020to the listener.
49021
49022If @cancellable is not %NULL, then the operation can be cancelled by
49023triggering the cancellable object from another thread. If the operation
49024was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
49025
49026Since: 2.22
49027
49028</description>
49029<parameters>
49030<parameter name="listener">
49031<parameter_description> a #GSocketListener
49032</parameter_description>
49033</parameter>
49034<parameter name="source_object">
49035<parameter_description> location where #GObject pointer will be stored, or %NULL.
49036</parameter_description>
49037</parameter>
49038<parameter name="cancellable">
49039<parameter_description> optional #GCancellable object, %NULL to ignore.
49040</parameter_description>
49041</parameter>
49042<parameter name="error">
49043<parameter_description> #GError for error reporting, or %NULL to ignore.
49044</parameter_description>
49045</parameter>
49046</parameters>
49047<return> a #GSocket on success, %NULL on error.
49048
49049</return>
49050</function>
49051
49052<function name="g_socket_listener_accept_socket_async">
49053<description>
49054This is the asynchronous version of g_socket_listener_accept_socket().
49055
49056When the operation is finished @callback will be
49057called. You can then call g_socket_listener_accept_socket_finish()
49058to get the result of the operation.
49059
49060Since: 2.22
49061
49062</description>
49063<parameters>
49064<parameter name="listener">
49065<parameter_description> a #GSocketListener
49066</parameter_description>
49067</parameter>
49068<parameter name="cancellable">
49069<parameter_description> a #GCancellable, or %NULL
49070</parameter_description>
49071</parameter>
49072<parameter name="callback">
49073<parameter_description> a #GAsyncReadyCallback
49074</parameter_description>
49075</parameter>
49076<parameter name="user_data">
49077<parameter_description> user data for the callback
49078</parameter_description>
49079</parameter>
49080</parameters>
49081<return></return>
49082</function>
49083
49084<function name="g_socket_listener_accept_socket_finish">
49085<description>
49086Finishes an async accept operation. See g_socket_listener_accept_socket_async()
49087
49088Since: 2.22
49089
49090</description>
49091<parameters>
49092<parameter name="listener">
49093<parameter_description> a #GSocketListener
49094</parameter_description>
49095</parameter>
49096<parameter name="result">
49097<parameter_description> a #GAsyncResult.
49098</parameter_description>
49099</parameter>
49100<parameter name="source_object">
49101<parameter_description> Optional #GObject identifying this source
49102</parameter_description>
49103</parameter>
49104<parameter name="error">
49105<parameter_description> a #GError location to store the error occurring, or %NULL to
49106ignore.
49107</parameter_description>
49108</parameter>
49109</parameters>
49110<return> a #GSocket on success, %NULL on error.
49111
49112</return>
49113</function>
49114
49115<function name="g_socket_listener_add_address">
49116<description>
49117Creates a socket of type @type and protocol @protocol, binds
49118it to @address and adds it to the set of sockets we're accepting
49119sockets from.
49120
49121Note that adding an IPv6 address, depending on the platform,
49122may or may not result in a listener that also accepts IPv4
49123connections.  For more deterministic behavior, see
49124g_socket_listener_add_inet_port().
49125
49126@source_object will be passed out in the various calls
49127to accept to identify this particular source, which is
49128useful if you're listening on multiple addresses and do
49129different things depending on what address is connected to.
49130
49131If successful and @effective_address is non-%NULL then it will
49132be set to the address that the binding actually occurred at.  This
49133is helpful for determining the port number that was used for when
49134requesting a binding to port 0 (ie: &quot;any port&quot;).  This address, if
49135requested, belongs to the caller and must be freed.
49136
49137Call g_socket_listener_close() to stop listening on @address; this will not
49138be done automatically when you drop your final reference to @listener, as
49139references may be held internally.
49140
49141Since: 2.22
49142
49143</description>
49144<parameters>
49145<parameter name="listener">
49146<parameter_description> a #GSocketListener
49147</parameter_description>
49148</parameter>
49149<parameter name="address">
49150<parameter_description> a #GSocketAddress
49151</parameter_description>
49152</parameter>
49153<parameter name="type">
49154<parameter_description> a #GSocketType
49155</parameter_description>
49156</parameter>
49157<parameter name="protocol">
49158<parameter_description> a #GSocketProtocol
49159</parameter_description>
49160</parameter>
49161<parameter name="source_object">
49162<parameter_description> Optional #GObject identifying this source
49163</parameter_description>
49164</parameter>
49165<parameter name="effective_address">
49166<parameter_description> location to store the address that was bound to, or %NULL.
49167</parameter_description>
49168</parameter>
49169<parameter name="error">
49170<parameter_description> #GError for error reporting, or %NULL to ignore.
49171</parameter_description>
49172</parameter>
49173</parameters>
49174<return> %TRUE on success, %FALSE on error.
49175
49176</return>
49177</function>
49178
49179<function name="g_socket_listener_add_any_inet_port">
49180<description>
49181Listens for TCP connections on any available port number for both
49182IPv6 and IPv4 (if each is available).
49183
49184This is useful if you need to have a socket for incoming connections
49185but don't care about the specific port number.
49186
49187@source_object will be passed out in the various calls
49188to accept to identify this particular source, which is
49189useful if you're listening on multiple addresses and do
49190different things depending on what address is connected to.
49191
49192Since: 2.24
49193
49194</description>
49195<parameters>
49196<parameter name="listener">
49197<parameter_description> a #GSocketListener
49198</parameter_description>
49199</parameter>
49200<parameter name="source_object">
49201<parameter_description> Optional #GObject identifying this source
49202</parameter_description>
49203</parameter>
49204<parameter name="error">
49205<parameter_description> a #GError location to store the error occurring, or %NULL to
49206ignore.
49207</parameter_description>
49208</parameter>
49209</parameters>
49210<return> the port number, or 0 in case of failure.
49211
49212</return>
49213</function>
49214
49215<function name="g_socket_listener_add_inet_port">
49216<description>
49217Helper function for g_socket_listener_add_address() that
49218creates a TCP/IP socket listening on IPv4 and IPv6 (if
49219supported) on the specified port on all interfaces.
49220
49221@source_object will be passed out in the various calls
49222to accept to identify this particular source, which is
49223useful if you're listening on multiple addresses and do
49224different things depending on what address is connected to.
49225
49226Call g_socket_listener_close() to stop listening on @port; this will not
49227be done automatically when you drop your final reference to @listener, as
49228references may be held internally.
49229
49230Since: 2.22
49231
49232</description>
49233<parameters>
49234<parameter name="listener">
49235<parameter_description> a #GSocketListener
49236</parameter_description>
49237</parameter>
49238<parameter name="port">
49239<parameter_description> an IP port number (non-zero)
49240</parameter_description>
49241</parameter>
49242<parameter name="source_object">
49243<parameter_description> Optional #GObject identifying this source
49244</parameter_description>
49245</parameter>
49246<parameter name="error">
49247<parameter_description> #GError for error reporting, or %NULL to ignore.
49248</parameter_description>
49249</parameter>
49250</parameters>
49251<return> %TRUE on success, %FALSE on error.
49252
49253</return>
49254</function>
49255
49256<function name="g_socket_listener_add_socket">
49257<description>
49258Adds @socket to the set of sockets that we try to accept
49259new clients from. The socket must be bound to a local
49260address and listened to.
49261
49262@source_object will be passed out in the various calls
49263to accept to identify this particular source, which is
49264useful if you're listening on multiple addresses and do
49265different things depending on what address is connected to.
49266
49267The @socket will not be automatically closed when the @listener is finalized
49268unless the listener held the final reference to the socket. Before GLib 2.42,
49269the @socket was automatically closed on finalization of the @listener, even
49270if references to it were held elsewhere.
49271
49272Since: 2.22
49273
49274</description>
49275<parameters>
49276<parameter name="listener">
49277<parameter_description> a #GSocketListener
49278</parameter_description>
49279</parameter>
49280<parameter name="socket">
49281<parameter_description> a listening #GSocket
49282</parameter_description>
49283</parameter>
49284<parameter name="source_object">
49285<parameter_description> Optional #GObject identifying this source
49286</parameter_description>
49287</parameter>
49288<parameter name="error">
49289<parameter_description> #GError for error reporting, or %NULL to ignore.
49290</parameter_description>
49291</parameter>
49292</parameters>
49293<return> %TRUE on success, %FALSE on error.
49294
49295</return>
49296</function>
49297
49298<function name="g_socket_listener_close">
49299<description>
49300Closes all the sockets in the listener.
49301
49302Since: 2.22
49303
49304</description>
49305<parameters>
49306<parameter name="listener">
49307<parameter_description> a #GSocketListener
49308</parameter_description>
49309</parameter>
49310</parameters>
49311<return></return>
49312</function>
49313
49314<function name="g_socket_listener_new">
49315<description>
49316Creates a new #GSocketListener with no sockets to listen for.
49317New listeners can be added with e.g. g_socket_listener_add_address()
49318or g_socket_listener_add_inet_port().
49319
49320Since: 2.22
49321
49322</description>
49323<parameters>
49324</parameters>
49325<return> a new #GSocketListener.
49326
49327</return>
49328</function>
49329
49330<function name="g_socket_listener_set_backlog">
49331<description>
49332Sets the listen backlog on the sockets in the listener. This must be called
49333before adding any sockets, addresses or ports to the #GSocketListener (for
49334example, by calling g_socket_listener_add_inet_port()) to be effective.
49335
49336See g_socket_set_listen_backlog() for details
49337
49338Since: 2.22
49339
49340</description>
49341<parameters>
49342<parameter name="listener">
49343<parameter_description> a #GSocketListener
49344</parameter_description>
49345</parameter>
49346<parameter name="listen_backlog">
49347<parameter_description> an integer
49348</parameter_description>
49349</parameter>
49350</parameters>
49351<return></return>
49352</function>
49353
49354<function name="g_socket_new">
49355<description>
49356Creates a new #GSocket with the defined family, type and protocol.
49357If @protocol is 0 (%G_SOCKET_PROTOCOL_DEFAULT) the default protocol type
49358for the family and type is used.
49359
49360The @protocol is a family and type specific int that specifies what
49361kind of protocol to use. #GSocketProtocol lists several common ones.
49362Many families only support one protocol, and use 0 for this, others
49363support several and using 0 means to use the default protocol for
49364the family and type.
49365
49366The protocol id is passed directly to the operating
49367system, so you can use protocols not listed in #GSocketProtocol if you
49368know the protocol number used for it.
49369
49370Since: 2.22
49371
49372</description>
49373<parameters>
49374<parameter name="family">
49375<parameter_description> the socket family to use, e.g. %G_SOCKET_FAMILY_IPV4.
49376</parameter_description>
49377</parameter>
49378<parameter name="type">
49379<parameter_description> the socket type to use.
49380</parameter_description>
49381</parameter>
49382<parameter name="protocol">
49383<parameter_description> the id of the protocol to use, or 0 for default.
49384</parameter_description>
49385</parameter>
49386<parameter name="error">
49387<parameter_description> #GError for error reporting, or %NULL to ignore.
49388</parameter_description>
49389</parameter>
49390</parameters>
49391<return> a #GSocket or %NULL on error.
49392Free the returned object with g_object_unref().
49393
49394</return>
49395</function>
49396
49397<function name="g_socket_new_from_fd">
49398<description>
49399Creates a new #GSocket from a native file descriptor
49400or winsock SOCKET handle.
49401
49402This reads all the settings from the file descriptor so that
49403all properties should work. Note that the file descriptor
49404will be set to non-blocking mode, independent on the blocking
49405mode of the #GSocket.
49406
49407On success, the returned #GSocket takes ownership of @fd. On failure, the
49408caller must close @fd themselves.
49409
49410Since GLib 2.46, it is no longer a fatal error to call this on a non-socket
49411descriptor.  Instead, a GError will be set with code %G_IO_ERROR_FAILED
49412
49413Since: 2.22
49414
49415</description>
49416<parameters>
49417<parameter name="fd">
49418<parameter_description> a native socket file descriptor.
49419</parameter_description>
49420</parameter>
49421<parameter name="error">
49422<parameter_description> #GError for error reporting, or %NULL to ignore.
49423</parameter_description>
49424</parameter>
49425</parameters>
49426<return> a #GSocket or %NULL on error.
49427Free the returned object with g_object_unref().
49428
49429</return>
49430</function>
49431
49432<function name="g_socket_receive">
49433<description>
49434Receive data (up to @size bytes) from a socket. This is mainly used by
49435connection-oriented sockets; it is identical to g_socket_receive_from()
49436with @address set to %NULL.
49437
49438For %G_SOCKET_TYPE_DATAGRAM and %G_SOCKET_TYPE_SEQPACKET sockets,
49439g_socket_receive() will always read either 0 or 1 complete messages from
49440the socket. If the received message is too large to fit in @buffer, then
49441the data beyond @size bytes will be discarded, without any explicit
49442indication that this has occurred.
49443
49444For %G_SOCKET_TYPE_STREAM sockets, g_socket_receive() can return any
49445number of bytes, up to @size. If more than @size bytes have been
49446received, the additional data will be returned in future calls to
49447g_socket_receive().
49448
49449If the socket is in blocking mode the call will block until there
49450is some data to receive, the connection is closed, or there is an
49451error. If there is no data available and the socket is in
49452non-blocking mode, a %G_IO_ERROR_WOULD_BLOCK error will be
49453returned. To be notified when data is available, wait for the
49454%G_IO_IN condition.
49455
49456On error -1 is returned and @error is set accordingly.
49457
49458Since: 2.22
49459
49460</description>
49461<parameters>
49462<parameter name="socket">
49463<parameter_description> a #GSocket
49464</parameter_description>
49465</parameter>
49466<parameter name="buffer">
49467<parameter_description> a buffer to
49468read data into (which should be at least @size bytes long).
49469</parameter_description>
49470</parameter>
49471<parameter name="size">
49472<parameter_description> the number of bytes you want to read from the socket
49473</parameter_description>
49474</parameter>
49475<parameter name="cancellable">
49476<parameter_description> a %GCancellable or %NULL
49477</parameter_description>
49478</parameter>
49479<parameter name="error">
49480<parameter_description> #GError for error reporting, or %NULL to ignore.
49481</parameter_description>
49482</parameter>
49483</parameters>
49484<return> Number of bytes read, or 0 if the connection was closed by
49485the peer, or -1 on error
49486
49487</return>
49488</function>
49489
49490<function name="g_socket_receive_from">
49491<description>
49492Receive data (up to @size bytes) from a socket.
49493
49494If @address is non-%NULL then @address will be set equal to the
49495source address of the received packet.
49496@address is owned by the caller.
49497
49498See g_socket_receive() for additional information.
49499
49500Since: 2.22
49501
49502</description>
49503<parameters>
49504<parameter name="socket">
49505<parameter_description> a #GSocket
49506</parameter_description>
49507</parameter>
49508<parameter name="address">
49509<parameter_description> a pointer to a #GSocketAddress
49510pointer, or %NULL
49511</parameter_description>
49512</parameter>
49513<parameter name="buffer">
49514<parameter_description> a buffer to
49515read data into (which should be at least @size bytes long).
49516</parameter_description>
49517</parameter>
49518<parameter name="size">
49519<parameter_description> the number of bytes you want to read from the socket
49520</parameter_description>
49521</parameter>
49522<parameter name="cancellable">
49523<parameter_description> a %GCancellable or %NULL
49524</parameter_description>
49525</parameter>
49526<parameter name="error">
49527<parameter_description> #GError for error reporting, or %NULL to ignore.
49528</parameter_description>
49529</parameter>
49530</parameters>
49531<return> Number of bytes read, or 0 if the connection was closed by
49532the peer, or -1 on error
49533
49534</return>
49535</function>
49536
49537<function name="g_socket_receive_message">
49538<description>
49539Receive data from a socket.  For receiving multiple messages, see
49540g_socket_receive_messages(); for easier use, see
49541g_socket_receive() and g_socket_receive_from().
49542
49543If @address is non-%NULL then @address will be set equal to the
49544source address of the received packet.
49545@address is owned by the caller.
49546
49547@vector must point to an array of #GInputVector structs and
49548@num_vectors must be the length of this array.  These structs
49549describe the buffers that received data will be scattered into.
49550If @num_vectors is -1, then @vectors is assumed to be terminated
49551by a #GInputVector with a %NULL buffer pointer.
49552
49553As a special case, if @num_vectors is 0 (in which case, @vectors
49554may of course be %NULL), then a single byte is received and
49555discarded. This is to facilitate the common practice of sending a
49556single '\0' byte for the purposes of transferring ancillary data.
49557
49558@messages, if non-%NULL, will be set to point to a newly-allocated
49559array of #GSocketControlMessage instances or %NULL if no such
49560messages was received. These correspond to the control messages
49561received from the kernel, one #GSocketControlMessage per message
49562from the kernel. This array is %NULL-terminated and must be freed
49563by the caller using g_free() after calling g_object_unref() on each
49564element. If @messages is %NULL, any control messages received will
49565be discarded.
49566
49567@num_messages, if non-%NULL, will be set to the number of control
49568messages received.
49569
49570If both @messages and @num_messages are non-%NULL, then
49571@num_messages gives the number of #GSocketControlMessage instances
49572in @messages (ie: not including the %NULL terminator).
49573
49574@flags is an in/out parameter. The commonly available arguments
49575for this are available in the #GSocketMsgFlags enum, but the
49576values there are the same as the system values, and the flags
49577are passed in as-is, so you can pass in system-specific flags too
49578(and g_socket_receive_message() may pass system-specific flags out).
49579Flags passed in to the parameter affect the receive operation; flags returned
49580out of it are relevant to the specific returned message.
49581
49582As with g_socket_receive(), data may be discarded if @socket is
49583%G_SOCKET_TYPE_DATAGRAM or %G_SOCKET_TYPE_SEQPACKET and you do not
49584provide enough buffer space to read a complete message. You can pass
49585%G_SOCKET_MSG_PEEK in @flags to peek at the current message without
49586removing it from the receive queue, but there is no portable way to find
49587out the length of the message other than by reading it into a
49588sufficiently-large buffer.
49589
49590If the socket is in blocking mode the call will block until there
49591is some data to receive, the connection is closed, or there is an
49592error. If there is no data available and the socket is in
49593non-blocking mode, a %G_IO_ERROR_WOULD_BLOCK error will be
49594returned. To be notified when data is available, wait for the
49595%G_IO_IN condition.
49596
49597On error -1 is returned and @error is set accordingly.
49598
49599Since: 2.22
49600
49601</description>
49602<parameters>
49603<parameter name="socket">
49604<parameter_description> a #GSocket
49605</parameter_description>
49606</parameter>
49607<parameter name="address">
49608<parameter_description> a pointer to a #GSocketAddress
49609pointer, or %NULL
49610</parameter_description>
49611</parameter>
49612<parameter name="vectors">
49613<parameter_description> an array of #GInputVector structs
49614</parameter_description>
49615</parameter>
49616<parameter name="num_vectors">
49617<parameter_description> the number of elements in @vectors, or -1
49618</parameter_description>
49619</parameter>
49620<parameter name="messages">
49621<parameter_description> a pointer
49622which may be filled with an array of #GSocketControlMessages, or %NULL
49623</parameter_description>
49624</parameter>
49625<parameter name="num_messages">
49626<parameter_description> a pointer which will be filled with the number of
49627elements in @messages, or %NULL
49628</parameter_description>
49629</parameter>
49630<parameter name="flags">
49631<parameter_description> a pointer to an int containing #GSocketMsgFlags flags,
49632which may additionally contain
49633[other platform specific flags](http://man7.org/linux/man-pages/man2/recv.2.html)
49634</parameter_description>
49635</parameter>
49636<parameter name="cancellable">
49637<parameter_description> a %GCancellable or %NULL
49638</parameter_description>
49639</parameter>
49640<parameter name="error">
49641<parameter_description> a #GError pointer, or %NULL
49642</parameter_description>
49643</parameter>
49644</parameters>
49645<return> Number of bytes read, or 0 if the connection was closed by
49646the peer, or -1 on error
49647
49648</return>
49649</function>
49650
49651<function name="g_socket_receive_messages">
49652<description>
49653Receive multiple data messages from @socket in one go.  This is the most
49654complicated and fully-featured version of this call. For easier use, see
49655g_socket_receive(), g_socket_receive_from(), and g_socket_receive_message().
49656
49657@messages must point to an array of #GInputMessage structs and
49658@num_messages must be the length of this array. Each #GInputMessage
49659contains a pointer to an array of #GInputVector structs describing the
49660buffers that the data received in each message will be written to. Using
49661multiple #GInputVectors is more memory-efficient than manually copying data
49662out of a single buffer to multiple sources, and more system-call-efficient
49663than making multiple calls to g_socket_receive(), such as in scenarios where
49664a lot of data packets need to be received (e.g. high-bandwidth video
49665streaming over RTP/UDP).
49666
49667@flags modify how all messages are received. The commonly available
49668arguments for this are available in the #GSocketMsgFlags enum, but the
49669values there are the same as the system values, and the flags
49670are passed in as-is, so you can pass in system-specific flags too. These
49671flags affect the overall receive operation. Flags affecting individual
49672messages are returned in #GInputMessage.flags.
49673
49674The other members of #GInputMessage are treated as described in its
49675documentation.
49676
49677If #GSocket:blocking is %TRUE the call will block until @num_messages have
49678been received, or the end of the stream is reached.
49679
49680If #GSocket:blocking is %FALSE the call will return up to @num_messages
49681without blocking, or %G_IO_ERROR_WOULD_BLOCK if no messages are queued in the
49682operating system to be received.
49683
49684In blocking mode, if #GSocket:timeout is positive and is reached before any
49685messages are received, %G_IO_ERROR_TIMED_OUT is returned, otherwise up to
49686@num_messages are returned. (Note: This is effectively the
49687behaviour of `MSG_WAITFORONE` with recvmmsg().)
49688
49689To be notified when messages are available, wait for the
49690%G_IO_IN condition. Note though that you may still receive
49691%G_IO_ERROR_WOULD_BLOCK from g_socket_receive_messages() even if you were
49692previously notified of a %G_IO_IN condition.
49693
49694If the remote peer closes the connection, any messages queued in the
49695operating system will be returned, and subsequent calls to
49696g_socket_receive_messages() will return 0 (with no error set).
49697
49698On error -1 is returned and @error is set accordingly. An error will only
49699be returned if zero messages could be received; otherwise the number of
49700messages successfully received before the error will be returned.
49701
49702Since: 2.48
49703
49704</description>
49705<parameters>
49706<parameter name="socket">
49707<parameter_description> a #GSocket
49708</parameter_description>
49709</parameter>
49710<parameter name="messages">
49711<parameter_description> an array of #GInputMessage structs
49712</parameter_description>
49713</parameter>
49714<parameter name="num_messages">
49715<parameter_description> the number of elements in @messages
49716</parameter_description>
49717</parameter>
49718<parameter name="flags">
49719<parameter_description> an int containing #GSocketMsgFlags flags for the overall operation,
49720which may additionally contain
49721[other platform specific flags](http://man7.org/linux/man-pages/man2/recv.2.html)
49722</parameter_description>
49723</parameter>
49724<parameter name="cancellable">
49725<parameter_description> a %GCancellable or %NULL
49726</parameter_description>
49727</parameter>
49728<parameter name="error">
49729<parameter_description> #GError for error reporting, or %NULL to ignore
49730</parameter_description>
49731</parameter>
49732</parameters>
49733<return> number of messages received, or -1 on error. Note that the number
49734of messages received may be smaller than @num_messages if in non-blocking
49735mode, if the peer closed the connection, or if @num_messages
49736was larger than `UIO_MAXIOV` (1024), in which case the caller may re-try
49737to receive the remaining messages.
49738
49739</return>
49740</function>
49741
49742<function name="g_socket_receive_with_blocking">
49743<description>
49744This behaves exactly the same as g_socket_receive(), except that
49745the choice of blocking or non-blocking behavior is determined by
49746the @blocking argument rather than by @socket's properties.
49747
49748Since: 2.26
49749
49750</description>
49751<parameters>
49752<parameter name="socket">
49753<parameter_description> a #GSocket
49754</parameter_description>
49755</parameter>
49756<parameter name="buffer">
49757<parameter_description> a buffer to
49758read data into (which should be at least @size bytes long).
49759</parameter_description>
49760</parameter>
49761<parameter name="size">
49762<parameter_description> the number of bytes you want to read from the socket
49763</parameter_description>
49764</parameter>
49765<parameter name="blocking">
49766<parameter_description> whether to do blocking or non-blocking I/O
49767</parameter_description>
49768</parameter>
49769<parameter name="cancellable">
49770<parameter_description> a %GCancellable or %NULL
49771</parameter_description>
49772</parameter>
49773<parameter name="error">
49774<parameter_description> #GError for error reporting, or %NULL to ignore.
49775</parameter_description>
49776</parameter>
49777</parameters>
49778<return> Number of bytes read, or 0 if the connection was closed by
49779the peer, or -1 on error
49780
49781</return>
49782</function>
49783
49784<function name="g_socket_send">
49785<description>
49786Tries to send @size bytes from @buffer on the socket. This is
49787mainly used by connection-oriented sockets; it is identical to
49788g_socket_send_to() with @address set to %NULL.
49789
49790If the socket is in blocking mode the call will block until there is
49791space for the data in the socket queue. If there is no space available
49792and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error
49793will be returned. To be notified when space is available, wait for the
49794%G_IO_OUT condition. Note though that you may still receive
49795%G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously
49796notified of a %G_IO_OUT condition. (On Windows in particular, this is
49797very common due to the way the underlying APIs work.)
49798
49799On error -1 is returned and @error is set accordingly.
49800
49801Since: 2.22
49802
49803</description>
49804<parameters>
49805<parameter name="socket">
49806<parameter_description> a #GSocket
49807</parameter_description>
49808</parameter>
49809<parameter name="buffer">
49810<parameter_description> the buffer
49811containing the data to send.
49812</parameter_description>
49813</parameter>
49814<parameter name="size">
49815<parameter_description> the number of bytes to send
49816</parameter_description>
49817</parameter>
49818<parameter name="cancellable">
49819<parameter_description> a %GCancellable or %NULL
49820</parameter_description>
49821</parameter>
49822<parameter name="error">
49823<parameter_description> #GError for error reporting, or %NULL to ignore.
49824</parameter_description>
49825</parameter>
49826</parameters>
49827<return> Number of bytes written (which may be less than @size), or -1
49828on error
49829
49830</return>
49831</function>
49832
49833<function name="g_socket_send_message">
49834<description>
49835Send data to @address on @socket.  For sending multiple messages see
49836g_socket_send_messages(); for easier use, see
49837g_socket_send() and g_socket_send_to().
49838
49839If @address is %NULL then the message is sent to the default receiver
49840(set by g_socket_connect()).
49841
49842@vectors must point to an array of #GOutputVector structs and
49843@num_vectors must be the length of this array. (If @num_vectors is -1,
49844then @vectors is assumed to be terminated by a #GOutputVector with a
49845%NULL buffer pointer.) The #GOutputVector structs describe the buffers
49846that the sent data will be gathered from. Using multiple
49847#GOutputVectors is more memory-efficient than manually copying
49848data from multiple sources into a single buffer, and more
49849network-efficient than making multiple calls to g_socket_send().
49850
49851@messages, if non-%NULL, is taken to point to an array of @num_messages
49852#GSocketControlMessage instances. These correspond to the control
49853messages to be sent on the socket.
49854If @num_messages is -1 then @messages is treated as a %NULL-terminated
49855array.
49856
49857@flags modify how the message is sent. The commonly available arguments
49858for this are available in the #GSocketMsgFlags enum, but the
49859values there are the same as the system values, and the flags
49860are passed in as-is, so you can pass in system-specific flags too.
49861
49862If the socket is in blocking mode the call will block until there is
49863space for the data in the socket queue. If there is no space available
49864and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error
49865will be returned. To be notified when space is available, wait for the
49866%G_IO_OUT condition. Note though that you may still receive
49867%G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously
49868notified of a %G_IO_OUT condition. (On Windows in particular, this is
49869very common due to the way the underlying APIs work.)
49870
49871On error -1 is returned and @error is set accordingly.
49872
49873Since: 2.22
49874
49875</description>
49876<parameters>
49877<parameter name="socket">
49878<parameter_description> a #GSocket
49879</parameter_description>
49880</parameter>
49881<parameter name="address">
49882<parameter_description> a #GSocketAddress, or %NULL
49883</parameter_description>
49884</parameter>
49885<parameter name="vectors">
49886<parameter_description> an array of #GOutputVector structs
49887</parameter_description>
49888</parameter>
49889<parameter name="num_vectors">
49890<parameter_description> the number of elements in @vectors, or -1
49891</parameter_description>
49892</parameter>
49893<parameter name="messages">
49894<parameter_description> a pointer to an
49895array of #GSocketControlMessages, or %NULL.
49896</parameter_description>
49897</parameter>
49898<parameter name="num_messages">
49899<parameter_description> number of elements in @messages, or -1.
49900</parameter_description>
49901</parameter>
49902<parameter name="flags">
49903<parameter_description> an int containing #GSocketMsgFlags flags, which may additionally
49904contain [other platform specific flags](http://man7.org/linux/man-pages/man2/recv.2.html)
49905</parameter_description>
49906</parameter>
49907<parameter name="cancellable">
49908<parameter_description> a %GCancellable or %NULL
49909</parameter_description>
49910</parameter>
49911<parameter name="error">
49912<parameter_description> #GError for error reporting, or %NULL to ignore.
49913</parameter_description>
49914</parameter>
49915</parameters>
49916<return> Number of bytes written (which may be less than @size), or -1
49917on error
49918
49919</return>
49920</function>
49921
49922<function name="g_socket_send_message_with_timeout">
49923<description>
49924This behaves exactly the same as g_socket_send_message(), except that
49925the choice of timeout behavior is determined by the @timeout_us argument
49926rather than by @socket's properties.
49927
49928On error %G_POLLABLE_RETURN_FAILED is returned and @error is set accordingly, or
49929if the socket is currently not writable %G_POLLABLE_RETURN_WOULD_BLOCK is
49930returned. @bytes_written will contain 0 in both cases.
49931
49932Since: 2.60
49933
49934</description>
49935<parameters>
49936<parameter name="socket">
49937<parameter_description> a #GSocket
49938</parameter_description>
49939</parameter>
49940<parameter name="address">
49941<parameter_description> a #GSocketAddress, or %NULL
49942</parameter_description>
49943</parameter>
49944<parameter name="vectors">
49945<parameter_description> an array of #GOutputVector structs
49946</parameter_description>
49947</parameter>
49948<parameter name="num_vectors">
49949<parameter_description> the number of elements in @vectors, or -1
49950</parameter_description>
49951</parameter>
49952<parameter name="messages">
49953<parameter_description> a pointer to an
49954array of #GSocketControlMessages, or %NULL.
49955</parameter_description>
49956</parameter>
49957<parameter name="num_messages">
49958<parameter_description> number of elements in @messages, or -1.
49959</parameter_description>
49960</parameter>
49961<parameter name="flags">
49962<parameter_description> an int containing #GSocketMsgFlags flags, which may additionally
49963contain [other platform specific flags](http://man7.org/linux/man-pages/man2/recv.2.html)
49964</parameter_description>
49965</parameter>
49966<parameter name="timeout_us">
49967<parameter_description> the maximum time (in microseconds) to wait, or -1
49968</parameter_description>
49969</parameter>
49970<parameter name="bytes_written">
49971<parameter_description> location to store the number of bytes that were written to the socket
49972</parameter_description>
49973</parameter>
49974<parameter name="cancellable">
49975<parameter_description> a %GCancellable or %NULL
49976</parameter_description>
49977</parameter>
49978<parameter name="error">
49979<parameter_description> #GError for error reporting, or %NULL to ignore.
49980</parameter_description>
49981</parameter>
49982</parameters>
49983<return> %G_POLLABLE_RETURN_OK if all data was successfully written,
49984%G_POLLABLE_RETURN_WOULD_BLOCK if the socket is currently not writable, or
49985%G_POLLABLE_RETURN_FAILED if an error happened and @error is set.
49986
49987</return>
49988</function>
49989
49990<function name="g_socket_send_messages">
49991<description>
49992Send multiple data messages from @socket in one go.  This is the most
49993complicated and fully-featured version of this call. For easier use, see
49994g_socket_send(), g_socket_send_to(), and g_socket_send_message().
49995
49996@messages must point to an array of #GOutputMessage structs and
49997@num_messages must be the length of this array. Each #GOutputMessage
49998contains an address to send the data to, and a pointer to an array of
49999#GOutputVector structs to describe the buffers that the data to be sent
50000for each message will be gathered from. Using multiple #GOutputVectors is
50001more memory-efficient than manually copying data from multiple sources
50002into a single buffer, and more network-efficient than making multiple
50003calls to g_socket_send(). Sending multiple messages in one go avoids the
50004overhead of making a lot of syscalls in scenarios where a lot of data
50005packets need to be sent (e.g. high-bandwidth video streaming over RTP/UDP),
50006or where the same data needs to be sent to multiple recipients.
50007
50008@flags modify how the message is sent. The commonly available arguments
50009for this are available in the #GSocketMsgFlags enum, but the
50010values there are the same as the system values, and the flags
50011are passed in as-is, so you can pass in system-specific flags too.
50012
50013If the socket is in blocking mode the call will block until there is
50014space for all the data in the socket queue. If there is no space available
50015and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error
50016will be returned if no data was written at all, otherwise the number of
50017messages sent will be returned. To be notified when space is available,
50018wait for the %G_IO_OUT condition. Note though that you may still receive
50019%G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously
50020notified of a %G_IO_OUT condition. (On Windows in particular, this is
50021very common due to the way the underlying APIs work.)
50022
50023On error -1 is returned and @error is set accordingly. An error will only
50024be returned if zero messages could be sent; otherwise the number of messages
50025successfully sent before the error will be returned.
50026
50027Since: 2.44
50028
50029</description>
50030<parameters>
50031<parameter name="socket">
50032<parameter_description> a #GSocket
50033</parameter_description>
50034</parameter>
50035<parameter name="messages">
50036<parameter_description> an array of #GOutputMessage structs
50037</parameter_description>
50038</parameter>
50039<parameter name="num_messages">
50040<parameter_description> the number of elements in @messages
50041</parameter_description>
50042</parameter>
50043<parameter name="flags">
50044<parameter_description> an int containing #GSocketMsgFlags flags, which may additionally
50045contain [other platform specific flags](http://man7.org/linux/man-pages/man2/recv.2.html)
50046</parameter_description>
50047</parameter>
50048<parameter name="cancellable">
50049<parameter_description> a %GCancellable or %NULL
50050</parameter_description>
50051</parameter>
50052<parameter name="error">
50053<parameter_description> #GError for error reporting, or %NULL to ignore.
50054</parameter_description>
50055</parameter>
50056</parameters>
50057<return> number of messages sent, or -1 on error. Note that the number of
50058messages sent may be smaller than @num_messages if the socket is
50059non-blocking or if @num_messages was larger than UIO_MAXIOV (1024),
50060in which case the caller may re-try to send the remaining messages.
50061
50062</return>
50063</function>
50064
50065<function name="g_socket_send_to">
50066<description>
50067Tries to send @size bytes from @buffer to @address. If @address is
50068%NULL then the message is sent to the default receiver (set by
50069g_socket_connect()).
50070
50071See g_socket_send() for additional information.
50072
50073Since: 2.22
50074
50075</description>
50076<parameters>
50077<parameter name="socket">
50078<parameter_description> a #GSocket
50079</parameter_description>
50080</parameter>
50081<parameter name="address">
50082<parameter_description> a #GSocketAddress, or %NULL
50083</parameter_description>
50084</parameter>
50085<parameter name="buffer">
50086<parameter_description> the buffer
50087containing the data to send.
50088</parameter_description>
50089</parameter>
50090<parameter name="size">
50091<parameter_description> the number of bytes to send
50092</parameter_description>
50093</parameter>
50094<parameter name="cancellable">
50095<parameter_description> a %GCancellable or %NULL
50096</parameter_description>
50097</parameter>
50098<parameter name="error">
50099<parameter_description> #GError for error reporting, or %NULL to ignore.
50100</parameter_description>
50101</parameter>
50102</parameters>
50103<return> Number of bytes written (which may be less than @size), or -1
50104on error
50105
50106</return>
50107</function>
50108
50109<function name="g_socket_send_with_blocking">
50110<description>
50111This behaves exactly the same as g_socket_send(), except that
50112the choice of blocking or non-blocking behavior is determined by
50113the @blocking argument rather than by @socket's properties.
50114
50115Since: 2.26
50116
50117</description>
50118<parameters>
50119<parameter name="socket">
50120<parameter_description> a #GSocket
50121</parameter_description>
50122</parameter>
50123<parameter name="buffer">
50124<parameter_description> the buffer
50125containing the data to send.
50126</parameter_description>
50127</parameter>
50128<parameter name="size">
50129<parameter_description> the number of bytes to send
50130</parameter_description>
50131</parameter>
50132<parameter name="blocking">
50133<parameter_description> whether to do blocking or non-blocking I/O
50134</parameter_description>
50135</parameter>
50136<parameter name="cancellable">
50137<parameter_description> a %GCancellable or %NULL
50138</parameter_description>
50139</parameter>
50140<parameter name="error">
50141<parameter_description> #GError for error reporting, or %NULL to ignore.
50142</parameter_description>
50143</parameter>
50144</parameters>
50145<return> Number of bytes written (which may be less than @size), or -1
50146on error
50147
50148</return>
50149</function>
50150
50151<function name="g_socket_service_is_active">
50152<description>
50153Check whether the service is active or not. An active
50154service will accept new clients that connect, while
50155a non-active service will let connecting clients queue
50156up until the service is started.
50157
50158Since: 2.22
50159
50160</description>
50161<parameters>
50162<parameter name="service">
50163<parameter_description> a #GSocketService
50164</parameter_description>
50165</parameter>
50166</parameters>
50167<return> %TRUE if the service is active, %FALSE otherwise
50168
50169</return>
50170</function>
50171
50172<function name="g_socket_service_new">
50173<description>
50174Creates a new #GSocketService with no sockets to listen for.
50175New listeners can be added with e.g. g_socket_listener_add_address()
50176or g_socket_listener_add_inet_port().
50177
50178New services are created active, there is no need to call
50179g_socket_service_start(), unless g_socket_service_stop() has been
50180called before.
50181
50182Since: 2.22
50183
50184</description>
50185<parameters>
50186</parameters>
50187<return> a new #GSocketService.
50188
50189</return>
50190</function>
50191
50192<function name="g_socket_service_start">
50193<description>
50194Restarts the service, i.e. start accepting connections
50195from the added sockets when the mainloop runs. This only needs
50196to be called after the service has been stopped from
50197g_socket_service_stop().
50198
50199This call is thread-safe, so it may be called from a thread
50200handling an incoming client request.
50201
50202Since: 2.22
50203
50204</description>
50205<parameters>
50206<parameter name="service">
50207<parameter_description> a #GSocketService
50208</parameter_description>
50209</parameter>
50210</parameters>
50211<return></return>
50212</function>
50213
50214<function name="g_socket_service_stop">
50215<description>
50216Stops the service, i.e. stops accepting connections
50217from the added sockets when the mainloop runs.
50218
50219This call is thread-safe, so it may be called from a thread
50220handling an incoming client request.
50221
50222Note that this only stops accepting new connections; it does not
50223close the listening sockets, and you can call
50224g_socket_service_start() again later to begin listening again. To
50225close the listening sockets, call g_socket_listener_close(). (This
50226will happen automatically when the #GSocketService is finalized.)
50227
50228This must be called before calling g_socket_listener_close() as
50229the socket service will start accepting connections immediately
50230when a new socket is added.
50231
50232Since: 2.22
50233
50234</description>
50235<parameters>
50236<parameter name="service">
50237<parameter_description> a #GSocketService
50238</parameter_description>
50239</parameter>
50240</parameters>
50241<return></return>
50242</function>
50243
50244<function name="g_socket_set_blocking">
50245<description>
50246Sets the blocking mode of the socket. In blocking mode
50247all operations (which don’t take an explicit blocking parameter) block until
50248they succeed or there is an error. In
50249non-blocking mode all functions return results immediately or
50250with a %G_IO_ERROR_WOULD_BLOCK error.
50251
50252All sockets are created in blocking mode. However, note that the
50253platform level socket is always non-blocking, and blocking mode
50254is a GSocket level feature.
50255
50256Since: 2.22
50257
50258</description>
50259<parameters>
50260<parameter name="socket">
50261<parameter_description> a #GSocket.
50262</parameter_description>
50263</parameter>
50264<parameter name="blocking">
50265<parameter_description> Whether to use blocking I/O or not.
50266</parameter_description>
50267</parameter>
50268</parameters>
50269<return></return>
50270</function>
50271
50272<function name="g_socket_set_broadcast">
50273<description>
50274Sets whether @socket should allow sending to broadcast addresses.
50275This is %FALSE by default.
50276
50277Since: 2.32
50278
50279</description>
50280<parameters>
50281<parameter name="socket">
50282<parameter_description> a #GSocket.
50283</parameter_description>
50284</parameter>
50285<parameter name="broadcast">
50286<parameter_description> whether @socket should allow sending to broadcast
50287addresses
50288</parameter_description>
50289</parameter>
50290</parameters>
50291<return></return>
50292</function>
50293
50294<function name="g_socket_set_keepalive">
50295<description>
50296Sets or unsets the %SO_KEEPALIVE flag on the underlying socket. When
50297this flag is set on a socket, the system will attempt to verify that the
50298remote socket endpoint is still present if a sufficiently long period of
50299time passes with no data being exchanged. If the system is unable to
50300verify the presence of the remote endpoint, it will automatically close
50301the connection.
50302
50303This option is only functional on certain kinds of sockets. (Notably,
50304%G_SOCKET_PROTOCOL_TCP sockets.)
50305
50306The exact time between pings is system- and protocol-dependent, but will
50307normally be at least two hours. Most commonly, you would set this flag
50308on a server socket if you want to allow clients to remain idle for long
50309periods of time, but also want to ensure that connections are eventually
50310garbage-collected if clients crash or become unreachable.
50311
50312Since: 2.22
50313
50314</description>
50315<parameters>
50316<parameter name="socket">
50317<parameter_description> a #GSocket.
50318</parameter_description>
50319</parameter>
50320<parameter name="keepalive">
50321<parameter_description> Value for the keepalive flag
50322</parameter_description>
50323</parameter>
50324</parameters>
50325<return></return>
50326</function>
50327
50328<function name="g_socket_set_listen_backlog">
50329<description>
50330Sets the maximum number of outstanding connections allowed
50331when listening on this socket. If more clients than this are
50332connecting to the socket and the application is not handling them
50333on time then the new connections will be refused.
50334
50335Note that this must be called before g_socket_listen() and has no
50336effect if called after that.
50337
50338Since: 2.22
50339
50340</description>
50341<parameters>
50342<parameter name="socket">
50343<parameter_description> a #GSocket.
50344</parameter_description>
50345</parameter>
50346<parameter name="backlog">
50347<parameter_description> the maximum number of pending connections.
50348</parameter_description>
50349</parameter>
50350</parameters>
50351<return></return>
50352</function>
50353
50354<function name="g_socket_set_multicast_loopback">
50355<description>
50356Sets whether outgoing multicast packets will be received by sockets
50357listening on that multicast address on the same host. This is %TRUE
50358by default.
50359
50360Since: 2.32
50361
50362</description>
50363<parameters>
50364<parameter name="socket">
50365<parameter_description> a #GSocket.
50366</parameter_description>
50367</parameter>
50368<parameter name="loopback">
50369<parameter_description> whether @socket should receive messages sent to its
50370multicast groups from the local host
50371</parameter_description>
50372</parameter>
50373</parameters>
50374<return></return>
50375</function>
50376
50377<function name="g_socket_set_multicast_ttl">
50378<description>
50379Sets the time-to-live for outgoing multicast datagrams on @socket.
50380By default, this is 1, meaning that multicast packets will not leave
50381the local network.
50382
50383Since: 2.32
50384
50385</description>
50386<parameters>
50387<parameter name="socket">
50388<parameter_description> a #GSocket.
50389</parameter_description>
50390</parameter>
50391<parameter name="ttl">
50392<parameter_description> the time-to-live value for all multicast datagrams on @socket
50393</parameter_description>
50394</parameter>
50395</parameters>
50396<return></return>
50397</function>
50398
50399<function name="g_socket_set_option">
50400<description>
50401Sets the value of an integer-valued option on @socket, as with
50402setsockopt(). (If you need to set a non-integer-valued option,
50403you will need to call setsockopt() directly.)
50404
50405The [&lt;gio/gnetworking.h&gt;][gio-gnetworking.h]
50406header pulls in system headers that will define most of the
50407standard/portable socket options. For unusual socket protocols or
50408platform-dependent options, you may need to include additional
50409headers.
50410
50411Since: 2.36
50412
50413</description>
50414<parameters>
50415<parameter name="socket">
50416<parameter_description> a #GSocket
50417</parameter_description>
50418</parameter>
50419<parameter name="level">
50420<parameter_description> the &quot;API level&quot; of the option (eg, `SOL_SOCKET`)
50421</parameter_description>
50422</parameter>
50423<parameter name="optname">
50424<parameter_description> the &quot;name&quot; of the option (eg, `SO_BROADCAST`)
50425</parameter_description>
50426</parameter>
50427<parameter name="value">
50428<parameter_description> the value to set the option to
50429</parameter_description>
50430</parameter>
50431<parameter name="error">
50432<parameter_description> #GError for error reporting, or %NULL to ignore.
50433</parameter_description>
50434</parameter>
50435</parameters>
50436<return> success or failure. On failure, @error will be set, and
50437the system error value (`errno` or WSAGetLastError()) will still
50438be set to the result of the setsockopt() call.
50439
50440</return>
50441</function>
50442
50443<function name="g_socket_set_timeout">
50444<description>
50445Sets the time in seconds after which I/O operations on @socket will
50446time out if they have not yet completed.
50447
50448On a blocking socket, this means that any blocking #GSocket
50449operation will time out after @timeout seconds of inactivity,
50450returning %G_IO_ERROR_TIMED_OUT.
50451
50452On a non-blocking socket, calls to g_socket_condition_wait() will
50453also fail with %G_IO_ERROR_TIMED_OUT after the given time. Sources
50454created with g_socket_create_source() will trigger after
50455@timeout seconds of inactivity, with the requested condition
50456set, at which point calling g_socket_receive(), g_socket_send(),
50457g_socket_check_connect_result(), etc, will fail with
50458%G_IO_ERROR_TIMED_OUT.
50459
50460If @timeout is 0 (the default), operations will never time out
50461on their own.
50462
50463Note that if an I/O operation is interrupted by a signal, this may
50464cause the timeout to be reset.
50465
50466Since: 2.26
50467
50468</description>
50469<parameters>
50470<parameter name="socket">
50471<parameter_description> a #GSocket.
50472</parameter_description>
50473</parameter>
50474<parameter name="timeout">
50475<parameter_description> the timeout for @socket, in seconds, or 0 for none
50476</parameter_description>
50477</parameter>
50478</parameters>
50479<return></return>
50480</function>
50481
50482<function name="g_socket_set_ttl">
50483<description>
50484Sets the time-to-live for outgoing unicast packets on @socket.
50485By default the platform-specific default value is used.
50486
50487Since: 2.32
50488
50489</description>
50490<parameters>
50491<parameter name="socket">
50492<parameter_description> a #GSocket.
50493</parameter_description>
50494</parameter>
50495<parameter name="ttl">
50496<parameter_description> the time-to-live value for all unicast packets on @socket
50497</parameter_description>
50498</parameter>
50499</parameters>
50500<return></return>
50501</function>
50502
50503<function name="g_socket_shutdown">
50504<description>
50505Shut down part or all of a full-duplex connection.
50506
50507If @shutdown_read is %TRUE then the receiving side of the connection
50508is shut down, and further reading is disallowed.
50509
50510If @shutdown_write is %TRUE then the sending side of the connection
50511is shut down, and further writing is disallowed.
50512
50513It is allowed for both @shutdown_read and @shutdown_write to be %TRUE.
50514
50515One example where it is useful to shut down only one side of a connection is
50516graceful disconnect for TCP connections where you close the sending side,
50517then wait for the other side to close the connection, thus ensuring that the
50518other side saw all sent data.
50519
50520Since: 2.22
50521
50522</description>
50523<parameters>
50524<parameter name="socket">
50525<parameter_description> a #GSocket
50526</parameter_description>
50527</parameter>
50528<parameter name="shutdown_read">
50529<parameter_description> whether to shut down the read side
50530</parameter_description>
50531</parameter>
50532<parameter name="shutdown_write">
50533<parameter_description> whether to shut down the write side
50534</parameter_description>
50535</parameter>
50536<parameter name="error">
50537<parameter_description> #GError for error reporting, or %NULL to ignore.
50538</parameter_description>
50539</parameter>
50540</parameters>
50541<return> %TRUE on success, %FALSE on error
50542
50543</return>
50544</function>
50545
50546<function name="g_socket_speaks_ipv4">
50547<description>
50548Checks if a socket is capable of speaking IPv4.
50549
50550IPv4 sockets are capable of speaking IPv4.  On some operating systems
50551and under some combinations of circumstances IPv6 sockets are also
50552capable of speaking IPv4.  See RFC 3493 section 3.7 for more
50553information.
50554
50555No other types of sockets are currently considered as being capable
50556of speaking IPv4.
50557
50558Since: 2.22
50559
50560</description>
50561<parameters>
50562<parameter name="socket">
50563<parameter_description> a #GSocket
50564</parameter_description>
50565</parameter>
50566</parameters>
50567<return> %TRUE if this socket can be used with IPv4.
50568
50569</return>
50570</function>
50571
50572<function name="g_srv_target_copy">
50573<description>
50574Copies @target
50575
50576Since: 2.22
50577
50578</description>
50579<parameters>
50580<parameter name="target">
50581<parameter_description> a #GSrvTarget
50582</parameter_description>
50583</parameter>
50584</parameters>
50585<return> a copy of @target
50586
50587</return>
50588</function>
50589
50590<function name="g_srv_target_free">
50591<description>
50592Frees @target
50593
50594Since: 2.22
50595
50596</description>
50597<parameters>
50598<parameter name="target">
50599<parameter_description> a #GSrvTarget
50600</parameter_description>
50601</parameter>
50602</parameters>
50603<return></return>
50604</function>
50605
50606<function name="g_srv_target_get_hostname">
50607<description>
50608Gets @target's hostname (in ASCII form; if you are going to present
50609this to the user, you should use g_hostname_is_ascii_encoded() to
50610check if it contains encoded Unicode segments, and use
50611g_hostname_to_unicode() to convert it if it does.)
50612
50613Since: 2.22
50614
50615</description>
50616<parameters>
50617<parameter name="target">
50618<parameter_description> a #GSrvTarget
50619</parameter_description>
50620</parameter>
50621</parameters>
50622<return> @target's hostname
50623
50624</return>
50625</function>
50626
50627<function name="g_srv_target_get_port">
50628<description>
50629Gets @target's port
50630
50631Since: 2.22
50632
50633</description>
50634<parameters>
50635<parameter name="target">
50636<parameter_description> a #GSrvTarget
50637</parameter_description>
50638</parameter>
50639</parameters>
50640<return> @target's port
50641
50642</return>
50643</function>
50644
50645<function name="g_srv_target_get_priority">
50646<description>
50647Gets @target's priority. You should not need to look at this;
50648#GResolver already sorts the targets according to the algorithm in
50649RFC 2782.
50650
50651Since: 2.22
50652
50653</description>
50654<parameters>
50655<parameter name="target">
50656<parameter_description> a #GSrvTarget
50657</parameter_description>
50658</parameter>
50659</parameters>
50660<return> @target's priority
50661
50662</return>
50663</function>
50664
50665<function name="g_srv_target_get_weight">
50666<description>
50667Gets @target's weight. You should not need to look at this;
50668#GResolver already sorts the targets according to the algorithm in
50669RFC 2782.
50670
50671Since: 2.22
50672
50673</description>
50674<parameters>
50675<parameter name="target">
50676<parameter_description> a #GSrvTarget
50677</parameter_description>
50678</parameter>
50679</parameters>
50680<return> @target's weight
50681
50682</return>
50683</function>
50684
50685<function name="g_srv_target_list_sort">
50686<description>
50687Sorts @targets in place according to the algorithm in RFC 2782.
50688
50689Since: 2.22
50690
50691</description>
50692<parameters>
50693<parameter name="targets">
50694<parameter_description> a #GList of #GSrvTarget
50695</parameter_description>
50696</parameter>
50697</parameters>
50698<return> the head of the sorted list.
50699
50700</return>
50701</function>
50702
50703<function name="g_srv_target_new">
50704<description>
50705Creates a new #GSrvTarget with the given parameters.
50706
50707You should not need to use this; normally #GSrvTargets are
50708created by #GResolver.
50709
50710Since: 2.22
50711
50712</description>
50713<parameters>
50714<parameter name="hostname">
50715<parameter_description> the host that the service is running on
50716</parameter_description>
50717</parameter>
50718<parameter name="port">
50719<parameter_description> the port that the service is running on
50720</parameter_description>
50721</parameter>
50722<parameter name="priority">
50723<parameter_description> the target's priority
50724</parameter_description>
50725</parameter>
50726<parameter name="weight">
50727<parameter_description> the target's weight
50728</parameter_description>
50729</parameter>
50730</parameters>
50731<return> a new #GSrvTarget.
50732
50733</return>
50734</function>
50735
50736<function name="g_static_resource_fini">
50737<description>
50738Finalized a GResource initialized by g_static_resource_init().
50739
50740This is normally used by code generated by
50741[glib-compile-resources][glib-compile-resources]
50742and is not typically used by other code.
50743
50744Since: 2.32
50745
50746</description>
50747<parameters>
50748<parameter name="static_resource">
50749<parameter_description> pointer to a static #GStaticResource
50750</parameter_description>
50751</parameter>
50752</parameters>
50753<return></return>
50754</function>
50755
50756<function name="g_static_resource_get_resource">
50757<description>
50758Gets the GResource that was registered by a call to g_static_resource_init().
50759
50760This is normally used by code generated by
50761[glib-compile-resources][glib-compile-resources]
50762and is not typically used by other code.
50763
50764Since: 2.32
50765
50766</description>
50767<parameters>
50768<parameter name="static_resource">
50769<parameter_description> pointer to a static #GStaticResource
50770</parameter_description>
50771</parameter>
50772</parameters>
50773<return> a #GResource
50774
50775</return>
50776</function>
50777
50778<function name="g_static_resource_init">
50779<description>
50780Initializes a GResource from static data using a
50781GStaticResource.
50782
50783This is normally used by code generated by
50784[glib-compile-resources][glib-compile-resources]
50785and is not typically used by other code.
50786
50787Since: 2.32
50788
50789</description>
50790<parameters>
50791<parameter name="static_resource">
50792<parameter_description> pointer to a static #GStaticResource
50793</parameter_description>
50794</parameter>
50795</parameters>
50796<return></return>
50797</function>
50798
50799<function name="g_subprocess_communicate">
50800<description>
50801Communicate with the subprocess until it terminates, and all input
50802and output has been completed.
50803
50804If @stdin_buf is given, the subprocess must have been created with
50805%G_SUBPROCESS_FLAGS_STDIN_PIPE.  The given data is fed to the
50806stdin of the subprocess and the pipe is closed (ie: EOF).
50807
50808At the same time (as not to cause blocking when dealing with large
50809amounts of data), if %G_SUBPROCESS_FLAGS_STDOUT_PIPE or
50810%G_SUBPROCESS_FLAGS_STDERR_PIPE were used, reads from those
50811streams.  The data that was read is returned in @stdout and/or
50812the @stderr.
50813
50814If the subprocess was created with %G_SUBPROCESS_FLAGS_STDOUT_PIPE,
50815@stdout_buf will contain the data read from stdout.  Otherwise, for
50816subprocesses not created with %G_SUBPROCESS_FLAGS_STDOUT_PIPE,
50817@stdout_buf will be set to %NULL.  Similar provisions apply to
50818@stderr_buf and %G_SUBPROCESS_FLAGS_STDERR_PIPE.
50819
50820As usual, any output variable may be given as %NULL to ignore it.
50821
50822If you desire the stdout and stderr data to be interleaved, create
50823the subprocess with %G_SUBPROCESS_FLAGS_STDOUT_PIPE and
50824%G_SUBPROCESS_FLAGS_STDERR_MERGE.  The merged result will be returned
50825in @stdout_buf and @stderr_buf will be set to %NULL.
50826
50827In case of any error (including cancellation), %FALSE will be
50828returned with @error set.  Some or all of the stdin data may have
50829been written.  Any stdout or stderr data that has been read will be
50830discarded. None of the out variables (aside from @error) will have
50831been set to anything in particular and should not be inspected.
50832
50833In the case that %TRUE is returned, the subprocess has exited and the
50834exit status inspection APIs (eg: g_subprocess_get_if_exited(),
50835g_subprocess_get_exit_status()) may be used.
50836
50837You should not attempt to use any of the subprocess pipes after
50838starting this function, since they may be left in strange states,
50839even if the operation was cancelled.  You should especially not
50840attempt to interact with the pipes while the operation is in progress
50841(either from another thread or if using the asynchronous version).
50842
50843Since: 2.40
50844
50845</description>
50846<parameters>
50847<parameter name="subprocess">
50848<parameter_description> a #GSubprocess
50849</parameter_description>
50850</parameter>
50851<parameter name="stdin_buf">
50852<parameter_description> data to send to the stdin of the subprocess, or %NULL
50853</parameter_description>
50854</parameter>
50855<parameter name="cancellable">
50856<parameter_description> a #GCancellable
50857</parameter_description>
50858</parameter>
50859<parameter name="stdout_buf">
50860<parameter_description> data read from the subprocess stdout
50861</parameter_description>
50862</parameter>
50863<parameter name="stderr_buf">
50864<parameter_description> data read from the subprocess stderr
50865</parameter_description>
50866</parameter>
50867<parameter name="error">
50868<parameter_description> a pointer to a %NULL #GError pointer, or %NULL
50869</parameter_description>
50870</parameter>
50871</parameters>
50872<return> %TRUE if successful
50873
50874</return>
50875</function>
50876
50877<function name="g_subprocess_communicate_async">
50878<description>
50879Asynchronous version of g_subprocess_communicate().  Complete
50880invocation with g_subprocess_communicate_finish().
50881
50882</description>
50883<parameters>
50884<parameter name="subprocess">
50885<parameter_description> Self
50886</parameter_description>
50887</parameter>
50888<parameter name="stdin_buf">
50889<parameter_description> Input data, or %NULL
50890</parameter_description>
50891</parameter>
50892<parameter name="cancellable">
50893<parameter_description> Cancellable
50894</parameter_description>
50895</parameter>
50896<parameter name="callback">
50897<parameter_description> Callback
50898</parameter_description>
50899</parameter>
50900<parameter name="user_data">
50901<parameter_description> User data
50902</parameter_description>
50903</parameter>
50904</parameters>
50905<return></return>
50906</function>
50907
50908<function name="g_subprocess_communicate_finish">
50909<description>
50910Complete an invocation of g_subprocess_communicate_async().
50911
50912</description>
50913<parameters>
50914<parameter name="subprocess">
50915<parameter_description> Self
50916</parameter_description>
50917</parameter>
50918<parameter name="result">
50919<parameter_description> Result
50920</parameter_description>
50921</parameter>
50922<parameter name="stdout_buf">
50923<parameter_description> Return location for stdout data
50924</parameter_description>
50925</parameter>
50926<parameter name="stderr_buf">
50927<parameter_description> Return location for stderr data
50928</parameter_description>
50929</parameter>
50930<parameter name="error">
50931<parameter_description> Error
50932</parameter_description>
50933</parameter>
50934</parameters>
50935<return></return>
50936</function>
50937
50938<function name="g_subprocess_communicate_utf8">
50939<description>
50940Like g_subprocess_communicate(), but validates the output of the
50941process as UTF-8, and returns it as a regular NUL terminated string.
50942
50943On error, @stdout_buf and @stderr_buf will be set to undefined values and
50944should not be used.
50945
50946</description>
50947<parameters>
50948<parameter name="subprocess">
50949<parameter_description> a #GSubprocess
50950</parameter_description>
50951</parameter>
50952<parameter name="stdin_buf">
50953<parameter_description> data to send to the stdin of the subprocess, or %NULL
50954</parameter_description>
50955</parameter>
50956<parameter name="cancellable">
50957<parameter_description> a #GCancellable
50958</parameter_description>
50959</parameter>
50960<parameter name="stdout_buf">
50961<parameter_description> data read from the subprocess stdout
50962</parameter_description>
50963</parameter>
50964<parameter name="stderr_buf">
50965<parameter_description> data read from the subprocess stderr
50966</parameter_description>
50967</parameter>
50968<parameter name="error">
50969<parameter_description> a pointer to a %NULL #GError pointer, or %NULL
50970</parameter_description>
50971</parameter>
50972</parameters>
50973<return></return>
50974</function>
50975
50976<function name="g_subprocess_communicate_utf8_async">
50977<description>
50978Asynchronous version of g_subprocess_communicate_utf8().  Complete
50979invocation with g_subprocess_communicate_utf8_finish().
50980
50981</description>
50982<parameters>
50983<parameter name="subprocess">
50984<parameter_description> Self
50985</parameter_description>
50986</parameter>
50987<parameter name="stdin_buf">
50988<parameter_description> Input data, or %NULL
50989</parameter_description>
50990</parameter>
50991<parameter name="cancellable">
50992<parameter_description> Cancellable
50993</parameter_description>
50994</parameter>
50995<parameter name="callback">
50996<parameter_description> Callback
50997</parameter_description>
50998</parameter>
50999<parameter name="user_data">
51000<parameter_description> User data
51001</parameter_description>
51002</parameter>
51003</parameters>
51004<return></return>
51005</function>
51006
51007<function name="g_subprocess_communicate_utf8_finish">
51008<description>
51009Complete an invocation of g_subprocess_communicate_utf8_async().
51010
51011</description>
51012<parameters>
51013<parameter name="subprocess">
51014<parameter_description> Self
51015</parameter_description>
51016</parameter>
51017<parameter name="result">
51018<parameter_description> Result
51019</parameter_description>
51020</parameter>
51021<parameter name="stdout_buf">
51022<parameter_description> Return location for stdout data
51023</parameter_description>
51024</parameter>
51025<parameter name="stderr_buf">
51026<parameter_description> Return location for stderr data
51027</parameter_description>
51028</parameter>
51029<parameter name="error">
51030<parameter_description> Error
51031</parameter_description>
51032</parameter>
51033</parameters>
51034<return></return>
51035</function>
51036
51037<function name="g_subprocess_force_exit">
51038<description>
51039Use an operating-system specific method to attempt an immediate,
51040forceful termination of the process.  There is no mechanism to
51041determine whether or not the request itself was successful;
51042however, you can use g_subprocess_wait() to monitor the status of
51043the process after calling this function.
51044
51045On Unix, this function sends %SIGKILL.
51046
51047Since: 2.40
51048
51049</description>
51050<parameters>
51051<parameter name="subprocess">
51052<parameter_description> a #GSubprocess
51053</parameter_description>
51054</parameter>
51055</parameters>
51056<return></return>
51057</function>
51058
51059<function name="g_subprocess_get_exit_status">
51060<description>
51061Check the exit status of the subprocess, given that it exited
51062normally.  This is the value passed to the exit() system call or the
51063return value from main.
51064
51065This is equivalent to the system WEXITSTATUS macro.
51066
51067It is an error to call this function before g_subprocess_wait() and
51068unless g_subprocess_get_if_exited() returned %TRUE.
51069
51070Since: 2.40
51071
51072</description>
51073<parameters>
51074<parameter name="subprocess">
51075<parameter_description> a #GSubprocess
51076</parameter_description>
51077</parameter>
51078</parameters>
51079<return> the exit status
51080
51081</return>
51082</function>
51083
51084<function name="g_subprocess_get_identifier">
51085<description>
51086On UNIX, returns the process ID as a decimal string.
51087On Windows, returns the result of GetProcessId() also as a string.
51088If the subprocess has terminated, this will return %NULL.
51089
51090Since: 2.40
51091
51092</description>
51093<parameters>
51094<parameter name="subprocess">
51095<parameter_description> a #GSubprocess
51096</parameter_description>
51097</parameter>
51098</parameters>
51099<return> the subprocess identifier, or %NULL if the subprocess
51100has terminated
51101</return>
51102</function>
51103
51104<function name="g_subprocess_get_if_exited">
51105<description>
51106Check if the given subprocess exited normally (ie: by way of exit()
51107or return from main()).
51108
51109This is equivalent to the system WIFEXITED macro.
51110
51111It is an error to call this function before g_subprocess_wait() has
51112returned.
51113
51114Since: 2.40
51115
51116</description>
51117<parameters>
51118<parameter name="subprocess">
51119<parameter_description> a #GSubprocess
51120</parameter_description>
51121</parameter>
51122</parameters>
51123<return> %TRUE if the case of a normal exit
51124
51125</return>
51126</function>
51127
51128<function name="g_subprocess_get_if_signaled">
51129<description>
51130Check if the given subprocess terminated in response to a signal.
51131
51132This is equivalent to the system WIFSIGNALED macro.
51133
51134It is an error to call this function before g_subprocess_wait() has
51135returned.
51136
51137Since: 2.40
51138
51139</description>
51140<parameters>
51141<parameter name="subprocess">
51142<parameter_description> a #GSubprocess
51143</parameter_description>
51144</parameter>
51145</parameters>
51146<return> %TRUE if the case of termination due to a signal
51147
51148</return>
51149</function>
51150
51151<function name="g_subprocess_get_status">
51152<description>
51153Gets the raw status code of the process, as from waitpid().
51154
51155This value has no particular meaning, but it can be used with the
51156macros defined by the system headers such as WIFEXITED.  It can also
51157be used with g_spawn_check_exit_status().
51158
51159It is more likely that you want to use g_subprocess_get_if_exited()
51160followed by g_subprocess_get_exit_status().
51161
51162It is an error to call this function before g_subprocess_wait() has
51163returned.
51164
51165Since: 2.40
51166
51167</description>
51168<parameters>
51169<parameter name="subprocess">
51170<parameter_description> a #GSubprocess
51171</parameter_description>
51172</parameter>
51173</parameters>
51174<return> the (meaningless) waitpid() exit status from the kernel
51175
51176</return>
51177</function>
51178
51179<function name="g_subprocess_get_stderr_pipe">
51180<description>
51181Gets the #GInputStream from which to read the stderr output of
51182@subprocess.
51183
51184The process must have been created with
51185%G_SUBPROCESS_FLAGS_STDERR_PIPE.
51186
51187Since: 2.40
51188
51189</description>
51190<parameters>
51191<parameter name="subprocess">
51192<parameter_description> a #GSubprocess
51193</parameter_description>
51194</parameter>
51195</parameters>
51196<return> the stderr pipe
51197
51198</return>
51199</function>
51200
51201<function name="g_subprocess_get_stdin_pipe">
51202<description>
51203Gets the #GOutputStream that you can write to in order to give data
51204to the stdin of @subprocess.
51205
51206The process must have been created with
51207%G_SUBPROCESS_FLAGS_STDIN_PIPE.
51208
51209Since: 2.40
51210
51211</description>
51212<parameters>
51213<parameter name="subprocess">
51214<parameter_description> a #GSubprocess
51215</parameter_description>
51216</parameter>
51217</parameters>
51218<return> the stdout pipe
51219
51220</return>
51221</function>
51222
51223<function name="g_subprocess_get_stdout_pipe">
51224<description>
51225Gets the #GInputStream from which to read the stdout output of
51226@subprocess.
51227
51228The process must have been created with
51229%G_SUBPROCESS_FLAGS_STDOUT_PIPE.
51230
51231Since: 2.40
51232
51233</description>
51234<parameters>
51235<parameter name="subprocess">
51236<parameter_description> a #GSubprocess
51237</parameter_description>
51238</parameter>
51239</parameters>
51240<return> the stdout pipe
51241
51242</return>
51243</function>
51244
51245<function name="g_subprocess_get_successful">
51246<description>
51247Checks if the process was &quot;successful&quot;.  A process is considered
51248successful if it exited cleanly with an exit status of 0, either by
51249way of the exit() system call or return from main().
51250
51251It is an error to call this function before g_subprocess_wait() has
51252returned.
51253
51254Since: 2.40
51255
51256</description>
51257<parameters>
51258<parameter name="subprocess">
51259<parameter_description> a #GSubprocess
51260</parameter_description>
51261</parameter>
51262</parameters>
51263<return> %TRUE if the process exited cleanly with a exit status of 0
51264
51265</return>
51266</function>
51267
51268<function name="g_subprocess_get_term_sig">
51269<description>
51270Get the signal number that caused the subprocess to terminate, given
51271that it terminated due to a signal.
51272
51273This is equivalent to the system WTERMSIG macro.
51274
51275It is an error to call this function before g_subprocess_wait() and
51276unless g_subprocess_get_if_signaled() returned %TRUE.
51277
51278Since: 2.40
51279
51280</description>
51281<parameters>
51282<parameter name="subprocess">
51283<parameter_description> a #GSubprocess
51284</parameter_description>
51285</parameter>
51286</parameters>
51287<return> the signal causing termination
51288
51289</return>
51290</function>
51291
51292<function name="g_subprocess_launcher_getenv">
51293<description>
51294Returns the value of the environment variable @variable in the
51295environment of processes launched from this launcher.
51296
51297On UNIX, the returned string can be an arbitrary byte string.
51298On Windows, it will be UTF-8.
51299
51300Since: 2.40
51301
51302</description>
51303<parameters>
51304<parameter name="self">
51305<parameter_description> a #GSubprocessLauncher
51306</parameter_description>
51307</parameter>
51308<parameter name="variable">
51309<parameter_description> the environment variable to get
51310</parameter_description>
51311</parameter>
51312</parameters>
51313<return> the value of the environment variable,
51314%NULL if unset
51315
51316</return>
51317</function>
51318
51319<function name="g_subprocess_launcher_new">
51320<description>
51321Creates a new #GSubprocessLauncher.
51322
51323The launcher is created with the default options.  A copy of the
51324environment of the calling process is made at the time of this call
51325and will be used as the environment that the process is launched in.
51326
51327Since: 2.40
51328
51329</description>
51330<parameters>
51331<parameter name="flags">
51332<parameter_description> #GSubprocessFlags
51333</parameter_description>
51334</parameter>
51335</parameters>
51336<return></return>
51337</function>
51338
51339<function name="g_subprocess_launcher_set_child_setup">
51340<description>
51341Sets up a child setup function.
51342
51343The child setup function will be called after fork() but before
51344exec() on the child's side.
51345
51346@destroy_notify will not be automatically called on the child's side
51347of the fork().  It will only be called when the last reference on the
51348#GSubprocessLauncher is dropped or when a new child setup function is
51349given.
51350
51351%NULL can be given as @child_setup to disable the functionality.
51352
51353Child setup functions are only available on UNIX.
51354
51355Since: 2.40
51356
51357</description>
51358<parameters>
51359<parameter name="self">
51360<parameter_description> a #GSubprocessLauncher
51361</parameter_description>
51362</parameter>
51363<parameter name="child_setup">
51364<parameter_description> a #GSpawnChildSetupFunc to use as the child setup function
51365</parameter_description>
51366</parameter>
51367<parameter name="user_data">
51368<parameter_description> user data for @child_setup
51369</parameter_description>
51370</parameter>
51371<parameter name="destroy_notify">
51372<parameter_description> a #GDestroyNotify for @user_data
51373</parameter_description>
51374</parameter>
51375</parameters>
51376<return></return>
51377</function>
51378
51379<function name="g_subprocess_launcher_set_cwd">
51380<description>
51381Sets the current working directory that processes will be launched
51382with.
51383
51384By default processes are launched with the current working directory
51385of the launching process at the time of launch.
51386
51387Since: 2.40
51388
51389</description>
51390<parameters>
51391<parameter name="self">
51392<parameter_description> a #GSubprocessLauncher
51393</parameter_description>
51394</parameter>
51395<parameter name="cwd">
51396<parameter_description> the cwd for launched processes
51397</parameter_description>
51398</parameter>
51399</parameters>
51400<return></return>
51401</function>
51402
51403<function name="g_subprocess_launcher_set_environ">
51404<description>
51405Replace the entire environment of processes launched from this
51406launcher with the given 'environ' variable.
51407
51408Typically you will build this variable by using g_listenv() to copy
51409the process 'environ' and using the functions g_environ_setenv(),
51410g_environ_unsetenv(), etc.
51411
51412As an alternative, you can use g_subprocess_launcher_setenv(),
51413g_subprocess_launcher_unsetenv(), etc.
51414
51415Pass an empty array to set an empty environment. Pass %NULL to inherit the
51416parent process’ environment. As of GLib 2.54, the parent process’ environment
51417will be copied when g_subprocess_launcher_set_environ() is called.
51418Previously, it was copied when the subprocess was executed. This means the
51419copied environment may now be modified (using g_subprocess_launcher_setenv(),
51420etc.) before launching the subprocess.
51421
51422On UNIX, all strings in this array can be arbitrary byte strings.
51423On Windows, they should be in UTF-8.
51424
51425Since: 2.40
51426
51427</description>
51428<parameters>
51429<parameter name="self">
51430<parameter_description> a #GSubprocessLauncher
51431</parameter_description>
51432</parameter>
51433<parameter name="env">
51434<parameter_description>
51435the replacement environment
51436</parameter_description>
51437</parameter>
51438</parameters>
51439<return></return>
51440</function>
51441
51442<function name="g_subprocess_launcher_set_flags">
51443<description>
51444Sets the flags on the launcher.
51445
51446The default flags are %G_SUBPROCESS_FLAGS_NONE.
51447
51448You may not set flags that specify conflicting options for how to
51449handle a particular stdio stream (eg: specifying both
51450%G_SUBPROCESS_FLAGS_STDIN_PIPE and
51451%G_SUBPROCESS_FLAGS_STDIN_INHERIT).
51452
51453You may also not set a flag that conflicts with a previous call to a
51454function like g_subprocess_launcher_set_stdin_file_path() or
51455g_subprocess_launcher_take_stdout_fd().
51456
51457Since: 2.40
51458
51459</description>
51460<parameters>
51461<parameter name="self">
51462<parameter_description> a #GSubprocessLauncher
51463</parameter_description>
51464</parameter>
51465<parameter name="flags">
51466<parameter_description> #GSubprocessFlags
51467</parameter_description>
51468</parameter>
51469</parameters>
51470<return></return>
51471</function>
51472
51473<function name="g_subprocess_launcher_set_stderr_file_path">
51474<description>
51475Sets the file path to use as the stderr for spawned processes.
51476
51477If @path is %NULL then any previously given path is unset.
51478
51479The file will be created or truncated when the process is spawned, as
51480would be the case if using '2&gt;' at the shell.
51481
51482If you want to send both stdout and stderr to the same file then use
51483%G_SUBPROCESS_FLAGS_STDERR_MERGE.
51484
51485You may not set a stderr file path if a stderr fd is already set or
51486if the launcher flags contain any flags directing stderr elsewhere.
51487
51488This feature is only available on UNIX.
51489
51490Since: 2.40
51491
51492</description>
51493<parameters>
51494<parameter name="self">
51495<parameter_description> a #GSubprocessLauncher
51496</parameter_description>
51497</parameter>
51498<parameter name="path">
51499<parameter_description> a filename or %NULL
51500</parameter_description>
51501</parameter>
51502</parameters>
51503<return></return>
51504</function>
51505
51506<function name="g_subprocess_launcher_set_stdin_file_path">
51507<description>
51508Sets the file path to use as the stdin for spawned processes.
51509
51510If @path is %NULL then any previously given path is unset.
51511
51512The file must exist or spawning the process will fail.
51513
51514You may not set a stdin file path if a stdin fd is already set or if
51515the launcher flags contain any flags directing stdin elsewhere.
51516
51517This feature is only available on UNIX.
51518
51519Since: 2.40
51520
51521</description>
51522<parameters>
51523<parameter name="self">
51524<parameter_description> a #GSubprocessLauncher
51525</parameter_description>
51526</parameter>
51527<parameter name="path">
51528<parameter_description> (type filename) (nullable: a filename or %NULL
51529</parameter_description>
51530</parameter>
51531</parameters>
51532<return></return>
51533</function>
51534
51535<function name="g_subprocess_launcher_set_stdout_file_path">
51536<description>
51537Sets the file path to use as the stdout for spawned processes.
51538
51539If @path is %NULL then any previously given path is unset.
51540
51541The file will be created or truncated when the process is spawned, as
51542would be the case if using '&gt;' at the shell.
51543
51544You may not set a stdout file path if a stdout fd is already set or
51545if the launcher flags contain any flags directing stdout elsewhere.
51546
51547This feature is only available on UNIX.
51548
51549Since: 2.40
51550
51551</description>
51552<parameters>
51553<parameter name="self">
51554<parameter_description> a #GSubprocessLauncher
51555</parameter_description>
51556</parameter>
51557<parameter name="path">
51558<parameter_description> a filename or %NULL
51559</parameter_description>
51560</parameter>
51561</parameters>
51562<return></return>
51563</function>
51564
51565<function name="g_subprocess_launcher_setenv">
51566<description>
51567Sets the environment variable @variable in the environment of
51568processes launched from this launcher.
51569
51570On UNIX, both the variable's name and value can be arbitrary byte
51571strings, except that the variable's name cannot contain '='.
51572On Windows, they should be in UTF-8.
51573
51574Since: 2.40
51575
51576</description>
51577<parameters>
51578<parameter name="self">
51579<parameter_description> a #GSubprocessLauncher
51580</parameter_description>
51581</parameter>
51582<parameter name="variable">
51583<parameter_description> the environment variable to set,
51584must not contain '='
51585</parameter_description>
51586</parameter>
51587<parameter name="value">
51588<parameter_description> the new value for the variable
51589</parameter_description>
51590</parameter>
51591<parameter name="overwrite">
51592<parameter_description> whether to change the variable if it already exists
51593</parameter_description>
51594</parameter>
51595</parameters>
51596<return></return>
51597</function>
51598
51599<function name="g_subprocess_launcher_spawn">
51600<description>
51601Creates a #GSubprocess given a provided varargs list of arguments.
51602
51603Since: 2.40
51604
51605</description>
51606<parameters>
51607<parameter name="self">
51608<parameter_description> a #GSubprocessLauncher
51609</parameter_description>
51610</parameter>
51611<parameter name="error">
51612<parameter_description> Error
51613</parameter_description>
51614</parameter>
51615<parameter name="argv0">
51616<parameter_description> Command line arguments
51617</parameter_description>
51618</parameter>
51619<parameter name="Varargs">
51620<parameter_description> Continued arguments, %NULL terminated
51621</parameter_description>
51622</parameter>
51623</parameters>
51624<return> A new #GSubprocess, or %NULL on error (and @error will be set)
51625</return>
51626</function>
51627
51628<function name="g_subprocess_launcher_spawnv">
51629<description>
51630Creates a #GSubprocess given a provided array of arguments.
51631
51632Since: 2.40
51633
51634</description>
51635<parameters>
51636<parameter name="self">
51637<parameter_description> a #GSubprocessLauncher
51638</parameter_description>
51639</parameter>
51640<parameter name="argv">
51641<parameter_description> Command line arguments
51642</parameter_description>
51643</parameter>
51644<parameter name="error">
51645<parameter_description> Error
51646</parameter_description>
51647</parameter>
51648</parameters>
51649<return> A new #GSubprocess, or %NULL on error (and @error will be set)
51650</return>
51651</function>
51652
51653<function name="g_subprocess_launcher_take_fd">
51654<description>
51655Transfer an arbitrary file descriptor from parent process to the
51656child.  This function takes &quot;ownership&quot; of the fd; it will be closed
51657in the parent when @self is freed.
51658
51659By default, all file descriptors from the parent will be closed.
51660This function allows you to create (for example) a custom pipe() or
51661socketpair() before launching the process, and choose the target
51662descriptor in the child.
51663
51664An example use case is GNUPG, which has a command line argument
51665--passphrase-fd providing a file descriptor number where it expects
51666the passphrase to be written.
51667
51668</description>
51669<parameters>
51670<parameter name="self">
51671<parameter_description> a #GSubprocessLauncher
51672</parameter_description>
51673</parameter>
51674<parameter name="source_fd">
51675<parameter_description> File descriptor in parent process
51676</parameter_description>
51677</parameter>
51678<parameter name="target_fd">
51679<parameter_description> Target descriptor for child process
51680</parameter_description>
51681</parameter>
51682</parameters>
51683<return></return>
51684</function>
51685
51686<function name="g_subprocess_launcher_take_stderr_fd">
51687<description>
51688Sets the file descriptor to use as the stderr for spawned processes.
51689
51690If @fd is -1 then any previously given fd is unset.
51691
51692Note that the default behaviour is to pass stderr through to the
51693stderr of the parent process.
51694
51695The passed @fd belongs to the #GSubprocessLauncher.  It will be
51696automatically closed when the launcher is finalized.  The file
51697descriptor will also be closed on the child side when executing the
51698spawned process.
51699
51700You may not set a stderr fd if a stderr file path is already set or
51701if the launcher flags contain any flags directing stderr elsewhere.
51702
51703This feature is only available on UNIX.
51704
51705Since: 2.40
51706
51707</description>
51708<parameters>
51709<parameter name="self">
51710<parameter_description> a #GSubprocessLauncher
51711</parameter_description>
51712</parameter>
51713<parameter name="fd">
51714<parameter_description> a file descriptor, or -1
51715</parameter_description>
51716</parameter>
51717</parameters>
51718<return></return>
51719</function>
51720
51721<function name="g_subprocess_launcher_take_stdin_fd">
51722<description>
51723Sets the file descriptor to use as the stdin for spawned processes.
51724
51725If @fd is -1 then any previously given fd is unset.
51726
51727Note that if your intention is to have the stdin of the calling
51728process inherited by the child then %G_SUBPROCESS_FLAGS_STDIN_INHERIT
51729is a better way to go about doing that.
51730
51731The passed @fd is noted but will not be touched in the current
51732process.  It is therefore necessary that it be kept open by the
51733caller until the subprocess is spawned.  The file descriptor will
51734also not be explicitly closed on the child side, so it must be marked
51735O_CLOEXEC if that's what you want.
51736
51737You may not set a stdin fd if a stdin file path is already set or if
51738the launcher flags contain any flags directing stdin elsewhere.
51739
51740This feature is only available on UNIX.
51741
51742Since: 2.40
51743
51744</description>
51745<parameters>
51746<parameter name="self">
51747<parameter_description> a #GSubprocessLauncher
51748</parameter_description>
51749</parameter>
51750<parameter name="fd">
51751<parameter_description> a file descriptor, or -1
51752</parameter_description>
51753</parameter>
51754</parameters>
51755<return></return>
51756</function>
51757
51758<function name="g_subprocess_launcher_take_stdout_fd">
51759<description>
51760Sets the file descriptor to use as the stdout for spawned processes.
51761
51762If @fd is -1 then any previously given fd is unset.
51763
51764Note that the default behaviour is to pass stdout through to the
51765stdout of the parent process.
51766
51767The passed @fd is noted but will not be touched in the current
51768process.  It is therefore necessary that it be kept open by the
51769caller until the subprocess is spawned.  The file descriptor will
51770also not be explicitly closed on the child side, so it must be marked
51771O_CLOEXEC if that's what you want.
51772
51773You may not set a stdout fd if a stdout file path is already set or
51774if the launcher flags contain any flags directing stdout elsewhere.
51775
51776This feature is only available on UNIX.
51777
51778Since: 2.40
51779
51780</description>
51781<parameters>
51782<parameter name="self">
51783<parameter_description> a #GSubprocessLauncher
51784</parameter_description>
51785</parameter>
51786<parameter name="fd">
51787<parameter_description> a file descriptor, or -1
51788</parameter_description>
51789</parameter>
51790</parameters>
51791<return></return>
51792</function>
51793
51794<function name="g_subprocess_launcher_unsetenv">
51795<description>
51796Removes the environment variable @variable from the environment of
51797processes launched from this launcher.
51798
51799On UNIX, the variable's name can be an arbitrary byte string not
51800containing '='. On Windows, it should be in UTF-8.
51801
51802Since: 2.40
51803
51804</description>
51805<parameters>
51806<parameter name="self">
51807<parameter_description> a #GSubprocessLauncher
51808</parameter_description>
51809</parameter>
51810<parameter name="variable">
51811<parameter_description> the environment variable to unset,
51812must not contain '='
51813</parameter_description>
51814</parameter>
51815</parameters>
51816<return></return>
51817</function>
51818
51819<function name="g_subprocess_new">
51820<description>
51821Create a new process with the given flags and varargs argument
51822list.  By default, matching the g_spawn_async() defaults, the
51823child's stdin will be set to the system null device, and
51824stdout/stderr will be inherited from the parent.  You can use
51825@flags to control this behavior.
51826
51827The argument list must be terminated with %NULL.
51828
51829Since: 2.40
51830
51831</description>
51832<parameters>
51833<parameter name="flags">
51834<parameter_description> flags that define the behaviour of the subprocess
51835</parameter_description>
51836</parameter>
51837<parameter name="error">
51838<parameter_description> return location for an error, or %NULL
51839</parameter_description>
51840</parameter>
51841<parameter name="argv0">
51842<parameter_description> first commandline argument to pass to the subprocess
51843</parameter_description>
51844</parameter>
51845<parameter name="Varargs">
51846<parameter_description>   more commandline arguments, followed by %NULL
51847</parameter_description>
51848</parameter>
51849</parameters>
51850<return> A newly created #GSubprocess, or %NULL on error (and @error
51851will be set)
51852
51853</return>
51854</function>
51855
51856<function name="g_subprocess_newv">
51857<description>
51858Create a new process with the given flags and argument list.
51859
51860The argument list is expected to be %NULL-terminated.
51861
51862Since: 2.40
51863
51864</description>
51865<parameters>
51866<parameter name="argv">
51867<parameter_description> commandline arguments for the subprocess
51868</parameter_description>
51869</parameter>
51870<parameter name="flags">
51871<parameter_description> flags that define the behaviour of the subprocess
51872</parameter_description>
51873</parameter>
51874<parameter name="error">
51875<parameter_description> return location for an error, or %NULL
51876</parameter_description>
51877</parameter>
51878</parameters>
51879<return> A newly created #GSubprocess, or %NULL on error (and @error
51880will be set)
51881
51882</return>
51883</function>
51884
51885<function name="g_subprocess_send_signal">
51886<description>
51887Sends the UNIX signal @signal_num to the subprocess, if it is still
51888running.
51889
51890This API is race-free.  If the subprocess has terminated, it will not
51891be signalled.
51892
51893This API is not available on Windows.
51894
51895Since: 2.40
51896
51897</description>
51898<parameters>
51899<parameter name="subprocess">
51900<parameter_description> a #GSubprocess
51901</parameter_description>
51902</parameter>
51903<parameter name="signal_num">
51904<parameter_description> the signal number to send
51905</parameter_description>
51906</parameter>
51907</parameters>
51908<return></return>
51909</function>
51910
51911<function name="g_subprocess_wait">
51912<description>
51913Synchronously wait for the subprocess to terminate.
51914
51915After the process terminates you can query its exit status with
51916functions such as g_subprocess_get_if_exited() and
51917g_subprocess_get_exit_status().
51918
51919This function does not fail in the case of the subprocess having
51920abnormal termination.  See g_subprocess_wait_check() for that.
51921
51922Cancelling @cancellable doesn't kill the subprocess.  Call
51923g_subprocess_force_exit() if it is desirable.
51924
51925Since: 2.40
51926
51927</description>
51928<parameters>
51929<parameter name="subprocess">
51930<parameter_description> a #GSubprocess
51931</parameter_description>
51932</parameter>
51933<parameter name="cancellable">
51934<parameter_description> a #GCancellable
51935</parameter_description>
51936</parameter>
51937<parameter name="error">
51938<parameter_description> a #GError
51939</parameter_description>
51940</parameter>
51941</parameters>
51942<return> %TRUE on success, %FALSE if @cancellable was cancelled
51943
51944</return>
51945</function>
51946
51947<function name="g_subprocess_wait_async">
51948<description>
51949Wait for the subprocess to terminate.
51950
51951This is the asynchronous version of g_subprocess_wait().
51952
51953Since: 2.40
51954
51955</description>
51956<parameters>
51957<parameter name="subprocess">
51958<parameter_description> a #GSubprocess
51959</parameter_description>
51960</parameter>
51961<parameter name="cancellable">
51962<parameter_description> a #GCancellable, or %NULL
51963</parameter_description>
51964</parameter>
51965<parameter name="callback">
51966<parameter_description> a #GAsyncReadyCallback to call when the operation is complete
51967</parameter_description>
51968</parameter>
51969<parameter name="user_data">
51970<parameter_description> user_data for @callback
51971</parameter_description>
51972</parameter>
51973</parameters>
51974<return></return>
51975</function>
51976
51977<function name="g_subprocess_wait_check">
51978<description>
51979Combines g_subprocess_wait() with g_spawn_check_exit_status().
51980
51981Since: 2.40
51982
51983</description>
51984<parameters>
51985<parameter name="subprocess">
51986<parameter_description> a #GSubprocess
51987</parameter_description>
51988</parameter>
51989<parameter name="cancellable">
51990<parameter_description> a #GCancellable
51991</parameter_description>
51992</parameter>
51993<parameter name="error">
51994<parameter_description> a #GError
51995</parameter_description>
51996</parameter>
51997</parameters>
51998<return> %TRUE on success, %FALSE if process exited abnormally, or
51999@cancellable was cancelled
52000
52001</return>
52002</function>
52003
52004<function name="g_subprocess_wait_check_async">
52005<description>
52006Combines g_subprocess_wait_async() with g_spawn_check_exit_status().
52007
52008This is the asynchronous version of g_subprocess_wait_check().
52009
52010Since: 2.40
52011
52012</description>
52013<parameters>
52014<parameter name="subprocess">
52015<parameter_description> a #GSubprocess
52016</parameter_description>
52017</parameter>
52018<parameter name="cancellable">
52019<parameter_description> a #GCancellable, or %NULL
52020</parameter_description>
52021</parameter>
52022<parameter name="callback">
52023<parameter_description> a #GAsyncReadyCallback to call when the operation is complete
52024</parameter_description>
52025</parameter>
52026<parameter name="user_data">
52027<parameter_description> user_data for @callback
52028</parameter_description>
52029</parameter>
52030</parameters>
52031<return></return>
52032</function>
52033
52034<function name="g_subprocess_wait_check_finish">
52035<description>
52036Collects the result of a previous call to
52037g_subprocess_wait_check_async().
52038
52039Since: 2.40
52040
52041</description>
52042<parameters>
52043<parameter name="subprocess">
52044<parameter_description> a #GSubprocess
52045</parameter_description>
52046</parameter>
52047<parameter name="result">
52048<parameter_description> the #GAsyncResult passed to your #GAsyncReadyCallback
52049</parameter_description>
52050</parameter>
52051<parameter name="error">
52052<parameter_description> a pointer to a %NULL #GError, or %NULL
52053</parameter_description>
52054</parameter>
52055</parameters>
52056<return> %TRUE if successful, or %FALSE with @error set
52057
52058</return>
52059</function>
52060
52061<function name="g_subprocess_wait_finish">
52062<description>
52063Collects the result of a previous call to
52064g_subprocess_wait_async().
52065
52066Since: 2.40
52067
52068</description>
52069<parameters>
52070<parameter name="subprocess">
52071<parameter_description> a #GSubprocess
52072</parameter_description>
52073</parameter>
52074<parameter name="result">
52075<parameter_description> the #GAsyncResult passed to your #GAsyncReadyCallback
52076</parameter_description>
52077</parameter>
52078<parameter name="error">
52079<parameter_description> a pointer to a %NULL #GError, or %NULL
52080</parameter_description>
52081</parameter>
52082</parameters>
52083<return> %TRUE if successful, or %FALSE with @error set
52084
52085</return>
52086</function>
52087
52088<function name="g_task_attach_source">
52089<description>
52090A utility function for dealing with async operations where you need
52091to wait for a #GSource to trigger. Attaches @source to @task's
52092#GMainContext with @task's [priority][io-priority], and sets @source's
52093callback to @callback, with @task as the callback's `user_data`.
52094
52095It will set the @source’s name to the task’s name (as set with
52096g_task_set_name()), if one has been set.
52097
52098This takes a reference on @task until @source is destroyed.
52099
52100Since: 2.36
52101
52102</description>
52103<parameters>
52104<parameter name="task">
52105<parameter_description> a #GTask
52106</parameter_description>
52107</parameter>
52108<parameter name="source">
52109<parameter_description> the source to attach
52110</parameter_description>
52111</parameter>
52112<parameter name="callback">
52113<parameter_description> the callback to invoke when @source triggers
52114</parameter_description>
52115</parameter>
52116</parameters>
52117<return></return>
52118</function>
52119
52120<function name="g_task_get_cancellable">
52121<description>
52122Gets @task's #GCancellable
52123
52124Since: 2.36
52125
52126</description>
52127<parameters>
52128<parameter name="task">
52129<parameter_description> a #GTask
52130</parameter_description>
52131</parameter>
52132</parameters>
52133<return> @task's #GCancellable
52134
52135</return>
52136</function>
52137
52138<function name="g_task_get_check_cancellable">
52139<description>
52140Gets @task's check-cancellable flag. See
52141g_task_set_check_cancellable() for more details.
52142
52143Since: 2.36
52144
52145</description>
52146<parameters>
52147<parameter name="task">
52148<parameter_description> the #GTask
52149</parameter_description>
52150</parameter>
52151</parameters>
52152<return></return>
52153</function>
52154
52155<function name="g_task_get_completed">
52156<description>
52157Gets the value of #GTask:completed. This changes from %FALSE to %TRUE after
52158the task’s callback is invoked, and will return %FALSE if called from inside
52159the callback.
52160
52161Since: 2.44
52162
52163</description>
52164<parameters>
52165<parameter name="task">
52166<parameter_description> a #GTask.
52167</parameter_description>
52168</parameter>
52169</parameters>
52170<return> %TRUE if the task has completed, %FALSE otherwise.
52171
52172</return>
52173</function>
52174
52175<function name="g_task_get_context">
52176<description>
52177Gets the #GMainContext that @task will return its result in (that
52178is, the context that was the
52179[thread-default main context][g-main-context-push-thread-default]
52180at the point when @task was created).
52181
52182This will always return a non-%NULL value, even if the task's
52183context is the default #GMainContext.
52184
52185Since: 2.36
52186
52187</description>
52188<parameters>
52189<parameter name="task">
52190<parameter_description> a #GTask
52191</parameter_description>
52192</parameter>
52193</parameters>
52194<return> @task's #GMainContext
52195
52196</return>
52197</function>
52198
52199<function name="g_task_get_name">
52200<description>
52201Gets @task’s name. See g_task_set_name().
52202
52203Since: 2.60
52204
52205</description>
52206<parameters>
52207<parameter name="task">
52208<parameter_description> a #GTask
52209</parameter_description>
52210</parameter>
52211</parameters>
52212<return> @task’s name, or %NULL
52213</return>
52214</function>
52215
52216<function name="g_task_get_priority">
52217<description>
52218Gets @task's priority
52219
52220Since: 2.36
52221
52222</description>
52223<parameters>
52224<parameter name="task">
52225<parameter_description> a #GTask
52226</parameter_description>
52227</parameter>
52228</parameters>
52229<return> @task's priority
52230
52231</return>
52232</function>
52233
52234<function name="g_task_get_return_on_cancel">
52235<description>
52236Gets @task's return-on-cancel flag. See
52237g_task_set_return_on_cancel() for more details.
52238
52239Since: 2.36
52240
52241</description>
52242<parameters>
52243<parameter name="task">
52244<parameter_description> the #GTask
52245</parameter_description>
52246</parameter>
52247</parameters>
52248<return></return>
52249</function>
52250
52251<function name="g_task_get_source_object">
52252<description>
52253Gets the source object from @task. Like
52254g_async_result_get_source_object(), but does not ref the object.
52255
52256Since: 2.36
52257
52258</description>
52259<parameters>
52260<parameter name="task">
52261<parameter_description> a #GTask
52262</parameter_description>
52263</parameter>
52264</parameters>
52265<return> @task's source object, or %NULL
52266
52267</return>
52268</function>
52269
52270<function name="g_task_get_source_tag">
52271<description>
52272Gets @task's source tag. See g_task_set_source_tag().
52273
52274Since: 2.36
52275
52276</description>
52277<parameters>
52278<parameter name="task">
52279<parameter_description> a #GTask
52280</parameter_description>
52281</parameter>
52282</parameters>
52283<return> @task's source tag
52284
52285</return>
52286</function>
52287
52288<function name="g_task_get_task_data">
52289<description>
52290Gets @task's `task_data`.
52291
52292Since: 2.36
52293
52294</description>
52295<parameters>
52296<parameter name="task">
52297<parameter_description> a #GTask
52298</parameter_description>
52299</parameter>
52300</parameters>
52301<return> @task's `task_data`.
52302
52303</return>
52304</function>
52305
52306<function name="g_task_had_error">
52307<description>
52308Tests if @task resulted in an error.
52309
52310Since: 2.36
52311
52312</description>
52313<parameters>
52314<parameter name="task">
52315<parameter_description> a #GTask.
52316</parameter_description>
52317</parameter>
52318</parameters>
52319<return> %TRUE if the task resulted in an error, %FALSE otherwise.
52320
52321</return>
52322</function>
52323
52324<function name="g_task_is_valid">
52325<description>
52326Checks that @result is a #GTask, and that @source_object is its
52327source object (or that @source_object is %NULL and @result has no
52328source object). This can be used in g_return_if_fail() checks.
52329
52330Since: 2.36
52331
52332</description>
52333<parameters>
52334<parameter name="result">
52335<parameter_description> A #GAsyncResult
52336</parameter_description>
52337</parameter>
52338<parameter name="source_object">
52339<parameter_description> the source object
52340expected to be associated with the task
52341</parameter_description>
52342</parameter>
52343</parameters>
52344<return> %TRUE if @result and @source_object are valid, %FALSE
52345if not
52346
52347</return>
52348</function>
52349
52350<function name="g_task_new">
52351<description>
52352Creates a #GTask acting on @source_object, which will eventually be
52353used to invoke @callback in the current
52354[thread-default main context][g-main-context-push-thread-default].
52355
52356Call this in the &quot;start&quot; method of your asynchronous method, and
52357pass the #GTask around throughout the asynchronous operation. You
52358can use g_task_set_task_data() to attach task-specific data to the
52359object, which you can retrieve later via g_task_get_task_data().
52360
52361By default, if @cancellable is cancelled, then the return value of
52362the task will always be %G_IO_ERROR_CANCELLED, even if the task had
52363already completed before the cancellation. This allows for
52364simplified handling in cases where cancellation may imply that
52365other objects that the task depends on have been destroyed. If you
52366do not want this behavior, you can use
52367g_task_set_check_cancellable() to change it.
52368
52369Since: 2.36
52370
52371</description>
52372<parameters>
52373<parameter name="source_object">
52374<parameter_description> the #GObject that owns
52375this task, or %NULL.
52376</parameter_description>
52377</parameter>
52378<parameter name="cancellable">
52379<parameter_description> optional #GCancellable object, %NULL to ignore.
52380</parameter_description>
52381</parameter>
52382<parameter name="callback">
52383<parameter_description> a #GAsyncReadyCallback.
52384</parameter_description>
52385</parameter>
52386<parameter name="callback_data">
52387<parameter_description> user data passed to @callback.
52388</parameter_description>
52389</parameter>
52390</parameters>
52391<return> a #GTask.
52392
52393</return>
52394</function>
52395
52396<function name="g_task_propagate_boolean">
52397<description>
52398Gets the result of @task as a #gboolean.
52399
52400If the task resulted in an error, or was cancelled, then this will
52401instead return %FALSE and set @error.
52402
52403Since this method transfers ownership of the return value (or
52404error) to the caller, you may only call it once.
52405
52406Since: 2.36
52407
52408</description>
52409<parameters>
52410<parameter name="task">
52411<parameter_description> a #GTask.
52412</parameter_description>
52413</parameter>
52414<parameter name="error">
52415<parameter_description> return location for a #GError
52416</parameter_description>
52417</parameter>
52418</parameters>
52419<return> the task result, or %FALSE on error
52420
52421</return>
52422</function>
52423
52424<function name="g_task_propagate_int">
52425<description>
52426Gets the result of @task as an integer (#gssize).
52427
52428If the task resulted in an error, or was cancelled, then this will
52429instead return -1 and set @error.
52430
52431Since this method transfers ownership of the return value (or
52432error) to the caller, you may only call it once.
52433
52434Since: 2.36
52435
52436</description>
52437<parameters>
52438<parameter name="task">
52439<parameter_description> a #GTask.
52440</parameter_description>
52441</parameter>
52442<parameter name="error">
52443<parameter_description> return location for a #GError
52444</parameter_description>
52445</parameter>
52446</parameters>
52447<return> the task result, or -1 on error
52448
52449</return>
52450</function>
52451
52452<function name="g_task_propagate_pointer">
52453<description>
52454Gets the result of @task as a pointer, and transfers ownership
52455of that value to the caller.
52456
52457If the task resulted in an error, or was cancelled, then this will
52458instead return %NULL and set @error.
52459
52460Since this method transfers ownership of the return value (or
52461error) to the caller, you may only call it once.
52462
52463Since: 2.36
52464
52465</description>
52466<parameters>
52467<parameter name="task">
52468<parameter_description> a #GTask
52469</parameter_description>
52470</parameter>
52471<parameter name="error">
52472<parameter_description> return location for a #GError
52473</parameter_description>
52474</parameter>
52475</parameters>
52476<return> the task result, or %NULL on error
52477
52478</return>
52479</function>
52480
52481<function name="g_task_propagate_value">
52482<description>
52483Gets the result of @task as a #GValue, and transfers ownership of
52484that value to the caller. As with g_task_return_value(), this is
52485a generic low-level method; g_task_propagate_pointer() and the like
52486will usually be more useful for C code.
52487
52488If the task resulted in an error, or was cancelled, then this will
52489instead set @error and return %FALSE.
52490
52491Since this method transfers ownership of the return value (or
52492error) to the caller, you may only call it once.
52493
52494Since: 2.64
52495
52496</description>
52497<parameters>
52498<parameter name="task">
52499<parameter_description> a #GTask
52500</parameter_description>
52501</parameter>
52502<parameter name="value">
52503<parameter_description> return location for the #GValue
52504</parameter_description>
52505</parameter>
52506<parameter name="error">
52507<parameter_description> return location for a #GError
52508</parameter_description>
52509</parameter>
52510</parameters>
52511<return> %TRUE if @task succeeded, %FALSE on error.
52512
52513</return>
52514</function>
52515
52516<function name="g_task_report_error">
52517<description>
52518Creates a #GTask and then immediately calls g_task_return_error()
52519on it. Use this in the wrapper function of an asynchronous method
52520when you want to avoid even calling the virtual method. You can
52521then use g_async_result_is_tagged() in the finish method wrapper to
52522check if the result there is tagged as having been created by the
52523wrapper method, and deal with it appropriately if so.
52524
52525See also g_task_report_new_error().
52526
52527Since: 2.36
52528
52529</description>
52530<parameters>
52531<parameter name="source_object">
52532<parameter_description> the #GObject that owns
52533this task, or %NULL.
52534</parameter_description>
52535</parameter>
52536<parameter name="callback">
52537<parameter_description> a #GAsyncReadyCallback.
52538</parameter_description>
52539</parameter>
52540<parameter name="callback_data">
52541<parameter_description> user data passed to @callback.
52542</parameter_description>
52543</parameter>
52544<parameter name="source_tag">
52545<parameter_description> an opaque pointer indicating the source of this task
52546</parameter_description>
52547</parameter>
52548<parameter name="error">
52549<parameter_description> error to report
52550</parameter_description>
52551</parameter>
52552</parameters>
52553<return></return>
52554</function>
52555
52556<function name="g_task_report_new_error">
52557<description>
52558Creates a #GTask and then immediately calls
52559g_task_return_new_error() on it. Use this in the wrapper function
52560of an asynchronous method when you want to avoid even calling the
52561virtual method. You can then use g_async_result_is_tagged() in the
52562finish method wrapper to check if the result there is tagged as
52563having been created by the wrapper method, and deal with it
52564appropriately if so.
52565
52566See also g_task_report_error().
52567
52568Since: 2.36
52569
52570</description>
52571<parameters>
52572<parameter name="source_object">
52573<parameter_description> the #GObject that owns
52574this task, or %NULL.
52575</parameter_description>
52576</parameter>
52577<parameter name="callback">
52578<parameter_description> a #GAsyncReadyCallback.
52579</parameter_description>
52580</parameter>
52581<parameter name="callback_data">
52582<parameter_description> user data passed to @callback.
52583</parameter_description>
52584</parameter>
52585<parameter name="source_tag">
52586<parameter_description> an opaque pointer indicating the source of this task
52587</parameter_description>
52588</parameter>
52589<parameter name="domain">
52590<parameter_description> a #GQuark.
52591</parameter_description>
52592</parameter>
52593<parameter name="code">
52594<parameter_description> an error code.
52595</parameter_description>
52596</parameter>
52597<parameter name="format">
52598<parameter_description> a string with format characters.
52599</parameter_description>
52600</parameter>
52601<parameter name="Varargs">
52602<parameter_description> a list of values to insert into @format.
52603</parameter_description>
52604</parameter>
52605</parameters>
52606<return></return>
52607</function>
52608
52609<function name="g_task_return_boolean">
52610<description>
52611Sets @task's result to @result and completes the task (see
52612g_task_return_pointer() for more discussion of exactly what this
52613means).
52614
52615Since: 2.36
52616
52617</description>
52618<parameters>
52619<parameter name="task">
52620<parameter_description> a #GTask.
52621</parameter_description>
52622</parameter>
52623<parameter name="result">
52624<parameter_description> the #gboolean result of a task function.
52625</parameter_description>
52626</parameter>
52627</parameters>
52628<return></return>
52629</function>
52630
52631<function name="g_task_return_error">
52632<description>
52633Sets @task's result to @error (which @task assumes ownership of)
52634and completes the task (see g_task_return_pointer() for more
52635discussion of exactly what this means).
52636
52637Note that since the task takes ownership of @error, and since the
52638task may be completed before returning from g_task_return_error(),
52639you cannot assume that @error is still valid after calling this.
52640Call g_error_copy() on the error if you need to keep a local copy
52641as well.
52642
52643See also g_task_return_new_error().
52644
52645Since: 2.36
52646
52647</description>
52648<parameters>
52649<parameter name="task">
52650<parameter_description> a #GTask.
52651</parameter_description>
52652</parameter>
52653<parameter name="error">
52654<parameter_description> the #GError result of a task function.
52655</parameter_description>
52656</parameter>
52657</parameters>
52658<return></return>
52659</function>
52660
52661<function name="g_task_return_error_if_cancelled">
52662<description>
52663Checks if @task's #GCancellable has been cancelled, and if so, sets
52664@task's error accordingly and completes the task (see
52665g_task_return_pointer() for more discussion of exactly what this
52666means).
52667
52668Since: 2.36
52669
52670</description>
52671<parameters>
52672<parameter name="task">
52673<parameter_description> a #GTask
52674</parameter_description>
52675</parameter>
52676</parameters>
52677<return> %TRUE if @task has been cancelled, %FALSE if not
52678
52679</return>
52680</function>
52681
52682<function name="g_task_return_int">
52683<description>
52684Sets @task's result to @result and completes the task (see
52685g_task_return_pointer() for more discussion of exactly what this
52686means).
52687
52688Since: 2.36
52689
52690</description>
52691<parameters>
52692<parameter name="task">
52693<parameter_description> a #GTask.
52694</parameter_description>
52695</parameter>
52696<parameter name="result">
52697<parameter_description> the integer (#gssize) result of a task function.
52698</parameter_description>
52699</parameter>
52700</parameters>
52701<return></return>
52702</function>
52703
52704<function name="g_task_return_new_error">
52705<description>
52706Sets @task's result to a new #GError created from @domain, @code,
52707@format, and the remaining arguments, and completes the task (see
52708g_task_return_pointer() for more discussion of exactly what this
52709means).
52710
52711See also g_task_return_error().
52712
52713Since: 2.36
52714
52715</description>
52716<parameters>
52717<parameter name="task">
52718<parameter_description> a #GTask.
52719</parameter_description>
52720</parameter>
52721<parameter name="domain">
52722<parameter_description> a #GQuark.
52723</parameter_description>
52724</parameter>
52725<parameter name="code">
52726<parameter_description> an error code.
52727</parameter_description>
52728</parameter>
52729<parameter name="format">
52730<parameter_description> a string with format characters.
52731</parameter_description>
52732</parameter>
52733<parameter name="Varargs">
52734<parameter_description> a list of values to insert into @format.
52735</parameter_description>
52736</parameter>
52737</parameters>
52738<return></return>
52739</function>
52740
52741<function name="g_task_return_pointer">
52742<description>
52743Sets @task's result to @result and completes the task. If @result
52744is not %NULL, then @result_destroy will be used to free @result if
52745the caller does not take ownership of it with
52746g_task_propagate_pointer().
52747
52748&quot;Completes the task&quot; means that for an ordinary asynchronous task
52749it will either invoke the task's callback, or else queue that
52750callback to be invoked in the proper #GMainContext, or in the next
52751iteration of the current #GMainContext. For a task run via
52752g_task_run_in_thread() or g_task_run_in_thread_sync(), calling this
52753method will save @result to be returned to the caller later, but
52754the task will not actually be completed until the #GTaskThreadFunc
52755exits.
52756
52757Note that since the task may be completed before returning from
52758g_task_return_pointer(), you cannot assume that @result is still
52759valid after calling this, unless you are still holding another
52760reference on it.
52761
52762Since: 2.36
52763
52764</description>
52765<parameters>
52766<parameter name="task">
52767<parameter_description> a #GTask
52768</parameter_description>
52769</parameter>
52770<parameter name="result">
52771<parameter_description> the pointer result of a task
52772function
52773</parameter_description>
52774</parameter>
52775<parameter name="result_destroy">
52776<parameter_description> a #GDestroyNotify function.
52777</parameter_description>
52778</parameter>
52779</parameters>
52780<return></return>
52781</function>
52782
52783<function name="g_task_return_value">
52784<description>
52785Sets @task's result to @result (by copying it) and completes the task.
52786
52787If @result is %NULL then a #GValue of type #G_TYPE_POINTER
52788with a value of %NULL will be used for the result.
52789
52790This is a very generic low-level method intended primarily for use
52791by language bindings; for C code, g_task_return_pointer() and the
52792like will normally be much easier to use.
52793
52794Since: 2.64
52795
52796</description>
52797<parameters>
52798<parameter name="task">
52799<parameter_description> a #GTask
52800</parameter_description>
52801</parameter>
52802<parameter name="result">
52803<parameter_description> the #GValue result of
52804a task function
52805</parameter_description>
52806</parameter>
52807</parameters>
52808<return></return>
52809</function>
52810
52811<function name="g_task_run_in_thread">
52812<description>
52813Runs @task_func in another thread. When @task_func returns, @task's
52814#GAsyncReadyCallback will be invoked in @task's #GMainContext.
52815
52816This takes a ref on @task until the task completes.
52817
52818See #GTaskThreadFunc for more details about how @task_func is handled.
52819
52820Although GLib currently rate-limits the tasks queued via
52821g_task_run_in_thread(), you should not assume that it will always
52822do this. If you have a very large number of tasks to run, but don't
52823want them to all run at once, you should only queue a limited
52824number of them at a time.
52825
52826Since: 2.36
52827
52828</description>
52829<parameters>
52830<parameter name="task">
52831<parameter_description> a #GTask
52832</parameter_description>
52833</parameter>
52834<parameter name="task_func">
52835<parameter_description> a #GTaskThreadFunc
52836</parameter_description>
52837</parameter>
52838</parameters>
52839<return></return>
52840</function>
52841
52842<function name="g_task_run_in_thread_sync">
52843<description>
52844Runs @task_func in another thread, and waits for it to return or be
52845cancelled. You can use g_task_propagate_pointer(), etc, afterward
52846to get the result of @task_func.
52847
52848See #GTaskThreadFunc for more details about how @task_func is handled.
52849
52850Normally this is used with tasks created with a %NULL
52851`callback`, but note that even if the task does
52852have a callback, it will not be invoked when @task_func returns.
52853#GTask:completed will be set to %TRUE just before this function returns.
52854
52855Although GLib currently rate-limits the tasks queued via
52856g_task_run_in_thread_sync(), you should not assume that it will
52857always do this. If you have a very large number of tasks to run,
52858but don't want them to all run at once, you should only queue a
52859limited number of them at a time.
52860
52861Since: 2.36
52862
52863</description>
52864<parameters>
52865<parameter name="task">
52866<parameter_description> a #GTask
52867</parameter_description>
52868</parameter>
52869<parameter name="task_func">
52870<parameter_description> a #GTaskThreadFunc
52871</parameter_description>
52872</parameter>
52873</parameters>
52874<return></return>
52875</function>
52876
52877<function name="g_task_set_check_cancellable">
52878<description>
52879Sets or clears @task's check-cancellable flag. If this is %TRUE
52880(the default), then g_task_propagate_pointer(), etc, and
52881g_task_had_error() will check the task's #GCancellable first, and
52882if it has been cancelled, then they will consider the task to have
52883returned an &quot;Operation was cancelled&quot; error
52884(%G_IO_ERROR_CANCELLED), regardless of any other error or return
52885value the task may have had.
52886
52887If @check_cancellable is %FALSE, then the #GTask will not check the
52888cancellable itself, and it is up to @task's owner to do this (eg,
52889via g_task_return_error_if_cancelled()).
52890
52891If you are using g_task_set_return_on_cancel() as well, then
52892you must leave check-cancellable set %TRUE.
52893
52894Since: 2.36
52895
52896</description>
52897<parameters>
52898<parameter name="task">
52899<parameter_description> the #GTask
52900</parameter_description>
52901</parameter>
52902<parameter name="check_cancellable">
52903<parameter_description> whether #GTask will check the state of
52904its #GCancellable for you.
52905</parameter_description>
52906</parameter>
52907</parameters>
52908<return></return>
52909</function>
52910
52911<function name="g_task_set_name">
52912<description>
52913Sets @task’s name, used in debugging and profiling. The name defaults to
52914%NULL.
52915
52916The task name should describe in a human readable way what the task does.
52917For example, ‘Open file’ or ‘Connect to network host’. It is used to set the
52918name of the #GSource used for idle completion of the task.
52919
52920This function may only be called before the @task is first used in a thread
52921other than the one it was constructed in.
52922
52923Since: 2.60
52924
52925</description>
52926<parameters>
52927<parameter name="task">
52928<parameter_description> a #GTask
52929</parameter_description>
52930</parameter>
52931<parameter name="name">
52932<parameter_description> a human readable name for the task, or %NULL to unset it
52933</parameter_description>
52934</parameter>
52935</parameters>
52936<return></return>
52937</function>
52938
52939<function name="g_task_set_priority">
52940<description>
52941Sets @task's priority. If you do not call this, it will default to
52942%G_PRIORITY_DEFAULT.
52943
52944This will affect the priority of #GSources created with
52945g_task_attach_source() and the scheduling of tasks run in threads,
52946and can also be explicitly retrieved later via
52947g_task_get_priority().
52948
52949Since: 2.36
52950
52951</description>
52952<parameters>
52953<parameter name="task">
52954<parameter_description> the #GTask
52955</parameter_description>
52956</parameter>
52957<parameter name="priority">
52958<parameter_description> the [priority][io-priority] of the request
52959</parameter_description>
52960</parameter>
52961</parameters>
52962<return></return>
52963</function>
52964
52965<function name="g_task_set_return_on_cancel">
52966<description>
52967Sets or clears @task's return-on-cancel flag. This is only
52968meaningful for tasks run via g_task_run_in_thread() or
52969g_task_run_in_thread_sync().
52970
52971If @return_on_cancel is %TRUE, then cancelling @task's
52972#GCancellable will immediately cause it to return, as though the
52973task's #GTaskThreadFunc had called
52974g_task_return_error_if_cancelled() and then returned.
52975
52976This allows you to create a cancellable wrapper around an
52977uninterruptable function. The #GTaskThreadFunc just needs to be
52978careful that it does not modify any externally-visible state after
52979it has been cancelled. To do that, the thread should call
52980g_task_set_return_on_cancel() again to (atomically) set
52981return-on-cancel %FALSE before making externally-visible changes;
52982if the task gets cancelled before the return-on-cancel flag could
52983be changed, g_task_set_return_on_cancel() will indicate this by
52984returning %FALSE.
52985
52986You can disable and re-enable this flag multiple times if you wish.
52987If the task's #GCancellable is cancelled while return-on-cancel is
52988%FALSE, then calling g_task_set_return_on_cancel() to set it %TRUE
52989again will cause the task to be cancelled at that point.
52990
52991If the task's #GCancellable is already cancelled before you call
52992g_task_run_in_thread()/g_task_run_in_thread_sync(), then the
52993#GTaskThreadFunc will still be run (for consistency), but the task
52994will also be completed right away.
52995
52996Since: 2.36
52997
52998</description>
52999<parameters>
53000<parameter name="task">
53001<parameter_description> the #GTask
53002</parameter_description>
53003</parameter>
53004<parameter name="return_on_cancel">
53005<parameter_description> whether the task returns automatically when
53006it is cancelled.
53007</parameter_description>
53008</parameter>
53009</parameters>
53010<return> %TRUE if @task's return-on-cancel flag was changed to
53011match @return_on_cancel. %FALSE if @task has already been
53012cancelled.
53013
53014</return>
53015</function>
53016
53017<function name="g_task_set_source_tag">
53018<description>
53019Sets @task's source tag. You can use this to tag a task return
53020value with a particular pointer (usually a pointer to the function
53021doing the tagging) and then later check it using
53022g_task_get_source_tag() (or g_async_result_is_tagged()) in the
53023task's &quot;finish&quot; function, to figure out if the response came from a
53024particular place.
53025
53026Since: 2.36
53027
53028</description>
53029<parameters>
53030<parameter name="task">
53031<parameter_description> the #GTask
53032</parameter_description>
53033</parameter>
53034<parameter name="source_tag">
53035<parameter_description> an opaque pointer indicating the source of this task
53036</parameter_description>
53037</parameter>
53038</parameters>
53039<return></return>
53040</function>
53041
53042<function name="g_task_set_task_data">
53043<description>
53044Sets @task's task data (freeing the existing task data, if any).
53045
53046Since: 2.36
53047
53048</description>
53049<parameters>
53050<parameter name="task">
53051<parameter_description> the #GTask
53052</parameter_description>
53053</parameter>
53054<parameter name="task_data">
53055<parameter_description> task-specific data
53056</parameter_description>
53057</parameter>
53058<parameter name="task_data_destroy">
53059<parameter_description> #GDestroyNotify for @task_data
53060</parameter_description>
53061</parameter>
53062</parameters>
53063<return></return>
53064</function>
53065
53066<function name="g_tcp_connection_get_graceful_disconnect">
53067<description>
53068Checks if graceful disconnects are used. See
53069g_tcp_connection_set_graceful_disconnect().
53070
53071Since: 2.22
53072
53073</description>
53074<parameters>
53075<parameter name="connection">
53076<parameter_description> a #GTcpConnection
53077</parameter_description>
53078</parameter>
53079</parameters>
53080<return> %TRUE if graceful disconnect is used on close, %FALSE otherwise
53081
53082</return>
53083</function>
53084
53085<function name="g_tcp_connection_set_graceful_disconnect">
53086<description>
53087This enables graceful disconnects on close. A graceful disconnect
53088means that we signal the receiving end that the connection is terminated
53089and wait for it to close the connection before closing the connection.
53090
53091A graceful disconnect means that we can be sure that we successfully sent
53092all the outstanding data to the other end, or get an error reported.
53093However, it also means we have to wait for all the data to reach the
53094other side and for it to acknowledge this by closing the socket, which may
53095take a while. For this reason it is disabled by default.
53096
53097Since: 2.22
53098
53099</description>
53100<parameters>
53101<parameter name="connection">
53102<parameter_description> a #GTcpConnection
53103</parameter_description>
53104</parameter>
53105<parameter name="graceful_disconnect">
53106<parameter_description> Whether to do graceful disconnects or not
53107</parameter_description>
53108</parameter>
53109</parameters>
53110<return></return>
53111</function>
53112
53113<function name="g_tcp_wrapper_connection_get_base_io_stream">
53114<description>
53115Get's @conn's base #GIOStream
53116
53117
53118</description>
53119<parameters>
53120<parameter name="conn">
53121<parameter_description> a #GTcpWrapperConnection
53122</parameter_description>
53123</parameter>
53124</parameters>
53125<return> @conn's base #GIOStream
53126</return>
53127</function>
53128
53129<function name="g_tcp_wrapper_connection_new">
53130<description>
53131Wraps @base_io_stream and @socket together as a #GSocketConnection.
53132
53133Since: 2.28
53134
53135</description>
53136<parameters>
53137<parameter name="base_io_stream">
53138<parameter_description> the #GIOStream to wrap
53139</parameter_description>
53140</parameter>
53141<parameter name="socket">
53142<parameter_description> the #GSocket associated with @base_io_stream
53143</parameter_description>
53144</parameter>
53145</parameters>
53146<return> the new #GSocketConnection.
53147
53148</return>
53149</function>
53150
53151<function name="g_test_dbus_add_service_dir">
53152<description>
53153Add a path where dbus-daemon will look up .service files. This can't be
53154called after g_test_dbus_up().
53155
53156</description>
53157<parameters>
53158<parameter name="self">
53159<parameter_description> a #GTestDBus
53160</parameter_description>
53161</parameter>
53162<parameter name="path">
53163<parameter_description> path to a directory containing .service files
53164</parameter_description>
53165</parameter>
53166</parameters>
53167<return></return>
53168</function>
53169
53170<function name="g_test_dbus_down">
53171<description>
53172Stop the session bus started by g_test_dbus_up().
53173
53174This will wait for the singleton returned by g_bus_get() or g_bus_get_sync()
53175to be destroyed. This is done to ensure that the next unit test won't get a
53176leaked singleton from this test.
53177
53178</description>
53179<parameters>
53180<parameter name="self">
53181<parameter_description> a #GTestDBus
53182</parameter_description>
53183</parameter>
53184</parameters>
53185<return></return>
53186</function>
53187
53188<function name="g_test_dbus_get_bus_address">
53189<description>
53190Get the address on which dbus-daemon is running. If g_test_dbus_up() has not
53191been called yet, %NULL is returned. This can be used with
53192g_dbus_connection_new_for_address().
53193
53194
53195</description>
53196<parameters>
53197<parameter name="self">
53198<parameter_description> a #GTestDBus
53199</parameter_description>
53200</parameter>
53201</parameters>
53202<return> the address of the bus, or %NULL.
53203</return>
53204</function>
53205
53206<function name="g_test_dbus_get_flags">
53207<description>
53208Get the flags of the #GTestDBus object.
53209
53210
53211</description>
53212<parameters>
53213<parameter name="self">
53214<parameter_description> a #GTestDBus
53215</parameter_description>
53216</parameter>
53217</parameters>
53218<return> the value of #GTestDBus:flags property
53219</return>
53220</function>
53221
53222<function name="g_test_dbus_new">
53223<description>
53224Create a new #GTestDBus object.
53225
53226
53227</description>
53228<parameters>
53229<parameter name="flags">
53230<parameter_description> a #GTestDBusFlags
53231</parameter_description>
53232</parameter>
53233</parameters>
53234<return> a new #GTestDBus.
53235</return>
53236</function>
53237
53238<function name="g_test_dbus_stop">
53239<description>
53240Stop the session bus started by g_test_dbus_up().
53241
53242Unlike g_test_dbus_down(), this won't verify the #GDBusConnection
53243singleton returned by g_bus_get() or g_bus_get_sync() is destroyed. Unit
53244tests wanting to verify behaviour after the session bus has been stopped
53245can use this function but should still call g_test_dbus_down() when done.
53246
53247</description>
53248<parameters>
53249<parameter name="self">
53250<parameter_description> a #GTestDBus
53251</parameter_description>
53252</parameter>
53253</parameters>
53254<return></return>
53255</function>
53256
53257<function name="g_test_dbus_unset">
53258<description>
53259Unset DISPLAY and DBUS_SESSION_BUS_ADDRESS env variables to ensure the test
53260won't use user's session bus.
53261
53262This is useful for unit tests that want to verify behaviour when no session
53263bus is running. It is not necessary to call this if unit test already calls
53264g_test_dbus_up() before acquiring the session bus.
53265
53266</description>
53267<parameters>
53268</parameters>
53269<return></return>
53270</function>
53271
53272<function name="g_test_dbus_up">
53273<description>
53274Start a dbus-daemon instance and set DBUS_SESSION_BUS_ADDRESS. After this
53275call, it is safe for unit tests to start sending messages on the session bus.
53276
53277If this function is called from setup callback of g_test_add(),
53278g_test_dbus_down() must be called in its teardown callback.
53279
53280If this function is called from unit test's main(), then g_test_dbus_down()
53281must be called after g_test_run().
53282
53283</description>
53284<parameters>
53285<parameter name="self">
53286<parameter_description> a #GTestDBus
53287</parameter_description>
53288</parameter>
53289</parameters>
53290<return></return>
53291</function>
53292
53293<function name="g_themed_icon_append_name">
53294<description>
53295Append a name to the list of icons from within @icon.
53296
53297Note that doing so invalidates the hash computed by prior calls
53298to g_icon_hash().
53299
53300</description>
53301<parameters>
53302<parameter name="icon">
53303<parameter_description> a #GThemedIcon
53304</parameter_description>
53305</parameter>
53306<parameter name="iconname">
53307<parameter_description> name of icon to append to list of icons from within @icon.
53308</parameter_description>
53309</parameter>
53310</parameters>
53311<return></return>
53312</function>
53313
53314<function name="g_themed_icon_get_names">
53315<description>
53316Gets the names of icons from within @icon.
53317
53318
53319</description>
53320<parameters>
53321<parameter name="icon">
53322<parameter_description> a #GThemedIcon.
53323</parameter_description>
53324</parameter>
53325</parameters>
53326<return> a list of icon names.
53327</return>
53328</function>
53329
53330<function name="g_themed_icon_new">
53331<description>
53332Creates a new themed icon for @iconname.
53333
53334
53335</description>
53336<parameters>
53337<parameter name="iconname">
53338<parameter_description> a string containing an icon name.
53339</parameter_description>
53340</parameter>
53341</parameters>
53342<return> a new #GThemedIcon.
53343</return>
53344</function>
53345
53346<function name="g_themed_icon_new_from_names">
53347<description>
53348Creates a new themed icon for @iconnames.
53349
53350
53351</description>
53352<parameters>
53353<parameter name="iconnames">
53354<parameter_description> an array of strings containing icon names.
53355</parameter_description>
53356</parameter>
53357<parameter name="len">
53358<parameter_description> the length of the @iconnames array, or -1 if @iconnames is
53359%NULL-terminated
53360</parameter_description>
53361</parameter>
53362</parameters>
53363<return> a new #GThemedIcon
53364</return>
53365</function>
53366
53367<function name="g_themed_icon_new_with_default_fallbacks">
53368<description>
53369Creates a new themed icon for @iconname, and all the names
53370that can be created by shortening @iconname at '-' characters.
53371
53372In the following example, @icon1 and @icon2 are equivalent:
53373|[&lt;!-- language=&quot;C&quot; --&gt;
53374const char *names[] = {
53375&quot;gnome-dev-cdrom-audio&quot;,
53376&quot;gnome-dev-cdrom&quot;,
53377&quot;gnome-dev&quot;,
53378&quot;gnome&quot;
53379};
53380
53381icon1 = g_themed_icon_new_from_names (names, 4);
53382icon2 = g_themed_icon_new_with_default_fallbacks (&quot;gnome-dev-cdrom-audio&quot;);
53383]|
53384
53385
53386</description>
53387<parameters>
53388<parameter name="iconname">
53389<parameter_description> a string containing an icon name
53390</parameter_description>
53391</parameter>
53392</parameters>
53393<return> a new #GThemedIcon.
53394</return>
53395</function>
53396
53397<function name="g_themed_icon_prepend_name">
53398<description>
53399Prepend a name to the list of icons from within @icon.
53400
53401Note that doing so invalidates the hash computed by prior calls
53402to g_icon_hash().
53403
53404Since: 2.18
53405
53406</description>
53407<parameters>
53408<parameter name="icon">
53409<parameter_description> a #GThemedIcon
53410</parameter_description>
53411</parameter>
53412<parameter name="iconname">
53413<parameter_description> name of icon to prepend to list of icons from within @icon.
53414</parameter_description>
53415</parameter>
53416</parameters>
53417<return></return>
53418</function>
53419
53420<function name="g_themed_icon_update_names">
53421<description>
53422Update the actual icon name list, based on the requested names (from
53423construction, or later added with g_themed_icon_prepend_name() and
53424g_themed_icon_append_name()).
53425The order of the list matters, indicating priority:
53426- The first requested icon is first in priority.
53427- If &quot;use-default-fallbacks&quot; is #TRUE, then it is followed by all its
53428fallbacks (starting from top to lower context levels).
53429- Then next requested icons, and optionally their fallbacks, follow.
53430- Finally all the style variants (symbolic or regular, opposite to whatever
53431is the requested style) follow in the same order.
53432
53433An icon is not added twice in the list if it was previously added.
53434
53435For instance, if requested names are:
53436[ &quot;some-icon-symbolic&quot;, &quot;some-other-icon&quot; ]
53437and use-default-fallbacks is TRUE, the final name list shall be:
53438[ &quot;some-icon-symbolic&quot;, &quot;some-symbolic&quot;, &quot;some-other-icon&quot;,
53439&quot;some-other&quot;, &quot;some&quot;, &quot;some-icon&quot;, &quot;some-other-icon-symbolic&quot;,
53440&quot;some-other-symbolic&quot; ]
53441
53442
53443</description>
53444<parameters>
53445<parameter name="themed">
53446<parameter_description> a #GThemedIcon.
53447</parameter_description>
53448</parameter>
53449</parameters>
53450<return> a new #GThemedIcon
53451</return>
53452</function>
53453
53454<function name="g_threaded_socket_service_new">
53455<description>
53456Creates a new #GThreadedSocketService with no listeners. Listeners
53457must be added with one of the #GSocketListener &quot;add&quot; methods.
53458
53459Since: 2.22
53460
53461</description>
53462<parameters>
53463<parameter name="max_threads">
53464<parameter_description> the maximal number of threads to execute concurrently
53465handling incoming clients, -1 means no limit
53466</parameter_description>
53467</parameter>
53468</parameters>
53469<return> a new #GSocketService.
53470
53471</return>
53472</function>
53473
53474<function name="g_tls_backend_get_certificate_type">
53475<description>
53476Gets the #GType of @backend's #GTlsCertificate implementation.
53477
53478Since: 2.28
53479
53480</description>
53481<parameters>
53482<parameter name="backend">
53483<parameter_description> the #GTlsBackend
53484</parameter_description>
53485</parameter>
53486</parameters>
53487<return> the #GType of @backend's #GTlsCertificate
53488implementation.
53489
53490</return>
53491</function>
53492
53493<function name="g_tls_backend_get_client_connection_type">
53494<description>
53495Gets the #GType of @backend's #GTlsClientConnection implementation.
53496
53497Since: 2.28
53498
53499</description>
53500<parameters>
53501<parameter name="backend">
53502<parameter_description> the #GTlsBackend
53503</parameter_description>
53504</parameter>
53505</parameters>
53506<return> the #GType of @backend's #GTlsClientConnection
53507implementation.
53508
53509</return>
53510</function>
53511
53512<function name="g_tls_backend_get_default">
53513<description>
53514Gets the default #GTlsBackend for the system.
53515
53516Since: 2.28
53517
53518</description>
53519<parameters>
53520</parameters>
53521<return> a #GTlsBackend
53522
53523</return>
53524</function>
53525
53526<function name="g_tls_backend_get_default_database">
53527<description>
53528Gets the default #GTlsDatabase used to verify TLS connections.
53529
53530Since: 2.30
53531
53532</description>
53533<parameters>
53534<parameter name="backend">
53535<parameter_description> the #GTlsBackend
53536</parameter_description>
53537</parameter>
53538</parameters>
53539<return> the default database, which should be
53540unreffed when done.
53541
53542</return>
53543</function>
53544
53545<function name="g_tls_backend_get_dtls_client_connection_type">
53546<description>
53547Gets the #GType of @backend’s #GDtlsClientConnection implementation.
53548
53549Since: 2.48
53550
53551</description>
53552<parameters>
53553<parameter name="backend">
53554<parameter_description> the #GTlsBackend
53555</parameter_description>
53556</parameter>
53557</parameters>
53558<return> the #GType of @backend’s #GDtlsClientConnection
53559implementation, or %G_TYPE_INVALID if this backend doesn’t support DTLS.
53560
53561</return>
53562</function>
53563
53564<function name="g_tls_backend_get_dtls_server_connection_type">
53565<description>
53566Gets the #GType of @backend’s #GDtlsServerConnection implementation.
53567
53568Since: 2.48
53569
53570</description>
53571<parameters>
53572<parameter name="backend">
53573<parameter_description> the #GTlsBackend
53574</parameter_description>
53575</parameter>
53576</parameters>
53577<return> the #GType of @backend’s #GDtlsServerConnection
53578implementation, or %G_TYPE_INVALID if this backend doesn’t support DTLS.
53579
53580</return>
53581</function>
53582
53583<function name="g_tls_backend_get_file_database_type">
53584<description>
53585Gets the #GType of @backend's #GTlsFileDatabase implementation.
53586
53587Since: 2.30
53588
53589</description>
53590<parameters>
53591<parameter name="backend">
53592<parameter_description> the #GTlsBackend
53593</parameter_description>
53594</parameter>
53595</parameters>
53596<return> the #GType of backend's #GTlsFileDatabase implementation.
53597
53598</return>
53599</function>
53600
53601<function name="g_tls_backend_get_server_connection_type">
53602<description>
53603Gets the #GType of @backend's #GTlsServerConnection implementation.
53604
53605Since: 2.28
53606
53607</description>
53608<parameters>
53609<parameter name="backend">
53610<parameter_description> the #GTlsBackend
53611</parameter_description>
53612</parameter>
53613</parameters>
53614<return> the #GType of @backend's #GTlsServerConnection
53615implementation.
53616
53617</return>
53618</function>
53619
53620<function name="g_tls_backend_set_default_database">
53621<description>
53622Set the default #GTlsDatabase used to verify TLS connections
53623
53624Any subsequent call to g_tls_backend_get_default_database() will return
53625the database set in this call.  Existing databases and connections are not
53626modified.
53627
53628Setting a %NULL default database will reset to using the system default
53629database as if g_tls_backend_set_default_database() had never been called.
53630
53631Since: 2.60
53632
53633</description>
53634<parameters>
53635<parameter name="backend">
53636<parameter_description> the #GTlsBackend
53637</parameter_description>
53638</parameter>
53639<parameter name="database">
53640<parameter_description> the #GTlsDatabase
53641</parameter_description>
53642</parameter>
53643</parameters>
53644<return></return>
53645</function>
53646
53647<function name="g_tls_backend_supports_dtls">
53648<description>
53649Checks if DTLS is supported. DTLS support may not be available even if TLS
53650support is available, and vice-versa.
53651
53652Since: 2.48
53653
53654</description>
53655<parameters>
53656<parameter name="backend">
53657<parameter_description> the #GTlsBackend
53658</parameter_description>
53659</parameter>
53660</parameters>
53661<return> whether DTLS is supported
53662
53663</return>
53664</function>
53665
53666<function name="g_tls_backend_supports_tls">
53667<description>
53668Checks if TLS is supported; if this returns %FALSE for the default
53669#GTlsBackend, it means no &quot;real&quot; TLS backend is available.
53670
53671Since: 2.28
53672
53673</description>
53674<parameters>
53675<parameter name="backend">
53676<parameter_description> the #GTlsBackend
53677</parameter_description>
53678</parameter>
53679</parameters>
53680<return> whether or not TLS is supported
53681
53682</return>
53683</function>
53684
53685<function name="g_tls_certificate_get_issuer">
53686<description>
53687Gets the #GTlsCertificate representing @cert's issuer, if known
53688
53689Since: 2.28
53690
53691</description>
53692<parameters>
53693<parameter name="cert">
53694<parameter_description> a #GTlsCertificate
53695</parameter_description>
53696</parameter>
53697</parameters>
53698<return> The certificate of @cert's issuer,
53699or %NULL if @cert is self-signed or signed with an unknown
53700certificate.
53701
53702</return>
53703</function>
53704
53705<function name="g_tls_certificate_is_same">
53706<description>
53707Check if two #GTlsCertificate objects represent the same certificate.
53708The raw DER byte data of the two certificates are checked for equality.
53709This has the effect that two certificates may compare equal even if
53710their #GTlsCertificate:issuer, #GTlsCertificate:private-key, or
53711#GTlsCertificate:private-key-pem properties differ.
53712
53713Since: 2.34
53714
53715</description>
53716<parameters>
53717<parameter name="cert_one">
53718<parameter_description> first certificate to compare
53719</parameter_description>
53720</parameter>
53721<parameter name="cert_two">
53722<parameter_description> second certificate to compare
53723</parameter_description>
53724</parameter>
53725</parameters>
53726<return> whether the same or not
53727
53728</return>
53729</function>
53730
53731<function name="g_tls_certificate_list_new_from_file">
53732<description>
53733Creates one or more #GTlsCertificates from the PEM-encoded
53734data in @file. If @file cannot be read or parsed, the function will
53735return %NULL and set @error. If @file does not contain any
53736PEM-encoded certificates, this will return an empty list and not
53737set @error.
53738
53739Since: 2.28
53740
53741</description>
53742<parameters>
53743<parameter name="file">
53744<parameter_description> file containing PEM-encoded certificates to import
53745</parameter_description>
53746</parameter>
53747<parameter name="error">
53748<parameter_description> #GError for error reporting, or %NULL to ignore.
53749</parameter_description>
53750</parameter>
53751</parameters>
53752<return> a
53753#GList containing #GTlsCertificate objects. You must free the list
53754and its contents when you are done with it.
53755
53756</return>
53757</function>
53758
53759<function name="g_tls_certificate_new_from_file">
53760<description>
53761Creates a #GTlsCertificate from the PEM-encoded data in @file. The
53762returned certificate will be the first certificate found in @file. As
53763of GLib 2.44, if @file contains more certificates it will try to load
53764a certificate chain. All certificates will be verified in the order
53765found (top-level certificate should be the last one in the file) and
53766the #GTlsCertificate:issuer property of each certificate will be set
53767accordingly if the verification succeeds. If any certificate in the
53768chain cannot be verified, the first certificate in the file will
53769still be returned.
53770
53771If @file cannot be read or parsed, the function will return %NULL and
53772set @error. Otherwise, this behaves like
53773g_tls_certificate_new_from_pem().
53774
53775Since: 2.28
53776
53777</description>
53778<parameters>
53779<parameter name="file">
53780<parameter_description> file containing a PEM-encoded certificate to import
53781</parameter_description>
53782</parameter>
53783<parameter name="error">
53784<parameter_description> #GError for error reporting, or %NULL to ignore.
53785</parameter_description>
53786</parameter>
53787</parameters>
53788<return> the new certificate, or %NULL on error
53789
53790</return>
53791</function>
53792
53793<function name="g_tls_certificate_new_from_files">
53794<description>
53795Creates a #GTlsCertificate from the PEM-encoded data in @cert_file
53796and @key_file. The returned certificate will be the first certificate
53797found in @cert_file. As of GLib 2.44, if @cert_file contains more
53798certificates it will try to load a certificate chain. All
53799certificates will be verified in the order found (top-level
53800certificate should be the last one in the file) and the
53801#GTlsCertificate:issuer property of each certificate will be set
53802accordingly if the verification succeeds. If any certificate in the
53803chain cannot be verified, the first certificate in the file will
53804still be returned.
53805
53806If either file cannot be read or parsed, the function will return
53807%NULL and set @error. Otherwise, this behaves like
53808g_tls_certificate_new_from_pem().
53809
53810Since: 2.28
53811
53812</description>
53813<parameters>
53814<parameter name="cert_file">
53815<parameter_description> file containing one or more PEM-encoded
53816certificates to import
53817</parameter_description>
53818</parameter>
53819<parameter name="key_file">
53820<parameter_description> file containing a PEM-encoded private key
53821to import
53822</parameter_description>
53823</parameter>
53824<parameter name="error">
53825<parameter_description> #GError for error reporting, or %NULL to ignore.
53826</parameter_description>
53827</parameter>
53828</parameters>
53829<return> the new certificate, or %NULL on error
53830
53831</return>
53832</function>
53833
53834<function name="g_tls_certificate_new_from_pem">
53835<description>
53836Creates a #GTlsCertificate from the PEM-encoded data in @data. If
53837@data includes both a certificate and a private key, then the
53838returned certificate will include the private key data as well. (See
53839the #GTlsCertificate:private-key-pem property for information about
53840supported formats.)
53841
53842The returned certificate will be the first certificate found in
53843@data. As of GLib 2.44, if @data contains more certificates it will
53844try to load a certificate chain. All certificates will be verified in
53845the order found (top-level certificate should be the last one in the
53846file) and the #GTlsCertificate:issuer property of each certificate
53847will be set accordingly if the verification succeeds. If any
53848certificate in the chain cannot be verified, the first certificate in
53849the file will still be returned.
53850
53851Since: 2.28
53852
53853</description>
53854<parameters>
53855<parameter name="data">
53856<parameter_description> PEM-encoded certificate data
53857</parameter_description>
53858</parameter>
53859<parameter name="length">
53860<parameter_description> the length of @data, or -1 if it's 0-terminated.
53861</parameter_description>
53862</parameter>
53863<parameter name="error">
53864<parameter_description> #GError for error reporting, or %NULL to ignore.
53865</parameter_description>
53866</parameter>
53867</parameters>
53868<return> the new certificate, or %NULL if @data is invalid
53869
53870</return>
53871</function>
53872
53873<function name="g_tls_certificate_verify">
53874<description>
53875This verifies @cert and returns a set of #GTlsCertificateFlags
53876indicating any problems found with it. This can be used to verify a
53877certificate outside the context of making a connection, or to
53878check a certificate against a CA that is not part of the system
53879CA database.
53880
53881If @identity is not %NULL, @cert's name(s) will be compared against
53882it, and %G_TLS_CERTIFICATE_BAD_IDENTITY will be set in the return
53883value if it does not match. If @identity is %NULL, that bit will
53884never be set in the return value.
53885
53886If @trusted_ca is not %NULL, then @cert (or one of the certificates
53887in its chain) must be signed by it, or else
53888%G_TLS_CERTIFICATE_UNKNOWN_CA will be set in the return value. If
53889@trusted_ca is %NULL, that bit will never be set in the return
53890value.
53891
53892(All other #GTlsCertificateFlags values will always be set or unset
53893as appropriate.)
53894
53895Since: 2.28
53896
53897</description>
53898<parameters>
53899<parameter name="cert">
53900<parameter_description> a #GTlsCertificate
53901</parameter_description>
53902</parameter>
53903<parameter name="identity">
53904<parameter_description> the expected peer identity
53905</parameter_description>
53906</parameter>
53907<parameter name="trusted_ca">
53908<parameter_description> the certificate of a trusted authority
53909</parameter_description>
53910</parameter>
53911</parameters>
53912<return> the appropriate #GTlsCertificateFlags
53913
53914</return>
53915</function>
53916
53917<function name="g_tls_client_connection_copy_session_state">
53918<description>
53919Possibly copies session state from one connection to another, for use
53920in TLS session resumption. This is not normally needed, but may be
53921used when the same session needs to be used between different
53922endpoints, as is required by some protocols, such as FTP over TLS.
53923@source should have already completed a handshake and, since TLS 1.3,
53924it should have been used to read data at least once. @conn should not
53925have completed a handshake.
53926
53927It is not possible to know whether a call to this function will
53928actually do anything. Because session resumption is normally used
53929only for performance benefit, the TLS backend might not implement
53930this function. Even if implemented, it may not actually succeed in
53931allowing @conn to resume @source's TLS session, because the server
53932may not have sent a session resumption token to @source, or it may
53933refuse to accept the token from @conn. There is no way to know
53934whether a call to this function is actually successful.
53935
53936Using this function is not required to benefit from session
53937resumption. If the TLS backend supports session resumption, the
53938session will be resumed automatically if it is possible to do so
53939without weakening the privacy guarantees normally provided by TLS,
53940without need to call this function. For example, with TLS 1.3,
53941a session ticket will be automatically copied from any
53942#GTlsClientConnection that has previously received session tickets
53943from the server, provided a ticket is available that has not
53944previously been used for session resumption, since session ticket
53945reuse would be a privacy weakness. Using this function causes the
53946ticket to be copied without regard for privacy considerations.
53947
53948Since: 2.46
53949
53950</description>
53951<parameters>
53952<parameter name="conn">
53953<parameter_description> a #GTlsClientConnection
53954</parameter_description>
53955</parameter>
53956<parameter name="source">
53957<parameter_description> a #GTlsClientConnection
53958</parameter_description>
53959</parameter>
53960</parameters>
53961<return></return>
53962</function>
53963
53964<function name="g_tls_client_connection_get_accepted_cas">
53965<description>
53966Gets the list of distinguished names of the Certificate Authorities
53967that the server will accept certificates from. This will be set
53968during the TLS handshake if the server requests a certificate.
53969Otherwise, it will be %NULL.
53970
53971Each item in the list is a #GByteArray which contains the complete
53972subject DN of the certificate authority.
53973
53974Since: 2.28
53975
53976</description>
53977<parameters>
53978<parameter name="conn">
53979<parameter_description> the #GTlsClientConnection
53980</parameter_description>
53981</parameter>
53982</parameters>
53983<return> the list of
53984CA DNs. You should unref each element with g_byte_array_unref() and then
53985the free the list with g_list_free().
53986
53987</return>
53988</function>
53989
53990<function name="g_tls_client_connection_get_server_identity">
53991<description>
53992Gets @conn's expected server identity
53993
53994Since: 2.28
53995
53996</description>
53997<parameters>
53998<parameter name="conn">
53999<parameter_description> the #GTlsClientConnection
54000</parameter_description>
54001</parameter>
54002</parameters>
54003<return> a #GSocketConnectable describing the
54004expected server identity, or %NULL if the expected identity is not
54005known.
54006
54007</return>
54008</function>
54009
54010<function name="g_tls_client_connection_get_use_ssl3">
54011<description>
54012SSL 3.0 is no longer supported. See
54013g_tls_client_connection_set_use_ssl3() for details.
54014
54015Since: 2.28
54016
54017Deprecated: 2.56: SSL 3.0 is insecure.
54018
54019</description>
54020<parameters>
54021<parameter name="conn">
54022<parameter_description> the #GTlsClientConnection
54023</parameter_description>
54024</parameter>
54025</parameters>
54026<return> %FALSE
54027
54028</return>
54029</function>
54030
54031<function name="g_tls_client_connection_get_validation_flags">
54032<description>
54033Gets @conn's validation flags
54034
54035Since: 2.28
54036
54037</description>
54038<parameters>
54039<parameter name="conn">
54040<parameter_description> the #GTlsClientConnection
54041</parameter_description>
54042</parameter>
54043</parameters>
54044<return> the validation flags
54045
54046</return>
54047</function>
54048
54049<function name="g_tls_client_connection_new">
54050<description>
54051Creates a new #GTlsClientConnection wrapping @base_io_stream (which
54052must have pollable input and output streams) which is assumed to
54053communicate with the server identified by @server_identity.
54054
54055See the documentation for #GTlsConnection:base-io-stream for restrictions
54056on when application code can run operations on the @base_io_stream after
54057this function has returned.
54058
54059Since: 2.28
54060
54061</description>
54062<parameters>
54063<parameter name="base_io_stream">
54064<parameter_description> the #GIOStream to wrap
54065</parameter_description>
54066</parameter>
54067<parameter name="server_identity">
54068<parameter_description> the expected identity of the server
54069</parameter_description>
54070</parameter>
54071<parameter name="error">
54072<parameter_description> #GError for error reporting, or %NULL to ignore.
54073</parameter_description>
54074</parameter>
54075</parameters>
54076<return> the new
54077#GTlsClientConnection, or %NULL on error
54078
54079</return>
54080</function>
54081
54082<function name="g_tls_client_connection_set_server_identity">
54083<description>
54084Sets @conn's expected server identity, which is used both to tell
54085servers on virtual hosts which certificate to present, and also
54086to let @conn know what name to look for in the certificate when
54087performing %G_TLS_CERTIFICATE_BAD_IDENTITY validation, if enabled.
54088
54089Since: 2.28
54090
54091</description>
54092<parameters>
54093<parameter name="conn">
54094<parameter_description> the #GTlsClientConnection
54095</parameter_description>
54096</parameter>
54097<parameter name="identity">
54098<parameter_description> a #GSocketConnectable describing the expected server identity
54099</parameter_description>
54100</parameter>
54101</parameters>
54102<return></return>
54103</function>
54104
54105<function name="g_tls_client_connection_set_use_ssl3">
54106<description>
54107Since GLib 2.42.1, SSL 3.0 is no longer supported.
54108
54109From GLib 2.42.1 through GLib 2.62, this function could be used to
54110force use of TLS 1.0, the lowest-supported TLS protocol version at
54111the time. In the past, this was needed to connect to broken TLS
54112servers that exhibited protocol version intolerance. Such servers
54113are no longer common, and using TLS 1.0 is no longer considered
54114acceptable.
54115
54116Since GLib 2.64, this function does nothing.
54117
54118Since: 2.28
54119
54120Deprecated: 2.56: SSL 3.0 is insecure.
54121
54122</description>
54123<parameters>
54124<parameter name="conn">
54125<parameter_description> the #GTlsClientConnection
54126</parameter_description>
54127</parameter>
54128<parameter name="use_ssl3">
54129<parameter_description> a #gboolean, ignored
54130</parameter_description>
54131</parameter>
54132</parameters>
54133<return></return>
54134</function>
54135
54136<function name="g_tls_client_connection_set_validation_flags">
54137<description>
54138Sets @conn's validation flags, to override the default set of
54139checks performed when validating a server certificate. By default,
54140%G_TLS_CERTIFICATE_VALIDATE_ALL is used.
54141
54142Since: 2.28
54143
54144</description>
54145<parameters>
54146<parameter name="conn">
54147<parameter_description> the #GTlsClientConnection
54148</parameter_description>
54149</parameter>
54150<parameter name="flags">
54151<parameter_description> the #GTlsCertificateFlags to use
54152</parameter_description>
54153</parameter>
54154</parameters>
54155<return></return>
54156</function>
54157
54158<function name="g_tls_connection_emit_accept_certificate">
54159<description>
54160Used by #GTlsConnection implementations to emit the
54161#GTlsConnection::accept-certificate signal.
54162
54163Since: 2.28
54164
54165</description>
54166<parameters>
54167<parameter name="conn">
54168<parameter_description> a #GTlsConnection
54169</parameter_description>
54170</parameter>
54171<parameter name="peer_cert">
54172<parameter_description> the peer's #GTlsCertificate
54173</parameter_description>
54174</parameter>
54175<parameter name="errors">
54176<parameter_description> the problems with @peer_cert
54177</parameter_description>
54178</parameter>
54179</parameters>
54180<return> %TRUE if one of the signal handlers has returned
54181%TRUE to accept @peer_cert
54182
54183</return>
54184</function>
54185
54186<function name="g_tls_connection_get_certificate">
54187<description>
54188Gets @conn's certificate, as set by
54189g_tls_connection_set_certificate().
54190
54191Since: 2.28
54192
54193</description>
54194<parameters>
54195<parameter name="conn">
54196<parameter_description> a #GTlsConnection
54197</parameter_description>
54198</parameter>
54199</parameters>
54200<return> @conn's certificate, or %NULL
54201
54202</return>
54203</function>
54204
54205<function name="g_tls_connection_get_database">
54206<description>
54207Gets the certificate database that @conn uses to verify
54208peer certificates. See g_tls_connection_set_database().
54209
54210Since: 2.30
54211
54212</description>
54213<parameters>
54214<parameter name="conn">
54215<parameter_description> a #GTlsConnection
54216</parameter_description>
54217</parameter>
54218</parameters>
54219<return> the certificate database that @conn uses or %NULL
54220
54221</return>
54222</function>
54223
54224<function name="g_tls_connection_get_interaction">
54225<description>
54226Get the object that will be used to interact with the user. It will be used
54227for things like prompting the user for passwords. If %NULL is returned, then
54228no user interaction will occur for this connection.
54229
54230Since: 2.30
54231
54232</description>
54233<parameters>
54234<parameter name="conn">
54235<parameter_description> a connection
54236</parameter_description>
54237</parameter>
54238</parameters>
54239<return> The interaction object.
54240
54241</return>
54242</function>
54243
54244<function name="g_tls_connection_get_negotiated_protocol">
54245<description>
54246Gets the name of the application-layer protocol negotiated during
54247the handshake.
54248
54249If the peer did not use the ALPN extension, or did not advertise a
54250protocol that matched one of @conn's protocols, or the TLS backend
54251does not support ALPN, then this will be %NULL. See
54252g_tls_connection_set_advertised_protocols().
54253
54254Since: 2.60
54255
54256</description>
54257<parameters>
54258<parameter name="conn">
54259<parameter_description> a #GTlsConnection
54260</parameter_description>
54261</parameter>
54262</parameters>
54263<return> the negotiated protocol, or %NULL
54264
54265</return>
54266</function>
54267
54268<function name="g_tls_connection_get_peer_certificate">
54269<description>
54270Gets @conn's peer's certificate after the handshake has completed.
54271(It is not set during the emission of
54272#GTlsConnection::accept-certificate.)
54273
54274Since: 2.28
54275
54276</description>
54277<parameters>
54278<parameter name="conn">
54279<parameter_description> a #GTlsConnection
54280</parameter_description>
54281</parameter>
54282</parameters>
54283<return> @conn's peer's certificate, or %NULL
54284
54285</return>
54286</function>
54287
54288<function name="g_tls_connection_get_peer_certificate_errors">
54289<description>
54290Gets the errors associated with validating @conn's peer's
54291certificate, after the handshake has completed. (It is not set
54292during the emission of #GTlsConnection::accept-certificate.)
54293
54294Since: 2.28
54295
54296</description>
54297<parameters>
54298<parameter name="conn">
54299<parameter_description> a #GTlsConnection
54300</parameter_description>
54301</parameter>
54302</parameters>
54303<return> @conn's peer's certificate errors
54304
54305</return>
54306</function>
54307
54308<function name="g_tls_connection_get_rehandshake_mode">
54309<description>
54310Gets @conn rehandshaking mode. See
54311g_tls_connection_set_rehandshake_mode() for details.
54312
54313Since: 2.28
54314
54315Deprecated: 2.60. Changing the rehandshake mode is no longer
54316required for compatibility. Also, rehandshaking has been removed
54317from the TLS protocol in TLS 1.3.
54318
54319</description>
54320<parameters>
54321<parameter name="conn">
54322<parameter_description> a #GTlsConnection
54323</parameter_description>
54324</parameter>
54325</parameters>
54326<return> %G_TLS_REHANDSHAKE_SAFELY
54327
54328</return>
54329</function>
54330
54331<function name="g_tls_connection_get_require_close_notify">
54332<description>
54333Tests whether or not @conn expects a proper TLS close notification
54334when the connection is closed. See
54335g_tls_connection_set_require_close_notify() for details.
54336
54337Since: 2.28
54338
54339</description>
54340<parameters>
54341<parameter name="conn">
54342<parameter_description> a #GTlsConnection
54343</parameter_description>
54344</parameter>
54345</parameters>
54346<return> %TRUE if @conn requires a proper TLS close
54347notification.
54348
54349</return>
54350</function>
54351
54352<function name="g_tls_connection_get_use_system_certdb">
54353<description>
54354Gets whether @conn uses the system certificate database to verify
54355peer certificates. See g_tls_connection_set_use_system_certdb().
54356
54357Deprecated: 2.30: Use g_tls_connection_get_database() instead
54358
54359</description>
54360<parameters>
54361<parameter name="conn">
54362<parameter_description> a #GTlsConnection
54363</parameter_description>
54364</parameter>
54365</parameters>
54366<return> whether @conn uses the system certificate database
54367
54368</return>
54369</function>
54370
54371<function name="g_tls_connection_handshake">
54372<description>
54373Attempts a TLS handshake on @conn.
54374
54375On the client side, it is never necessary to call this method;
54376although the connection needs to perform a handshake after
54377connecting (or after sending a &quot;STARTTLS&quot;-type command),
54378#GTlsConnection will handle this for you automatically when you try
54379to send or receive data on the connection. You can call
54380g_tls_connection_handshake() manually if you want to know whether
54381the initial handshake succeeded or failed (as opposed to just
54382immediately trying to use @conn to read or write, in which case,
54383if it fails, it may not be possible to tell if it failed before or
54384after completing the handshake), but beware that servers may reject
54385client authentication after the handshake has completed, so a
54386successful handshake does not indicate the connection will be usable.
54387
54388Likewise, on the server side, although a handshake is necessary at
54389the beginning of the communication, you do not need to call this
54390function explicitly unless you want clearer error reporting.
54391
54392Previously, calling g_tls_connection_handshake() after the initial
54393handshake would trigger a rehandshake; however, this usage was
54394deprecated in GLib 2.60 because rehandshaking was removed from the
54395TLS protocol in TLS 1.3. Since GLib 2.64, calling this function after
54396the initial handshake will no longer do anything.
54397
54398When using a #GTlsConnection created by #GSocketClient, the
54399#GSocketClient performs the initial handshake, so calling this
54400function manually is not recommended.
54401
54402#GTlsConnection::accept_certificate may be emitted during the
54403handshake.
54404
54405Since: 2.28
54406
54407</description>
54408<parameters>
54409<parameter name="conn">
54410<parameter_description> a #GTlsConnection
54411</parameter_description>
54412</parameter>
54413<parameter name="cancellable">
54414<parameter_description> a #GCancellable, or %NULL
54415</parameter_description>
54416</parameter>
54417<parameter name="error">
54418<parameter_description> a #GError, or %NULL
54419</parameter_description>
54420</parameter>
54421</parameters>
54422<return> success or failure
54423
54424</return>
54425</function>
54426
54427<function name="g_tls_connection_handshake_async">
54428<description>
54429Asynchronously performs a TLS handshake on @conn. See
54430g_tls_connection_handshake() for more information.
54431
54432Since: 2.28
54433
54434</description>
54435<parameters>
54436<parameter name="conn">
54437<parameter_description> a #GTlsConnection
54438</parameter_description>
54439</parameter>
54440<parameter name="io_priority">
54441<parameter_description> the [I/O priority][io-priority] of the request
54442</parameter_description>
54443</parameter>
54444<parameter name="cancellable">
54445<parameter_description> a #GCancellable, or %NULL
54446</parameter_description>
54447</parameter>
54448<parameter name="callback">
54449<parameter_description> callback to call when the handshake is complete
54450</parameter_description>
54451</parameter>
54452<parameter name="user_data">
54453<parameter_description> the data to pass to the callback function
54454</parameter_description>
54455</parameter>
54456</parameters>
54457<return></return>
54458</function>
54459
54460<function name="g_tls_connection_handshake_finish">
54461<description>
54462Finish an asynchronous TLS handshake operation. See
54463g_tls_connection_handshake() for more information.
54464
54465Since: 2.28
54466
54467</description>
54468<parameters>
54469<parameter name="conn">
54470<parameter_description> a #GTlsConnection
54471</parameter_description>
54472</parameter>
54473<parameter name="result">
54474<parameter_description> a #GAsyncResult.
54475</parameter_description>
54476</parameter>
54477<parameter name="error">
54478<parameter_description> a #GError pointer, or %NULL
54479</parameter_description>
54480</parameter>
54481</parameters>
54482<return> %TRUE on success, %FALSE on failure, in which
54483case @error will be set.
54484
54485</return>
54486</function>
54487
54488<function name="g_tls_connection_set_advertised_protocols">
54489<description>
54490Sets the list of application-layer protocols to advertise that the
54491caller is willing to speak on this connection. The
54492Application-Layer Protocol Negotiation (ALPN) extension will be
54493used to negotiate a compatible protocol with the peer; use
54494g_tls_connection_get_negotiated_protocol() to find the negotiated
54495protocol after the handshake.  Specifying %NULL for the the value
54496of @protocols will disable ALPN negotiation.
54497
54498See [IANA TLS ALPN Protocol IDs](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
54499for a list of registered protocol IDs.
54500
54501Since: 2.60
54502
54503</description>
54504<parameters>
54505<parameter name="conn">
54506<parameter_description> a #GTlsConnection
54507</parameter_description>
54508</parameter>
54509<parameter name="protocols">
54510<parameter_description> a %NULL-terminated
54511array of ALPN protocol names (eg, &quot;http/1.1&quot;, &quot;h2&quot;), or %NULL
54512</parameter_description>
54513</parameter>
54514</parameters>
54515<return></return>
54516</function>
54517
54518<function name="g_tls_connection_set_certificate">
54519<description>
54520This sets the certificate that @conn will present to its peer
54521during the TLS handshake. For a #GTlsServerConnection, it is
54522mandatory to set this, and that will normally be done at construct
54523time.
54524
54525For a #GTlsClientConnection, this is optional. If a handshake fails
54526with %G_TLS_ERROR_CERTIFICATE_REQUIRED, that means that the server
54527requires a certificate, and if you try connecting again, you should
54528call this method first. You can call
54529g_tls_client_connection_get_accepted_cas() on the failed connection
54530to get a list of Certificate Authorities that the server will
54531accept certificates from.
54532
54533(It is also possible that a server will allow the connection with
54534or without a certificate; in that case, if you don't provide a
54535certificate, you can tell that the server requested one by the fact
54536that g_tls_client_connection_get_accepted_cas() will return
54537non-%NULL.)
54538
54539Since: 2.28
54540
54541</description>
54542<parameters>
54543<parameter name="conn">
54544<parameter_description> a #GTlsConnection
54545</parameter_description>
54546</parameter>
54547<parameter name="certificate">
54548<parameter_description> the certificate to use for @conn
54549</parameter_description>
54550</parameter>
54551</parameters>
54552<return></return>
54553</function>
54554
54555<function name="g_tls_connection_set_database">
54556<description>
54557Sets the certificate database that is used to verify peer certificates.
54558This is set to the default database by default. See
54559g_tls_backend_get_default_database(). If set to %NULL, then
54560peer certificate validation will always set the
54561%G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning
54562#GTlsConnection::accept-certificate will always be emitted on
54563client-side connections, unless that bit is not set in
54564#GTlsClientConnection:validation-flags).
54565
54566Since: 2.30
54567
54568</description>
54569<parameters>
54570<parameter name="conn">
54571<parameter_description> a #GTlsConnection
54572</parameter_description>
54573</parameter>
54574<parameter name="database">
54575<parameter_description> a #GTlsDatabase
54576</parameter_description>
54577</parameter>
54578</parameters>
54579<return></return>
54580</function>
54581
54582<function name="g_tls_connection_set_interaction">
54583<description>
54584Set the object that will be used to interact with the user. It will be used
54585for things like prompting the user for passwords.
54586
54587The @interaction argument will normally be a derived subclass of
54588#GTlsInteraction. %NULL can also be provided if no user interaction
54589should occur for this connection.
54590
54591Since: 2.30
54592
54593</description>
54594<parameters>
54595<parameter name="conn">
54596<parameter_description> a connection
54597</parameter_description>
54598</parameter>
54599<parameter name="interaction">
54600<parameter_description> an interaction object, or %NULL
54601</parameter_description>
54602</parameter>
54603</parameters>
54604<return></return>
54605</function>
54606
54607<function name="g_tls_connection_set_rehandshake_mode">
54608<description>
54609Since GLib 2.64, changing the rehandshake mode is no longer supported
54610and will have no effect. With TLS 1.3, rehandshaking has been removed from
54611the TLS protocol, replaced by separate post-handshake authentication and
54612rekey operations.
54613
54614Since: 2.28
54615
54616Deprecated: 2.60. Changing the rehandshake mode is no longer
54617required for compatibility. Also, rehandshaking has been removed
54618from the TLS protocol in TLS 1.3.
54619
54620</description>
54621<parameters>
54622<parameter name="conn">
54623<parameter_description> a #GTlsConnection
54624</parameter_description>
54625</parameter>
54626<parameter name="mode">
54627<parameter_description> the rehandshaking mode
54628</parameter_description>
54629</parameter>
54630</parameters>
54631<return></return>
54632</function>
54633
54634<function name="g_tls_connection_set_require_close_notify">
54635<description>
54636Sets whether or not @conn expects a proper TLS close notification
54637before the connection is closed. If this is %TRUE (the default),
54638then @conn will expect to receive a TLS close notification from its
54639peer before the connection is closed, and will return a
54640%G_TLS_ERROR_EOF error if the connection is closed without proper
54641notification (since this may indicate a network error, or
54642man-in-the-middle attack).
54643
54644In some protocols, the application will know whether or not the
54645connection was closed cleanly based on application-level data
54646(because the application-level data includes a length field, or is
54647somehow self-delimiting); in this case, the close notify is
54648redundant and sometimes omitted. (TLS 1.1 explicitly allows this;
54649in TLS 1.0 it is technically an error, but often done anyway.) You
54650can use g_tls_connection_set_require_close_notify() to tell @conn
54651to allow an &quot;unannounced&quot; connection close, in which case the close
54652will show up as a 0-length read, as in a non-TLS
54653#GSocketConnection, and it is up to the application to check that
54654the data has been fully received.
54655
54656Note that this only affects the behavior when the peer closes the
54657connection; when the application calls g_io_stream_close() itself
54658on @conn, this will send a close notification regardless of the
54659setting of this property. If you explicitly want to do an unclean
54660close, you can close @conn's #GTlsConnection:base-io-stream rather
54661than closing @conn itself, but note that this may only be done when no other
54662operations are pending on @conn or the base I/O stream.
54663
54664Since: 2.28
54665
54666</description>
54667<parameters>
54668<parameter name="conn">
54669<parameter_description> a #GTlsConnection
54670</parameter_description>
54671</parameter>
54672<parameter name="require_close_notify">
54673<parameter_description> whether or not to require close notification
54674</parameter_description>
54675</parameter>
54676</parameters>
54677<return></return>
54678</function>
54679
54680<function name="g_tls_connection_set_use_system_certdb">
54681<description>
54682Sets whether @conn uses the system certificate database to verify
54683peer certificates. This is %TRUE by default. If set to %FALSE, then
54684peer certificate validation will always set the
54685%G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning
54686#GTlsConnection::accept-certificate will always be emitted on
54687client-side connections, unless that bit is not set in
54688#GTlsClientConnection:validation-flags).
54689
54690Deprecated: 2.30: Use g_tls_connection_set_database() instead
54691
54692</description>
54693<parameters>
54694<parameter name="conn">
54695<parameter_description> a #GTlsConnection
54696</parameter_description>
54697</parameter>
54698<parameter name="use_system_certdb">
54699<parameter_description> whether to use the system certificate database
54700</parameter_description>
54701</parameter>
54702</parameters>
54703<return></return>
54704</function>
54705
54706<function name="g_tls_database_create_certificate_handle">
54707<description>
54708Create a handle string for the certificate. The database will only be able
54709to create a handle for certificates that originate from the database. In
54710cases where the database cannot create a handle for a certificate, %NULL
54711will be returned.
54712
54713This handle should be stable across various instances of the application,
54714and between applications. If a certificate is modified in the database,
54715then it is not guaranteed that this handle will continue to point to it.
54716
54717Since: 2.30
54718
54719</description>
54720<parameters>
54721<parameter name="self">
54722<parameter_description> a #GTlsDatabase
54723</parameter_description>
54724</parameter>
54725<parameter name="certificate">
54726<parameter_description> certificate for which to create a handle.
54727</parameter_description>
54728</parameter>
54729</parameters>
54730<return> a newly allocated string containing the
54731handle.
54732
54733</return>
54734</function>
54735
54736<function name="g_tls_database_lookup_certificate_for_handle">
54737<description>
54738Look up a certificate by its handle.
54739
54740The handle should have been created by calling
54741g_tls_database_create_certificate_handle() on a #GTlsDatabase object of
54742the same TLS backend. The handle is designed to remain valid across
54743instantiations of the database.
54744
54745If the handle is no longer valid, or does not point to a certificate in
54746this database, then %NULL will be returned.
54747
54748This function can block, use g_tls_database_lookup_certificate_for_handle_async() to perform
54749the lookup operation asynchronously.
54750
54751Since: 2.30
54752
54753</description>
54754<parameters>
54755<parameter name="self">
54756<parameter_description> a #GTlsDatabase
54757</parameter_description>
54758</parameter>
54759<parameter name="handle">
54760<parameter_description> a certificate handle
54761</parameter_description>
54762</parameter>
54763<parameter name="interaction">
54764<parameter_description> used to interact with the user if necessary
54765</parameter_description>
54766</parameter>
54767<parameter name="flags">
54768<parameter_description> Flags which affect the lookup.
54769</parameter_description>
54770</parameter>
54771<parameter name="cancellable">
54772<parameter_description> a #GCancellable, or %NULL
54773</parameter_description>
54774</parameter>
54775<parameter name="error">
54776<parameter_description> a #GError, or %NULL
54777</parameter_description>
54778</parameter>
54779</parameters>
54780<return> a newly allocated
54781#GTlsCertificate, or %NULL. Use g_object_unref() to release the certificate.
54782
54783</return>
54784</function>
54785
54786<function name="g_tls_database_lookup_certificate_for_handle_async">
54787<description>
54788Asynchronously look up a certificate by its handle in the database. See
54789g_tls_database_lookup_certificate_for_handle() for more information.
54790
54791Since: 2.30
54792
54793</description>
54794<parameters>
54795<parameter name="self">
54796<parameter_description> a #GTlsDatabase
54797</parameter_description>
54798</parameter>
54799<parameter name="handle">
54800<parameter_description> a certificate handle
54801</parameter_description>
54802</parameter>
54803<parameter name="interaction">
54804<parameter_description> used to interact with the user if necessary
54805</parameter_description>
54806</parameter>
54807<parameter name="flags">
54808<parameter_description> Flags which affect the lookup.
54809</parameter_description>
54810</parameter>
54811<parameter name="cancellable">
54812<parameter_description> a #GCancellable, or %NULL
54813</parameter_description>
54814</parameter>
54815<parameter name="callback">
54816<parameter_description> callback to call when the operation completes
54817</parameter_description>
54818</parameter>
54819<parameter name="user_data">
54820<parameter_description> the data to pass to the callback function
54821</parameter_description>
54822</parameter>
54823</parameters>
54824<return></return>
54825</function>
54826
54827<function name="g_tls_database_lookup_certificate_for_handle_finish">
54828<description>
54829Finish an asynchronous lookup of a certificate by its handle. See
54830g_tls_database_lookup_certificate_for_handle() for more information.
54831
54832If the handle is no longer valid, or does not point to a certificate in
54833this database, then %NULL will be returned.
54834
54835Since: 2.30
54836
54837</description>
54838<parameters>
54839<parameter name="self">
54840<parameter_description> a #GTlsDatabase
54841</parameter_description>
54842</parameter>
54843<parameter name="result">
54844<parameter_description> a #GAsyncResult.
54845</parameter_description>
54846</parameter>
54847<parameter name="error">
54848<parameter_description> a #GError pointer, or %NULL
54849</parameter_description>
54850</parameter>
54851</parameters>
54852<return> a newly allocated #GTlsCertificate object.
54853Use g_object_unref() to release the certificate.
54854
54855</return>
54856</function>
54857
54858<function name="g_tls_database_lookup_certificate_issuer">
54859<description>
54860Look up the issuer of @certificate in the database.
54861
54862The #GTlsCertificate:issuer property
54863of @certificate is not modified, and the two certificates are not hooked
54864into a chain.
54865
54866This function can block, use g_tls_database_lookup_certificate_issuer_async() to perform
54867the lookup operation asynchronously.
54868
54869Since: 2.30
54870
54871</description>
54872<parameters>
54873<parameter name="self">
54874<parameter_description> a #GTlsDatabase
54875</parameter_description>
54876</parameter>
54877<parameter name="certificate">
54878<parameter_description> a #GTlsCertificate
54879</parameter_description>
54880</parameter>
54881<parameter name="interaction">
54882<parameter_description> used to interact with the user if necessary
54883</parameter_description>
54884</parameter>
54885<parameter name="flags">
54886<parameter_description> flags which affect the lookup operation
54887</parameter_description>
54888</parameter>
54889<parameter name="cancellable">
54890<parameter_description> a #GCancellable, or %NULL
54891</parameter_description>
54892</parameter>
54893<parameter name="error">
54894<parameter_description> a #GError, or %NULL
54895</parameter_description>
54896</parameter>
54897</parameters>
54898<return> a newly allocated issuer #GTlsCertificate,
54899or %NULL. Use g_object_unref() to release the certificate.
54900
54901</return>
54902</function>
54903
54904<function name="g_tls_database_lookup_certificate_issuer_async">
54905<description>
54906Asynchronously look up the issuer of @certificate in the database. See
54907g_tls_database_lookup_certificate_issuer() for more information.
54908
54909Since: 2.30
54910
54911</description>
54912<parameters>
54913<parameter name="self">
54914<parameter_description> a #GTlsDatabase
54915</parameter_description>
54916</parameter>
54917<parameter name="certificate">
54918<parameter_description> a #GTlsCertificate
54919</parameter_description>
54920</parameter>
54921<parameter name="interaction">
54922<parameter_description> used to interact with the user if necessary
54923</parameter_description>
54924</parameter>
54925<parameter name="flags">
54926<parameter_description> flags which affect the lookup operation
54927</parameter_description>
54928</parameter>
54929<parameter name="cancellable">
54930<parameter_description> a #GCancellable, or %NULL
54931</parameter_description>
54932</parameter>
54933<parameter name="callback">
54934<parameter_description> callback to call when the operation completes
54935</parameter_description>
54936</parameter>
54937<parameter name="user_data">
54938<parameter_description> the data to pass to the callback function
54939</parameter_description>
54940</parameter>
54941</parameters>
54942<return></return>
54943</function>
54944
54945<function name="g_tls_database_lookup_certificate_issuer_finish">
54946<description>
54947Finish an asynchronous lookup issuer operation. See
54948g_tls_database_lookup_certificate_issuer() for more information.
54949
54950Since: 2.30
54951
54952</description>
54953<parameters>
54954<parameter name="self">
54955<parameter_description> a #GTlsDatabase
54956</parameter_description>
54957</parameter>
54958<parameter name="result">
54959<parameter_description> a #GAsyncResult.
54960</parameter_description>
54961</parameter>
54962<parameter name="error">
54963<parameter_description> a #GError pointer, or %NULL
54964</parameter_description>
54965</parameter>
54966</parameters>
54967<return> a newly allocated issuer #GTlsCertificate,
54968or %NULL. Use g_object_unref() to release the certificate.
54969
54970</return>
54971</function>
54972
54973<function name="g_tls_database_lookup_certificates_issued_by">
54974<description>
54975Look up certificates issued by this issuer in the database.
54976
54977This function can block, use g_tls_database_lookup_certificates_issued_by_async() to perform
54978the lookup operation asynchronously.
54979
54980Since: 2.30
54981
54982</description>
54983<parameters>
54984<parameter name="self">
54985<parameter_description> a #GTlsDatabase
54986</parameter_description>
54987</parameter>
54988<parameter name="issuer_raw_dn">
54989<parameter_description> a #GByteArray which holds the DER encoded issuer DN.
54990</parameter_description>
54991</parameter>
54992<parameter name="interaction">
54993<parameter_description> used to interact with the user if necessary
54994</parameter_description>
54995</parameter>
54996<parameter name="flags">
54997<parameter_description> Flags which affect the lookup operation.
54998</parameter_description>
54999</parameter>
55000<parameter name="cancellable">
55001<parameter_description> a #GCancellable, or %NULL
55002</parameter_description>
55003</parameter>
55004<parameter name="error">
55005<parameter_description> a #GError, or %NULL
55006</parameter_description>
55007</parameter>
55008</parameters>
55009<return> a newly allocated list of #GTlsCertificate
55010objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.
55011
55012</return>
55013</function>
55014
55015<function name="g_tls_database_lookup_certificates_issued_by_async">
55016<description>
55017Asynchronously look up certificates issued by this issuer in the database. See
55018g_tls_database_lookup_certificates_issued_by() for more information.
55019
55020The database may choose to hold a reference to the issuer byte array for the duration
55021of of this asynchronous operation. The byte array should not be modified during
55022this time.
55023
55024Since: 2.30
55025
55026</description>
55027<parameters>
55028<parameter name="self">
55029<parameter_description> a #GTlsDatabase
55030</parameter_description>
55031</parameter>
55032<parameter name="issuer_raw_dn">
55033<parameter_description> a #GByteArray which holds the DER encoded issuer DN.
55034</parameter_description>
55035</parameter>
55036<parameter name="interaction">
55037<parameter_description> used to interact with the user if necessary
55038</parameter_description>
55039</parameter>
55040<parameter name="flags">
55041<parameter_description> Flags which affect the lookup operation.
55042</parameter_description>
55043</parameter>
55044<parameter name="cancellable">
55045<parameter_description> a #GCancellable, or %NULL
55046</parameter_description>
55047</parameter>
55048<parameter name="callback">
55049<parameter_description> callback to call when the operation completes
55050</parameter_description>
55051</parameter>
55052<parameter name="user_data">
55053<parameter_description> the data to pass to the callback function
55054</parameter_description>
55055</parameter>
55056</parameters>
55057<return></return>
55058</function>
55059
55060<function name="g_tls_database_lookup_certificates_issued_by_finish">
55061<description>
55062Finish an asynchronous lookup of certificates. See
55063g_tls_database_lookup_certificates_issued_by() for more information.
55064
55065Since: 2.30
55066
55067</description>
55068<parameters>
55069<parameter name="self">
55070<parameter_description> a #GTlsDatabase
55071</parameter_description>
55072</parameter>
55073<parameter name="result">
55074<parameter_description> a #GAsyncResult.
55075</parameter_description>
55076</parameter>
55077<parameter name="error">
55078<parameter_description> a #GError pointer, or %NULL
55079</parameter_description>
55080</parameter>
55081</parameters>
55082<return> a newly allocated list of #GTlsCertificate
55083objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.
55084
55085</return>
55086</function>
55087
55088<function name="g_tls_database_verify_chain">
55089<description>
55090Determines the validity of a certificate chain after looking up and
55091adding any missing certificates to the chain.
55092
55093@chain is a chain of #GTlsCertificate objects each pointing to the next
55094certificate in the chain by its #GTlsCertificate:issuer property. The chain may initially
55095consist of one or more certificates. After the verification process is
55096complete, @chain may be modified by adding missing certificates, or removing
55097extra certificates. If a certificate anchor was found, then it is added to
55098the @chain.
55099
55100@purpose describes the purpose (or usage) for which the certificate
55101is being used. Typically @purpose will be set to #G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER
55102which means that the certificate is being used to authenticate a server
55103(and we are acting as the client).
55104
55105The @identity is used to check for pinned certificates (trust exceptions)
55106in the database. These will override the normal verification process on a
55107host by host basis.
55108
55109Currently there are no @flags, and %G_TLS_DATABASE_VERIFY_NONE should be
55110used.
55111
55112If @chain is found to be valid, then the return value will be 0. If
55113@chain is found to be invalid, then the return value will indicate
55114the problems found. If the function is unable to determine whether
55115@chain is valid or not (eg, because @cancellable is triggered
55116before it completes) then the return value will be
55117%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
55118accordingly. @error is not set when @chain is successfully analyzed
55119but found to be invalid.
55120
55121This function can block, use g_tls_database_verify_chain_async() to perform
55122the verification operation asynchronously.
55123
55124Since: 2.30
55125
55126</description>
55127<parameters>
55128<parameter name="self">
55129<parameter_description> a #GTlsDatabase
55130</parameter_description>
55131</parameter>
55132<parameter name="chain">
55133<parameter_description> a #GTlsCertificate chain
55134</parameter_description>
55135</parameter>
55136<parameter name="purpose">
55137<parameter_description> the purpose that this certificate chain will be used for.
55138</parameter_description>
55139</parameter>
55140<parameter name="identity">
55141<parameter_description> the expected peer identity
55142</parameter_description>
55143</parameter>
55144<parameter name="interaction">
55145<parameter_description> used to interact with the user if necessary
55146</parameter_description>
55147</parameter>
55148<parameter name="flags">
55149<parameter_description> additional verify flags
55150</parameter_description>
55151</parameter>
55152<parameter name="cancellable">
55153<parameter_description> a #GCancellable, or %NULL
55154</parameter_description>
55155</parameter>
55156<parameter name="error">
55157<parameter_description> a #GError, or %NULL
55158</parameter_description>
55159</parameter>
55160</parameters>
55161<return> the appropriate #GTlsCertificateFlags which represents the
55162result of verification.
55163
55164</return>
55165</function>
55166
55167<function name="g_tls_database_verify_chain_async">
55168<description>
55169Asynchronously determines the validity of a certificate chain after
55170looking up and adding any missing certificates to the chain. See
55171g_tls_database_verify_chain() for more information.
55172
55173Since: 2.30
55174
55175</description>
55176<parameters>
55177<parameter name="self">
55178<parameter_description> a #GTlsDatabase
55179</parameter_description>
55180</parameter>
55181<parameter name="chain">
55182<parameter_description> a #GTlsCertificate chain
55183</parameter_description>
55184</parameter>
55185<parameter name="purpose">
55186<parameter_description> the purpose that this certificate chain will be used for.
55187</parameter_description>
55188</parameter>
55189<parameter name="identity">
55190<parameter_description> the expected peer identity
55191</parameter_description>
55192</parameter>
55193<parameter name="interaction">
55194<parameter_description> used to interact with the user if necessary
55195</parameter_description>
55196</parameter>
55197<parameter name="flags">
55198<parameter_description> additional verify flags
55199</parameter_description>
55200</parameter>
55201<parameter name="cancellable">
55202<parameter_description> a #GCancellable, or %NULL
55203</parameter_description>
55204</parameter>
55205<parameter name="callback">
55206<parameter_description> callback to call when the operation completes
55207</parameter_description>
55208</parameter>
55209<parameter name="user_data">
55210<parameter_description> the data to pass to the callback function
55211</parameter_description>
55212</parameter>
55213</parameters>
55214<return></return>
55215</function>
55216
55217<function name="g_tls_database_verify_chain_finish">
55218<description>
55219Finish an asynchronous verify chain operation. See
55220g_tls_database_verify_chain() for more information.
55221
55222If @chain is found to be valid, then the return value will be 0. If
55223@chain is found to be invalid, then the return value will indicate
55224the problems found. If the function is unable to determine whether
55225@chain is valid or not (eg, because @cancellable is triggered
55226before it completes) then the return value will be
55227%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
55228accordingly. @error is not set when @chain is successfully analyzed
55229but found to be invalid.
55230
55231Since: 2.30
55232
55233</description>
55234<parameters>
55235<parameter name="self">
55236<parameter_description> a #GTlsDatabase
55237</parameter_description>
55238</parameter>
55239<parameter name="result">
55240<parameter_description> a #GAsyncResult.
55241</parameter_description>
55242</parameter>
55243<parameter name="error">
55244<parameter_description> a #GError pointer, or %NULL
55245</parameter_description>
55246</parameter>
55247</parameters>
55248<return> the appropriate #GTlsCertificateFlags which represents the
55249result of verification.
55250
55251</return>
55252</function>
55253
55254<function name="g_tls_error_quark">
55255<description>
55256Gets the TLS error quark.
55257
55258Since: 2.28
55259
55260</description>
55261<parameters>
55262</parameters>
55263<return> a #GQuark.
55264
55265</return>
55266</function>
55267
55268<function name="g_tls_file_database_new">
55269<description>
55270Creates a new #GTlsFileDatabase which uses anchor certificate authorities
55271in @anchors to verify certificate chains.
55272
55273The certificates in @anchors must be PEM encoded.
55274
55275Since: 2.30
55276
55277</description>
55278<parameters>
55279<parameter name="anchors">
55280<parameter_description> filename of anchor certificate authorities.
55281</parameter_description>
55282</parameter>
55283<parameter name="error">
55284<parameter_description> #GError for error reporting, or %NULL to ignore.
55285</parameter_description>
55286</parameter>
55287</parameters>
55288<return> the new
55289#GTlsFileDatabase, or %NULL on error
55290
55291</return>
55292</function>
55293
55294<function name="g_tls_interaction_ask_password">
55295<description>
55296Run synchronous interaction to ask the user for a password. In general,
55297g_tls_interaction_invoke_ask_password() should be used instead of this
55298function.
55299
55300Derived subclasses usually implement a password prompt, although they may
55301also choose to provide a password from elsewhere. The @password value will
55302be filled in and then @callback will be called. Alternatively the user may
55303abort this password request, which will usually abort the TLS connection.
55304
55305If the interaction is cancelled by the cancellation object, or by the
55306user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55307contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
55308not support immediate cancellation.
55309
55310Since: 2.30
55311
55312</description>
55313<parameters>
55314<parameter name="interaction">
55315<parameter_description> a #GTlsInteraction object
55316</parameter_description>
55317</parameter>
55318<parameter name="password">
55319<parameter_description> a #GTlsPassword object
55320</parameter_description>
55321</parameter>
55322<parameter name="cancellable">
55323<parameter_description> an optional #GCancellable cancellation object
55324</parameter_description>
55325</parameter>
55326<parameter name="error">
55327<parameter_description> an optional location to place an error on failure
55328</parameter_description>
55329</parameter>
55330</parameters>
55331<return> The status of the ask password interaction.
55332
55333</return>
55334</function>
55335
55336<function name="g_tls_interaction_ask_password_async">
55337<description>
55338Run asynchronous interaction to ask the user for a password. In general,
55339g_tls_interaction_invoke_ask_password() should be used instead of this
55340function.
55341
55342Derived subclasses usually implement a password prompt, although they may
55343also choose to provide a password from elsewhere. The @password value will
55344be filled in and then @callback will be called. Alternatively the user may
55345abort this password request, which will usually abort the TLS connection.
55346
55347If the interaction is cancelled by the cancellation object, or by the
55348user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55349contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
55350not support immediate cancellation.
55351
55352Certain implementations may not support immediate cancellation.
55353
55354Since: 2.30
55355
55356</description>
55357<parameters>
55358<parameter name="interaction">
55359<parameter_description> a #GTlsInteraction object
55360</parameter_description>
55361</parameter>
55362<parameter name="password">
55363<parameter_description> a #GTlsPassword object
55364</parameter_description>
55365</parameter>
55366<parameter name="cancellable">
55367<parameter_description> an optional #GCancellable cancellation object
55368</parameter_description>
55369</parameter>
55370<parameter name="callback">
55371<parameter_description> will be called when the interaction completes
55372</parameter_description>
55373</parameter>
55374<parameter name="user_data">
55375<parameter_description> data to pass to the @callback
55376</parameter_description>
55377</parameter>
55378</parameters>
55379<return></return>
55380</function>
55381
55382<function name="g_tls_interaction_ask_password_finish">
55383<description>
55384Complete an ask password user interaction request. This should be once
55385the g_tls_interaction_ask_password_async() completion callback is called.
55386
55387If %G_TLS_INTERACTION_HANDLED is returned, then the #GTlsPassword passed
55388to g_tls_interaction_ask_password() will have its password filled in.
55389
55390If the interaction is cancelled by the cancellation object, or by the
55391user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55392contains a %G_IO_ERROR_CANCELLED error code.
55393
55394Since: 2.30
55395
55396</description>
55397<parameters>
55398<parameter name="interaction">
55399<parameter_description> a #GTlsInteraction object
55400</parameter_description>
55401</parameter>
55402<parameter name="result">
55403<parameter_description> the result passed to the callback
55404</parameter_description>
55405</parameter>
55406<parameter name="error">
55407<parameter_description> an optional location to place an error on failure
55408</parameter_description>
55409</parameter>
55410</parameters>
55411<return> The status of the ask password interaction.
55412
55413</return>
55414</function>
55415
55416<function name="g_tls_interaction_invoke_ask_password">
55417<description>
55418Invoke the interaction to ask the user for a password. It invokes this
55419interaction in the main loop, specifically the #GMainContext returned by
55420g_main_context_get_thread_default() when the interaction is created. This
55421is called by called by #GTlsConnection or #GTlsDatabase to ask the user
55422for a password.
55423
55424Derived subclasses usually implement a password prompt, although they may
55425also choose to provide a password from elsewhere. The @password value will
55426be filled in and then @callback will be called. Alternatively the user may
55427abort this password request, which will usually abort the TLS connection.
55428
55429The implementation can either be a synchronous (eg: modal dialog) or an
55430asynchronous one (eg: modeless dialog). This function will take care of
55431calling which ever one correctly.
55432
55433If the interaction is cancelled by the cancellation object, or by the
55434user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55435contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
55436not support immediate cancellation.
55437
55438Since: 2.30
55439
55440</description>
55441<parameters>
55442<parameter name="interaction">
55443<parameter_description> a #GTlsInteraction object
55444</parameter_description>
55445</parameter>
55446<parameter name="password">
55447<parameter_description> a #GTlsPassword object
55448</parameter_description>
55449</parameter>
55450<parameter name="cancellable">
55451<parameter_description> an optional #GCancellable cancellation object
55452</parameter_description>
55453</parameter>
55454<parameter name="error">
55455<parameter_description> an optional location to place an error on failure
55456</parameter_description>
55457</parameter>
55458</parameters>
55459<return> The status of the ask password interaction.
55460
55461</return>
55462</function>
55463
55464<function name="g_tls_interaction_invoke_request_certificate">
55465<description>
55466Invoke the interaction to ask the user to choose a certificate to
55467use with the connection. It invokes this interaction in the main
55468loop, specifically the #GMainContext returned by
55469g_main_context_get_thread_default() when the interaction is
55470created. This is called by called by #GTlsConnection when the peer
55471requests a certificate during the handshake.
55472
55473Derived subclasses usually implement a certificate selector,
55474although they may also choose to provide a certificate from
55475elsewhere. Alternatively the user may abort this certificate
55476request, which may or may not abort the TLS connection.
55477
55478The implementation can either be a synchronous (eg: modal dialog) or an
55479asynchronous one (eg: modeless dialog). This function will take care of
55480calling which ever one correctly.
55481
55482If the interaction is cancelled by the cancellation object, or by the
55483user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55484contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
55485not support immediate cancellation.
55486
55487Since: 2.40
55488
55489</description>
55490<parameters>
55491<parameter name="interaction">
55492<parameter_description> a #GTlsInteraction object
55493</parameter_description>
55494</parameter>
55495<parameter name="connection">
55496<parameter_description> a #GTlsConnection object
55497</parameter_description>
55498</parameter>
55499<parameter name="flags">
55500<parameter_description> flags providing more information about the request
55501</parameter_description>
55502</parameter>
55503<parameter name="cancellable">
55504<parameter_description> an optional #GCancellable cancellation object
55505</parameter_description>
55506</parameter>
55507<parameter name="error">
55508<parameter_description> an optional location to place an error on failure
55509</parameter_description>
55510</parameter>
55511</parameters>
55512<return> The status of the certificate request interaction.
55513
55514</return>
55515</function>
55516
55517<function name="g_tls_interaction_request_certificate">
55518<description>
55519Run synchronous interaction to ask the user to choose a certificate to use
55520with the connection. In general, g_tls_interaction_invoke_request_certificate()
55521should be used instead of this function.
55522
55523Derived subclasses usually implement a certificate selector, although they may
55524also choose to provide a certificate from elsewhere. Alternatively the user may
55525abort this certificate request, which will usually abort the TLS connection.
55526
55527If %G_TLS_INTERACTION_HANDLED is returned, then the #GTlsConnection
55528passed to g_tls_interaction_request_certificate() will have had its
55529#GTlsConnection:certificate filled in.
55530
55531If the interaction is cancelled by the cancellation object, or by the
55532user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55533contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
55534not support immediate cancellation.
55535
55536Since: 2.40
55537
55538</description>
55539<parameters>
55540<parameter name="interaction">
55541<parameter_description> a #GTlsInteraction object
55542</parameter_description>
55543</parameter>
55544<parameter name="connection">
55545<parameter_description> a #GTlsConnection object
55546</parameter_description>
55547</parameter>
55548<parameter name="flags">
55549<parameter_description> flags providing more information about the request
55550</parameter_description>
55551</parameter>
55552<parameter name="cancellable">
55553<parameter_description> an optional #GCancellable cancellation object
55554</parameter_description>
55555</parameter>
55556<parameter name="error">
55557<parameter_description> an optional location to place an error on failure
55558</parameter_description>
55559</parameter>
55560</parameters>
55561<return> The status of the request certificate interaction.
55562
55563</return>
55564</function>
55565
55566<function name="g_tls_interaction_request_certificate_async">
55567<description>
55568Run asynchronous interaction to ask the user for a certificate to use with
55569the connection. In general, g_tls_interaction_invoke_request_certificate() should
55570be used instead of this function.
55571
55572Derived subclasses usually implement a certificate selector, although they may
55573also choose to provide a certificate from elsewhere. @callback will be called
55574when the operation completes. Alternatively the user may abort this certificate
55575request, which will usually abort the TLS connection.
55576
55577Since: 2.40
55578
55579</description>
55580<parameters>
55581<parameter name="interaction">
55582<parameter_description> a #GTlsInteraction object
55583</parameter_description>
55584</parameter>
55585<parameter name="connection">
55586<parameter_description> a #GTlsConnection object
55587</parameter_description>
55588</parameter>
55589<parameter name="flags">
55590<parameter_description> flags providing more information about the request
55591</parameter_description>
55592</parameter>
55593<parameter name="cancellable">
55594<parameter_description> an optional #GCancellable cancellation object
55595</parameter_description>
55596</parameter>
55597<parameter name="callback">
55598<parameter_description> will be called when the interaction completes
55599</parameter_description>
55600</parameter>
55601<parameter name="user_data">
55602<parameter_description> data to pass to the @callback
55603</parameter_description>
55604</parameter>
55605</parameters>
55606<return></return>
55607</function>
55608
55609<function name="g_tls_interaction_request_certificate_finish">
55610<description>
55611Complete a request certificate user interaction request. This should be once
55612the g_tls_interaction_request_certificate_async() completion callback is called.
55613
55614If %G_TLS_INTERACTION_HANDLED is returned, then the #GTlsConnection
55615passed to g_tls_interaction_request_certificate_async() will have had its
55616#GTlsConnection:certificate filled in.
55617
55618If the interaction is cancelled by the cancellation object, or by the
55619user then %G_TLS_INTERACTION_FAILED will be returned with an error that
55620contains a %G_IO_ERROR_CANCELLED error code.
55621
55622Since: 2.40
55623
55624</description>
55625<parameters>
55626<parameter name="interaction">
55627<parameter_description> a #GTlsInteraction object
55628</parameter_description>
55629</parameter>
55630<parameter name="result">
55631<parameter_description> the result passed to the callback
55632</parameter_description>
55633</parameter>
55634<parameter name="error">
55635<parameter_description> an optional location to place an error on failure
55636</parameter_description>
55637</parameter>
55638</parameters>
55639<return> The status of the request certificate interaction.
55640
55641</return>
55642</function>
55643
55644<function name="g_tls_password_get_description">
55645<description>
55646Get a description string about what the password will be used for.
55647
55648Since: 2.30
55649
55650</description>
55651<parameters>
55652<parameter name="password">
55653<parameter_description> a #GTlsPassword object
55654</parameter_description>
55655</parameter>
55656</parameters>
55657<return> The description of the password.
55658
55659</return>
55660</function>
55661
55662<function name="g_tls_password_get_flags">
55663<description>
55664Get flags about the password.
55665
55666Since: 2.30
55667
55668</description>
55669<parameters>
55670<parameter name="password">
55671<parameter_description> a #GTlsPassword object
55672</parameter_description>
55673</parameter>
55674</parameters>
55675<return> The flags about the password.
55676
55677</return>
55678</function>
55679
55680<function name="g_tls_password_get_value">
55681<description>
55682Get the password value. If @length is not %NULL then it will be
55683filled in with the length of the password value. (Note that the
55684password value is not nul-terminated, so you can only pass %NULL
55685for @length in contexts where you know the password will have a
55686certain fixed length.)
55687
55688Since: 2.30
55689
55690</description>
55691<parameters>
55692<parameter name="password">
55693<parameter_description> a #GTlsPassword object
55694</parameter_description>
55695</parameter>
55696<parameter name="length">
55697<parameter_description> location to place the length of the password.
55698</parameter_description>
55699</parameter>
55700</parameters>
55701<return> The password value (owned by the password object).
55702
55703</return>
55704</function>
55705
55706<function name="g_tls_password_get_warning">
55707<description>
55708Get a user readable translated warning. Usually this warning is a
55709representation of the password flags returned from
55710g_tls_password_get_flags().
55711
55712Since: 2.30
55713
55714</description>
55715<parameters>
55716<parameter name="password">
55717<parameter_description> a #GTlsPassword object
55718</parameter_description>
55719</parameter>
55720</parameters>
55721<return> The warning.
55722
55723</return>
55724</function>
55725
55726<function name="g_tls_password_new">
55727<description>
55728Create a new #GTlsPassword object.
55729
55730
55731</description>
55732<parameters>
55733<parameter name="flags">
55734<parameter_description> the password flags
55735</parameter_description>
55736</parameter>
55737<parameter name="description">
55738<parameter_description> description of what the password is for
55739</parameter_description>
55740</parameter>
55741</parameters>
55742<return> The newly allocated password object
55743</return>
55744</function>
55745
55746<function name="g_tls_password_set_description">
55747<description>
55748Set a description string about what the password will be used for.
55749
55750Since: 2.30
55751
55752</description>
55753<parameters>
55754<parameter name="password">
55755<parameter_description> a #GTlsPassword object
55756</parameter_description>
55757</parameter>
55758<parameter name="description">
55759<parameter_description> The description of the password
55760</parameter_description>
55761</parameter>
55762</parameters>
55763<return></return>
55764</function>
55765
55766<function name="g_tls_password_set_flags">
55767<description>
55768Set flags about the password.
55769
55770Since: 2.30
55771
55772</description>
55773<parameters>
55774<parameter name="password">
55775<parameter_description> a #GTlsPassword object
55776</parameter_description>
55777</parameter>
55778<parameter name="flags">
55779<parameter_description> The flags about the password
55780</parameter_description>
55781</parameter>
55782</parameters>
55783<return></return>
55784</function>
55785
55786<function name="g_tls_password_set_value">
55787<description>
55788Set the value for this password. The @value will be copied by the password
55789object.
55790
55791Specify the @length, for a non-nul-terminated password. Pass -1 as
55792@length if using a nul-terminated password, and @length will be
55793calculated automatically. (Note that the terminating nul is not
55794considered part of the password in this case.)
55795
55796Since: 2.30
55797
55798</description>
55799<parameters>
55800<parameter name="password">
55801<parameter_description> a #GTlsPassword object
55802</parameter_description>
55803</parameter>
55804<parameter name="value">
55805<parameter_description> the new password value
55806</parameter_description>
55807</parameter>
55808<parameter name="length">
55809<parameter_description> the length of the password, or -1
55810</parameter_description>
55811</parameter>
55812</parameters>
55813<return></return>
55814</function>
55815
55816<function name="g_tls_password_set_value_full">
55817<description>
55818Provide the value for this password.
55819
55820The @value will be owned by the password object, and later freed using
55821the @destroy function callback.
55822
55823Specify the @length, for a non-nul-terminated password. Pass -1 as
55824@length if using a nul-terminated password, and @length will be
55825calculated automatically. (Note that the terminating nul is not
55826considered part of the password in this case.)
55827
55828Virtual: set_value
55829Since: 2.30
55830
55831</description>
55832<parameters>
55833<parameter name="password">
55834<parameter_description> a #GTlsPassword object
55835</parameter_description>
55836</parameter>
55837<parameter name="value">
55838<parameter_description> the value for the password
55839</parameter_description>
55840</parameter>
55841<parameter name="length">
55842<parameter_description> the length of the password, or -1
55843</parameter_description>
55844</parameter>
55845<parameter name="destroy">
55846<parameter_description> a function to use to free the password.
55847</parameter_description>
55848</parameter>
55849</parameters>
55850<return></return>
55851</function>
55852
55853<function name="g_tls_password_set_warning">
55854<description>
55855Set a user readable translated warning. Usually this warning is a
55856representation of the password flags returned from
55857g_tls_password_get_flags().
55858
55859Since: 2.30
55860
55861</description>
55862<parameters>
55863<parameter name="password">
55864<parameter_description> a #GTlsPassword object
55865</parameter_description>
55866</parameter>
55867<parameter name="warning">
55868<parameter_description> The user readable warning
55869</parameter_description>
55870</parameter>
55871</parameters>
55872<return></return>
55873</function>
55874
55875<function name="g_tls_server_connection_new">
55876<description>
55877Creates a new #GTlsServerConnection wrapping @base_io_stream (which
55878must have pollable input and output streams).
55879
55880See the documentation for #GTlsConnection:base-io-stream for restrictions
55881on when application code can run operations on the @base_io_stream after
55882this function has returned.
55883
55884Since: 2.28
55885
55886</description>
55887<parameters>
55888<parameter name="base_io_stream">
55889<parameter_description> the #GIOStream to wrap
55890</parameter_description>
55891</parameter>
55892<parameter name="certificate">
55893<parameter_description> the default server certificate, or %NULL
55894</parameter_description>
55895</parameter>
55896<parameter name="error">
55897<parameter_description> #GError for error reporting, or %NULL to ignore.
55898</parameter_description>
55899</parameter>
55900</parameters>
55901<return> the new
55902#GTlsServerConnection, or %NULL on error
55903
55904</return>
55905</function>
55906
55907<function name="g_unix_connection_receive_credentials">
55908<description>
55909Receives credentials from the sending end of the connection.  The
55910sending end has to call g_unix_connection_send_credentials() (or
55911similar) for this to work.
55912
55913As well as reading the credentials this also reads (and discards) a
55914single byte from the stream, as this is required for credentials
55915passing to work on some implementations.
55916
55917This method can be expected to be available on the following platforms:
55918
55919- Linux since GLib 2.26
55920- FreeBSD since GLib 2.26
55921- GNU/kFreeBSD since GLib 2.36
55922- Solaris, Illumos and OpenSolaris since GLib 2.40
55923- GNU/Hurd since GLib 2.40
55924
55925Other ways to exchange credentials with a foreign peer includes the
55926#GUnixCredentialsMessage type and g_socket_get_credentials() function.
55927
55928Since: 2.26
55929
55930</description>
55931<parameters>
55932<parameter name="connection">
55933<parameter_description> A #GUnixConnection.
55934</parameter_description>
55935</parameter>
55936<parameter name="cancellable">
55937<parameter_description> A #GCancellable or %NULL.
55938</parameter_description>
55939</parameter>
55940<parameter name="error">
55941<parameter_description> Return location for error or %NULL.
55942</parameter_description>
55943</parameter>
55944</parameters>
55945<return> Received credentials on success (free with
55946g_object_unref()), %NULL if @error is set.
55947
55948</return>
55949</function>
55950
55951<function name="g_unix_connection_receive_credentials_async">
55952<description>
55953Asynchronously receive credentials.
55954
55955For more details, see g_unix_connection_receive_credentials() which is
55956the synchronous version of this call.
55957
55958When the operation is finished, @callback will be called. You can then call
55959g_unix_connection_receive_credentials_finish() to get the result of the operation.
55960
55961Since: 2.32
55962
55963</description>
55964<parameters>
55965<parameter name="connection">
55966<parameter_description> A #GUnixConnection.
55967</parameter_description>
55968</parameter>
55969<parameter name="cancellable">
55970<parameter_description> optional #GCancellable object, %NULL to ignore.
55971</parameter_description>
55972</parameter>
55973<parameter name="callback">
55974<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
55975</parameter_description>
55976</parameter>
55977<parameter name="user_data">
55978<parameter_description> the data to pass to callback function
55979</parameter_description>
55980</parameter>
55981</parameters>
55982<return></return>
55983</function>
55984
55985<function name="g_unix_connection_receive_credentials_finish">
55986<description>
55987Finishes an asynchronous receive credentials operation started with
55988g_unix_connection_receive_credentials_async().
55989
55990Since: 2.32
55991
55992</description>
55993<parameters>
55994<parameter name="connection">
55995<parameter_description> A #GUnixConnection.
55996</parameter_description>
55997</parameter>
55998<parameter name="result">
55999<parameter_description> a #GAsyncResult.
56000</parameter_description>
56001</parameter>
56002<parameter name="error">
56003<parameter_description> a #GError, or %NULL
56004</parameter_description>
56005</parameter>
56006</parameters>
56007<return> a #GCredentials, or %NULL on error.
56008Free the returned object with g_object_unref().
56009
56010</return>
56011</function>
56012
56013<function name="g_unix_connection_receive_fd">
56014<description>
56015Receives a file descriptor from the sending end of the connection.
56016The sending end has to call g_unix_connection_send_fd() for this
56017to work.
56018
56019As well as reading the fd this also reads a single byte from the
56020stream, as this is required for fd passing to work on some
56021implementations.
56022
56023Since: 2.22
56024
56025</description>
56026<parameters>
56027<parameter name="connection">
56028<parameter_description> a #GUnixConnection
56029</parameter_description>
56030</parameter>
56031<parameter name="cancellable">
56032<parameter_description> optional #GCancellable object, %NULL to ignore
56033</parameter_description>
56034</parameter>
56035<parameter name="error">
56036<parameter_description> #GError for error reporting, or %NULL to ignore
56037</parameter_description>
56038</parameter>
56039</parameters>
56040<return> a file descriptor on success, -1 on error.
56041
56042</return>
56043</function>
56044
56045<function name="g_unix_connection_send_credentials">
56046<description>
56047Passes the credentials of the current user the receiving side
56048of the connection. The receiving end has to call
56049g_unix_connection_receive_credentials() (or similar) to accept the
56050credentials.
56051
56052As well as sending the credentials this also writes a single NUL
56053byte to the stream, as this is required for credentials passing to
56054work on some implementations.
56055
56056This method can be expected to be available on the following platforms:
56057
56058- Linux since GLib 2.26
56059- FreeBSD since GLib 2.26
56060- GNU/kFreeBSD since GLib 2.36
56061- Solaris, Illumos and OpenSolaris since GLib 2.40
56062- GNU/Hurd since GLib 2.40
56063
56064Other ways to exchange credentials with a foreign peer includes the
56065#GUnixCredentialsMessage type and g_socket_get_credentials() function.
56066
56067Since: 2.26
56068
56069</description>
56070<parameters>
56071<parameter name="connection">
56072<parameter_description> A #GUnixConnection.
56073</parameter_description>
56074</parameter>
56075<parameter name="cancellable">
56076<parameter_description> A #GCancellable or %NULL.
56077</parameter_description>
56078</parameter>
56079<parameter name="error">
56080<parameter_description> Return location for error or %NULL.
56081</parameter_description>
56082</parameter>
56083</parameters>
56084<return> %TRUE on success, %FALSE if @error is set.
56085
56086</return>
56087</function>
56088
56089<function name="g_unix_connection_send_credentials_async">
56090<description>
56091Asynchronously send credentials.
56092
56093For more details, see g_unix_connection_send_credentials() which is
56094the synchronous version of this call.
56095
56096When the operation is finished, @callback will be called. You can then call
56097g_unix_connection_send_credentials_finish() to get the result of the operation.
56098
56099Since: 2.32
56100
56101</description>
56102<parameters>
56103<parameter name="connection">
56104<parameter_description> A #GUnixConnection.
56105</parameter_description>
56106</parameter>
56107<parameter name="cancellable">
56108<parameter_description> optional #GCancellable object, %NULL to ignore.
56109</parameter_description>
56110</parameter>
56111<parameter name="callback">
56112<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
56113</parameter_description>
56114</parameter>
56115<parameter name="user_data">
56116<parameter_description> the data to pass to callback function
56117</parameter_description>
56118</parameter>
56119</parameters>
56120<return></return>
56121</function>
56122
56123<function name="g_unix_connection_send_credentials_finish">
56124<description>
56125Finishes an asynchronous send credentials operation started with
56126g_unix_connection_send_credentials_async().
56127
56128Since: 2.32
56129
56130</description>
56131<parameters>
56132<parameter name="connection">
56133<parameter_description> A #GUnixConnection.
56134</parameter_description>
56135</parameter>
56136<parameter name="result">
56137<parameter_description> a #GAsyncResult.
56138</parameter_description>
56139</parameter>
56140<parameter name="error">
56141<parameter_description> a #GError, or %NULL
56142</parameter_description>
56143</parameter>
56144</parameters>
56145<return> %TRUE if the operation was successful, otherwise %FALSE.
56146
56147</return>
56148</function>
56149
56150<function name="g_unix_connection_send_fd">
56151<description>
56152Passes a file descriptor to the receiving side of the
56153connection. The receiving end has to call g_unix_connection_receive_fd()
56154to accept the file descriptor.
56155
56156As well as sending the fd this also writes a single byte to the
56157stream, as this is required for fd passing to work on some
56158implementations.
56159
56160Since: 2.22
56161
56162</description>
56163<parameters>
56164<parameter name="connection">
56165<parameter_description> a #GUnixConnection
56166</parameter_description>
56167</parameter>
56168<parameter name="fd">
56169<parameter_description> a file descriptor
56170</parameter_description>
56171</parameter>
56172<parameter name="cancellable">
56173<parameter_description> optional #GCancellable object, %NULL to ignore.
56174</parameter_description>
56175</parameter>
56176<parameter name="error">
56177<parameter_description> #GError for error reporting, or %NULL to ignore.
56178</parameter_description>
56179</parameter>
56180</parameters>
56181<return> a %TRUE on success, %NULL on error.
56182
56183</return>
56184</function>
56185
56186<function name="g_unix_credentials_message_get_credentials">
56187<description>
56188Gets the credentials stored in @message.
56189
56190Since: 2.26
56191
56192</description>
56193<parameters>
56194<parameter name="message">
56195<parameter_description> A #GUnixCredentialsMessage.
56196</parameter_description>
56197</parameter>
56198</parameters>
56199<return> A #GCredentials instance. Do not free, it is owned by @message.
56200
56201</return>
56202</function>
56203
56204<function name="g_unix_credentials_message_is_supported">
56205<description>
56206Checks if passing #GCredentials on a #GSocket is supported on this platform.
56207
56208Since: 2.26
56209
56210</description>
56211<parameters>
56212</parameters>
56213<return> %TRUE if supported, %FALSE otherwise
56214
56215</return>
56216</function>
56217
56218<function name="g_unix_credentials_message_new">
56219<description>
56220Creates a new #GUnixCredentialsMessage with credentials matching the current processes.
56221
56222Since: 2.26
56223
56224</description>
56225<parameters>
56226</parameters>
56227<return> a new #GUnixCredentialsMessage
56228
56229</return>
56230</function>
56231
56232<function name="g_unix_credentials_message_new_with_credentials">
56233<description>
56234Creates a new #GUnixCredentialsMessage holding @credentials.
56235
56236Since: 2.26
56237
56238</description>
56239<parameters>
56240<parameter name="credentials">
56241<parameter_description> A #GCredentials object.
56242</parameter_description>
56243</parameter>
56244</parameters>
56245<return> a new #GUnixCredentialsMessage
56246
56247</return>
56248</function>
56249
56250<function name="g_unix_fd_list_append">
56251<description>
56252Adds a file descriptor to @list.
56253
56254The file descriptor is duplicated using dup(). You keep your copy
56255of the descriptor and the copy contained in @list will be closed
56256when @list is finalized.
56257
56258A possible cause of failure is exceeding the per-process or
56259system-wide file descriptor limit.
56260
56261The index of the file descriptor in the list is returned.  If you use
56262this index with g_unix_fd_list_get() then you will receive back a
56263duplicated copy of the same file descriptor.
56264
56265Since: 2.24
56266
56267</description>
56268<parameters>
56269<parameter name="list">
56270<parameter_description> a #GUnixFDList
56271</parameter_description>
56272</parameter>
56273<parameter name="fd">
56274<parameter_description> a valid open file descriptor
56275</parameter_description>
56276</parameter>
56277<parameter name="error">
56278<parameter_description> a #GError pointer
56279</parameter_description>
56280</parameter>
56281</parameters>
56282<return> the index of the appended fd in case of success, else -1
56283(and @error is set)
56284
56285</return>
56286</function>
56287
56288<function name="g_unix_fd_list_get">
56289<description>
56290Gets a file descriptor out of @list.
56291
56292@index_ specifies the index of the file descriptor to get.  It is a
56293programmer error for @index_ to be out of range; see
56294g_unix_fd_list_get_length().
56295
56296The file descriptor is duplicated using dup() and set as
56297close-on-exec before being returned.  You must call close() on it
56298when you are done.
56299
56300A possible cause of failure is exceeding the per-process or
56301system-wide file descriptor limit.
56302
56303Since: 2.24
56304
56305</description>
56306<parameters>
56307<parameter name="list">
56308<parameter_description> a #GUnixFDList
56309</parameter_description>
56310</parameter>
56311<parameter name="index_">
56312<parameter_description> the index into the list
56313</parameter_description>
56314</parameter>
56315<parameter name="error">
56316<parameter_description> a #GError pointer
56317</parameter_description>
56318</parameter>
56319</parameters>
56320<return> the file descriptor, or -1 in case of error
56321
56322</return>
56323</function>
56324
56325<function name="g_unix_fd_list_get_length">
56326<description>
56327Gets the length of @list (ie: the number of file descriptors
56328contained within).
56329
56330Since: 2.24
56331
56332</description>
56333<parameters>
56334<parameter name="list">
56335<parameter_description> a #GUnixFDList
56336</parameter_description>
56337</parameter>
56338</parameters>
56339<return> the length of @list
56340
56341</return>
56342</function>
56343
56344<function name="g_unix_fd_list_new">
56345<description>
56346Creates a new #GUnixFDList containing no file descriptors.
56347
56348Since: 2.24
56349
56350</description>
56351<parameters>
56352</parameters>
56353<return> a new #GUnixFDList
56354
56355</return>
56356</function>
56357
56358<function name="g_unix_fd_list_new_from_array">
56359<description>
56360Creates a new #GUnixFDList containing the file descriptors given in
56361@fds.  The file descriptors become the property of the new list and
56362may no longer be used by the caller.  The array itself is owned by
56363the caller.
56364
56365Each file descriptor in the array should be set to close-on-exec.
56366
56367If @n_fds is -1 then @fds must be terminated with -1.
56368
56369Since: 2.24
56370
56371</description>
56372<parameters>
56373<parameter name="fds">
56374<parameter_description> the initial list of file descriptors
56375</parameter_description>
56376</parameter>
56377<parameter name="n_fds">
56378<parameter_description> the length of #fds, or -1
56379</parameter_description>
56380</parameter>
56381</parameters>
56382<return> a new #GUnixFDList
56383
56384</return>
56385</function>
56386
56387<function name="g_unix_fd_list_peek_fds">
56388<description>
56389Returns the array of file descriptors that is contained in this
56390object.
56391
56392After this call, the descriptors remain the property of @list.  The
56393caller must not close them and must not free the array.  The array is
56394valid only until @list is changed in any way.
56395
56396If @length is non-%NULL then it is set to the number of file
56397descriptors in the returned array. The returned array is also
56398terminated with -1.
56399
56400This function never returns %NULL. In case there are no file
56401descriptors contained in @list, an empty array is returned.
56402
56403Since: 2.24
56404
56405</description>
56406<parameters>
56407<parameter name="list">
56408<parameter_description> a #GUnixFDList
56409</parameter_description>
56410</parameter>
56411<parameter name="length">
56412<parameter_description> pointer to the length of the returned
56413array, or %NULL
56414</parameter_description>
56415</parameter>
56416</parameters>
56417<return> an array of file
56418descriptors
56419
56420</return>
56421</function>
56422
56423<function name="g_unix_fd_list_steal_fds">
56424<description>
56425Returns the array of file descriptors that is contained in this
56426object.
56427
56428After this call, the descriptors are no longer contained in
56429@list. Further calls will return an empty list (unless more
56430descriptors have been added).
56431
56432The return result of this function must be freed with g_free().
56433The caller is also responsible for closing all of the file
56434descriptors.  The file descriptors in the array are set to
56435close-on-exec.
56436
56437If @length is non-%NULL then it is set to the number of file
56438descriptors in the returned array. The returned array is also
56439terminated with -1.
56440
56441This function never returns %NULL. In case there are no file
56442descriptors contained in @list, an empty array is returned.
56443
56444Since: 2.24
56445
56446</description>
56447<parameters>
56448<parameter name="list">
56449<parameter_description> a #GUnixFDList
56450</parameter_description>
56451</parameter>
56452<parameter name="length">
56453<parameter_description> pointer to the length of the returned
56454array, or %NULL
56455</parameter_description>
56456</parameter>
56457</parameters>
56458<return> an array of file
56459descriptors
56460
56461</return>
56462</function>
56463
56464<function name="g_unix_fd_message_append_fd">
56465<description>
56466Adds a file descriptor to @message.
56467
56468The file descriptor is duplicated using dup(). You keep your copy
56469of the descriptor and the copy contained in @message will be closed
56470when @message is finalized.
56471
56472A possible cause of failure is exceeding the per-process or
56473system-wide file descriptor limit.
56474
56475Since: 2.22
56476
56477</description>
56478<parameters>
56479<parameter name="message">
56480<parameter_description> a #GUnixFDMessage
56481</parameter_description>
56482</parameter>
56483<parameter name="fd">
56484<parameter_description> a valid open file descriptor
56485</parameter_description>
56486</parameter>
56487<parameter name="error">
56488<parameter_description> a #GError pointer
56489</parameter_description>
56490</parameter>
56491</parameters>
56492<return> %TRUE in case of success, else %FALSE (and @error is set)
56493
56494</return>
56495</function>
56496
56497<function name="g_unix_fd_message_get_fd_list">
56498<description>
56499Gets the #GUnixFDList contained in @message.  This function does not
56500return a reference to the caller, but the returned list is valid for
56501the lifetime of @message.
56502
56503Since: 2.24
56504
56505</description>
56506<parameters>
56507<parameter name="message">
56508<parameter_description> a #GUnixFDMessage
56509</parameter_description>
56510</parameter>
56511</parameters>
56512<return> the #GUnixFDList from @message
56513
56514</return>
56515</function>
56516
56517<function name="g_unix_fd_message_new">
56518<description>
56519Creates a new #GUnixFDMessage containing an empty file descriptor
56520list.
56521
56522Since: 2.22
56523
56524</description>
56525<parameters>
56526</parameters>
56527<return> a new #GUnixFDMessage
56528
56529</return>
56530</function>
56531
56532<function name="g_unix_fd_message_new_with_fd_list">
56533<description>
56534Creates a new #GUnixFDMessage containing @list.
56535
56536Since: 2.24
56537
56538</description>
56539<parameters>
56540<parameter name="fd_list">
56541<parameter_description> a #GUnixFDList
56542</parameter_description>
56543</parameter>
56544</parameters>
56545<return> a new #GUnixFDMessage
56546
56547</return>
56548</function>
56549
56550<function name="g_unix_fd_message_steal_fds">
56551<description>
56552Returns the array of file descriptors that is contained in this
56553object.
56554
56555After this call, the descriptors are no longer contained in
56556@message. Further calls will return an empty list (unless more
56557descriptors have been added).
56558
56559The return result of this function must be freed with g_free().
56560The caller is also responsible for closing all of the file
56561descriptors.
56562
56563If @length is non-%NULL then it is set to the number of file
56564descriptors in the returned array. The returned array is also
56565terminated with -1.
56566
56567This function never returns %NULL. In case there are no file
56568descriptors contained in @message, an empty array is returned.
56569
56570Since: 2.22
56571
56572</description>
56573<parameters>
56574<parameter name="message">
56575<parameter_description> a #GUnixFDMessage
56576</parameter_description>
56577</parameter>
56578<parameter name="length">
56579<parameter_description> pointer to the length of the returned
56580array, or %NULL
56581</parameter_description>
56582</parameter>
56583</parameters>
56584<return> an array of file
56585descriptors
56586
56587</return>
56588</function>
56589
56590<function name="g_unix_input_stream_get_close_fd">
56591<description>
56592Returns whether the file descriptor of @stream will be
56593closed when the stream is closed.
56594
56595Since: 2.20
56596
56597</description>
56598<parameters>
56599<parameter name="stream">
56600<parameter_description> a #GUnixInputStream
56601</parameter_description>
56602</parameter>
56603</parameters>
56604<return> %TRUE if the file descriptor is closed when done
56605
56606</return>
56607</function>
56608
56609<function name="g_unix_input_stream_get_fd">
56610<description>
56611Return the UNIX file descriptor that the stream reads from.
56612
56613Since: 2.20
56614
56615</description>
56616<parameters>
56617<parameter name="stream">
56618<parameter_description> a #GUnixInputStream
56619</parameter_description>
56620</parameter>
56621</parameters>
56622<return> The file descriptor of @stream
56623
56624</return>
56625</function>
56626
56627<function name="g_unix_input_stream_new">
56628<description>
56629Creates a new #GUnixInputStream for the given @fd.
56630
56631If @close_fd is %TRUE, the file descriptor will be closed
56632when the stream is closed.
56633
56634
56635</description>
56636<parameters>
56637<parameter name="fd">
56638<parameter_description> a UNIX file descriptor
56639</parameter_description>
56640</parameter>
56641<parameter name="close_fd">
56642<parameter_description> %TRUE to close the file descriptor when done
56643</parameter_description>
56644</parameter>
56645</parameters>
56646<return> a new #GUnixInputStream
56647</return>
56648</function>
56649
56650<function name="g_unix_input_stream_set_close_fd">
56651<description>
56652Sets whether the file descriptor of @stream shall be closed
56653when the stream is closed.
56654
56655Since: 2.20
56656
56657</description>
56658<parameters>
56659<parameter name="stream">
56660<parameter_description> a #GUnixInputStream
56661</parameter_description>
56662</parameter>
56663<parameter name="close_fd">
56664<parameter_description> %TRUE to close the file descriptor when done
56665</parameter_description>
56666</parameter>
56667</parameters>
56668<return></return>
56669</function>
56670
56671<function name="g_unix_is_mount_path_system_internal">
56672<description>
56673Determines if @mount_path is considered an implementation of the
56674OS. This is primarily used for hiding mountable and mounted volumes
56675that only are used in the OS and has little to no relevance to the
56676casual user.
56677
56678
56679</description>
56680<parameters>
56681<parameter name="mount_path">
56682<parameter_description> a mount path, e.g. `/media/disk` or `/usr`
56683</parameter_description>
56684</parameter>
56685</parameters>
56686<return> %TRUE if @mount_path is considered an implementation detail
56687of the OS.
56688</return>
56689</function>
56690
56691<function name="g_unix_is_system_device_path">
56692<description>
56693Determines if @device_path is considered a block device path which is only
56694used in implementation of the OS. This is primarily used for hiding
56695mounted volumes that are intended as APIs for programs to read, and system
56696administrators at a shell; rather than something that should, for example,
56697appear in a GUI. For example, the Linux `/proc` filesystem.
56698
56699The list of device paths considered ‘system’ ones may change over time.
56700
56701Since: 2.56
56702
56703</description>
56704<parameters>
56705<parameter name="device_path">
56706<parameter_description> a device path, e.g. `/dev/loop0` or `nfsd`
56707</parameter_description>
56708</parameter>
56709</parameters>
56710<return> %TRUE if @device_path is considered an implementation detail of
56711the OS.
56712</return>
56713</function>
56714
56715<function name="g_unix_is_system_fs_type">
56716<description>
56717Determines if @fs_type is considered a type of file system which is only
56718used in implementation of the OS. This is primarily used for hiding
56719mounted volumes that are intended as APIs for programs to read, and system
56720administrators at a shell; rather than something that should, for example,
56721appear in a GUI. For example, the Linux `/proc` filesystem.
56722
56723The list of file system types considered ‘system’ ones may change over time.
56724
56725Since: 2.56
56726
56727</description>
56728<parameters>
56729<parameter name="fs_type">
56730<parameter_description> a file system type, e.g. `procfs` or `tmpfs`
56731</parameter_description>
56732</parameter>
56733</parameters>
56734<return> %TRUE if @fs_type is considered an implementation detail of the OS.
56735</return>
56736</function>
56737
56738<function name="g_unix_mount_at">
56739<description>
56740Gets a #GUnixMountEntry for a given mount path. If @time_read
56741is set, it will be filled with a unix timestamp for checking
56742if the mounts have changed since with g_unix_mounts_changed_since().
56743
56744If more mounts have the same mount path, the last matching mount
56745is returned.
56746
56747
56748</description>
56749<parameters>
56750<parameter name="mount_path">
56751<parameter_description> path for a possible unix mount.
56752</parameter_description>
56753</parameter>
56754<parameter name="time_read">
56755<parameter_description> guint64 to contain a timestamp.
56756</parameter_description>
56757</parameter>
56758</parameters>
56759<return> a #GUnixMountEntry.
56760</return>
56761</function>
56762
56763<function name="g_unix_mount_compare">
56764<description>
56765Compares two unix mounts.
56766
56767
56768</description>
56769<parameters>
56770<parameter name="mount1">
56771<parameter_description> first #GUnixMountEntry to compare.
56772</parameter_description>
56773</parameter>
56774<parameter name="mount2">
56775<parameter_description> second #GUnixMountEntry to compare.
56776</parameter_description>
56777</parameter>
56778</parameters>
56779<return> 1, 0 or -1 if @mount1 is greater than, equal to,
56780or less than @mount2, respectively.
56781</return>
56782</function>
56783
56784<function name="g_unix_mount_copy">
56785<description>
56786Makes a copy of @mount_entry.
56787
56788Since: 2.54
56789
56790</description>
56791<parameters>
56792<parameter name="mount_entry">
56793<parameter_description> a #GUnixMountEntry.
56794</parameter_description>
56795</parameter>
56796</parameters>
56797<return> a new #GUnixMountEntry
56798
56799</return>
56800</function>
56801
56802<function name="g_unix_mount_for">
56803<description>
56804Gets a #GUnixMountEntry for a given file path. If @time_read
56805is set, it will be filled with a unix timestamp for checking
56806if the mounts have changed since with g_unix_mounts_changed_since().
56807
56808If more mounts have the same mount path, the last matching mount
56809is returned.
56810
56811Since: 2.52
56812
56813</description>
56814<parameters>
56815<parameter name="file_path">
56816<parameter_description> file path on some unix mount.
56817</parameter_description>
56818</parameter>
56819<parameter name="time_read">
56820<parameter_description> guint64 to contain a timestamp.
56821</parameter_description>
56822</parameter>
56823</parameters>
56824<return> a #GUnixMountEntry.
56825
56826</return>
56827</function>
56828
56829<function name="g_unix_mount_free">
56830<description>
56831Frees a unix mount.
56832
56833</description>
56834<parameters>
56835<parameter name="mount_entry">
56836<parameter_description> a #GUnixMountEntry.
56837</parameter_description>
56838</parameter>
56839</parameters>
56840<return></return>
56841</function>
56842
56843<function name="g_unix_mount_get_device_path">
56844<description>
56845Gets the device path for a unix mount.
56846
56847
56848</description>
56849<parameters>
56850<parameter name="mount_entry">
56851<parameter_description> a #GUnixMount.
56852</parameter_description>
56853</parameter>
56854</parameters>
56855<return> a string containing the device path.
56856</return>
56857</function>
56858
56859<function name="g_unix_mount_get_fs_type">
56860<description>
56861Gets the filesystem type for the unix mount.
56862
56863
56864</description>
56865<parameters>
56866<parameter name="mount_entry">
56867<parameter_description> a #GUnixMount.
56868</parameter_description>
56869</parameter>
56870</parameters>
56871<return> a string containing the file system type.
56872</return>
56873</function>
56874
56875<function name="g_unix_mount_get_mount_path">
56876<description>
56877Gets the mount path for a unix mount.
56878
56879
56880</description>
56881<parameters>
56882<parameter name="mount_entry">
56883<parameter_description> input #GUnixMountEntry to get the mount path for.
56884</parameter_description>
56885</parameter>
56886</parameters>
56887<return> the mount path for @mount_entry.
56888</return>
56889</function>
56890
56891<function name="g_unix_mount_get_options">
56892<description>
56893Gets a comma-separated list of mount options for the unix mount. For example,
56894`rw,relatime,seclabel,data=ordered`.
56895
56896This is similar to g_unix_mount_point_get_options(), but it takes
56897a #GUnixMountEntry as an argument.
56898
56899Since: 2.58
56900
56901</description>
56902<parameters>
56903<parameter name="mount_entry">
56904<parameter_description> a #GUnixMountEntry.
56905</parameter_description>
56906</parameter>
56907</parameters>
56908<return> a string containing the options, or %NULL if not
56909available.
56910
56911</return>
56912</function>
56913
56914<function name="g_unix_mount_get_root_path">
56915<description>
56916Gets the root of the mount within the filesystem. This is useful e.g. for
56917mounts created by bind operation, or btrfs subvolumes.
56918
56919For example, the root path is equal to &quot;/&quot; for mount created by
56920&quot;mount /dev/sda1 /mnt/foo&quot; and &quot;/bar&quot; for
56921&quot;mount --bind /mnt/foo/bar /mnt/bar&quot;.
56922
56923Since: 2.60
56924
56925</description>
56926<parameters>
56927<parameter name="mount_entry">
56928<parameter_description> a #GUnixMountEntry.
56929</parameter_description>
56930</parameter>
56931</parameters>
56932<return> a string containing the root, or %NULL if not supported.
56933
56934</return>
56935</function>
56936
56937<function name="g_unix_mount_guess_can_eject">
56938<description>
56939Guesses whether a Unix mount can be ejected.
56940
56941
56942</description>
56943<parameters>
56944<parameter name="mount_entry">
56945<parameter_description> a #GUnixMountEntry
56946</parameter_description>
56947</parameter>
56948</parameters>
56949<return> %TRUE if @mount_entry is deemed to be ejectable.
56950</return>
56951</function>
56952
56953<function name="g_unix_mount_guess_icon">
56954<description>
56955Guesses the icon of a Unix mount.
56956
56957
56958</description>
56959<parameters>
56960<parameter name="mount_entry">
56961<parameter_description> a #GUnixMountEntry
56962</parameter_description>
56963</parameter>
56964</parameters>
56965<return> a #GIcon
56966</return>
56967</function>
56968
56969<function name="g_unix_mount_guess_name">
56970<description>
56971Guesses the name of a Unix mount.
56972The result is a translated string.
56973
56974
56975</description>
56976<parameters>
56977<parameter name="mount_entry">
56978<parameter_description> a #GUnixMountEntry
56979</parameter_description>
56980</parameter>
56981</parameters>
56982<return> A newly allocated string that must
56983be freed with g_free()
56984</return>
56985</function>
56986
56987<function name="g_unix_mount_guess_should_display">
56988<description>
56989Guesses whether a Unix mount should be displayed in the UI.
56990
56991
56992</description>
56993<parameters>
56994<parameter name="mount_entry">
56995<parameter_description> a #GUnixMountEntry
56996</parameter_description>
56997</parameter>
56998</parameters>
56999<return> %TRUE if @mount_entry is deemed to be displayable.
57000</return>
57001</function>
57002
57003<function name="g_unix_mount_guess_symbolic_icon">
57004<description>
57005Guesses the symbolic icon of a Unix mount.
57006
57007Since: 2.34
57008
57009</description>
57010<parameters>
57011<parameter name="mount_entry">
57012<parameter_description> a #GUnixMountEntry
57013</parameter_description>
57014</parameter>
57015</parameters>
57016<return> a #GIcon
57017
57018</return>
57019</function>
57020
57021<function name="g_unix_mount_guess_type">
57022<description>
57023Guesses the type of a unix mount. If the mount type cannot be
57024determined, returns %G_UNIX_MOUNT_TYPE_UNKNOWN.
57025
57026
57027</description>
57028<parameters>
57029<parameter name="mount_entry">
57030<parameter_description> a #GUnixMount.
57031</parameter_description>
57032</parameter>
57033</parameters>
57034<return> a #GUnixMountType.
57035</return>
57036</function>
57037
57038<function name="g_unix_mount_is_readonly">
57039<description>
57040Checks if a unix mount is mounted read only.
57041
57042
57043</description>
57044<parameters>
57045<parameter name="mount_entry">
57046<parameter_description> a #GUnixMount.
57047</parameter_description>
57048</parameter>
57049</parameters>
57050<return> %TRUE if @mount_entry is read only.
57051</return>
57052</function>
57053
57054<function name="g_unix_mount_is_system_internal">
57055<description>
57056Checks if a Unix mount is a system mount. This is the Boolean OR of
57057g_unix_is_system_fs_type(), g_unix_is_system_device_path() and
57058g_unix_is_mount_path_system_internal() on @mount_entry’s properties.
57059
57060The definition of what a ‘system’ mount entry is may change over time as new
57061file system types and device paths are ignored.
57062
57063
57064</description>
57065<parameters>
57066<parameter name="mount_entry">
57067<parameter_description> a #GUnixMount.
57068</parameter_description>
57069</parameter>
57070</parameters>
57071<return> %TRUE if the unix mount is for a system path.
57072</return>
57073</function>
57074
57075<function name="g_unix_mount_monitor_get">
57076<description>
57077Gets the #GUnixMountMonitor for the current thread-default main
57078context.
57079
57080The mount monitor can be used to monitor for changes to the list of
57081mounted filesystems as well as the list of mount points (ie: fstab
57082entries).
57083
57084You must only call g_object_unref() on the return value from under
57085the same main context as you called this function.
57086
57087Since: 2.44
57088
57089</description>
57090<parameters>
57091</parameters>
57092<return> the #GUnixMountMonitor.
57093
57094</return>
57095</function>
57096
57097<function name="g_unix_mount_monitor_new">
57098<description>
57099Deprecated alias for g_unix_mount_monitor_get().
57100
57101This function was never a true constructor, which is why it was
57102renamed.
57103
57104Deprecated:2.44:Use g_unix_mount_monitor_get() instead.
57105
57106</description>
57107<parameters>
57108</parameters>
57109<return> a #GUnixMountMonitor.
57110
57111</return>
57112</function>
57113
57114<function name="g_unix_mount_monitor_set_rate_limit">
57115<description>
57116This function does nothing.
57117
57118Before 2.44, this was a partially-effective way of controlling the
57119rate at which events would be reported under some uncommon
57120circumstances.  Since @mount_monitor is a singleton, it also meant
57121that calling this function would have side effects for other users of
57122the monitor.
57123
57124Since: 2.18
57125
57126Deprecated:2.44:This function does nothing.  Don't call it.
57127
57128</description>
57129<parameters>
57130<parameter name="mount_monitor">
57131<parameter_description> a #GUnixMountMonitor
57132</parameter_description>
57133</parameter>
57134<parameter name="limit_msec">
57135<parameter_description> a integer with the limit in milliseconds to
57136poll for changes.
57137</parameter_description>
57138</parameter>
57139</parameters>
57140<return></return>
57141</function>
57142
57143<function name="g_unix_mount_point_compare">
57144<description>
57145Compares two unix mount points.
57146
57147
57148</description>
57149<parameters>
57150<parameter name="mount1">
57151<parameter_description> a #GUnixMount.
57152</parameter_description>
57153</parameter>
57154<parameter name="mount2">
57155<parameter_description> a #GUnixMount.
57156</parameter_description>
57157</parameter>
57158</parameters>
57159<return> 1, 0 or -1 if @mount1 is greater than, equal to,
57160or less than @mount2, respectively.
57161</return>
57162</function>
57163
57164<function name="g_unix_mount_point_copy">
57165<description>
57166Makes a copy of @mount_point.
57167
57168Since: 2.54
57169
57170</description>
57171<parameters>
57172<parameter name="mount_point">
57173<parameter_description> a #GUnixMountPoint.
57174</parameter_description>
57175</parameter>
57176</parameters>
57177<return> a new #GUnixMountPoint
57178
57179</return>
57180</function>
57181
57182<function name="g_unix_mount_point_free">
57183<description>
57184Frees a unix mount point.
57185
57186</description>
57187<parameters>
57188<parameter name="mount_point">
57189<parameter_description> unix mount point to free.
57190</parameter_description>
57191</parameter>
57192</parameters>
57193<return></return>
57194</function>
57195
57196<function name="g_unix_mount_point_get_device_path">
57197<description>
57198Gets the device path for a unix mount point.
57199
57200
57201</description>
57202<parameters>
57203<parameter name="mount_point">
57204<parameter_description> a #GUnixMountPoint.
57205</parameter_description>
57206</parameter>
57207</parameters>
57208<return> a string containing the device path.
57209</return>
57210</function>
57211
57212<function name="g_unix_mount_point_get_fs_type">
57213<description>
57214Gets the file system type for the mount point.
57215
57216
57217</description>
57218<parameters>
57219<parameter name="mount_point">
57220<parameter_description> a #GUnixMountPoint.
57221</parameter_description>
57222</parameter>
57223</parameters>
57224<return> a string containing the file system type.
57225</return>
57226</function>
57227
57228<function name="g_unix_mount_point_get_mount_path">
57229<description>
57230Gets the mount path for a unix mount point.
57231
57232
57233</description>
57234<parameters>
57235<parameter name="mount_point">
57236<parameter_description> a #GUnixMountPoint.
57237</parameter_description>
57238</parameter>
57239</parameters>
57240<return> a string containing the mount path.
57241</return>
57242</function>
57243
57244<function name="g_unix_mount_point_get_options">
57245<description>
57246Gets the options for the mount point.
57247
57248Since: 2.32
57249
57250</description>
57251<parameters>
57252<parameter name="mount_point">
57253<parameter_description> a #GUnixMountPoint.
57254</parameter_description>
57255</parameter>
57256</parameters>
57257<return> a string containing the options.
57258
57259</return>
57260</function>
57261
57262<function name="g_unix_mount_point_guess_can_eject">
57263<description>
57264Guesses whether a Unix mount point can be ejected.
57265
57266
57267</description>
57268<parameters>
57269<parameter name="mount_point">
57270<parameter_description> a #GUnixMountPoint
57271</parameter_description>
57272</parameter>
57273</parameters>
57274<return> %TRUE if @mount_point is deemed to be ejectable.
57275</return>
57276</function>
57277
57278<function name="g_unix_mount_point_guess_icon">
57279<description>
57280Guesses the icon of a Unix mount point.
57281
57282
57283</description>
57284<parameters>
57285<parameter name="mount_point">
57286<parameter_description> a #GUnixMountPoint
57287</parameter_description>
57288</parameter>
57289</parameters>
57290<return> a #GIcon
57291</return>
57292</function>
57293
57294<function name="g_unix_mount_point_guess_name">
57295<description>
57296Guesses the name of a Unix mount point.
57297The result is a translated string.
57298
57299
57300</description>
57301<parameters>
57302<parameter name="mount_point">
57303<parameter_description> a #GUnixMountPoint
57304</parameter_description>
57305</parameter>
57306</parameters>
57307<return> A newly allocated string that must
57308be freed with g_free()
57309</return>
57310</function>
57311
57312<function name="g_unix_mount_point_guess_symbolic_icon">
57313<description>
57314Guesses the symbolic icon of a Unix mount point.
57315
57316Since: 2.34
57317
57318</description>
57319<parameters>
57320<parameter name="mount_point">
57321<parameter_description> a #GUnixMountPoint
57322</parameter_description>
57323</parameter>
57324</parameters>
57325<return> a #GIcon
57326
57327</return>
57328</function>
57329
57330<function name="g_unix_mount_point_guess_type">
57331<description>
57332Guesses the type of a unix mount point.
57333If the mount type cannot be determined,
57334returns %G_UNIX_MOUNT_TYPE_UNKNOWN.
57335
57336
57337</description>
57338<parameters>
57339<parameter name="mount_point">
57340<parameter_description> a #GUnixMountPoint.
57341</parameter_description>
57342</parameter>
57343</parameters>
57344<return> a #GUnixMountType.
57345</return>
57346</function>
57347
57348<function name="g_unix_mount_point_is_loopback">
57349<description>
57350Checks if a unix mount point is a loopback device.
57351
57352
57353</description>
57354<parameters>
57355<parameter name="mount_point">
57356<parameter_description> a #GUnixMountPoint.
57357</parameter_description>
57358</parameter>
57359</parameters>
57360<return> %TRUE if the mount point is a loopback. %FALSE otherwise.
57361</return>
57362</function>
57363
57364<function name="g_unix_mount_point_is_readonly">
57365<description>
57366Checks if a unix mount point is read only.
57367
57368
57369</description>
57370<parameters>
57371<parameter name="mount_point">
57372<parameter_description> a #GUnixMountPoint.
57373</parameter_description>
57374</parameter>
57375</parameters>
57376<return> %TRUE if a mount point is read only.
57377</return>
57378</function>
57379
57380<function name="g_unix_mount_point_is_user_mountable">
57381<description>
57382Checks if a unix mount point is mountable by the user.
57383
57384
57385</description>
57386<parameters>
57387<parameter name="mount_point">
57388<parameter_description> a #GUnixMountPoint.
57389</parameter_description>
57390</parameter>
57391</parameters>
57392<return> %TRUE if the mount point is user mountable.
57393</return>
57394</function>
57395
57396<function name="g_unix_mount_points_changed_since">
57397<description>
57398Checks if the unix mount points have changed since a given unix time.
57399
57400
57401</description>
57402<parameters>
57403<parameter name="time">
57404<parameter_description> guint64 to contain a timestamp.
57405</parameter_description>
57406</parameter>
57407</parameters>
57408<return> %TRUE if the mount points have changed since @time.
57409</return>
57410</function>
57411
57412<function name="g_unix_mount_points_get">
57413<description>
57414Gets a #GList of #GUnixMountPoint containing the unix mount points.
57415If @time_read is set, it will be filled with the mount timestamp,
57416allowing for checking if the mounts have changed with
57417g_unix_mount_points_changed_since().
57418
57419
57420</description>
57421<parameters>
57422<parameter name="time_read">
57423<parameter_description> guint64 to contain a timestamp.
57424</parameter_description>
57425</parameter>
57426</parameters>
57427<return>
57428a #GList of the UNIX mountpoints.
57429</return>
57430</function>
57431
57432<function name="g_unix_mounts_changed_since">
57433<description>
57434Checks if the unix mounts have changed since a given unix time.
57435
57436
57437</description>
57438<parameters>
57439<parameter name="time">
57440<parameter_description> guint64 to contain a timestamp.
57441</parameter_description>
57442</parameter>
57443</parameters>
57444<return> %TRUE if the mounts have changed since @time.
57445</return>
57446</function>
57447
57448<function name="g_unix_mounts_get">
57449<description>
57450Gets a #GList of #GUnixMountEntry containing the unix mounts.
57451If @time_read is set, it will be filled with the mount
57452timestamp, allowing for checking if the mounts have changed
57453with g_unix_mounts_changed_since().
57454
57455
57456</description>
57457<parameters>
57458<parameter name="time_read">
57459<parameter_description> guint64 to contain a timestamp, or %NULL
57460</parameter_description>
57461</parameter>
57462</parameters>
57463<return>
57464a #GList of the UNIX mounts.
57465</return>
57466</function>
57467
57468<function name="g_unix_output_stream_get_close_fd">
57469<description>
57470Returns whether the file descriptor of @stream will be
57471closed when the stream is closed.
57472
57473Since: 2.20
57474
57475</description>
57476<parameters>
57477<parameter name="stream">
57478<parameter_description> a #GUnixOutputStream
57479</parameter_description>
57480</parameter>
57481</parameters>
57482<return> %TRUE if the file descriptor is closed when done
57483
57484</return>
57485</function>
57486
57487<function name="g_unix_output_stream_get_fd">
57488<description>
57489Return the UNIX file descriptor that the stream writes to.
57490
57491Since: 2.20
57492
57493</description>
57494<parameters>
57495<parameter name="stream">
57496<parameter_description> a #GUnixOutputStream
57497</parameter_description>
57498</parameter>
57499</parameters>
57500<return> The file descriptor of @stream
57501
57502</return>
57503</function>
57504
57505<function name="g_unix_output_stream_new">
57506<description>
57507Creates a new #GUnixOutputStream for the given @fd.
57508
57509If @close_fd, is %TRUE, the file descriptor will be closed when
57510the output stream is destroyed.
57511
57512
57513</description>
57514<parameters>
57515<parameter name="fd">
57516<parameter_description> a UNIX file descriptor
57517</parameter_description>
57518</parameter>
57519<parameter name="close_fd">
57520<parameter_description> %TRUE to close the file descriptor when done
57521</parameter_description>
57522</parameter>
57523</parameters>
57524<return> a new #GOutputStream
57525</return>
57526</function>
57527
57528<function name="g_unix_output_stream_set_close_fd">
57529<description>
57530Sets whether the file descriptor of @stream shall be closed
57531when the stream is closed.
57532
57533Since: 2.20
57534
57535</description>
57536<parameters>
57537<parameter name="stream">
57538<parameter_description> a #GUnixOutputStream
57539</parameter_description>
57540</parameter>
57541<parameter name="close_fd">
57542<parameter_description> %TRUE to close the file descriptor when done
57543</parameter_description>
57544</parameter>
57545</parameters>
57546<return></return>
57547</function>
57548
57549<function name="g_unix_socket_address_abstract_names_supported">
57550<description>
57551Checks if abstract UNIX domain socket names are supported.
57552
57553Since: 2.22
57554
57555</description>
57556<parameters>
57557</parameters>
57558<return> %TRUE if supported, %FALSE otherwise
57559
57560</return>
57561</function>
57562
57563<function name="g_unix_socket_address_get_address_type">
57564<description>
57565Gets @address's type.
57566
57567Since: 2.26
57568
57569</description>
57570<parameters>
57571<parameter name="address">
57572<parameter_description> a #GInetSocketAddress
57573</parameter_description>
57574</parameter>
57575</parameters>
57576<return> a #GUnixSocketAddressType
57577
57578</return>
57579</function>
57580
57581<function name="g_unix_socket_address_get_is_abstract">
57582<description>
57583Tests if @address is abstract.
57584
57585Since: 2.22
57586
57587Deprecated: Use g_unix_socket_address_get_address_type()
57588
57589</description>
57590<parameters>
57591<parameter name="address">
57592<parameter_description> a #GInetSocketAddress
57593</parameter_description>
57594</parameter>
57595</parameters>
57596<return> %TRUE if the address is abstract, %FALSE otherwise
57597
57598</return>
57599</function>
57600
57601<function name="g_unix_socket_address_get_path">
57602<description>
57603Gets @address's path, or for abstract sockets the &quot;name&quot;.
57604
57605Guaranteed to be zero-terminated, but an abstract socket
57606may contain embedded zeros, and thus you should use
57607g_unix_socket_address_get_path_len() to get the true length
57608of this string.
57609
57610Since: 2.22
57611
57612</description>
57613<parameters>
57614<parameter name="address">
57615<parameter_description> a #GInetSocketAddress
57616</parameter_description>
57617</parameter>
57618</parameters>
57619<return> the path for @address
57620
57621</return>
57622</function>
57623
57624<function name="g_unix_socket_address_get_path_len">
57625<description>
57626Gets the length of @address's path.
57627
57628For details, see g_unix_socket_address_get_path().
57629
57630Since: 2.22
57631
57632</description>
57633<parameters>
57634<parameter name="address">
57635<parameter_description> a #GInetSocketAddress
57636</parameter_description>
57637</parameter>
57638</parameters>
57639<return> the length of the path
57640
57641</return>
57642</function>
57643
57644<function name="g_unix_socket_address_new">
57645<description>
57646Creates a new #GUnixSocketAddress for @path.
57647
57648To create abstract socket addresses, on systems that support that,
57649use g_unix_socket_address_new_abstract().
57650
57651Since: 2.22
57652
57653</description>
57654<parameters>
57655<parameter name="path">
57656<parameter_description> the socket path
57657</parameter_description>
57658</parameter>
57659</parameters>
57660<return> a new #GUnixSocketAddress
57661
57662</return>
57663</function>
57664
57665<function name="g_unix_socket_address_new_abstract">
57666<description>
57667Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
57668#GUnixSocketAddress for @path.
57669
57670Deprecated: Use g_unix_socket_address_new_with_type().
57671
57672</description>
57673<parameters>
57674<parameter name="path">
57675<parameter_description> the abstract name
57676</parameter_description>
57677</parameter>
57678<parameter name="path_len">
57679<parameter_description> the length of @path, or -1
57680</parameter_description>
57681</parameter>
57682</parameters>
57683<return> a new #GUnixSocketAddress
57684
57685</return>
57686</function>
57687
57688<function name="g_unix_socket_address_new_with_type">
57689<description>
57690Creates a new #GUnixSocketAddress of type @type with name @path.
57691
57692If @type is %G_UNIX_SOCKET_ADDRESS_PATH, this is equivalent to
57693calling g_unix_socket_address_new().
57694
57695If @type is %G_UNIX_SOCKET_ADDRESS_ANONYMOUS, @path and @path_len will be
57696ignored.
57697
57698If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT, then @path_len
57699bytes of @path will be copied to the socket's path, and only those
57700bytes will be considered part of the name. (If @path_len is -1,
57701then @path is assumed to be NUL-terminated.) For example, if @path
57702was &quot;test&quot;, then calling g_socket_address_get_native_size() on the
57703returned socket would return 7 (2 bytes of overhead, 1 byte for the
57704abstract-socket indicator byte, and 4 bytes for the name &quot;test&quot;).
57705
57706If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED, then
57707@path_len bytes of @path will be copied to the socket's path, the
57708rest of the path will be padded with 0 bytes, and the entire
57709zero-padded buffer will be considered the name. (As above, if
57710@path_len is -1, then @path is assumed to be NUL-terminated.) In
57711this case, g_socket_address_get_native_size() will always return
57712the full size of a `struct sockaddr_un`, although
57713g_unix_socket_address_get_path_len() will still return just the
57714length of @path.
57715
57716%G_UNIX_SOCKET_ADDRESS_ABSTRACT is preferred over
57717%G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED for new programs. Of course,
57718when connecting to a server created by another process, you must
57719use the appropriate type corresponding to how that process created
57720its listening socket.
57721
57722Since: 2.26
57723
57724</description>
57725<parameters>
57726<parameter name="path">
57727<parameter_description> the name
57728</parameter_description>
57729</parameter>
57730<parameter name="path_len">
57731<parameter_description> the length of @path, or -1
57732</parameter_description>
57733</parameter>
57734<parameter name="type">
57735<parameter_description> a #GUnixSocketAddressType
57736</parameter_description>
57737</parameter>
57738</parameters>
57739<return> a new #GUnixSocketAddress
57740
57741</return>
57742</function>
57743
57744<function name="g_vfs_get_default">
57745<description>
57746Gets the default #GVfs for the system.
57747
57748
57749</description>
57750<parameters>
57751</parameters>
57752<return> a #GVfs.
57753</return>
57754</function>
57755
57756<function name="g_vfs_get_file_for_path">
57757<description>
57758Gets a #GFile for @path.
57759
57760
57761</description>
57762<parameters>
57763<parameter name="vfs">
57764<parameter_description> a #GVfs.
57765</parameter_description>
57766</parameter>
57767<parameter name="path">
57768<parameter_description> a string containing a VFS path.
57769</parameter_description>
57770</parameter>
57771</parameters>
57772<return> a #GFile.
57773Free the returned object with g_object_unref().
57774</return>
57775</function>
57776
57777<function name="g_vfs_get_file_for_uri">
57778<description>
57779Gets a #GFile for @uri.
57780
57781This operation never fails, but the returned object
57782might not support any I/O operation if the URI
57783is malformed or if the URI scheme is not supported.
57784
57785
57786</description>
57787<parameters>
57788<parameter name="vfs">
57789<parameter_description> a#GVfs.
57790</parameter_description>
57791</parameter>
57792<parameter name="uri">
57793<parameter_description> a string containing a URI
57794</parameter_description>
57795</parameter>
57796</parameters>
57797<return> a #GFile.
57798Free the returned object with g_object_unref().
57799</return>
57800</function>
57801
57802<function name="g_vfs_get_local">
57803<description>
57804Gets the local #GVfs for the system.
57805
57806
57807</description>
57808<parameters>
57809</parameters>
57810<return> a #GVfs.
57811</return>
57812</function>
57813
57814<function name="g_vfs_get_supported_uri_schemes">
57815<description>
57816Gets a list of URI schemes supported by @vfs.
57817
57818
57819</description>
57820<parameters>
57821<parameter name="vfs">
57822<parameter_description> a #GVfs.
57823</parameter_description>
57824</parameter>
57825</parameters>
57826<return> a %NULL-terminated array of strings.
57827The returned array belongs to GIO and must
57828not be freed or modified.
57829</return>
57830</function>
57831
57832<function name="g_vfs_is_active">
57833<description>
57834Checks if the VFS is active.
57835
57836
57837</description>
57838<parameters>
57839<parameter name="vfs">
57840<parameter_description> a #GVfs.
57841</parameter_description>
57842</parameter>
57843</parameters>
57844<return> %TRUE if construction of the @vfs was successful
57845and it is now active.
57846</return>
57847</function>
57848
57849<function name="g_vfs_parse_name">
57850<description>
57851This operation never fails, but the returned object might
57852not support any I/O operations if the @parse_name cannot
57853be parsed by the #GVfs module.
57854
57855
57856</description>
57857<parameters>
57858<parameter name="vfs">
57859<parameter_description> a #GVfs.
57860</parameter_description>
57861</parameter>
57862<parameter name="parse_name">
57863<parameter_description> a string to be parsed by the VFS module.
57864</parameter_description>
57865</parameter>
57866</parameters>
57867<return> a #GFile for the given @parse_name.
57868Free the returned object with g_object_unref().
57869</return>
57870</function>
57871
57872<function name="g_vfs_register_uri_scheme">
57873<description>
57874Registers @uri_func and @parse_name_func as the #GFile URI and parse name
57875lookup functions for URIs with a scheme matching @scheme.
57876Note that @scheme is registered only within the running application, as
57877opposed to desktop-wide as it happens with GVfs backends.
57878
57879When a #GFile is requested with an URI containing @scheme (e.g. through
57880g_file_new_for_uri()), @uri_func will be called to allow a custom
57881constructor. The implementation of @uri_func should not be blocking, and
57882must not call g_vfs_register_uri_scheme() or g_vfs_unregister_uri_scheme().
57883
57884When g_file_parse_name() is called with a parse name obtained from such file,
57885@parse_name_func will be called to allow the #GFile to be created again. In
57886that case, it's responsibility of @parse_name_func to make sure the parse
57887name matches what the custom #GFile implementation returned when
57888g_file_get_parse_name() was previously called. The implementation of
57889@parse_name_func should not be blocking, and must not call
57890g_vfs_register_uri_scheme() or g_vfs_unregister_uri_scheme().
57891
57892It's an error to call this function twice with the same scheme. To unregister
57893a custom URI scheme, use g_vfs_unregister_uri_scheme().
57894
57895Since: 2.50
57896
57897</description>
57898<parameters>
57899<parameter name="vfs">
57900<parameter_description> a #GVfs
57901</parameter_description>
57902</parameter>
57903<parameter name="scheme">
57904<parameter_description> an URI scheme, e.g. &quot;http&quot;
57905</parameter_description>
57906</parameter>
57907<parameter name="uri_func">
57908<parameter_description> a #GVfsFileLookupFunc
57909</parameter_description>
57910</parameter>
57911<parameter name="uri_data">
57912<parameter_description> custom data passed to be passed to @uri_func, or %NULL
57913</parameter_description>
57914</parameter>
57915<parameter name="uri_destroy">
57916<parameter_description> function to be called when unregistering the
57917URI scheme, or when @vfs is disposed, to free the resources used
57918by the URI lookup function
57919</parameter_description>
57920</parameter>
57921<parameter name="parse_name_func">
57922<parameter_description> a #GVfsFileLookupFunc
57923</parameter_description>
57924</parameter>
57925<parameter name="parse_name_data">
57926<parameter_description> custom data passed to be passed to
57927@parse_name_func, or %NULL
57928</parameter_description>
57929</parameter>
57930<parameter name="parse_name_destroy">
57931<parameter_description> function to be called when unregistering the
57932URI scheme, or when @vfs is disposed, to free the resources used
57933by the parse name lookup function
57934</parameter_description>
57935</parameter>
57936</parameters>
57937<return> %TRUE if @scheme was successfully registered, or %FALSE if a handler
57938for @scheme already exists.
57939
57940</return>
57941</function>
57942
57943<function name="g_vfs_unregister_uri_scheme">
57944<description>
57945Unregisters the URI handler for @scheme previously registered with
57946g_vfs_register_uri_scheme().
57947
57948Since: 2.50
57949
57950</description>
57951<parameters>
57952<parameter name="vfs">
57953<parameter_description> a #GVfs
57954</parameter_description>
57955</parameter>
57956<parameter name="scheme">
57957<parameter_description> an URI scheme, e.g. &quot;http&quot;
57958</parameter_description>
57959</parameter>
57960</parameters>
57961<return> %TRUE if @scheme was successfully unregistered, or %FALSE if a
57962handler for @scheme does not exist.
57963
57964</return>
57965</function>
57966
57967<function name="g_volume_can_eject">
57968<description>
57969Checks if a volume can be ejected.
57970
57971
57972</description>
57973<parameters>
57974<parameter name="volume">
57975<parameter_description> a #GVolume
57976</parameter_description>
57977</parameter>
57978</parameters>
57979<return> %TRUE if the @volume can be ejected. %FALSE otherwise
57980</return>
57981</function>
57982
57983<function name="g_volume_can_mount">
57984<description>
57985Checks if a volume can be mounted.
57986
57987
57988</description>
57989<parameters>
57990<parameter name="volume">
57991<parameter_description> a #GVolume
57992</parameter_description>
57993</parameter>
57994</parameters>
57995<return> %TRUE if the @volume can be mounted. %FALSE otherwise
57996</return>
57997</function>
57998
57999<function name="g_volume_eject">
58000<description>
58001Ejects a volume. This is an asynchronous operation, and is
58002finished by calling g_volume_eject_finish() with the @volume
58003and #GAsyncResult returned in the @callback.
58004
58005Deprecated: 2.22: Use g_volume_eject_with_operation() instead.
58006
58007</description>
58008<parameters>
58009<parameter name="volume">
58010<parameter_description> a #GVolume
58011</parameter_description>
58012</parameter>
58013<parameter name="flags">
58014<parameter_description> flags affecting the unmount if required for eject
58015</parameter_description>
58016</parameter>
58017<parameter name="cancellable">
58018<parameter_description> optional #GCancellable object, %NULL to ignore
58019</parameter_description>
58020</parameter>
58021<parameter name="callback">
58022<parameter_description> a #GAsyncReadyCallback, or %NULL
58023</parameter_description>
58024</parameter>
58025<parameter name="user_data">
58026<parameter_description> user data that gets passed to @callback
58027</parameter_description>
58028</parameter>
58029</parameters>
58030<return></return>
58031</function>
58032
58033<function name="g_volume_eject_finish">
58034<description>
58035Finishes ejecting a volume. If any errors occurred during the operation,
58036@error will be set to contain the errors and %FALSE will be returned.
58037
58038Deprecated: 2.22: Use g_volume_eject_with_operation_finish() instead.
58039
58040</description>
58041<parameters>
58042<parameter name="volume">
58043<parameter_description> pointer to a #GVolume
58044</parameter_description>
58045</parameter>
58046<parameter name="result">
58047<parameter_description> a #GAsyncResult
58048</parameter_description>
58049</parameter>
58050<parameter name="error">
58051<parameter_description> a #GError location to store an error, or %NULL to ignore
58052</parameter_description>
58053</parameter>
58054</parameters>
58055<return> %TRUE, %FALSE if operation failed
58056
58057</return>
58058</function>
58059
58060<function name="g_volume_eject_with_operation">
58061<description>
58062Ejects a volume. This is an asynchronous operation, and is
58063finished by calling g_volume_eject_with_operation_finish() with the @volume
58064and #GAsyncResult data returned in the @callback.
58065
58066Since: 2.22
58067
58068</description>
58069<parameters>
58070<parameter name="volume">
58071<parameter_description> a #GVolume
58072</parameter_description>
58073</parameter>
58074<parameter name="flags">
58075<parameter_description> flags affecting the unmount if required for eject
58076</parameter_description>
58077</parameter>
58078<parameter name="mount_operation">
58079<parameter_description> a #GMountOperation or %NULL to
58080avoid user interaction
58081</parameter_description>
58082</parameter>
58083<parameter name="cancellable">
58084<parameter_description> optional #GCancellable object, %NULL to ignore
58085</parameter_description>
58086</parameter>
58087<parameter name="callback">
58088<parameter_description> a #GAsyncReadyCallback, or %NULL
58089</parameter_description>
58090</parameter>
58091<parameter name="user_data">
58092<parameter_description> user data passed to @callback
58093</parameter_description>
58094</parameter>
58095</parameters>
58096<return></return>
58097</function>
58098
58099<function name="g_volume_eject_with_operation_finish">
58100<description>
58101Finishes ejecting a volume. If any errors occurred during the operation,
58102@error will be set to contain the errors and %FALSE will be returned.
58103
58104Since: 2.22
58105
58106</description>
58107<parameters>
58108<parameter name="volume">
58109<parameter_description> a #GVolume
58110</parameter_description>
58111</parameter>
58112<parameter name="result">
58113<parameter_description> a #GAsyncResult
58114</parameter_description>
58115</parameter>
58116<parameter name="error">
58117<parameter_description> a #GError location to store the error occurring, or %NULL
58118</parameter_description>
58119</parameter>
58120</parameters>
58121<return> %TRUE if the volume was successfully ejected. %FALSE otherwise
58122
58123</return>
58124</function>
58125
58126<function name="g_volume_enumerate_identifiers">
58127<description>
58128Gets the kinds of [identifiers][volume-identifier] that @volume has.
58129Use g_volume_get_identifier() to obtain the identifiers themselves.
58130
58131
58132</description>
58133<parameters>
58134<parameter name="volume">
58135<parameter_description> a #GVolume
58136</parameter_description>
58137</parameter>
58138</parameters>
58139<return> a %NULL-terminated array
58140of strings containing kinds of identifiers. Use g_strfreev() to free.
58141</return>
58142</function>
58143
58144<function name="g_volume_get_activation_root">
58145<description>
58146Gets the activation root for a #GVolume if it is known ahead of
58147mount time. Returns %NULL otherwise. If not %NULL and if @volume
58148is mounted, then the result of g_mount_get_root() on the
58149#GMount object obtained from g_volume_get_mount() will always
58150either be equal or a prefix of what this function returns. In
58151other words, in code
58152
58153|[&lt;!-- language=&quot;C&quot; --&gt;
58154GMount *mount;
58155GFile *mount_root
58156GFile *volume_activation_root;
58157
58158mount = g_volume_get_mount (volume); // mounted, so never NULL
58159mount_root = g_mount_get_root (mount);
58160volume_activation_root = g_volume_get_activation_root (volume); // assume not NULL
58161]|
58162then the expression
58163|[&lt;!-- language=&quot;C&quot; --&gt;
58164(g_file_has_prefix (volume_activation_root, mount_root) ||
58165g_file_equal (volume_activation_root, mount_root))
58166]|
58167will always be %TRUE.
58168
58169Activation roots are typically used in #GVolumeMonitor
58170implementations to find the underlying mount to shadow, see
58171g_mount_is_shadowed() for more details.
58172
58173Since: 2.18
58174
58175</description>
58176<parameters>
58177<parameter name="volume">
58178<parameter_description> a #GVolume
58179</parameter_description>
58180</parameter>
58181</parameters>
58182<return> the activation root of @volume
58183or %NULL. Use g_object_unref() to free.
58184
58185</return>
58186</function>
58187
58188<function name="g_volume_get_drive">
58189<description>
58190Gets the drive for the @volume.
58191
58192
58193</description>
58194<parameters>
58195<parameter name="volume">
58196<parameter_description> a #GVolume
58197</parameter_description>
58198</parameter>
58199</parameters>
58200<return> a #GDrive or %NULL if @volume is not
58201associated with a drive. The returned object should be unreffed
58202with g_object_unref() when no longer needed.
58203</return>
58204</function>
58205
58206<function name="g_volume_get_icon">
58207<description>
58208Gets the icon for @volume.
58209
58210
58211</description>
58212<parameters>
58213<parameter name="volume">
58214<parameter_description> a #GVolume
58215</parameter_description>
58216</parameter>
58217</parameters>
58218<return> a #GIcon.
58219The returned object should be unreffed with g_object_unref()
58220when no longer needed.
58221</return>
58222</function>
58223
58224<function name="g_volume_get_identifier">
58225<description>
58226Gets the identifier of the given kind for @volume.
58227See the [introduction][volume-identifier] for more
58228information about volume identifiers.
58229
58230
58231</description>
58232<parameters>
58233<parameter name="volume">
58234<parameter_description> a #GVolume
58235</parameter_description>
58236</parameter>
58237<parameter name="kind">
58238<parameter_description> the kind of identifier to return
58239</parameter_description>
58240</parameter>
58241</parameters>
58242<return> a newly allocated string containing the
58243requested identifier, or %NULL if the #GVolume
58244doesn't have this kind of identifier
58245</return>
58246</function>
58247
58248<function name="g_volume_get_mount">
58249<description>
58250Gets the mount for the @volume.
58251
58252
58253</description>
58254<parameters>
58255<parameter name="volume">
58256<parameter_description> a #GVolume
58257</parameter_description>
58258</parameter>
58259</parameters>
58260<return> a #GMount or %NULL if @volume isn't mounted.
58261The returned object should be unreffed with g_object_unref()
58262when no longer needed.
58263</return>
58264</function>
58265
58266<function name="g_volume_get_name">
58267<description>
58268Gets the name of @volume.
58269
58270
58271</description>
58272<parameters>
58273<parameter name="volume">
58274<parameter_description> a #GVolume
58275</parameter_description>
58276</parameter>
58277</parameters>
58278<return> the name for the given @volume. The returned string should
58279be freed with g_free() when no longer needed.
58280</return>
58281</function>
58282
58283<function name="g_volume_get_sort_key">
58284<description>
58285Gets the sort key for @volume, if any.
58286
58287Since: 2.32
58288
58289</description>
58290<parameters>
58291<parameter name="volume">
58292<parameter_description> a #GVolume
58293</parameter_description>
58294</parameter>
58295</parameters>
58296<return> Sorting key for @volume or %NULL if no such key is available
58297
58298</return>
58299</function>
58300
58301<function name="g_volume_get_symbolic_icon">
58302<description>
58303Gets the symbolic icon for @volume.
58304
58305Since: 2.34
58306
58307</description>
58308<parameters>
58309<parameter name="volume">
58310<parameter_description> a #GVolume
58311</parameter_description>
58312</parameter>
58313</parameters>
58314<return> a #GIcon.
58315The returned object should be unreffed with g_object_unref()
58316when no longer needed.
58317
58318</return>
58319</function>
58320
58321<function name="g_volume_get_uuid">
58322<description>
58323Gets the UUID for the @volume. The reference is typically based on
58324the file system UUID for the volume in question and should be
58325considered an opaque string. Returns %NULL if there is no UUID
58326available.
58327
58328
58329</description>
58330<parameters>
58331<parameter name="volume">
58332<parameter_description> a #GVolume
58333</parameter_description>
58334</parameter>
58335</parameters>
58336<return> the UUID for @volume or %NULL if no UUID
58337can be computed.
58338The returned string should be freed with g_free()
58339when no longer needed.
58340</return>
58341</function>
58342
58343<function name="g_volume_monitor_adopt_orphan_mount">
58344<description>
58345This function should be called by any #GVolumeMonitor
58346implementation when a new #GMount object is created that is not
58347associated with a #GVolume object. It must be called just before
58348emitting the @mount_added signal.
58349
58350If the return value is not %NULL, the caller must associate the
58351returned #GVolume object with the #GMount. This involves returning
58352it in its g_mount_get_volume() implementation. The caller must
58353also listen for the &quot;removed&quot; signal on the returned object
58354and give up its reference when handling that signal
58355
58356Similarly, if implementing g_volume_monitor_adopt_orphan_mount(),
58357the implementor must take a reference to @mount and return it in
58358its g_volume_get_mount() implemented. Also, the implementor must
58359listen for the &quot;unmounted&quot; signal on @mount and give up its
58360reference upon handling that signal.
58361
58362There are two main use cases for this function.
58363
58364One is when implementing a user space file system driver that reads
58365blocks of a block device that is already represented by the native
58366volume monitor (for example a CD Audio file system driver). Such
58367a driver will generate its own #GMount object that needs to be
58368associated with the #GVolume object that represents the volume.
58369
58370The other is for implementing a #GVolumeMonitor whose sole purpose
58371is to return #GVolume objects representing entries in the users
58372&quot;favorite servers&quot; list or similar.
58373
58374Deprecated: 2.20: Instead of using this function, #GVolumeMonitor
58375implementations should instead create shadow mounts with the URI of
58376the mount they intend to adopt. See the proxy volume monitor in
58377gvfs for an example of this. Also see g_mount_is_shadowed(),
58378g_mount_shadow() and g_mount_unshadow() functions.
58379
58380</description>
58381<parameters>
58382<parameter name="mount">
58383<parameter_description> a #GMount object to find a parent for
58384</parameter_description>
58385</parameter>
58386</parameters>
58387<return> the #GVolume object that is the parent for @mount or %NULL
58388if no wants to adopt the #GMount.
58389
58390</return>
58391</function>
58392
58393<function name="g_volume_monitor_get">
58394<description>
58395Gets the volume monitor used by gio.
58396
58397
58398</description>
58399<parameters>
58400</parameters>
58401<return> a reference to the #GVolumeMonitor used by gio. Call
58402g_object_unref() when done with it.
58403</return>
58404</function>
58405
58406<function name="g_volume_monitor_get_connected_drives">
58407<description>
58408Gets a list of drives connected to the system.
58409
58410The returned list should be freed with g_list_free(), after
58411its elements have been unreffed with g_object_unref().
58412
58413
58414</description>
58415<parameters>
58416<parameter name="volume_monitor">
58417<parameter_description> a #GVolumeMonitor.
58418</parameter_description>
58419</parameter>
58420</parameters>
58421<return> a #GList of connected #GDrive objects.
58422</return>
58423</function>
58424
58425<function name="g_volume_monitor_get_mount_for_uuid">
58426<description>
58427Finds a #GMount object by its UUID (see g_mount_get_uuid())
58428
58429
58430</description>
58431<parameters>
58432<parameter name="volume_monitor">
58433<parameter_description> a #GVolumeMonitor.
58434</parameter_description>
58435</parameter>
58436<parameter name="uuid">
58437<parameter_description> the UUID to look for
58438</parameter_description>
58439</parameter>
58440</parameters>
58441<return> a #GMount or %NULL if no such mount is available.
58442Free the returned object with g_object_unref().
58443</return>
58444</function>
58445
58446<function name="g_volume_monitor_get_mounts">
58447<description>
58448Gets a list of the mounts on the system.
58449
58450The returned list should be freed with g_list_free(), after
58451its elements have been unreffed with g_object_unref().
58452
58453
58454</description>
58455<parameters>
58456<parameter name="volume_monitor">
58457<parameter_description> a #GVolumeMonitor.
58458</parameter_description>
58459</parameter>
58460</parameters>
58461<return> a #GList of #GMount objects.
58462</return>
58463</function>
58464
58465<function name="g_volume_monitor_get_volume_for_uuid">
58466<description>
58467Finds a #GVolume object by its UUID (see g_volume_get_uuid())
58468
58469
58470</description>
58471<parameters>
58472<parameter name="volume_monitor">
58473<parameter_description> a #GVolumeMonitor.
58474</parameter_description>
58475</parameter>
58476<parameter name="uuid">
58477<parameter_description> the UUID to look for
58478</parameter_description>
58479</parameter>
58480</parameters>
58481<return> a #GVolume or %NULL if no such volume is available.
58482Free the returned object with g_object_unref().
58483</return>
58484</function>
58485
58486<function name="g_volume_monitor_get_volumes">
58487<description>
58488Gets a list of the volumes on the system.
58489
58490The returned list should be freed with g_list_free(), after
58491its elements have been unreffed with g_object_unref().
58492
58493
58494</description>
58495<parameters>
58496<parameter name="volume_monitor">
58497<parameter_description> a #GVolumeMonitor.
58498</parameter_description>
58499</parameter>
58500</parameters>
58501<return> a #GList of #GVolume objects.
58502</return>
58503</function>
58504
58505<function name="g_volume_mount">
58506<description>
58507Mounts a volume. This is an asynchronous operation, and is
58508finished by calling g_volume_mount_finish() with the @volume
58509and #GAsyncResult returned in the @callback.
58510
58511Virtual: mount_fn
58512
58513</description>
58514<parameters>
58515<parameter name="volume">
58516<parameter_description> a #GVolume
58517</parameter_description>
58518</parameter>
58519<parameter name="flags">
58520<parameter_description> flags affecting the operation
58521</parameter_description>
58522</parameter>
58523<parameter name="mount_operation">
58524<parameter_description> a #GMountOperation or %NULL to avoid user interaction
58525</parameter_description>
58526</parameter>
58527<parameter name="cancellable">
58528<parameter_description> optional #GCancellable object, %NULL to ignore
58529</parameter_description>
58530</parameter>
58531<parameter name="callback">
58532<parameter_description> a #GAsyncReadyCallback, or %NULL
58533</parameter_description>
58534</parameter>
58535<parameter name="user_data">
58536<parameter_description> user data that gets passed to @callback
58537</parameter_description>
58538</parameter>
58539</parameters>
58540<return></return>
58541</function>
58542
58543<function name="g_volume_mount_finish">
58544<description>
58545Finishes mounting a volume. If any errors occurred during the operation,
58546@error will be set to contain the errors and %FALSE will be returned.
58547
58548If the mount operation succeeded, g_volume_get_mount() on @volume
58549is guaranteed to return the mount right after calling this
58550function; there's no need to listen for the 'mount-added' signal on
58551#GVolumeMonitor.
58552
58553
58554</description>
58555<parameters>
58556<parameter name="volume">
58557<parameter_description> a #GVolume
58558</parameter_description>
58559</parameter>
58560<parameter name="result">
58561<parameter_description> a #GAsyncResult
58562</parameter_description>
58563</parameter>
58564<parameter name="error">
58565<parameter_description> a #GError location to store an error, or %NULL to ignore
58566</parameter_description>
58567</parameter>
58568</parameters>
58569<return> %TRUE, %FALSE if operation failed
58570</return>
58571</function>
58572
58573<function name="g_volume_should_automount">
58574<description>
58575Returns whether the volume should be automatically mounted.
58576
58577
58578</description>
58579<parameters>
58580<parameter name="volume">
58581<parameter_description> a #GVolume
58582</parameter_description>
58583</parameter>
58584</parameters>
58585<return> %TRUE if the volume should be automatically mounted
58586</return>
58587</function>
58588
58589<function name="g_win32_input_stream_get_close_handle">
58590<description>
58591Returns whether the handle of @stream will be
58592closed when the stream is closed.
58593
58594Since: 2.26
58595
58596</description>
58597<parameters>
58598<parameter name="stream">
58599<parameter_description> a #GWin32InputStream
58600</parameter_description>
58601</parameter>
58602</parameters>
58603<return> %TRUE if the handle is closed when done
58604
58605</return>
58606</function>
58607
58608<function name="g_win32_input_stream_get_handle">
58609<description>
58610Return the Windows file handle that the stream reads from.
58611
58612Since: 2.26
58613
58614</description>
58615<parameters>
58616<parameter name="stream">
58617<parameter_description> a #GWin32InputStream
58618</parameter_description>
58619</parameter>
58620</parameters>
58621<return> The file handle of @stream
58622
58623</return>
58624</function>
58625
58626<function name="g_win32_input_stream_new">
58627<description>
58628Creates a new #GWin32InputStream for the given @handle.
58629
58630If @close_handle is %TRUE, the handle will be closed
58631when the stream is closed.
58632
58633Note that &quot;handle&quot; here means a Win32 HANDLE, not a &quot;file descriptor&quot;
58634as used in the Windows C libraries.
58635
58636
58637</description>
58638<parameters>
58639<parameter name="handle">
58640<parameter_description> a Win32 file handle
58641</parameter_description>
58642</parameter>
58643<parameter name="close_handle">
58644<parameter_description> %TRUE to close the handle when done
58645</parameter_description>
58646</parameter>
58647</parameters>
58648<return> a new #GWin32InputStream
58649</return>
58650</function>
58651
58652<function name="g_win32_input_stream_set_close_handle">
58653<description>
58654Sets whether the handle of @stream shall be closed
58655when the stream is closed.
58656
58657Since: 2.26
58658
58659</description>
58660<parameters>
58661<parameter name="stream">
58662<parameter_description> a #GWin32InputStream
58663</parameter_description>
58664</parameter>
58665<parameter name="close_handle">
58666<parameter_description> %TRUE to close the handle when done
58667</parameter_description>
58668</parameter>
58669</parameters>
58670<return></return>
58671</function>
58672
58673<function name="g_win32_output_stream_get_close_handle">
58674<description>
58675Returns whether the handle of @stream will be closed when the
58676stream is closed.
58677
58678Since: 2.26
58679
58680</description>
58681<parameters>
58682<parameter name="stream">
58683<parameter_description> a #GWin32OutputStream
58684</parameter_description>
58685</parameter>
58686</parameters>
58687<return> %TRUE if the handle is closed when done
58688
58689</return>
58690</function>
58691
58692<function name="g_win32_output_stream_get_handle">
58693<description>
58694Return the Windows handle that the stream writes to.
58695
58696Since: 2.26
58697
58698</description>
58699<parameters>
58700<parameter name="stream">
58701<parameter_description> a #GWin32OutputStream
58702</parameter_description>
58703</parameter>
58704</parameters>
58705<return> The handle descriptor of @stream
58706
58707</return>
58708</function>
58709
58710<function name="g_win32_output_stream_new">
58711<description>
58712Creates a new #GWin32OutputStream for the given @handle.
58713
58714If @close_handle, is %TRUE, the handle will be closed when the
58715output stream is destroyed.
58716
58717Since: 2.26
58718
58719</description>
58720<parameters>
58721<parameter name="handle">
58722<parameter_description> a Win32 file handle
58723</parameter_description>
58724</parameter>
58725<parameter name="close_handle">
58726<parameter_description> %TRUE to close the handle when done
58727</parameter_description>
58728</parameter>
58729</parameters>
58730<return> a new #GOutputStream
58731
58732</return>
58733</function>
58734
58735<function name="g_win32_output_stream_set_close_handle">
58736<description>
58737Sets whether the handle of @stream shall be closed when the stream
58738is closed.
58739
58740Since: 2.26
58741
58742</description>
58743<parameters>
58744<parameter name="stream">
58745<parameter_description> a #GWin32OutputStream
58746</parameter_description>
58747</parameter>
58748<parameter name="close_handle">
58749<parameter_description> %TRUE to close the handle when done
58750</parameter_description>
58751</parameter>
58752</parameters>
58753<return></return>
58754</function>
58755
58756<function name="g_win32_registry_key_erase_change_indicator">
58757<description>
58758Erases change indicator of the @key.
58759
58760Subsequent calls to g_win32_registry_key_has_changed() will return %FALSE
58761until the key is put on watch again by calling
58762g_win32_registry_key_watch() again.
58763
58764Since: 2.46
58765
58766</description>
58767<parameters>
58768<parameter name="key">
58769<parameter_description> a #GWin32RegistryKey
58770</parameter_description>
58771</parameter>
58772</parameters>
58773<return></return>
58774</function>
58775
58776<function name="g_win32_registry_key_get_child">
58777<description>
58778Opens a @subkey of the @key.
58779
58780
58781</description>
58782<parameters>
58783<parameter name="key">
58784<parameter_description> a parent #GWin32RegistryKey
58785</parameter_description>
58786</parameter>
58787<parameter name="subkey">
58788<parameter_description> name of a child key to open (in UTF-8), relative to @key
58789</parameter_description>
58790</parameter>
58791<parameter name="error">
58792<parameter_description> a pointer to a %NULL #GError, or %NULL
58793</parameter_description>
58794</parameter>
58795</parameters>
58796<return> a #GWin32RegistryKey or %NULL if can't be opened. Free
58797with g_object_unref().
58798</return>
58799</function>
58800
58801<function name="g_win32_registry_key_get_child_w">
58802<description>
58803Opens a @subkey of the @key.
58804
58805
58806</description>
58807<parameters>
58808<parameter name="key">
58809<parameter_description> a parent #GWin32RegistryKey
58810</parameter_description>
58811</parameter>
58812<parameter name="subkey">
58813<parameter_description> name of a child key to open (in UTF-8), relative to @key
58814</parameter_description>
58815</parameter>
58816<parameter name="error">
58817<parameter_description> a pointer to a %NULL #GError, or %NULL
58818</parameter_description>
58819</parameter>
58820</parameters>
58821<return> a #GWin32RegistryKey or %NULL if can't be opened. Free
58822with g_object_unref().
58823</return>
58824</function>
58825
58826<function name="g_win32_registry_key_get_path">
58827<description>
58828Get full path to the key
58829
58830Since: 2.46
58831
58832</description>
58833<parameters>
58834<parameter name="key">
58835<parameter_description> a #GWin32RegistryKey
58836</parameter_description>
58837</parameter>
58838</parameters>
58839<return> a full path to the key (in UTF-8),
58840or %NULL if it can't be converted to UTF-8.
58841
58842</return>
58843</function>
58844
58845<function name="g_win32_registry_key_get_path_w">
58846<description>
58847Get full path to the key
58848
58849Since: 2.46
58850
58851</description>
58852<parameters>
58853<parameter name="key">
58854<parameter_description> a #GWin32RegistryKey
58855</parameter_description>
58856</parameter>
58857</parameters>
58858<return> a full path to the key (in UTF-16)
58859
58860</return>
58861</function>
58862
58863<function name="g_win32_registry_key_get_value">
58864<description>
58865Get data from a value of a key. String data is guaranteed to be
58866appropriately terminated and will be in UTF-8.
58867
58868Since: 2.46
58869
58870</description>
58871<parameters>
58872<parameter name="key">
58873<parameter_description> a #GWin32RegistryKey
58874</parameter_description>
58875</parameter>
58876<parameter name="auto_expand">
58877<parameter_description> (in) %TRUE to automatically expand G_WIN32_REGISTRY_VALUE_EXPAND_STR
58878to G_WIN32_REGISTRY_VALUE_STR.
58879</parameter_description>
58880</parameter>
58881<parameter name="value_name">
58882<parameter_description> name of the value to get (in UTF-8).
58883Empty string means the '(Default)' value.
58884</parameter_description>
58885</parameter>
58886<parameter name="value_type">
58887<parameter_description> type of the value retrieved.
58888</parameter_description>
58889</parameter>
58890<parameter name="value_data">
58891<parameter_description> contents of the value.
58892</parameter_description>
58893</parameter>
58894<parameter name="value_data_size">
58895<parameter_description> size of the buffer pointed
58896by @value_data.
58897</parameter_description>
58898</parameter>
58899<parameter name="error">
58900<parameter_description> a pointer to %NULL #GError, or %NULL
58901</parameter_description>
58902</parameter>
58903</parameters>
58904<return> %TRUE on success, %FALSE on failure.
58905
58906</return>
58907</function>
58908
58909<function name="g_win32_registry_key_get_value_w">
58910<description>
58911Get data from a value of a key.
58912
58913Get data from a value of a key. String data is guaranteed to be
58914appropriately terminated and will be in UTF-16.
58915
58916When calling with value_data == NULL (to get data size without getting
58917the data itself) remember that returned size corresponds to possibly
58918unterminated string data (if value is some kind of string), because
58919termination cannot be checked and fixed unless the data is retreived
58920too.
58921
58922Since: 2.46
58923
58924</description>
58925<parameters>
58926<parameter name="key">
58927<parameter_description> a #GWin32RegistryKey
58928</parameter_description>
58929</parameter>
58930<parameter name="auto_expand">
58931<parameter_description> (in) %TRUE to automatically expand G_WIN32_REGISTRY_VALUE_EXPAND_STR
58932to G_WIN32_REGISTRY_VALUE_STR.
58933</parameter_description>
58934</parameter>
58935<parameter name="value_name">
58936<parameter_description> name of the value to get (in UTF-16).
58937Empty string means the '(Default)' value.
58938</parameter_description>
58939</parameter>
58940<parameter name="value_type">
58941<parameter_description> type of the value retrieved.
58942</parameter_description>
58943</parameter>
58944<parameter name="value_data">
58945<parameter_description> contents of the value.
58946</parameter_description>
58947</parameter>
58948<parameter name="value_data_size">
58949<parameter_description> size of the buffer pointed
58950by @value_data.
58951</parameter_description>
58952</parameter>
58953<parameter name="error">
58954<parameter_description> a pointer to %NULL #GError, or %NULL
58955</parameter_description>
58956</parameter>
58957</parameters>
58958<return> %TRUE on success, %FALSE on failure.
58959
58960</return>
58961</function>
58962
58963<function name="g_win32_registry_key_has_changed">
58964<description>
58965Check the @key's status indicator.
58966
58967Since: 2.46
58968
58969</description>
58970<parameters>
58971<parameter name="key">
58972<parameter_description> a #GWin32RegistryKey
58973</parameter_description>
58974</parameter>
58975</parameters>
58976<return> %TRUE if the @key was put under watch at some point and has changed
58977since then, %FALSE if it either wasn't changed or wasn't watched at all.
58978
58979</return>
58980</function>
58981
58982<function name="g_win32_registry_key_new">
58983<description>
58984Creates an object that represents a registry key specified by @path.
58985@path must start with one of the following pre-defined names:
58986- HKEY_CLASSES_ROOT
58987- HKEY_CURRENT_CONFIG
58988- HKEY_CURRENT_USER
58989- HKEY_CURRENT_USER_LOCAL_SETTINGS
58990- HKEY_LOCAL_MACHINE
58991- HKEY_PERFORMANCE_DATA
58992- HKEY_PERFORMANCE_NLSTEXT
58993- HKEY_PERFORMANCE_TEXT
58994- HKEY_USERS
58995@path must not end with '\\'.
58996
58997
58998</description>
58999<parameters>
59000<parameter name="path">
59001<parameter_description> absolute full name of a key to open (in UTF-8)
59002</parameter_description>
59003</parameter>
59004<parameter name="error">
59005<parameter_description> a pointer to a %NULL #GError, or %NULL
59006</parameter_description>
59007</parameter>
59008</parameters>
59009<return> a #GWin32RegistryKey or %NULL if can't
59010be opened. Free with g_object_unref().
59011</return>
59012</function>
59013
59014<function name="g_win32_registry_key_new_w">
59015<description>
59016Creates an object that represents a registry key specified by @path.
59017@path must start with one of the following pre-defined names:
59018- HKEY_CLASSES_ROOT
59019- HKEY_CURRENT_CONFIG
59020- HKEY_CURRENT_USER
59021- HKEY_CURRENT_USER_LOCAL_SETTINGS
59022- HKEY_LOCAL_MACHINE
59023- HKEY_PERFORMANCE_DATA
59024- HKEY_PERFORMANCE_NLSTEXT
59025- HKEY_PERFORMANCE_TEXT
59026- HKEY_USERS
59027@path must not end with L'\\'.
59028
59029
59030</description>
59031<parameters>
59032<parameter name="path">
59033<parameter_description> absolute full name of a key to open (in UTF-16)
59034</parameter_description>
59035</parameter>
59036<parameter name="error">
59037<parameter_description> a pointer to a %NULL #GError, or %NULL
59038</parameter_description>
59039</parameter>
59040</parameters>
59041<return> a #GWin32RegistryKey or %NULL if can't
59042be opened. Free with g_object_unref().
59043</return>
59044</function>
59045
59046<function name="g_win32_registry_key_watch">
59047<description>
59048Puts @key under a watch.
59049
59050When the key changes, an APC will be queued in the current thread. The APC
59051will run when the current thread enters alertable state (GLib main loop
59052should do that; if you are not using it, see MSDN documentation for W32API
59053calls that put thread into alertable state). When it runs, it will
59054atomically switch an indicator in the @key. If a callback was specified,
59055it is invoked at that point. Subsequent calls to
59056g_win32_registry_key_has_changed() will return %TRUE, and the callback (if
59057it was specified) will not be invoked anymore.
59058Calling g_win32_registry_key_erase_change_indicator() will reset the indicator,
59059and g_win32_registry_key_has_changed() will start returning %FALSE.
59060To resume the watch, call g_win32_registry_key_watch_for_changes() again.
59061
59062Calling g_win32_registry_key_watch_for_changes() for a key that is already
59063being watched is allowed and affects nothing.
59064
59065The fact that the key is being watched will be used internally to update
59066key path (if it changes).
59067
59068Since: 2.46
59069
59070</description>
59071<parameters>
59072<parameter name="key">
59073<parameter_description> a #GWin32RegistryKey
59074</parameter_description>
59075</parameter>
59076<parameter name="watch_children">
59077<parameter_description> (in) %TRUE also watch the children of the @key, %FALSE
59078to watch the key only.
59079</parameter_description>
59080</parameter>
59081<parameter name="watch_flags">
59082<parameter_description> specifies the types of changes to watch for.
59083</parameter_description>
59084</parameter>
59085<parameter name="callback">
59086<parameter_description> a function to invoke when a change occurs.
59087</parameter_description>
59088</parameter>
59089<parameter name="user_data">
59090<parameter_description> a pointer to pass to @callback on invocation.
59091</parameter_description>
59092</parameter>
59093<parameter name="error">
59094<parameter_description> a pointer to %NULL #GError, or %NULL
59095</parameter_description>
59096</parameter>
59097</parameters>
59098<return> %TRUE on success, %FALSE on failure.
59099
59100</return>
59101</function>
59102
59103<function name="g_win32_registry_subkey_iter_assign">
59104<description>
59105Assigns the value of @other to @iter.  This function
59106is not useful in applications, because iterators can be assigned
59107with `GWin32RegistrySubkeyIter i = j;`. The
59108function is used by language bindings.
59109
59110Since: 2.46
59111
59112</description>
59113<parameters>
59114<parameter name="iter">
59115<parameter_description> a #GWin32RegistrySubkeyIter
59116</parameter_description>
59117</parameter>
59118<parameter name="other">
59119<parameter_description> another #GWin32RegistrySubkeyIter
59120</parameter_description>
59121</parameter>
59122</parameters>
59123<return></return>
59124</function>
59125
59126<function name="g_win32_registry_subkey_iter_clear">
59127<description>
59128Frees internal buffers of a #GWin32RegistrySubkeyIter.
59129
59130Since: 2.46
59131
59132</description>
59133<parameters>
59134<parameter name="iter">
59135<parameter_description> a #GWin32RegistrySubkeyIter
59136</parameter_description>
59137</parameter>
59138</parameters>
59139<return></return>
59140</function>
59141
59142<function name="g_win32_registry_subkey_iter_copy">
59143<description>
59144Creates a dynamically-allocated copy of an iterator. Dynamically-allocated
59145state of the iterator is duplicated too.
59146
59147Since: 2.46
59148
59149</description>
59150<parameters>
59151<parameter name="iter">
59152<parameter_description> an iterator
59153</parameter_description>
59154</parameter>
59155</parameters>
59156<return> a copy of the @iter,
59157free with g_win32_registry_subkey_iter_free ()
59158
59159</return>
59160</function>
59161
59162<function name="g_win32_registry_subkey_iter_free">
59163<description>
59164Free an iterator allocated on the heap. For iterators that are allocated
59165on the stack use g_win32_registry_subkey_iter_clear () instead.
59166
59167Since: 2.46
59168
59169</description>
59170<parameters>
59171<parameter name="iter">
59172<parameter_description> a dynamically-allocated iterator
59173</parameter_description>
59174</parameter>
59175</parameters>
59176<return></return>
59177</function>
59178
59179<function name="g_win32_registry_subkey_iter_get_name">
59180<description>
59181Gets the name of the subkey at the @iter potision.
59182
59183Since: 2.46
59184
59185</description>
59186<parameters>
59187<parameter name="iter">
59188<parameter_description> a #GWin32RegistrySubkeyIter
59189</parameter_description>
59190</parameter>
59191<parameter name="subkey_name">
59192<parameter_description> Pointer to a location
59193to store the name of a subkey (in UTF-8). Free with g_free().
59194</parameter_description>
59195</parameter>
59196<parameter name="subkey_name_len">
59197<parameter_description> Pointer to a location to store the
59198length of @subkey_name, in gchars, excluding NUL-terminator.
59199%NULL if length is not needed.
59200</parameter_description>
59201</parameter>
59202<parameter name="error">
59203<parameter_description> a pointer to %NULL #GError, or %NULL
59204</parameter_description>
59205</parameter>
59206</parameters>
59207<return> %TRUE if the name was retrieved, %FALSE otherwise.
59208
59209</return>
59210</function>
59211
59212<function name="g_win32_registry_subkey_iter_get_name_w">
59213<description>
59214Same as g_win32_registry_subkey_iter_get_next(), but outputs UTF-16-encoded
59215data, without converting it to UTF-8 first.
59216
59217Since: 2.46
59218
59219</description>
59220<parameters>
59221<parameter name="iter">
59222<parameter_description> a #GWin32RegistrySubkeyIter
59223</parameter_description>
59224</parameter>
59225<parameter name="subkey_name">
59226<parameter_description> Pointer to a location
59227to store the name of a subkey (in UTF-16).
59228</parameter_description>
59229</parameter>
59230<parameter name="subkey_name_len">
59231<parameter_description> Pointer to a location
59232to store the length of @subkey_name, in gunichar2s, excluding
59233NUL-terminator.
59234%NULL if length is not needed.
59235</parameter_description>
59236</parameter>
59237<parameter name="error">
59238<parameter_description> a pointer to %NULL #GError, or %NULL
59239</parameter_description>
59240</parameter>
59241</parameters>
59242<return> %TRUE if the name was retrieved, %FALSE otherwise.
59243
59244</return>
59245</function>
59246
59247<function name="g_win32_registry_subkey_iter_init">
59248<description>
59249Initialises (without allocating) a #GWin32RegistrySubkeyIter.  @iter may be
59250completely uninitialised prior to this call; its old value is
59251ignored.
59252
59253The iterator remains valid for as long as @key exists.
59254Clean up its internal buffers with a call to
59255g_win32_registry_subkey_iter_clear() when done.
59256
59257Since: 2.46
59258
59259</description>
59260<parameters>
59261<parameter name="iter">
59262<parameter_description> a pointer to a #GWin32RegistrySubkeyIter
59263</parameter_description>
59264</parameter>
59265<parameter name="key">
59266<parameter_description> a #GWin32RegistryKey to iterate over
59267</parameter_description>
59268</parameter>
59269<parameter name="error">
59270<parameter_description> a pointer to %NULL #GError, or %NULL
59271</parameter_description>
59272</parameter>
59273</parameters>
59274<return> %TRUE if iterator was initialized successfully, %FALSE on error.
59275
59276</return>
59277</function>
59278
59279<function name="g_win32_registry_subkey_iter_n_subkeys">
59280<description>
59281Queries the number of subkeys items in the key that we are
59282iterating over.  This is the total number of subkeys -- not the number
59283of items remaining.
59284
59285This information is accurate at the point of iterator initialization,
59286and may go out of sync with reality even while subkeys are enumerated.
59287
59288Since: 2.46
59289
59290</description>
59291<parameters>
59292<parameter name="iter">
59293<parameter_description> a #GWin32RegistrySubkeyIter
59294</parameter_description>
59295</parameter>
59296</parameters>
59297<return> the number of subkeys in the key
59298
59299</return>
59300</function>
59301
59302<function name="g_win32_registry_subkey_iter_next">
59303<description>
59304Moves iterator to the next subkey.
59305Enumeration errors can be ignored if @skip_errors is %TRUE
59306
59307Here is an example for iterating with g_win32_registry_subkey_iter_next():
59308|[&lt;!-- language=&quot;C&quot; --&gt;
59309// recursively iterate a key
59310void
59311iterate_key_recursive (GWin32RegistryKey *key)
59312{
59313GWin32RegistrySubkeyIter iter;
59314gchar *name;
59315GWin32RegistryKey *child;
59316
59317if (!g_win32_registry_subkey_iter_init (&amp;iter, key, NULL))
59318return;
59319
59320while (g_win32_registry_subkey_iter_next (&amp;iter, TRUE, NULL))
59321{
59322if (!g_win32_registry_subkey_iter_get_name (&amp;iter, &amp;name, NULL, NULL))
59323continue;
59324
59325g_print (&quot;subkey '%s'\n&quot;, name);
59326child = g_win32_registry_key_get_child (key, name, NULL);
59327
59328if (child)
59329iterate_key_recursive (child);
59330}
59331
59332g_win32_registry_subkey_iter_clear (&amp;iter);
59333}
59334]|
59335
59336Since: 2.46
59337
59338</description>
59339<parameters>
59340<parameter name="iter">
59341<parameter_description> a #GWin32RegistrySubkeyIter
59342</parameter_description>
59343</parameter>
59344<parameter name="skip_errors">
59345<parameter_description> %TRUE if iterator should silently ignore errors (such as
59346the actual number of subkeys being less than expected) and
59347proceed forward
59348</parameter_description>
59349</parameter>
59350<parameter name="error">
59351<parameter_description> a pointer to %NULL #GError, or %NULL
59352</parameter_description>
59353</parameter>
59354</parameters>
59355<return> %TRUE if next subkey info was retrieved, %FALSE otherwise.
59356
59357</return>
59358</function>
59359
59360<function name="g_win32_registry_value_iter_assign">
59361<description>
59362Assigns the value of @other to @iter.  This function
59363is not useful in applications, because iterators can be assigned
59364with `GWin32RegistryValueIter i = j;`. The
59365function is used by language bindings.
59366
59367Since: 2.46
59368
59369</description>
59370<parameters>
59371<parameter name="iter">
59372<parameter_description> a #GWin32RegistryValueIter
59373</parameter_description>
59374</parameter>
59375<parameter name="other">
59376<parameter_description> another #GWin32RegistryValueIter
59377</parameter_description>
59378</parameter>
59379</parameters>
59380<return></return>
59381</function>
59382
59383<function name="g_win32_registry_value_iter_clear">
59384<description>
59385Frees internal buffers of a #GWin32RegistryValueIter.
59386
59387Since: 2.46
59388
59389</description>
59390<parameters>
59391<parameter name="iter">
59392<parameter_description> a #GWin32RegistryValueIter
59393</parameter_description>
59394</parameter>
59395</parameters>
59396<return></return>
59397</function>
59398
59399<function name="g_win32_registry_value_iter_copy">
59400<description>
59401Creates a dynamically-allocated copy of an iterator. Dynamically-allocated
59402state of the iterator is duplicated too.
59403
59404Since: 2.46
59405
59406</description>
59407<parameters>
59408<parameter name="iter">
59409<parameter_description> an iterator
59410</parameter_description>
59411</parameter>
59412</parameters>
59413<return> a copy of the @iter,
59414free with g_win32_registry_value_iter_free ().
59415
59416</return>
59417</function>
59418
59419<function name="g_win32_registry_value_iter_free">
59420<description>
59421Free an iterator allocated on the heap. For iterators that are allocated
59422on the stack use g_win32_registry_value_iter_clear () instead.
59423
59424Since: 2.46
59425
59426</description>
59427<parameters>
59428<parameter name="iter">
59429<parameter_description> a dynamically-allocated iterator
59430</parameter_description>
59431</parameter>
59432</parameters>
59433<return></return>
59434</function>
59435
59436<function name="g_win32_registry_value_iter_get_data">
59437<description>
59438Stores the data of the value currently being iterated over in @value_data,
59439and its length - in @value_data_len (if not %NULL).
59440
59441Since: 2.46
59442
59443</description>
59444<parameters>
59445<parameter name="iter">
59446<parameter_description> a #GWin32RegistryValueIter
59447</parameter_description>
59448</parameter>
59449<parameter name="auto_expand">
59450<parameter_description> %TRUE to automatically expand G_WIN32_REGISTRY_VALUE_EXPAND_STR to
59451G_WIN32_REGISTRY_VALUE_STR
59452</parameter_description>
59453</parameter>
59454<parameter name="value_data">
59455<parameter_description> Pointer to a
59456location to store the data of the value (in UTF-8, if it's a string)
59457</parameter_description>
59458</parameter>
59459<parameter name="value_data_size">
59460<parameter_description> Pointer to a location to store the length
59461of @value_data, in bytes (including any NUL-terminators, if it's a string).
59462%NULL if length is not needed
59463</parameter_description>
59464</parameter>
59465<parameter name="error">
59466<parameter_description> a pointer to %NULL #GError, or %NULL
59467</parameter_description>
59468</parameter>
59469</parameters>
59470<return> %TRUE if value data was retrieved, %FALSE otherwise.
59471
59472</return>
59473</function>
59474
59475<function name="g_win32_registry_value_iter_get_data_w">
59476<description>
59477Stores the data of the value currently being iterated over in @value_data,
59478and its length - in @value_data_len (if not %NULL).
59479
59480Since: 2.46
59481
59482</description>
59483<parameters>
59484<parameter name="iter">
59485<parameter_description> a #GWin32RegistryValueIter
59486</parameter_description>
59487</parameter>
59488<parameter name="auto_expand">
59489<parameter_description> %TRUE to automatically expand G_WIN32_REGISTRY_VALUE_EXPAND_STR to
59490G_WIN32_REGISTRY_VALUE_STR
59491</parameter_description>
59492</parameter>
59493<parameter name="value_data">
59494<parameter_description> Pointer to a
59495location to store the data of the value (in UTF-16, if it's a string)
59496</parameter_description>
59497</parameter>
59498<parameter name="value_data_size">
59499<parameter_description> Pointer to a location to store the size
59500of @value_data, in bytes (including any NUL-terminators, if it's a string).
59501%NULL if length is not needed.
59502</parameter_description>
59503</parameter>
59504<parameter name="error">
59505<parameter_description> a pointer to %NULL #GError, or %NULL
59506</parameter_description>
59507</parameter>
59508</parameters>
59509<return> %TRUE if value data was retrieved, %FALSE otherwise.
59510
59511</return>
59512</function>
59513
59514<function name="g_win32_registry_value_iter_get_name">
59515<description>
59516Stores the name of the value currently being iterated over in @value_name,
59517and its length - in @value_name_len (if not %NULL).
59518
59519Since: 2.46
59520
59521</description>
59522<parameters>
59523<parameter name="iter">
59524<parameter_description> a #GWin32RegistryValueIter
59525</parameter_description>
59526</parameter>
59527<parameter name="value_name">
59528<parameter_description> Pointer to a location
59529to store the name of a value (in UTF-8).
59530</parameter_description>
59531</parameter>
59532<parameter name="value_name_len">
59533<parameter_description> Pointer to a location to store the length
59534of @value_name, in gchars, excluding NUL-terminator.
59535%NULL if length is not needed.
59536</parameter_description>
59537</parameter>
59538<parameter name="error">
59539<parameter_description> a pointer to %NULL #GError, or %NULL
59540</parameter_description>
59541</parameter>
59542</parameters>
59543<return> %TRUE if value name was retrieved, %FALSE otherwise.
59544
59545</return>
59546</function>
59547
59548<function name="g_win32_registry_value_iter_get_name_w">
59549<description>
59550Stores the name of the value currently being iterated over in @value_name,
59551and its length - in @value_name (if not %NULL).
59552
59553Since: 2.46
59554
59555</description>
59556<parameters>
59557<parameter name="iter">
59558<parameter_description> a #GWin32RegistryValueIter
59559</parameter_description>
59560</parameter>
59561<parameter name="value_name">
59562<parameter_description> Pointer to a location
59563to store the name of a value (in UTF-16).
59564</parameter_description>
59565</parameter>
59566<parameter name="value_name_len">
59567<parameter_description> Pointer to a location to store the length
59568of @value_name, in gunichar2s, excluding NUL-terminator.
59569%NULL if length is not needed.
59570</parameter_description>
59571</parameter>
59572<parameter name="error">
59573<parameter_description> a pointer to %NULL #GError, or %NULL
59574</parameter_description>
59575</parameter>
59576</parameters>
59577<return> %TRUE if value name was retrieved, %FALSE otherwise.
59578
59579</return>
59580</function>
59581
59582<function name="g_win32_registry_value_iter_get_value_type">
59583<description>
59584Stores the type of the value currently being iterated over in @value_type.
59585
59586Since: 2.46
59587
59588</description>
59589<parameters>
59590<parameter name="iter">
59591<parameter_description> a #GWin32RegistryValueIter
59592</parameter_description>
59593</parameter>
59594<parameter name="value_type">
59595<parameter_description> Pointer to a location to store the type of
59596the value.
59597</parameter_description>
59598</parameter>
59599<parameter name="error">
59600<parameter_description> a pointer to %NULL #GError, or %NULL
59601</parameter_description>
59602</parameter>
59603</parameters>
59604<return> %TRUE if value type was retrieved, %FALSE otherwise.
59605
59606</return>
59607</function>
59608
59609<function name="g_win32_registry_value_iter_init">
59610<description>
59611Initialises (without allocating) a #GWin32RegistryValueIter.  @iter may be
59612completely uninitialised prior to this call; its old value is
59613ignored.
59614
59615The iterator remains valid for as long as @key exists.
59616Clean up its internal buffers with a call to
59617g_win32_registry_value_iter_clear() when done.
59618
59619Since: 2.46
59620
59621</description>
59622<parameters>
59623<parameter name="iter">
59624<parameter_description> a pointer to a #GWin32RegistryValueIter
59625</parameter_description>
59626</parameter>
59627<parameter name="key">
59628<parameter_description> a #GWin32RegistryKey to iterate over
59629</parameter_description>
59630</parameter>
59631<parameter name="error">
59632<parameter_description> a pointer to %NULL #GError, or %NULL
59633</parameter_description>
59634</parameter>
59635</parameters>
59636<return> %TRUE if iterator was initialized successfully, %FALSE on error.
59637
59638</return>
59639</function>
59640
59641<function name="g_win32_registry_value_iter_n_values">
59642<description>
59643Queries the number of values items in the key that we are
59644iterating over.  This is the total number of values -- not the number
59645of items remaining.
59646
59647This information is accurate at the point of iterator initialization,
59648and may go out of sync with reality even while values are enumerated.
59649
59650Since: 2.46
59651
59652</description>
59653<parameters>
59654<parameter name="iter">
59655<parameter_description> a #GWin32RegistryValueIter
59656</parameter_description>
59657</parameter>
59658</parameters>
59659<return> the number of values in the key
59660
59661</return>
59662</function>
59663
59664<function name="g_win32_registry_value_iter_next">
59665<description>
59666Advances iterator to the next value in the key. If no more values remain then
59667FALSE is returned.
59668Enumeration errors can be ignored if @skip_errors is %TRUE
59669
59670Here is an example for iterating with g_win32_registry_value_iter_next():
59671|[&lt;!-- language=&quot;C&quot; --&gt;
59672// iterate values of a key
59673void
59674iterate_values_recursive (GWin32RegistryKey *key)
59675{
59676GWin32RegistryValueIter iter;
59677gchar *name;
59678GWin32RegistryValueType val_type;
59679gchar *val_data;
59680
59681if (!g_win32_registry_value_iter_init (&amp;iter, key, NULL))
59682return;
59683
59684while (g_win32_registry_value_iter_next (&amp;iter, TRUE, NULL))
59685{
59686if ((!g_win32_registry_value_iter_get_value_type (&amp;iter, &amp;value)) ||
59687((val_type != G_WIN32_REGISTRY_VALUE_STR) &amp;&amp;
59688(val_type != G_WIN32_REGISTRY_VALUE_EXPAND_STR)))
59689continue;
59690
59691if (g_win32_registry_value_iter_get_value (&amp;iter, TRUE, &amp;name, NULL,
59692&amp;val_data, NULL, NULL))
59693g_print (&quot;value '%s' = '%s'\n&quot;, name, val_data);
59694}
59695
59696g_win32_registry_value_iter_clear (&amp;iter);
59697}
59698]|
59699
59700Since: 2.46
59701
59702</description>
59703<parameters>
59704<parameter name="iter">
59705<parameter_description> a #GWin32RegistryValueIter
59706</parameter_description>
59707</parameter>
59708<parameter name="skip_errors">
59709<parameter_description> %TRUE if iterator should silently ignore errors (such as
59710the actual number of values being less than expected) and
59711proceed forward
59712</parameter_description>
59713</parameter>
59714<parameter name="error">
59715<parameter_description> a pointer to %NULL #GError, or %NULL
59716</parameter_description>
59717</parameter>
59718</parameters>
59719<return> %TRUE if next value info was retrieved, %FALSE otherwise.
59720
59721</return>
59722</function>
59723
59724<function name="g_zlib_compressor_get_file_info">
59725<description>
59726Returns the #GZlibCompressor:file-info property.
59727
59728Since: 2.26
59729
59730</description>
59731<parameters>
59732<parameter name="compressor">
59733<parameter_description> a #GZlibCompressor
59734</parameter_description>
59735</parameter>
59736</parameters>
59737<return> a #GFileInfo, or %NULL
59738
59739</return>
59740</function>
59741
59742<function name="g_zlib_compressor_new">
59743<description>
59744Creates a new #GZlibCompressor.
59745
59746Since: 2.24
59747
59748</description>
59749<parameters>
59750<parameter name="format">
59751<parameter_description> The format to use for the compressed data
59752</parameter_description>
59753</parameter>
59754<parameter name="level">
59755<parameter_description> compression level (0-9), -1 for default
59756</parameter_description>
59757</parameter>
59758</parameters>
59759<return> a new #GZlibCompressor
59760
59761</return>
59762</function>
59763
59764<function name="g_zlib_compressor_set_file_info">
59765<description>
59766Sets @file_info in @compressor. If non-%NULL, and @compressor's
59767#GZlibCompressor:format property is %G_ZLIB_COMPRESSOR_FORMAT_GZIP,
59768it will be used to set the file name and modification time in
59769the GZIP header of the compressed data.
59770
59771Note: it is an error to call this function while a compression is in
59772progress; it may only be called immediately after creation of @compressor,
59773or after resetting it with g_converter_reset().
59774
59775Since: 2.26
59776
59777</description>
59778<parameters>
59779<parameter name="compressor">
59780<parameter_description> a #GZlibCompressor
59781</parameter_description>
59782</parameter>
59783<parameter name="file_info">
59784<parameter_description> a #GFileInfo
59785</parameter_description>
59786</parameter>
59787</parameters>
59788<return></return>
59789</function>
59790
59791<function name="g_zlib_decompressor_get_file_info">
59792<description>
59793Retrieves the #GFileInfo constructed from the GZIP header data
59794of compressed data processed by @compressor, or %NULL if @decompressor's
59795#GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP,
59796or the header data was not fully processed yet, or it not present in the
59797data stream at all.
59798
59799Since: 2.26
59800
59801</description>
59802<parameters>
59803<parameter name="decompressor">
59804<parameter_description> a #GZlibDecompressor
59805</parameter_description>
59806</parameter>
59807</parameters>
59808<return> a #GFileInfo, or %NULL
59809
59810</return>
59811</function>
59812
59813<function name="g_zlib_decompressor_new">
59814<description>
59815Creates a new #GZlibDecompressor.
59816
59817Since: 2.24
59818
59819</description>
59820<parameters>
59821<parameter name="format">
59822<parameter_description> The format to use for the compressed data
59823</parameter_description>
59824</parameter>
59825</parameters>
59826<return> a new #GZlibDecompressor
59827
59828</return>
59829</function>
59830
59831<function name="get_viewable_logical_drives">
59832<description>
59833Returns the list of logical and viewable drives as defined by
59834GetLogicalDrives() and the registry keys
59835Software\Microsoft\Windows\CurrentVersion\Policies\Explorer under
59836HKLM or HKCU. If neither key exists the result of
59837GetLogicalDrives() is returned.
59838
59839
59840</description>
59841<parameters>
59842</parameters>
59843<return> bitmask with same meaning as returned by GetLogicalDrives()
59844</return>
59845</function>
59846
59847</root>
59848