Activates the action. the parameter type given at construction time). If the parameter type was %NULL then @parameter must also be %NULL. the parameter to the activation Checks if @action is currently enabled. An action must be enabled in order to be activated or in order to have its state changed from outside callers. whether the action is enabled Queries the name of @action. the name of the action Queries the type of the parameter that must be given when activating When activating the action using g_action_activate(), the #GVariant given to that function must be of the type returned by this function. In the case that this function returns %NULL, you must not give any #GVariant, but %NULL instead. the parameter type Queries the current state of @action. If the action is not stateful then %NULL will be returned. If the action is stateful then the type of the return value is the type given by g_action_get_state_type(). The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the current state of the action Requests a hint about the valid range of values for the state of If %NULL is returned it either means that the action is not stateful or that there is no hint about the valid range of values for the state of the action. If a #GVariant array is returned then each item in the array is a returned then the tuple specifies the inclusive lower and upper bound of valid values for the state. In any case, the information is merely a hint. It may be possible to have a state value outside of the hinted range and setting a value within the range may fail. The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the state range hint Queries the type of the state of @action. g_action_new_stateful()) then this function returns the #GVariantType of the state. This is the type of the initial value given as the state. All calls to g_action_set_state() must give a #GVariant of this type and g_action_get_state() will return a #GVariant of the same type. this function will return %NULL. In that case, g_action_get_state() will return %NULL and you must not call g_action_set_state(). the state type, if the action is stateful Request for the state of @action to be changed to @value. The action must be stateful and @value must be of the correct type. See g_action_get_state_type(). This call merely requests a change. The action may refuse to change its state or may change its state to something other than @value. See g_action_get_state_hint(). If the @value GVariant is floating, it is consumed. Activates the action. the parameter type given at construction time). If the parameter type was %NULL then @parameter must also be %NULL. the parameter to the activation Checks if @action is currently enabled. An action must be enabled in order to be activated or in order to have its state changed from outside callers. whether the action is enabled Queries the name of @action. the name of the action Queries the type of the parameter that must be given when activating When activating the action using g_action_activate(), the #GVariant given to that function must be of the type returned by this function. In the case that this function returns %NULL, you must not give any #GVariant, but %NULL instead. the parameter type Queries the current state of @action. If the action is not stateful then %NULL will be returned. If the action is stateful then the type of the return value is the type given by g_action_get_state_type(). The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the current state of the action Requests a hint about the valid range of values for the state of If %NULL is returned it either means that the action is not stateful or that there is no hint about the valid range of values for the state of the action. If a #GVariant array is returned then each item in the array is a returned then the tuple specifies the inclusive lower and upper bound of valid values for the state. In any case, the information is merely a hint. It may be possible to have a state value outside of the hinted range and setting a value within the range may fail. The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the state range hint Queries the type of the state of @action. g_action_new_stateful()) then this function returns the #GVariantType of the state. This is the type of the initial value given as the state. All calls to g_action_set_state() must give a #GVariant of this type and g_action_get_state() will return a #GVariant of the same type. this function will return %NULL. In that case, g_action_get_state() will return %NULL and you must not call g_action_set_state(). the state type, if the action is stateful Request for the state of @action to be changed to @value. The action must be stateful and @value must be of the correct type. See g_action_get_state_type(). This call merely requests a change. The action may refuse to change its state or may change its state to something other than @value. See g_action_get_state_hint(). If the @value GVariant is floating, it is consumed. the new state If @action is currently enabled. If the action is disabled then calls to g_action_activate() and g_action_set_state() have no effect. The name of the action. This is mostly meaningful for identifying the action once it has been added to a #GActionGroup. The type of the parameter that must be given when activating the action. The state of the action, or %NULL if the action is stateless. The #GVariantType of the state that the action has, or %NULL if the action is stateless. Activate the named action within @action_group. If the action is expecting a parameter, then the correct type of parameter must be given as @parameter. If the action is expecting no parameters then @parameter must be %NULL. See g_action_group_get_parameter_type(). the name of the action to activate parameters to the activation Checks if the named action within @action_group is currently enabled. An action must be enabled in order to be activated or in order to have its state changed from outside callers. whether or not the action is currently enabled the name of the action to query Queries the type of the parameter that must be given when activating the named action within @action_group. When activating the action using g_action_group_activate(), the #GVariant given to that function must be of the type returned by this function. In the case that this function returns %NULL, you must not give any #GVariant, but %NULL instead. The parameter type of a particular action will never change but it is possible for an action to be removed and for a new action to be added with the same name but a different parameter type. the parameter type the name of the action to query Queries the current state of the named action within @action_group. If the action is not stateful then %NULL will be returned. If the action is stateful then the type of the return value is the type given by g_action_group_get_state_type(). The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the current state of the action the name of the action to query Requests a hint about the valid range of values for the state of the named action within @action_group. If %NULL is returned it either means that the action is not stateful or that there is no hint about the valid range of values for the state of the action. If a #GVariant array is returned then each item in the array is a returned then the tuple specifies the inclusive lower and upper bound of valid values for the state. In any case, the information is merely a hint. It may be possible to have a state value outside of the hinted range and setting a value within the range may fail. The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the state range hint the name of the action to query Queries the type of the state of the named action within If the action is stateful then this function returns the #GVariantType of the state. All calls to g_action_group_set_state() must give a #GVariant of this type and g_action_group_get_state() will return a #GVariant of the same type. If the action is not stateful then this function will return %NULL. In that case, g_action_group_get_state() will return %NULL and you must not call g_action_group_set_state(). The state type of a particular action will never change but it is possible for an action to be removed and for a new action to be added with the same name but a different state type. the state type, if the action is stateful the name of the action to query Checks if the named action exists within @action_group. whether the named action exists the name of the action to check for Lists the actions contained within @action_group. The caller is responsible for freeing the list with g_strfreev() when it is no longer required. actions in the groupb a %NULL-terminated array of the names of the Request for the state of the named action within @action_group to be changed to @value. The action must be stateful and @value must be of the correct type. See g_action_group_get_state_type(). This call merely requests a change. The action may refuse to change its state or may change its state to something other than @value. See g_action_group_get_state_hint(). If the @value GVariant is floating, it is consumed. the name of the action to request the change on the new state Emits the #GActionGroup::action-added signal on @action_group. This function should only be called by #GActionGroup implementations. the name of an action in the group Emits the #GActionGroup::action-enabled-changed signal on @action_group. This function should only be called by #GActionGroup implementations. the name of an action in the group whether or not the action is now enabled Emits the #GActionGroup::action-removed signal on @action_group. This function should only be called by #GActionGroup implementations. the name of an action in the group Emits the #GActionGroup::action-state-changed signal on @action_group. This function should only be called by #GActionGroup implementations. the name of an action in the group the new state of the named action Activate the named action within @action_group. If the action is expecting a parameter, then the correct type of parameter must be given as @parameter. If the action is expecting no parameters then @parameter must be %NULL. See g_action_group_get_parameter_type(). the name of the action to activate parameters to the activation Checks if the named action within @action_group is currently enabled. An action must be enabled in order to be activated or in order to have its state changed from outside callers. whether or not the action is currently enabled the name of the action to query Queries the type of the parameter that must be given when activating the named action within @action_group. When activating the action using g_action_group_activate(), the #GVariant given to that function must be of the type returned by this function. In the case that this function returns %NULL, you must not give any #GVariant, but %NULL instead. The parameter type of a particular action will never change but it is possible for an action to be removed and for a new action to be added with the same name but a different parameter type. the parameter type the name of the action to query Queries the current state of the named action within @action_group. If the action is not stateful then %NULL will be returned. If the action is stateful then the type of the return value is the type given by g_action_group_get_state_type(). The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the current state of the action the name of the action to query Requests a hint about the valid range of values for the state of the named action within @action_group. If %NULL is returned it either means that the action is not stateful or that there is no hint about the valid range of values for the state of the action. If a #GVariant array is returned then each item in the array is a returned then the tuple specifies the inclusive lower and upper bound of valid values for the state. In any case, the information is merely a hint. It may be possible to have a state value outside of the hinted range and setting a value within the range may fail. The return value (if non-%NULL) should be freed with g_variant_unref() when it is no longer required. the state range hint the name of the action to query Queries the type of the state of the named action within If the action is stateful then this function returns the #GVariantType of the state. All calls to g_action_group_set_state() must give a #GVariant of this type and g_action_group_get_state() will return a #GVariant of the same type. If the action is not stateful then this function will return %NULL. In that case, g_action_group_get_state() will return %NULL and you must not call g_action_group_set_state(). The state type of a particular action will never change but it is possible for an action to be removed and for a new action to be added with the same name but a different state type. the state type, if the action is stateful the name of the action to query Checks if the named action exists within @action_group. whether the named action exists the name of the action to check for Lists the actions contained within @action_group. The caller is responsible for freeing the list with g_strfreev() when it is no longer required. actions in the groupb a %NULL-terminated array of the names of the Request for the state of the named action within @action_group to be changed to @value. The action must be stateful and @value must be of the correct type. See g_action_group_get_state_type(). This call merely requests a change. The action may refuse to change its state or may change its state to something other than @value. See g_action_group_get_state_hint(). If the @value GVariant is floating, it is consumed. the name of the action to request the change on the new state Signals that a new action was just added to the group. This signal is emitted after the action has been added and is now visible. the name of the action in @action_group Signals that the enabled status of the named action has changed. the name of the action in @action_group whether the action is enabled or not Signals that an action is just about to be removed from the group. This signal is emitted before the action is removed, so the action is still visible and can be queried from the signal handler. the name of the action in @action_group Signals that the state of the named action has changed. the name of the action in @action_group the new value of the state The virtual function table for #GActionGroup. whether the named action exists the name of the action to check for a %NULL-terminated array of the names of the whether or not the action is currently enabled the name of the action to query the parameter type the name of the action to query the state type, if the action is stateful the name of the action to query the state range hint the name of the action to query the current state of the action the name of the action to query the name of the action to request the change on the new state the name of the action to activate parameters to the activation the name of the action the parameter type the state type, if the action is stateful the state range hint whether the action is enabled the current state of the action the parameter to the activation Information about an installed application and methods to launch it (with file arguments). Adds a content type to the application information to indicate the application is capable of opening files with the given content type. %TRUE on success, %FALSE on error. a string. Obtains the information whether the #GAppInfo can be deleted. See g_app_info_delete(). %TRUE if @appinfo can be deleted Checks if a supported content type can be removed from an application. content types from a given @appinfo, %FALSE if not. %TRUE if it is possible to remove supported Tries to delete a #GAppInfo. On some platforms, there may be a difference between user-defined #GAppInfo<!-- -->s which can be deleted, and system-wide ones which cannot. See g_app_info_can_delete(). %TRUE if @appinfo has been deleted Creates a duplicate of a #GAppInfo. a duplicate of @appinfo. Checks if two #GAppInfo<!-- -->s are equal. %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise. the second #GAppInfo. Gets the commandline with which the application will be started. or %NULL if this information is not available a string containing the @appinfo's commandline, Gets a human-readable description of an installed application. application @appinfo, or %NULL if none. a string containing a description of the Gets the display name of the application. The display name is often more descriptive to the user than the name itself. no display name is available. the display name of the application for @appinfo, or the name if Gets the executable's name for the installed application. binaries name a string containing the @appinfo's application Gets the icon for the application. the default #GIcon for @appinfo. Gets the ID of an application. An id is a string that identifies the application. The exact format of the id is platform dependent. For instance, on Unix this is the desktop file id from the xdg menu specification. Note that the returned ID may be %NULL, depending on how the @appinfo has been constructed. a string containing the application's ID. Gets the installed name of the application. the name of the application for @appinfo. Launches the application. Passes @files to the launched application as arguments, using the optional @launch_context to get information about the details of the launcher (like what screen it is on). On error, @error will be set accordingly. To launch the application without arguments pass a %NULL @files list. Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this. Some URIs can be changed when passed through a GFile (for instance unsupported uris with strange formats like mailto:), so if you have a textual uri you want to pass in as argument, consider using g_app_info_launch_uris() instead. On UNIX, this function sets the <envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar> environment variable with the path of the launched desktop file and <envvar>GIO_LAUNCHED_DESKTOP_FILE_PID</envvar> to the process id of the launched process. This can be used to ignore <envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar>, should it be inherited by further processes. The <envvar>DISPLAY</envvar> and <envvar>DESKTOP_STARTUP_ID</envvar> environment variables are also set, based on information provided in @launch_context. %TRUE on successful launch, %FALSE otherwise. a #GAppLaunchContext or %NULL Launches the application. Passes @uris to the launched application as arguments, using the optional @launch_context to get information about the details of the launcher (like what screen it is on). On error, @error will be set accordingly. To lauch the application without arguments pass a %NULL @uris list. Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this. %TRUE on successful launch, %FALSE otherwise. a #GList containing URIs to launch. a #GAppLaunchContext or %NULL Removes a supported type from an application, if possible. %TRUE on success, %FALSE on error. a string. Sets the application as the default handler for the given file extension. %TRUE on success, %FALSE on error. a string containing the file extension (without the dot). Sets the application as the default handler for a given type. %TRUE on success, %FALSE on error. the content type. Checks if the application info should be shown in menus that list available applications. %TRUE if the @appinfo should be shown, %FALSE otherwise. Checks if the application accepts files as arguments. %TRUE if the @appinfo supports files. Checks if the application supports reading files and directories from URIs. %TRUE if the @appinfo supports URIs. Adds a content type to the application information to indicate the application is capable of opening files with the given content type. %TRUE on success, %FALSE on error. a string. Obtains the information whether the #GAppInfo can be deleted. See g_app_info_delete(). %TRUE if @appinfo can be deleted Checks if a supported content type can be removed from an application. content types from a given @appinfo, %FALSE if not. %TRUE if it is possible to remove supported Tries to delete a #GAppInfo. On some platforms, there may be a difference between user-defined #GAppInfo<!-- -->s which can be deleted, and system-wide ones which cannot. See g_app_info_can_delete(). %TRUE if @appinfo has been deleted Creates a duplicate of a #GAppInfo. a duplicate of @appinfo. Checks if two #GAppInfo<!-- -->s are equal. %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise. the second #GAppInfo. Gets the commandline with which the application will be started. or %NULL if this information is not available a string containing the @appinfo's commandline, Gets a human-readable description of an installed application. application @appinfo, or %NULL if none. a string containing a description of the Gets the display name of the application. The display name is often more descriptive to the user than the name itself. no display name is available. the display name of the application for @appinfo, or the name if Gets the executable's name for the installed application. binaries name a string containing the @appinfo's application Gets the icon for the application. the default #GIcon for @appinfo. Gets the ID of an application. An id is a string that identifies the application. The exact format of the id is platform dependent. For instance, on Unix this is the desktop file id from the xdg menu specification. Note that the returned ID may be %NULL, depending on how the @appinfo has been constructed. a string containing the application's ID. Gets the installed name of the application. the name of the application for @appinfo. Launches the application. Passes @files to the launched application as arguments, using the optional @launch_context to get information about the details of the launcher (like what screen it is on). On error, @error will be set accordingly. To launch the application without arguments pass a %NULL @files list. Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this. Some URIs can be changed when passed through a GFile (for instance unsupported uris with strange formats like mailto:), so if you have a textual uri you want to pass in as argument, consider using g_app_info_launch_uris() instead. On UNIX, this function sets the <envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar> environment variable with the path of the launched desktop file and <envvar>GIO_LAUNCHED_DESKTOP_FILE_PID</envvar> to the process id of the launched process. This can be used to ignore <envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar>, should it be inherited by further processes. The <envvar>DISPLAY</envvar> and <envvar>DESKTOP_STARTUP_ID</envvar> environment variables are also set, based on information provided in @launch_context. %TRUE on successful launch, %FALSE otherwise. a #GList of #GFile objects a #GAppLaunchContext or %NULL Launches the application. Passes @uris to the launched application as arguments, using the optional @launch_context to get information about the details of the launcher (like what screen it is on). On error, @error will be set accordingly. To lauch the application without arguments pass a %NULL @uris list. Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this. %TRUE on successful launch, %FALSE otherwise. a #GList containing URIs to launch. a #GAppLaunchContext or %NULL Removes a supported type from an application, if possible. %TRUE on success, %FALSE on error. a string. Sets the application as the default handler for the given file extension. %TRUE on success, %FALSE on error. a string containing the file extension (without the dot). Sets the application as the default handler for a given type. %TRUE on success, %FALSE on error. the content type. Checks if the application info should be shown in menus that list available applications. %TRUE if the @appinfo should be shown, %FALSE otherwise. Checks if the application accepts files as arguments. %TRUE if the @appinfo supports files. Checks if the application supports reading files and directories from URIs. %TRUE if the @appinfo supports URIs. Flags used when creating a #GAppInfo. Application Information interface, for operating system portability. a duplicate of @appinfo. %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise. the second #GAppInfo. a string containing the application's ID. the name of the application for @appinfo. a string containing a description of the a string containing the @appinfo's application the default #GIcon for @appinfo. %TRUE on successful launch, %FALSE otherwise. a #GAppLaunchContext or %NULL %TRUE if the @appinfo supports URIs. %TRUE if the @appinfo supports files. %TRUE on successful launch, %FALSE otherwise. a #GList containing URIs to launch. a #GAppLaunchContext or %NULL %TRUE if the @appinfo should be shown, %FALSE otherwise. %TRUE on success, %FALSE on error. the content type. %TRUE on success, %FALSE on error. a string containing the file extension (without the dot). %TRUE on success, %FALSE on error. a string. %TRUE if it is possible to remove supported %TRUE on success, %FALSE on error. a string. %TRUE if @appinfo can be deleted %TRUE if @appinfo has been deleted a string containing the @appinfo's commandline, the display name of the application for @appinfo, or the name if Integrating the launch with the launching application. This is used to handle for instance startup notification and launching the new application on the same screen as the launching window. Creates a new application launch context. This is not normally used, instead you instantiate a subclass of this, such as #GdkAppLaunchContext. a #GAppLaunchContext. Gets the display string for the @context. This is used to ensure new applications are started on the same display as the launching application, by setting the <envvar>DISPLAY</envvar> environment variable. a display string for the display. a #GAppInfo a #GList of #GFile objects Initiates startup notification for the application and returns the <envvar>DESKTOP_STARTUP_ID</envvar> for the launched operation, if supported. Startup notification IDs are defined in the <ulink url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt"> FreeDesktop.Org Startup Notifications standard</ulink>. not supported. a startup notification ID for the application, or %NULL if a #GAppInfo a #GList of of #GFile objects Called when an application has failed to launch, so that it can cancel the application startup notification started in g_app_launch_context_get_startup_notify_id(). the startup notification id that was returned by g_app_launch_context_get_startup_notify_id(). Gets the display string for the @context. This is used to ensure new applications are started on the same display as the launching application, by setting the <envvar>DISPLAY</envvar> environment variable. a display string for the display. a #GAppInfo a #GList of #GFile objects Initiates startup notification for the application and returns the <envvar>DESKTOP_STARTUP_ID</envvar> for the launched operation, if supported. Startup notification IDs are defined in the <ulink url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt"> FreeDesktop.Org Startup Notifications standard</ulink>. not supported. a startup notification ID for the application, or %NULL if a #GAppInfo a #GList of of #GFile objects Called when an application has failed to launch, so that it can cancel the application startup notification started in g_app_launch_context_get_startup_notify_id(). the startup notification id that was returned by g_app_launch_context_get_startup_notify_id(). a display string for the display. a #GAppInfo a #GList of #GFile objects a startup notification ID for the application, or %NULL if a #GAppInfo a #GList of of #GFile objects the startup notification id that was returned by g_app_launch_context_get_startup_notify_id(). The <structname>GApplication</structname> structure contains private data and should only be accessed using the provided API Create a new #GApplication. This uses a platform-specific mechanism to ensure the current process is the unique owner of the application (as defined by the @appid). If successful, the #GApplication:is-remote property will be %FALSE, and it is safe to continue creating other resources such as graphics windows. If the given @appid is already running in another process, the the GApplication::activate_with_data signal will be emitted in the remote process, with the data from @argv and other platform-specific data available. Subsequently the #GApplication:default-quit property will be evaluated. If it's %TRUE, then the current process will terminate. If %FALSE, then the application remains in the #GApplication:is-remote state, and you can e.g. call g_application_invoke_action(). Note that proxy instances should not call g_application_add_action(). This function may do synchronous I/O to obtain unique ownership of the application id, and will block the calling thread in this case. If the environment does not support the basic functionality of #GApplication, this function will invoke g_error(), which by default is a fatal operation. This may arise for example on UNIX systems using D-Bus when the session bus is not available. As a convenience, this function is defined to call g_type_init() as its very first action. An application instance System-dependent application identifier Number of arguments in @argv Argument vector, usually from the <parameter>argv</parameter> parameter of main() This function is similar to g_application_new(), but allows for more graceful fallback if the environment doesn't support the basic #GApplication functionality. An application instance System-dependent application identifier Number of arguments in @argv Argument vector, usually from the <parameter>argv</parameter> parameter of main() This function is similar to g_application_try_new(), but also sets the GApplication:register property to %FALSE. You can later call g_application_register() to complete initialization. An application instance System-dependent application identifier Number of arguments in @argv Argument vector, usually from the <parameter>argv</parameter> parameter of main() In the normal case where there is exactly one #GApplication instance in this process, return that instance. If there are multiple, the first one created will be returned. Otherwise, return %NULL. or %NULL if none is set The primary instance of #GApplication, Starts the application. The default implementation of this virtual function will simply run a main loop. It is an error to call this function if @application is a proxy for a remote application. Adds an action @name to the list of exported actions of @application. It is an error to call this function if @application is a proxy for a remote application. You can invoke an action using g_application_invoke_action(). The newly added action is enabled by default; you can call g_application_set_action_enabled() to disable it. the action name the action description; can be a translatable string Gets the description of the action @name. It is an error to call this function if @application is a proxy for a remote application. Description for the given action named @name Action name Retrieves whether the action @name is enabled or not. See g_application_set_action_enabled(). It is an error to call this function if @application is a proxy for a remote application. %TRUE if the action was enabled, and %FALSE otherwise the name of the action Retrieves the platform-specific identifier for the #GApplication. is owned by the #GApplication instance and it should never be modified or freed The platform-specific identifier. The returned string Invokes the action @name of the passed #GApplication. This function has different behavior depending on whether @application is acting as a proxy for another process. In the normal case where the current process is hosting the application, and the specified action exists and is enabled, the #GApplication::action signal will be emitted. If @application is a proxy, then the specified action will be invoked in the remote process. It is not necessary to call g_application_add_action() in the current process in order to invoke one remotely. the name of the action to invoke platform-specific event data Returns whether the object represents a proxy for a remote application. %TRUE if this object represents a proxy for a remote application. Retrieves the list of action names currently exported by @application. It is an error to call this function if @application is a proxy for a remote application. of strings containing action names; use g_strfreev() to free the resources used by the returned array a newly allocation, %NULL-terminated array Request that the application quits. This function has different behavior depending on whether @application is acting as a proxy for another process. In the normal case where the current process is hosting the application, the default implementation will quit the main loop created by g_application_run(). If @application is a proxy, then the remote process will be asked to quit. %TRUE if the application accepted the request, %FALSE otherwise platform-specific data By default, #GApplication ensures process uniqueness when initialized, but this behavior is controlled by the GApplication:register property. If it was given as %FALSE at construction time, this function allows you to later attempt to ensure uniqueness. Note that the GApplication:default-quit property no longer applies at this point; if this function returns %FALSE, platform activation will occur, but the current process will not be terminated. It is an error to call this function more than once. It is also an error to call this function if the GApplication:register property was %TRUE at construction time. %TRUE if registration was successful Removes the action @name from the list of exported actions of @application. It is an error to call this function if @application is a proxy for a remote application. the name of the action to remove Starts the application. The default implementation of this virtual function will simply run a main loop. It is an error to call this function if @application is a proxy for a remote application. Sets whether the action @name inside @application should be enabled or disabled. It is an error to call this function if @application is a proxy for a remote application. Invoking a disabled action will not result in the #GApplication::action signal being emitted. the name of the application whether to enable or disable the action @name The unique identifier for this application. See the documentation for #GApplication for more information about this property. The argument vector given to this application. It must be a #GVariant with a type signature "aay". By default, if the GApplication:register property is %TRUE, and a different process is running this application, the process will be exited. Set this property to %FALSE to allow custom interaction with the remote process. This property is %TRUE if this application instance represents a proxy to the instance of this application in another process. Platform-specific data retrieved from the operating system environment. It must be a #GVariant with type signature "a{sv}". If this property is %FALSE, the application construction will not attempt to ensure process uniqueness, and the application is guaranteed to be in the remote state. See GApplication:is-remote. This signal is emitted when an action is activated. The action name is passed as the first argument, but also as signal detail, so it is possible to connect to this signal for individual actions. The signal is never emitted for disabled actions. The name of the activated action Platform-specific data, or %NULL This signal is emitted when a non-primary process for a given application is invoked while your application is running; for example, when a file browser launches your program to open a file. The raw operating system arguments are passed in the stored in @platform_data. A #GVariant with the signature "aay" A #GVariant with the signature "a{sv}", or %NULL This signal is emitted when the Quit action is invoked on the application. The default handler for this signal exits the mainloop of the application. signal emission %TRUE if the signal has been handled, %FALSE to continue Platform-specific data, or %NULL The <structname>GApplicationClass</structname> structure contains private data only #GAskPasswordFlags are used to request specific information from the user, or to notify the user of their choices in an authentication situation. Interface for asynchronously initializable objects. Starts asynchronous initialization of the object implementing the interface. This must be done before any real use of the object after initial construction. If the object also implements #GInitable you can optionally call g_initable_init() instead. When the initialization is finished, @callback will be called. You can then call g_async_initable_init_finish() to get the result of the initialization. Implementations may also support cancellation. If @cancellable is not %NULL, then initialization can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL, and the object doesn't support cancellable initialization, the error %G_IO_ERROR_NOT_SUPPORTED will be returned. If this function is not called, or returns with an error, then all operations on the object should fail, generally returning the error %G_IO_ERROR_NOT_INITIALIZED. to this function with the same argument should return the same results. Only the first call initializes the object; further calls return the result of the first call. This is so that it's safe to implement the singleton pattern in the GObject constructor function. For classes that also support the #GInitable interface, the default implementation of this method will run the g_initable_init() function in a thread, so if you want to support asynchronous initialization via threads, just implement the #GAsyncInitable interface without overriding any interface methods. the <link linkend="io-priority">I/O priority</link> of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes asynchronous initialization and returns the result. See g_async_initable_init_async(). will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error has occurred, this function a #GAsyncResult. Starts asynchronous initialization of the object implementing the interface. This must be done before any real use of the object after initial construction. If the object also implements #GInitable you can optionally call g_initable_init() instead. When the initialization is finished, @callback will be called. You can then call g_async_initable_init_finish() to get the result of the initialization. Implementations may also support cancellation. If @cancellable is not %NULL, then initialization can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL, and the object doesn't support cancellable initialization, the error %G_IO_ERROR_NOT_SUPPORTED will be returned. If this function is not called, or returns with an error, then all operations on the object should fail, generally returning the error %G_IO_ERROR_NOT_INITIALIZED. to this function with the same argument should return the same results. Only the first call initializes the object; further calls return the result of the first call. This is so that it's safe to implement the singleton pattern in the GObject constructor function. For classes that also support the #GInitable interface, the default implementation of this method will run the g_initable_init() function in a thread, so if you want to support asynchronous initialization via threads, just implement the #GAsyncInitable interface without overriding any interface methods. the <link linkend="io-priority">I/O priority</link> of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes asynchronous initialization and returns the result. See g_async_initable_init_async(). will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error has occurred, this function a #GAsyncResult. Finishes the async construction for the various g_async_initable_new calls, returning the created object or %NULL on error. g_object_unref(). a newly created #GObject, or %NULL on error. Free with the #GAsyncResult.from the callback Provides an interface for asynchronous initializing object such that initialization may fail. the <link linkend="io-priority">I/O priority</link> of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function %TRUE if successful. If an error has occurred, this function a #GAsyncResult. Type definition for a function that will be called back when an asynchronous operation within GIO has been completed. the object the asynchronous operation was started with. a #GAsyncResult. user data passed to the callback. Holds results information for an asynchronous operation, usually passed directly to a asynchronous _finish() operation. Gets the source object from a #GAsyncResult. or %NULL if there is none. a new reference to the source object for the @res, Gets the user data from a #GAsyncResult. the user data for @res. Gets the source object from a #GAsyncResult. or %NULL if there is none. a new reference to the source object for the @res, Gets the user data from a #GAsyncResult. the user data for @res. Interface definition for #GAsyncResult. the user data for @res. a new reference to the source object for the @res, Implements #GFilterInputStream with a sized input buffer. Creates a new #GInputStream from the given @base_stream, with a buffer set to the default size (4 kilobytes). a #GInputStream for the given @base_stream. a #GInputStream Creates a new #GBufferedInputStream from the given @base_stream, with a buffer set to @size. a #GInputStream. a #GInputStream a #gsize Tries to read @count bytes from the stream into the buffer. Will block during this read. If @count is zero, returns zero and does nothing. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes read into the buffer is returned. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file. Zero is returned on end of file (or if @count is zero), but never otherwise. If @count is -1 then the attempted read size is equal to the number of bytes that are required to fill the buffer. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. On error -1 is returned and @error is set accordingly. For the asynchronous, non-blocking, version of this function, see g_buffered_input_stream_fill_async(). or -1 on error. the number of bytes read into @stream's buffer, up to @count, the number of bytes that will be read from the stream optional #GCancellable object, %NULL to ignore Reads data into @stream's buffer asynchronously, up to @count size. version of this function, see g_buffered_input_stream_fill(). If @count is -1 then the attempted read size is equal to the number of bytes that are required to fill the buffer. the number of bytes that will be read from the stream the <link linkend="io-priority">I/O priority</link> of the request optional #GCancellable object a #GAsyncReadyCallback a #gpointer Finishes an asynchronous read. a #gssize of the read stream, or %-1 on an error. a #GAsyncResult Tries to read @count bytes from the stream into the buffer. Will block during this read. If @count is zero, returns zero and does nothing. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes read into the buffer is returned. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file. Zero is returned on end of file (or if @count is zero), but never otherwise. If @count is -1 then the attempted read size is equal to the number of bytes that are required to fill the buffer. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. On error -1 is returned and @error is set accordingly. For the asynchronous, non-blocking, version of this function, see g_buffered_input_stream_fill_async(). or -1 on error. the number of bytes read into @stream's buffer, up to @count, the number of bytes that will be read from the stream optional #GCancellable object, %NULL to ignore Reads data into @stream's buffer asynchronously, up to @count size. version of this function, see g_buffered_input_stream_fill(). If @count is -1 then the attempted read size is equal to the number of bytes that are required to fill the buffer. the number of bytes that will be read from the stream the <link linkend="io-priority">I/O priority</link> of the request optional #GCancellable object a #GAsyncReadyCallback a #gpointer Finishes an asynchronous read. a #gssize of the read stream, or %-1 on an error. a #GAsyncResult Gets the size of the available data within the stream. size of the available stream. Gets the size of the input buffer. the current buffer size. Peeks in the buffer, copying data of size @count into @buffer, offset @offset bytes. a #gsize of the number of bytes peeked, or -1 on error. a pointer to an allocated chunk of memory a #gsize a #gsize Returns the buffer with the currently available bytes. The returned buffer must not be modified and will become invalid when reading from the stream or filling the buffer. read-only buffer a #gsize to get the number of bytes available in the buffer Tries to read a single byte from the stream or the buffer. Will block during this read. On success, the byte read from the stream is returned. On end of stream -1 is returned but it's not an exceptional error and @error is not set. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. On error -1 is returned and @error is set accordingly. the byte read from the @stream, or -1 on end of stream or error. optional #GCancellable object, %NULL to ignore Sets the size of the internal buffer of @stream to @size, or to the size of the contents of the buffer. The buffer can never be resized smaller than its current contents. a #gsize the number of bytes read into @stream's buffer, up to @count, the number of bytes that will be read from the stream optional #GCancellable object, %NULL to ignore the number of bytes that will be read from the stream the <link linkend="io-priority">I/O priority</link> of the request optional #GCancellable object a #GAsyncReadyCallback a #gpointer a #gssize of the read stream, or %-1 on an error. a #GAsyncResult An implementation of #GFilterOutputStream with a sized buffer. Creates a new buffered output stream for a base stream. a #GOutputStream for the given @base_stream. a #GOutputStream. Creates a new buffered output stream with a given buffer size. a #GOutputStream with an internal buffer set to @size. a #GOutputStream. a #gsize. Checks if the buffer automatically grows as data is added. %FALSE otherwise. %TRUE if the @stream's buffer automatically grows, Gets the size of the buffer in the @stream. the current size of the buffer. Sets whether or not the @stream's buffer should automatically grow. If @auto_grow is true, then each write will just make the buffer larger, and you must manually flush the buffer to actually write out the data to the underlying stream. a #gboolean. Sets the size of the internal buffer to @size. a #gsize. Invoked when a connection to a message bus has been obtained. The #GDBusConnection to a message bus. The name that is requested to be owned. User data passed to g_bus_own_name(). Invoked when the name is acquired. The #GDBusConnection on which to acquired the name. The name being owned. User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). Invoked when the name being watched is known to have to have a owner. The #GDBusConnection the name is being watched on. The name being watched. Unique name of the owner of the name being watched. User data passed to g_bus_watch_name(). Invoked when the name is lost or @connection has been closed. The #GDBusConnection on which to acquire the name or %NULL if the connection was disconnected. The name being owned. User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). Flags used in g_bus_own_name(). Invoked when the name being watched is known not to have to have a owner. The #GDBusConnection the name is being watched on. The name being watched. User data passed to g_bus_watch_name(). Flags used in g_bus_watch_name(). An enumeration for well-known message buses. Allows actions to be cancelled. Creates a new #GCancellable object. Applications that want to start one or more operations that should be cancellable should create a #GCancellable and pass it to the operations. One #GCancellable can be used in multiple consecutive operations, but not in multiple concurrent operations. a #GCancellable. Gets the top cancellable from the stack. if the stack is empty. a #GCancellable from the top of the stack, or %NULL Will set @cancellable to cancelled, and will emit the #GCancellable::cancelled signal. (However, see the warning about race conditions in the documentation for that signal if you are planning to connect to it.) This function is thread-safe. In other words, you can safely call it from a thread other than the one running the operation that was passed the @cancellable. The convention within gio is that cancelling an asynchronous operation causes it to complete asynchronously. That is, if you cancel the operation from the same thread in which it is running, then the operation's #GAsyncReadyCallback will not be invoked until the application returns to the main loop. Convenience function to connect to the #GCancellable::cancelled signal. Also handles the race condition that may happen if the cancellable is cancelled right before connecting. time of the connect if @cancellable is already cancelled, or when @cancellable is cancelled in some thread. disconnected, or immediately if the cancellable is already cancelled. See #GCancellable::cancelled for details on how to use this. been cancelled. The id of the signal handler or 0 if @cancellable has already The #GCallback to connect. Data to pass to @callback. Free function for @data or %NULL. Disconnects a handler from a cancellable instance similar to g_signal_handler_disconnect(). Additionally, in the event that a signal handler is currently running, this call will block until the handler has finished. Calling this function from a #GCancellable::cancelled signal handler will therefore result in a deadlock. This avoids a race condition where a thread cancels at the same time as the cancellable operation is finished and the signal handler is removed. See #GCancellable::cancelled for details on how to use this. If @cancellable is %NULL or @handler_id is %0 this function does nothing. Handler id of the handler to be disconnected, or %0. Gets the file descriptor for a cancellable job. This can be used to implement cancellable operations on Unix systems. The returned fd will turn readable when @cancellable is cancelled. You are not supposed to read from the fd yourself, just check for readable status. Reading to unset the readable status is done with g_cancellable_reset(). After a successful return from this function, you should use g_cancellable_release_fd() to free up resources allocated for the returned file descriptor. See also g_cancellable_make_pollfd(). is not supported, or on errors. A valid file descriptor. %-1 if the file descriptor Checks if a cancellable job has been cancelled. FALSE if called with %NULL or if item is not cancelled. %TRUE if @cancellable is cancelled, Creates a #GPollFD corresponding to @cancellable; this can be passed to g_poll() and used to poll for cancellation. This is useful both for unix systems without a native poll and for portability to windows. When this function returns %TRUE, you should use g_cancellable_release_fd() to free up resources allocated for the If this function returns %FALSE, either no @cancellable was given or resource limits prevent this function from allocating the necessary structures for polling. (On Linux, you will likely have reached the maximum number of file descriptors.) The suggested way to handle these cases is to ignore the @cancellable. You are not supposed to read from the fd yourself, just check for readable status. Reading to unset the readable status is done with g_cancellable_reset(). failure to prepare the cancellable. %TRUE if @pollfd was successfully initialized, %FALSE on a pointer to a #GPollFD Pops @cancellable off the cancellable stack (verifying that @cancellable is on the top of the stack). Pushes @cancellable onto the cancellable stack. The current cancllable can then be recieved using g_cancellable_get_current(). This is useful when implementing cancellable operations in code that does not allow you to pass down the cancellable object. This is typically called automatically by e.g. #GFile operations, so you rarely have to call this yourself. Releases a resources previously allocated by g_cancellable_get_fd() or g_cancellable_make_pollfd(). For compatibility reasons with older releases, calling this function is not strictly required, the resources will be automatically freed when the @cancellable is finalized. However, the @cancellable will block scarce file descriptors until it is finalized if this function is not called. This can cause the application to run out of file descriptors when many #GCancellables are used at the same time. Resets @cancellable to its uncancelled state. If the @cancellable is cancelled, sets the error to notify that the operation was cancelled. %TRUE if @cancellable was cancelled, %FALSE if it was not. Emitted when the operation has been cancelled. Can be used by implementations of cancellable operations. If the operation is cancelled from another thread, the signal will be emitted in the thread that cancelled the operation, not the thread that is running the operation. Note that disconnecting from this signal (or any signal) in a multi-threaded program is prone to race conditions. For instance it is possible that a signal handler may be invoked even <emphasis>after</emphasis> a call to g_signal_handler_disconnect() for that handler has already returned. There is also a problem when cancellation happen right before connecting to the signal. If this happens the signal will unexpectedly not be emitted, and checking before connecting to the signal leaves a race condition where this is still happening. In order to make it safe and easy to connect handlers there g_cancellable_disconnect() which protect against problems like this. An example of how to us this: |[ /<!-- -->* Make sure we don't do any unnecessary work if already cancelled *<!-- -->/ if (g_cancellable_set_error_if_cancelled (cancellable)) return; /<!-- -->* Set up all the data needed to be able to * handle cancellation of the operation *<!-- -->/ my_data = my_data_new (...); id = 0; if (cancellable) id = g_cancellable_connect (cancellable, G_CALLBACK (cancelled_handler) data, NULL); /<!-- -->* cancellable operation here... *<!-- -->/ g_cancellable_disconnect (cancellable, id); /<!-- -->* cancelled_handler is never called after this, it * is now safe to free the data *<!-- -->/ my_data_free (my_data); ]| Note that the cancelled signal is emitted in the thread that the user cancelled from, which may be the main thread. So, the cancellable signal should not do something that can block. Conversions between character sets. Creates a new #GCharsetConverter. a new #GCharsetConverter or %NULL on error. destination charset source charset Gets the number of fallbacks that @converter has applied so far. the number of fallbacks that @converter has applied Gets the #GCharsetConverter:use-fallback property. %TRUE if fallbacks are used by @converter Sets the #GCharsetConverter:use-fallback property. %TRUE to use fallbacks Seek object for streaming operations. This is the main operation used when converting data. It is to be called multiple times in a loop, and each time it will do some work, i.e. producing some output (in @outbuf) or consuming some input (from @inbuf) or both. If its not possible to do any work an error is returned. Note that a single call may not consume all input (or any input at all). Also a call may produce output even if given no input, due to state stored in the converter producing output. If any data was either produced or consumed, and then an error happens, then only the successful conversion is reported and the error is returned on the next call. A full conversion loop involves calling this method repeatedly, each time giving it new input and space output space. When there is no more input data after the data in @inbuf, the flag %G_CONVERTER_INPUT_AT_END must be set. The loop will be (unless some error happens) returning %G_CONVERTER_CONVERTED each time until all data is consumed and all output is produced, then %G_CONVERTER_FINISHED is returned instead. Note, that %G_CONVERTER_FINISHED may be returned even if %G_CONVERTER_INPUT_AT_END is not set, for instance in a decompression converter where the end of data is detectable from the data (and there might even be other data after the end of the compressed data). When some data has successfully been converted @bytes_read and is set to the number of bytes read from @inbuf, and @bytes_written is set to indicate how many bytes was written to @outbuf. If there are more data to output or consume (i.e. unless the G_CONVERTER_INPUT_AT_END is specified) then G_CONVERTER_CONVERTED is returned, and if no more data is to be output then G_CONVERTER_FINISHED is returned. On error %G_CONVERTER_ERROR is returned and @error is set accordingly. Some errors need special handling: %G_IO_ERROR_NO_SPACE is returned if there is not enough space to write the resulting converted data, the application should call the function again with a larger @outbuf to continue. %G_IO_ERROR_PARTIAL_INPUT is returned if there is not enough input to fully determine what the conversion should produce, and the %G_CONVERTER_INPUT_AT_END flag is not set. This happens for example with an incomplete multibyte sequence when converting text, or when a regexp matches up to the end of the input (and may match further input). It may also happen when @inbuf_size is zero and there is no more data to produce. When this happens the application should read more input and then call the function again. If further input shows that there is no more data call the function again with the same data but with the %G_CONVERTER_INPUT_AT_END flag set. This may cause the conversion to finish as e.g. in the regexp match case (or, to fail again with %G_IO_ERROR_PARTIAL_INPUT in e.g. a charset conversion where the input is actually partial). After g_converter_convert() has returned %G_CONVERTER_FINISHED the converter object is in an invalid state where its not allowed to call g_converter_convert() anymore. At this time you can only free the object or call g_converter_reset() to reset it to the initial state. If the flag %G_CONVERTER_FLUSH is set then conversion is modified to try to write out all internal state to the output. The application has to call the function multiple times with the flag set, and when the availible input has been consumed and all internal state has been produced then %G_CONVERTER_FLUSHED (or %G_CONVERTER_FINISHED if really at the end) is returned instead of %G_CONVERTER_CONVERTED. This is somewhat similar to what happens at the end of the input stream, but done in the middle of the data. This has different meanings for different conversions. For instance in a compression converter it would mean that we flush all the compression state into output such that if you uncompress the compressed data you get back all the input data. Doing this may make the final file larger due to padding though. Another example is a regexp conversion, where if you at the end of the flushed data have a match, but there is also a potential longer match. In the non-flushed case we would ask for more input, but when flushing we treat this as the end of input and do the match. Flushing is not always possible (like if a charset converter flushes at a partial multibyte sequence). Converters are supposed to try to produce as much output as possible and then return an error (typically %G_IO_ERROR_PARTIAL_INPUT). a #GConverterResult, %G_CONVERTER_ERROR on error. the buffer containing the data to convert. the number of bytes in @inbuf a buffer to write converted data in. the number of bytes in @outbuf, must be at least one a #GConvertFlags controlling the conversion details will be set to the number of bytes read from @inbuf on success will be set to the number of bytes written to @outbuf on success Resets all internal state in the converter, making it behave as if it was just created. If the converter has any internal state that would produce output then that output is lost. This is the main operation used when converting data. It is to be called multiple times in a loop, and each time it will do some work, i.e. producing some output (in @outbuf) or consuming some input (from @inbuf) or both. If its not possible to do any work an error is returned. Note that a single call may not consume all input (or any input at all). Also a call may produce output even if given no input, due to state stored in the converter producing output. If any data was either produced or consumed, and then an error happens, then only the successful conversion is reported and the error is returned on the next call. A full conversion loop involves calling this method repeatedly, each time giving it new input and space output space. When there is no more input data after the data in @inbuf, the flag %G_CONVERTER_INPUT_AT_END must be set. The loop will be (unless some error happens) returning %G_CONVERTER_CONVERTED each time until all data is consumed and all output is produced, then %G_CONVERTER_FINISHED is returned instead. Note, that %G_CONVERTER_FINISHED may be returned even if %G_CONVERTER_INPUT_AT_END is not set, for instance in a decompression converter where the end of data is detectable from the data (and there might even be other data after the end of the compressed data). When some data has successfully been converted @bytes_read and is set to the number of bytes read from @inbuf, and @bytes_written is set to indicate how many bytes was written to @outbuf. If there are more data to output or consume (i.e. unless the G_CONVERTER_INPUT_AT_END is specified) then G_CONVERTER_CONVERTED is returned, and if no more data is to be output then G_CONVERTER_FINISHED is returned. On error %G_CONVERTER_ERROR is returned and @error is set accordingly. Some errors need special handling: %G_IO_ERROR_NO_SPACE is returned if there is not enough space to write the resulting converted data, the application should call the function again with a larger @outbuf to continue. %G_IO_ERROR_PARTIAL_INPUT is returned if there is not enough input to fully determine what the conversion should produce, and the %G_CONVERTER_INPUT_AT_END flag is not set. This happens for example with an incomplete multibyte sequence when converting text, or when a regexp matches up to the end of the input (and may match further input). It may also happen when @inbuf_size is zero and there is no more data to produce. When this happens the application should read more input and then call the function again. If further input shows that there is no more data call the function again with the same data but with the %G_CONVERTER_INPUT_AT_END flag set. This may cause the conversion to finish as e.g. in the regexp match case (or, to fail again with %G_IO_ERROR_PARTIAL_INPUT in e.g. a charset conversion where the input is actually partial). After g_converter_convert() has returned %G_CONVERTER_FINISHED the converter object is in an invalid state where its not allowed to call g_converter_convert() anymore. At this time you can only free the object or call g_converter_reset() to reset it to the initial state. If the flag %G_CONVERTER_FLUSH is set then conversion is modified to try to write out all internal state to the output. The application has to call the function multiple times with the flag set, and when the availible input has been consumed and all internal state has been produced then %G_CONVERTER_FLUSHED (or %G_CONVERTER_FINISHED if really at the end) is returned instead of %G_CONVERTER_CONVERTED. This is somewhat similar to what happens at the end of the input stream, but done in the middle of the data. This has different meanings for different conversions. For instance in a compression converter it would mean that we flush all the compression state into output such that if you uncompress the compressed data you get back all the input data. Doing this may make the final file larger due to padding though. Another example is a regexp conversion, where if you at the end of the flushed data have a match, but there is also a potential longer match. In the non-flushed case we would ask for more input, but when flushing we treat this as the end of input and do the match. Flushing is not always possible (like if a charset converter flushes at a partial multibyte sequence). Converters are supposed to try to produce as much output as possible and then return an error (typically %G_IO_ERROR_PARTIAL_INPUT). a #GConverterResult, %G_CONVERTER_ERROR on error. the buffer containing the data to convert. the number of bytes in @inbuf a buffer to write converted data in. the number of bytes in @outbuf, must be at least one a #GConvertFlags controlling the conversion details will be set to the number of bytes read from @inbuf on success will be set to the number of bytes written to @outbuf on success Resets all internal state in the converter, making it behave as if it was just created. If the converter has any internal state that would produce output then that output is lost. Flags used when calling a g_converter_convert(). Provides an interface for converting data from one type to another type. The conversion can be stateful and may fail at any place. a #GConverterResult, %G_CONVERTER_ERROR on error. the buffer containing the data to convert. the number of bytes in @inbuf a buffer to write converted data in. the number of bytes in @outbuf, must be at least one a #GConvertFlags controlling the conversion details will be set to the number of bytes read from @inbuf on success will be set to the number of bytes written to @outbuf on success An implementation of #GFilterInputStream that allows data conversion. Creates a new converter input stream for the @base_stream. a new #GInputStream. a #GInputStream a #GConverter Gets the #GConverter that is used by @converter_stream. the converter of the converter input stream An implementation of #GFilterOutputStream that allows data conversion. Creates a new converter output stream for the @base_stream. a new #GOutputStream. a #GOutputStream a #GConverter Gets the #GConverter that is used by @converter_stream. the converter of the converter output stream Results returned from g_converter_convert(). The #GCredentials structure contains only private data and should only be accessed using the provided API. Creates a new #GCredentials object with credentials matching the the current process. A #GCredentials. Free with g_object_unref(). Gets a pointer to native credentials of type @native_type from It is a programming error (which will cause an warning to be logged) to use this method if there is no #GCredentials support for the OS or if @native_type isn't supported by the OS. operation there is no #GCredentials support for the OS or if data, it is owned by @credentials. The pointer to native credentials or %NULL if the The type of native credentials to get. Tries to get the UNIX user identifier from @credentials. This method is only available on UNIX platforms. This operation can fail if #GCredentials is not supported on the OS or if the native credentials type does not contain information about the UNIX user. The UNIX user identifier or -1 if @error is set. Checks if @credentials and @other_credentials is the same user. This operation can fail if #GCredentials is not supported on the the OS. user, %FALSE otherwise or if @error is set. %TRUE if @credentials and @other_credentials has the same A #GCredentials. Copies the native credentials of type @native_type from @native into @credentials. It is a programming error (which will cause an warning to be logged) to use this method if there is no #GCredentials support for the OS or if @native_type isn't supported by the OS. The type of native credentials to set. A pointer to native credentials. Tries to set the UNIX user identifier on @credentials. This method is only available on UNIX platforms. This operation can fail if #GCredentials is not supported on the OS or if the native credentials type does not contain information about the UNIX user. %TRUE if @uid was set, %FALSE if error is set. The UNIX user identifier to set. Creates a human-readable textual representation of @credentials that can be used in logging and debug messages. The format of the returned string may change in future GLib release. A string that should be freed with g_free(). Class structure for #GCredentials. Enumeration describing different kinds of native credential types. Information about an annotation. If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. Information about an argument for a method or a signal. If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. The #GDBusAuthObserver structure contains only private data and should only be accessed using the provided API. Creates a new #GDBusAuthObserver object. A #GDBusAuthObserver. Free with g_object_unref(). Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer. %TRUE if the peer is authorized, %FALSE if not. A #GIOStream for the #GDBusConnection. Credentials received from the peer or %NULL. Emitted to check if a peer that is successfully authenticated is authorized. %TRUE if the peer is authorized, %FALSE if not. A #GIOStream for the #GDBusConnection. Credentials received from the peer or %NULL. Flags used in g_dbus_connection_call() and similar APIs. Capabilities negotiated with the remote peer. The #GDBusConnection structure contains only private data and should only be accessed using the provided API. Finishes an operation started with g_dbus_connection_new(). A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_new(). Finishes an operation started with g_dbus_connection_new_for_address(). A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_new(). Synchronously connects and sets up a D-Bus client connection for exchanging D-Bus messages with an endpoint specified by @address which must be in the D-Bus address format. This constructor can only be used to initiate client-side connections - use g_dbus_connection_new_sync() if you need to act as the server. In particular, @flags cannot contain the %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags. This is a synchronous failable constructor. See g_dbus_connection_new_for_address() for the asynchronous version. If @observer is not %NULL it may be used to control the authentication process. A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). A D-Bus address. Flags describing how to make the connection. A #GDBusAuthObserver or %NULL. A #GCancellable or %NULL. Synchronously sets up a D-Bus connection for exchanging D-Bus messages with the end represented by @stream. If @observer is not %NULL it may be used to control the authentication process. This is a synchronous failable constructor. See g_dbus_connection_new() for the asynchronous version. A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). A #GIOStream. The GUID to use if a authenticating as a server or %NULL. Flags describing how to make the connection. A #GDBusAuthObserver or %NULL. A #GCancellable or %NULL. Asynchronously sets up a D-Bus connection for exchanging D-Bus messages with the end represented by @stream. If @observer is not %NULL it may be used to control the authentication process. When the operation is finished, @callback will be invoked. You can then call g_dbus_connection_new_finish() to get the result of the operation. This is a asynchronous failable constructor. See g_dbus_connection_new_sync() for the synchronous version. A #GIOStream. The GUID to use if a authenticating as a server or %NULL. Flags describing how to make the connection. A #GDBusAuthObserver or %NULL. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied. The data to pass to @callback. Asynchronously connects and sets up a D-Bus client connection for exchanging D-Bus messages with an endpoint specified by @address which must be in the D-Bus address format. This constructor can only be used to initiate client-side connections - use g_dbus_connection_new() if you need to act as the server. In particular, @flags cannot contain the %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags. When the operation is finished, @callback will be invoked. You can then call g_dbus_connection_new_finish() to get the result of the operation. If @observer is not %NULL it may be used to control the authentication process. This is a asynchronous failable constructor. See g_dbus_connection_new_for_address_sync() for the synchronous version. A D-Bus address. Flags describing how to make the connection. A #GDBusAuthObserver or %NULL. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied. The data to pass to @callback. Adds a message filter. Filters are handlers that are run on all incoming and outgoing messages, prior to standard dispatch. Filters are run in the order that they were added. The same handler can be added as a filter more than once, in which case it will be run more than once. Filters added during a filter callback won't be run on the message being processed. Filter functions are allowed to modify and even drop messages - see the #GDBusMessageFilterResult enumeration for details. Note that filters are run in a dedicated message handling thread so they can't block and, generally, can't do anything but signal a worker thread. Also note that filters are rarely needed - use API such as g_dbus_connection_send_message_with_reply(), g_dbus_connection_signal_subscribe() or g_dbus_connection_call() instead. If a filter consumes an incoming message the message is not dispatched anywhere else - not even the standard dispatch machinery (that API such as g_dbus_connection_signal_subscribe() and g_dbus_connection_send_message_with_reply() relies on) will see the message. Similary, if a filter consumes an outgoing message, the message will not be sent to the other peer. g_dbus_connection_remove_filter(). A filter identifier that can be used with A filter function. User data to pass to @filter_function. Function to free @user_data with when filter is removed or %NULL. Asynchronously invokes the @method_name method on the If @connection is closed then the operation will fail with %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will fail with %G_IO_ERROR_CANCELLED. If @parameters contains a value not compatible with the D-Bus protocol, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. If @reply_type is non-%NULL then the reply will be checked for having this type and an error will be raised if it does not match. Said another way, if you give a @reply_type then any non-%NULL return value will be of this type. If the @parameters #GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new(), e.g.: |[ g_dbus_connection_call (connection, "org.freedesktop.StringThings", "/org/freedesktop/StringThings", "org.freedesktop.StringThings", "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, (GAsyncReadyCallback) two_strings_done, NULL); ]| This is an asynchronous method. When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. You can then call g_dbus_connection_call_finish() to get the result of the operation. See g_dbus_connection_call_sync() for the synchronous version of this function. A unique or well-known bus name or %NULL if @connection is not a message bus connection. Path of remote object. D-Bus interface to invoke method on. The name of the method to invoke. A #GVariant tuple with parameters for the method or %NULL if not passing parameters. The expected type of the reply, or %NULL. Flags from the #GDBusCallFlags enumeration. The timeout in milliseconds or -1 to use the default timeout. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation. The data to pass to @callback. Finishes an operation started with g_dbus_connection_call(). return values. Free with g_variant_unref(). %NULL if @error is set. Otherwise a #GVariant tuple with A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_call(). Synchronously invokes the @method_name method on the If @connection is closed then the operation will fail with %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will fail with %G_IO_ERROR_CANCELLED. If @parameters contains a value not compatible with the D-Bus protocol, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. If @reply_type is non-%NULL then the reply will be checked for having this type and an error will be raised if it does not match. Said another way, if you give a @reply_type then any non-%NULL return value will be of this type. If the @parameters #GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new(), e.g.: |[ g_dbus_connection_call_sync (connection, "org.freedesktop.StringThings", "/org/freedesktop/StringThings", "org.freedesktop.StringThings", "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &amp;error); ]| The calling thread is blocked until a reply is received. See g_dbus_connection_call() for the asynchronous version of this method. return values. Free with g_variant_unref(). %NULL if @error is set. Otherwise a #GVariant tuple with A unique or well-known bus name. Path of remote object. D-Bus interface to invoke method on. The name of the method to invoke. A #GVariant tuple with parameters for the method or %NULL if not passing parameters. The expected type of the reply, or %NULL. Flags from the #GDBusCallFlags enumeration. The timeout in milliseconds or -1 to use the default timeout. A #GCancellable or %NULL. Closes @connection. Note that this never causes the process to exit (this might only happen if the other end of a shared message bus connection disconnects, see #GDBusConnection:exit-on-close). Once the connection is closed, operations such as sending a message will return with the error %G_IO_ERROR_CLOSED. Closing a connection will not automatically flush the connection so queued messages may be lost. Use g_dbus_connection_flush() if you need such guarantees. If @connection is already closed, this method fails with %G_IO_ERROR_CLOSED. When @connection has been closed, the #GDBusConnection::closed signal is emitted in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread that @connection was constructed in. This is an asynchronous method. When the operation is finished, linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. You can then call g_dbus_connection_close_finish() to get the result of the operation. See g_dbus_connection_close_sync() for the synchronous version. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result. The data to pass to @callback. Finishes an operation started with g_dbus_connection_close(). %TRUE if the operation succeeded, %FALSE if @error is set. A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_close(). Synchronously closees @connection. The calling thread is blocked until this is done. See g_dbus_connection_close() for the asynchronous version of this method and more details about what it does. %TRUE if the operation succeeded, %FALSE if @error is set. A #GCancellable or %NULL. Emits a signal. If the parameters GVariant is floating, it is consumed. This can only fail if @parameters is not compatible with the D-Bus protocol. %TRUE unless @error is set. The unique bus name for the destination for the signal or %NULL to emit to all listeners. Path of remote object. D-Bus interface to emit a signal on. The name of the signal to emit. A #GVariant tuple with parameters for the signal or %NULL if not passing parameters. Asynchronously flushes @connection, that is, writes all queued outgoing message to the transport and then flushes the transport (using g_output_stream_flush_async()). This is useful in programs that wants to emit a D-Bus signal and then exit immediately. Without flushing the connection, there is no guarantee that the message has been sent to the networking buffers in the OS kernel. This is an asynchronous method. When the operation is finished, linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. You can then call g_dbus_connection_flush_finish() to get the result of the operation. See g_dbus_connection_flush_sync() for the synchronous version. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result. The data to pass to @callback. Finishes an operation started with g_dbus_connection_flush(). %TRUE if the operation succeeded, %FALSE if @error is set. A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_flush(). Synchronously flushes @connection. The calling thread is blocked until this is done. See g_dbus_connection_flush() for the asynchronous version of this method and more details about what it does. %TRUE if the operation succeeded, %FALSE if @error is set. A #GCancellable or %NULL. Gets the capabilities negotiated with the remote peer Zero or more flags from the #GDBusCapabilityFlags enumeration. Gets whether the process is terminated when @connection is closed by the remote peer. See #GDBusConnection:exit-on-close for more details. closed by the remote peer. Whether the process is terminated when @connection is The GUID of the peer performing the role of server when authenticating. See #GDBusConnection:guid for more details. The GUID. Do not free this string, it is owned by Gets the credentials of the authenticated peer. This will always return %NULL unless @connection acted as a server (e.g. %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER was passed) when set up and the client passed credentials as part of the authentication process. In a message bus setup, the message bus is always the server and each application is a client. So this method will always return %NULL for message bus clients. this object, it is owned by @connection. A #GCredentials or %NULL if not available. Do not free Gets the underlying stream used for IO. the stream used for IO Gets the unique name of @connection as assigned by the message bus. This can also be used to figure out if @connection is a message bus connection. bus connection. Do not free this string, it is owned by The unique name or %NULL if @connection is not a message Gets whether @connection is closed. %TRUE if the connection is closed, %FALSE otherwise. Registers callbacks for exported objects at @object_path with the D-Bus interface that is described in @interface_info. Calls to functions in @vtable (and @user_data_free_func) will happen in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. Note that all #GVariant values passed to functions in @vtable will match the signature given in @interface_info - if a remote caller passes incorrect values, the <literal>org.freedesktop.DBus.Error.InvalidArgs</literal> is returned to the remote caller. Additionally, if the remote caller attempts to invoke methods or access properties not mentioned in @interface_info the <literal>org.freedesktop.DBus.Error.UnknownMethod</literal> resp. <literal>org.freedesktop.DBus.Error.InvalidArgs</literal> errors are returned to the caller. It is considered a programming error if the #GDBusInterfaceGetPropertyFunc function in @vtable returns a #GVariant of incorrect type. If an existing callback is already registered at @object_path and GDBus automatically implements the standard D-Bus interfaces org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable and org.freedesktop.Peer, so you don't have to implement those for the objects you export. You <emphasis>can</emphasis> implement org.freedesktop.DBus.Properties yourself, e.g. to handle getting and setting of properties asynchronously. Note that the reference count on @interface_info will be incremented by 1 (unless allocated statically, e.g. if the reference count is -1, see g_dbus_interface_info_ref()) for as long as the object is exported. Also note that @vtable will be copied. See <xref linkend="gdbus-server"/> for an example of how to use this method. that can be used with g_dbus_connection_unregister_object() . 0 if @error is set, otherwise a registration id (never 0) The object path to register at. Introspection data for the interface. A #GDBusInterfaceVTable to call into or %NULL. Data to pass to functions in @vtable. Function to call when the object path is unregistered. Registers a whole subtree of <quote>dynamic</quote> objects. The @enumerate and @introspection functions in @vtable are used to convey, to remote callers, what nodes exist in the subtree rooted by @object_path. When handling remote calls into any node in the subtree, first the or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set the @introspection function is used to check if the node supports the requested method. If so, the @dispatch function is used to determine where to dispatch the call. The collected #GDBusInterfaceVTable and #gpointer will be used to call into the interface vtable for processing the request. All calls into user-provided code will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. If an existing subtree is already registered at @object_path or then @error is set to #G_IO_ERROR_EXISTS. Note that it is valid to register regular objects (using g_dbus_connection_register_object()) in a subtree registered with g_dbus_connection_register_subtree() - if so, the subtree handler is tried as the last resort. One way to think about a subtree handler is to consider it a <quote>fallback handler</quote> for object paths not registered via g_dbus_connection_register_object() or other bindings. Note that @vtable will be copied so you cannot change it after registration. See <xref linkend="gdbus-subtree-server"/> for an example of how to use this method. that can be used with g_dbus_connection_unregister_subtree() . 0 if @error is set, otherwise a subtree registration id (never 0) The object path to register the subtree at. A #GDBusSubtreeVTable to enumerate, introspect and dispatch nodes in the subtree. Flags used to fine tune the behavior of the subtree. Data to pass to functions in @vtable. Function to call when the subtree is unregistered. Removes a filter. an identifier obtained from g_dbus_connection_add_filter() Asynchronously sends @message to the peer represented by @connection. Unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number will be assigned by @connection and set on @message via g_dbus_message_set_serial(). If @out_serial is not %NULL, then the serial number used will be written to this location prior to submitting the message to the underlying transport. If @connection is closed then the operation will fail with %G_IO_ERROR_CLOSED. If @message is not well-formed, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. See <xref linkend="gdbus-server"/> and <xref linkend="gdbus-unix-fd-client"/> for an example of how to use this low-level API to send and receive UNIX file descriptors. Note that @message must be unlocked, unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag. transmission, %FALSE if @error is set. %TRUE if the message was well-formed and queued for A #GDBusMessage Flags affecting how the message is sent. Return location for serial number assigned to @message when sending it or %NULL. Asynchronously sends @message to the peer represented by @connection. Unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number will be assigned by @connection and set on @message via g_dbus_message_set_serial(). If @out_serial is not %NULL, then the serial number used will be written to this location prior to submitting the message to the underlying transport. If @connection is closed then the operation will fail with %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. This is an asynchronous method. When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. You can then call g_dbus_connection_send_message_with_reply_finish() to get the result of the operation. See g_dbus_connection_send_message_with_reply_sync() for the synchronous version. Note that @message must be unlocked, unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag. See <xref linkend="gdbus-server"/> and <xref linkend="gdbus-unix-fd-client"/> for an example of how to use this low-level API to send and receive UNIX file descriptors. A #GDBusMessage. Flags affecting how the message is sent. The timeout in milliseconds or -1 to use the default timeout. Return location for serial number assigned to @message when sending it or %NULL. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result. The data to pass to @callback. Finishes an operation started with g_dbus_connection_send_message_with_reply(). Note that @error is only set if a local in-process error occured. That is to say that the returned #GDBusMessage object may be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use g_dbus_message_to_gerror() to transcode this to a #GError. See <xref linkend="gdbus-server"/> and <xref linkend="gdbus-unix-fd-client"/> for an example of how to use this low-level API to send and receive UNIX file descriptors. A locked #GDBusMessage or %NULL if @error is set. A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_send_message_with_reply(). Synchronously sends @message to the peer represented by @connection and blocks the calling thread until a reply is received or the timeout is reached. See g_dbus_connection_send_message_with_reply() for the asynchronous version of this method. Unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number will be assigned by @connection and set on @message via g_dbus_message_set_serial(). If @out_serial is not %NULL, then the serial number used will be written to this location prior to submitting the message to the underlying transport. If @connection is closed then the operation will fail with %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. Note that @error is only set if a local in-process error occured. That is to say that the returned #GDBusMessage object may be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use g_dbus_message_to_gerror() to transcode this to a #GError. See <xref linkend="gdbus-server"/> and <xref linkend="gdbus-unix-fd-client"/> for an example of how to use this low-level API to send and receive UNIX file descriptors. Note that @message must be unlocked, unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag. A locked #GDBusMessage that is the reply to @message or %NULL if @error is set. A #GDBusMessage. Flags affecting how the message is sent. The timeout in milliseconds or -1 to use the default timeout. Return location for serial number assigned to @message when sending it or %NULL. A #GCancellable or %NULL. Sets whether the process should be terminated when @connection is closed by the remote peer. See #GDBusConnection:exit-on-close for more details. Whether the process should be terminated when @connection is closed by the remote peer. Subscribes to signals on @connection and invokes @callback with a whenever the signal is received. Note that @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. If @connection is not a message bus connection, @sender must be %NULL. If @sender is a well-known name note that @callback is invoked with the unique name for the owner of @sender, not the well-known name as one would expect. This is because the message bus rewrites the name. As such, to avoid certain race conditions, users should be tracking the name owner of the well-known name and use that when processing the received signal. A subscription identifier that can be used with g_dbus_connection_signal_unsubscribe(). Sender name to match on (unique or well-known name) or %NULL to listen from all senders. D-Bus interface name to match on or %NULL to match on all interfaces. D-Bus signal name to match on or %NULL to match on all signals. Object path to match on or %NULL to match on all object paths. Contents of first string argument to match on or %NULL to match on all kinds of arguments. Flags describing how to subscribe to the signal (currently unused). Callback to invoke when there is a signal matching the requested data. User data to pass to @callback. Function to free @user_data with when subscription is removed or %NULL. Unsubscribes from signals. A subscription id obtained from g_dbus_connection_signal_subscribe(). If @connection was created with %G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING, this method starts processing messages. Does nothing on if @connection wasn't created with this flag or if the method has already been called. Unregisters an object. %TRUE if the object was unregistered, %FALSE otherwise. A registration id obtained from g_dbus_connection_register_object(). Unregisters a subtree. %TRUE if the subtree was unregistered, %FALSE otherwise. A subtree registration id obtained from g_dbus_connection_register_subtree(). A D-Bus address specifying potential endpoints that can be used when establishing the connection. A #GDBusAuthObserver object to assist in the authentication process or %NULL. Flags from the #GDBusCapabilityFlags enumeration representing connection features negotiated with the other peer. A boolean specifying whether the connection has been closed. A boolean specifying whether the process will be terminated (by calling <literal>raise(SIGTERM)</literal>) if the connection is closed by the remote peer. Flags from the #GDBusConnectionFlags enumeration. The GUID of the peer performing the role of server when authenticating. If you are constructing a #GDBusConnection and pass %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER in the #GDBusConnection:flags property then you MUST also set this property to a valid guid. If you are constructing a #GDBusConnection and pass %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT in the #GDBusConnection:flags property you will be able to read the GUID of the other peer here after the connection has been successfully initialized. The underlying #GIOStream used for I/O. The unique name as assigned by the message bus or %NULL if the connection is not open or not a message bus connection. Emitted when the connection is closed. The cause of this event can be <itemizedlist> <listitem><para> If g_dbus_connection_close() is called. In this case </para></listitem> <listitem><para> If the remote peer closes the connection. In this case </para></listitem> <listitem><para> If the remote peer sends invalid or malformed data. In this case @remote_peer_vanished is set to %FALSE and @error is set. </para></listitem> </itemizedlist> Upon receiving this signal, you should give up your reference to once. %TRUE if @connection is closed because the remote peer closed its end of the connection. A #GError with more details about the event or %NULL. Flags used when creating a new #GDBusConnection. A generic error; "something went wrong" - see the error message for more. There was not enough memory to complete an operation. The bus doesn't know how to launch a service to supply the bus name you wanted. The bus name you referenced doesn't exist (i.e. no application owns it). No reply to a message expecting one, usually means a timeout occurred. Something went wrong reading or writing to a socket, for example. A D-Bus bus address was malformed. Requested operation isn't supported (like ENOSYS on UNIX). Some limited resource is exhausted. Security restrictions don't allow doing what you're trying to do. Authentication didn't work. Unable to connect to server (probably caused by ECONNREFUSED on a socket). Certain timeout errors, possibly ETIMEDOUT on a socket. Note that %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also exists. We can't fix it for compatibility reasons so just be careful. No network access (probably ENETUNREACH on a socket). Can't bind a socket since its address is in use (i.e. EADDRINUSE). The connection is disconnected and you're trying to use it. Invalid arguments passed to a method call. Missing file. Existing file and the operation you're using does not silently overwrite. Method name you invoked isn't known by the object you invoked it on. confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We can't fix it for compatibility reasons so just be careful. Tried to remove or modify a match rule that didn't exist. The match rule isn't syntactically valid. While starting a new process, the exec() call failed. While starting a new process, the fork() call failed. While starting a new process, the child exited with a status code. While starting a new process, the child exited on a signal. While starting a new process, something went wrong. We failed to setup the environment correctly. We failed to setup the config parser correctly. Bus name was not valid. Service file not found in system-services directory. Permissions are incorrect on the setuid helper. Service file invalid (Name, User or Exec missing). Tried to get a UNIX process ID and it wasn't available. Tried to get a UNIX process ID and it wasn't available. A type signature is not valid. A file contains invalid syntax or is otherwise broken. Asked for SELinux security context and it wasn't available. Asked for ADT audit data and it wasn't available. There's already an object with the requested object path. Error codes for the %G_DBUS_ERROR error domain. Struct used in g_dbus_error_register_error_domain(). The type of the @get_property function in #GDBusInterfaceVTable. consumed - otherwise its reference count is decreased by one. A #GVariant with the value for @property_name or %NULL if A #GDBusConnection. The unique bus name of the remote caller. The object path that the method was invoked on. The D-Bus interface name for the property. The name of the property to get the value of. Return location for error. The @user_data #gpointer passed to g_dbus_connection_register_object(). Information about a D-Bus interface. Appends an XML representation of @info (and its children) to @string_builder. This function is typically used for generating introspection XML documents at run-time for handling the <literal>org.freedesktop.DBus.Introspectable.Introspect</literal> method. Indentation level. A #GString to to append XML data to. Looks up information about a method. This cost of this function is O(n) in number of methods. A #GDBusMethodInfo or %NULL if not found. Do not free, it is owned by @info. A D-Bus method name (typically in CamelCase) Looks up information about a property. This cost of this function is O(n) in number of properties. A #GDBusPropertyInfo or %NULL if not found. Do not free, it is owned by @info. A D-Bus property name (typically in CamelCase). Looks up information about a signal. This cost of this function is O(n) in number of signals. A #GDBusSignalInfo or %NULL if not found. Do not free, it is owned by @info. A D-Bus signal name (typically in CamelCase) If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. The type of the @method_call function in #GDBusInterfaceVTable. A #GDBusConnection. The unique bus name of the remote caller. The object path that the method was invoked on. The D-Bus interface name the method was invoked on. The name of the method that was invoked. A #GVariant tuple with parameters. A #GDBusMethodInvocation object that can be used to return a value or error. The @user_data #gpointer passed to g_dbus_connection_register_object(). The type of the @set_property function in #GDBusInterfaceVTable. %TRUE if the property was set to @value, %FALSE if @error is set. A #GDBusConnection. The unique bus name of the remote caller. The object path that the method was invoked on. The D-Bus interface name for the property. The name of the property to get the value of. The value to set the property to. Return location for error. The @user_data #gpointer passed to g_dbus_connection_register_object(). Virtual table for handling properties and method calls for a D-Bus interface. If you want to handle getting/setting D-Bus properties asynchronously, simply register an object with the <literal>org.freedesktop.DBus.Properties</literal> D-Bus interface using g_dbus_connection_register_object(). The #GDBusMessage structure contains only private data and should only be accessed using the provided API. Creates a new empty #GDBusMessage. A #GDBusMessage. Free with g_object_unref(). Creates a new #GDBusMessage from the data stored at @blob. The byte order that the message was in can be retrieved using g_dbus_message_get_byte_order(). g_object_unref(). A new #GDBusMessage or %NULL if @error is set. Free with A blob represent a binary D-Bus message. The length of @blob. A #GDBusCapabilityFlags describing what protocol features are supported. Creates a new #GDBusMessage for a method call. A #GDBusMessage. Free with g_object_unref(). A valid D-Bus name or %NULL. A valid object path. A valid D-Bus interface name or %NULL. A valid method name. Creates a new #GDBusMessage for a signal emission. A #GDBusMessage. Free with g_object_unref(). A valid object path. A valid D-Bus interface name. A valid signal name. Utility function to calculate how many bytes are needed to completely deserialize the D-Bus message stored at @blob. determine the size). Number of bytes needed or -1 if @error is set (e.g. if A blob represent a binary D-Bus message. The length of @blob (must be at least 16). Copies @message. The copy is a deep copy and the returned #GDBusMessage is completely identical except that it is guaranteed to not be locked. This operation can fail if e.g. @message contains file descriptors and the per-process or system-wide open files limit is reached. g_object_unref(). A new #GDBusMessage or %NULL if @error is set. Free with Convenience to get the first item in the body of @message. The string item or %NULL if the first item in the body of Gets the body of a message. A #GVariant or %NULL if the body is empty. Do not free, it is owned by @message. Gets the byte order of @message. The byte order. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field. The value. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field. The value. Gets the flags for @message. Flags that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together). Gets a header field on @message. otherwise. Do not free, it is owned by @message. A #GVariant with the value if the header was found, %NULL A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration) Gets an array of all header fields on @message that are set. %G_DBUS_MESSAGE_HEADER_FIELD_INVALID. Each element is a #guchar. Free with g_free(). An array of header fields terminated by Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field. The value. Checks whether @message is locked. To monitor changes to this value, conncet to the #GObject::notify signal to listen for changes on the #GDBusMessage:locked property. %TRUE if @message is locked, %FALSE otherwise. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field. The value. Gets the type of @message. A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration). Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field. The value. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field. The value. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field. The value. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field. The value. Gets the serial for @message. A #guint32. Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. The value. Gets the UNIX file descriptors associated with @message, if any. This method is only available on UNIX. associated. Do not free, this object is owned by @message. A #GUnixFDList or %NULL if no file descriptors are If @message is locked, does nothing. Otherwise locks the message. Creates a new #GDBusMessage that is an error reply to @method_call_message. A #GDBusMessage. Free with g_object_unref(). A valid D-Bus error name. The D-Bus error message in a printf() format. Creates a new #GDBusMessage that is an error reply to @method_call_message. A #GDBusMessage. Free with g_object_unref(). A valid D-Bus error name. The D-Bus error message. Like g_dbus_message_new_method_error() but intended for language bindings. A #GDBusMessage. Free with g_object_unref(). A valid D-Bus error name. The D-Bus error message in a printf() format. Arguments for @error_message_format. Creates a new #GDBusMessage that is a reply to @method_call_message. #GDBusMessage. Free with g_object_unref(). Produces a human-readable multi-line description of @message. The contents of the description has no ABI guarantees, the contents and formatting is subject to change at any time. Typical output looks something like this: <programlisting> Headers: path -> objectpath '/org/gtk/GDBus/TestObject' interface -> 'org.gtk.GDBus.TestInterface' member -> 'GimmeStdout' destination -> ':1.146' UNIX File Descriptors: (none) </programlisting> or <programlisting> Headers: reply-serial -> uint32 4 destination -> ':1.159' sender -> ':1.146' num-unix-fds -> uint32 1 UNIX File Descriptors: </programlisting> A string that should be freed with g_free(). Indentation level. Sets the body @message. As a side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field is set to the type string of @body (or cleared if @body is %NULL). If @body is floating, @message assumes ownership of @body. Either %NULL or a #GVariant that is a tuple. Sets the byte order of @message. The byte order. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field. The value to set. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field. The value to set. Sets the flags to set on @message. Flags for @message that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together). Sets a header field on @message. If @value is floating, @message assumes ownership of @value. A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration) A #GVariant to set the header field or %NULL to clear the header field. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field. The value to set. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field. The value to set. Sets @message to be of @type. A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration). Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field. The value to set. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field. The value to set. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field. The value to set. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field. The value to set. Sets the serial for @message. A #guint32. Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. The value to set. Sets the UNIX file descriptors associated with @message. As a side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field is set to the number of fds in @fd_list (or cleared if This method is only available on UNIX. A #GUnixFDList or %NULL. Serializes @message to a blob. The byte order returned by g_dbus_message_get_byte_order() will be used. generated by @message or %NULL if @error is set. Free with g_free(). A pointer to a valid binary D-Bus message of @out_size bytes Return location for size of generated blob. A #GDBusCapabilityFlags describing what protocol features are supported. If @message is not of type %G_DBUS_MESSAGE_TYPE_ERROR does nothing and returns %FALSE. Otherwise this method encodes the error in @message as a #GError using g_dbus_error_set_dbus_error() using the information in the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of @message as well as the first string item in @message's body. %TRUE if @error was set, %FALSE otherwise. Enumeration used to describe the byte order of a D-Bus message. Signature for function used in g_dbus_connection_add_filter(). A filter function is passed a #GDBusMessage and expected to return a #GDBusMessage too. Passive filter functions that don't modify the message can simply return the @message object: |[ static GDBusMessage * passive_filter (GDBusConnection *connection GDBusMessage *message, gboolean incoming, gpointer user_data) { /<!-- -->* inspect @message *<!-- -->/ return message; } ]| Filter functions that wants to drop a message can simply return %NULL: |[ static GDBusMessage * drop_filter (GDBusConnection *connection GDBusMessage *message, gboolean incoming, gpointer user_data) { if (should_drop_message) { g_object_unref (message); message = NULL; } return message; } ]| Finally, a filter function may modify a message by copying it: |[ static GDBusMessage * modifying_filter (GDBusConnection *connection GDBusMessage *message, gboolean incoming, gpointer user_data) { GDBusMessage *copy; GError *error; error = NULL; copy = g_dbus_message_copy (message, &error); /<!-- -->* handle @error being is set *<!-- -->/ g_object_unref (message); /<!-- -->* modify @copy *<!-- -->/ return copy; } ]| If the returned #GDBusMessage is different from @message and cannot be sent on @connection (it could use features, such as file descriptors, not compatible with @connection), then a warning is logged to <emphasis>standard error</emphasis>. Applications can check this ahead of time using g_dbus_message_to_blob() passing a #GDBusCapabilityFlags value obtained from @connection. g_object_unref() or %NULL to drop the message. Passive filter functions can simply return the passed @message object. A #GDBusMessage that will be freed with A #GDBusConnection. A locked #GDBusMessage that the filter function takes ownership of. %TRUE if it is a message received from the other peer, %FALSE if it is a message to be sent to the other peer. User data passed when adding the filter. Message flags used in #GDBusMessage. Header fields used in #GDBusMessage. Message types used in #GDBusMessage. Information about a method on an D-Bus interface. If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. The #GDBusMethodInvocation structure contains only private data and should only be accessed using the provided API. Gets the #GDBusConnection the method was invoked on. A #GDBusConnection. Do not free, it is owned by @invocation. Gets the name of the D-Bus interface the method was invoked on. A string. Do not free, it is owned by @invocation. Gets the #GDBusMessage for the method invocation. This is useful if you need to use low-level protocol features, such as UNIX file descriptor passing, that cannot be properly expressed in the #GVariant API. See <xref linkend="gdbus-server"/> and <xref linkend="gdbus-unix-fd-client"/> for an example of how to use this low-level API to send and receive UNIX file descriptors. #GDBusMessage. Do not free, it is owned by @invocation. Gets information about the method call, if any. A #GDBusMethodInfo or %NULL. Do not free, it is owned by @invocation. Gets the name of the method that was invoked. A string. Do not free, it is owned by @invocation. Gets the object path the method was invoked on. A string. Do not free, it is owned by @invocation. Gets the parameters of the method invocation. A #GVariant. Do not free, it is owned by @invocation. Gets the bus name that invoked the method. A string. Do not free, it is owned by @invocation. Gets the @user_data #gpointer passed to g_dbus_connection_register_object(). A #gpointer. Finishes handling a D-Bus method call by returning an error. This method will free @invocation, you cannot use it afterwards. A valid D-Bus error name. A valid D-Bus error message. Finishes handling a D-Bus method call by returning an error. See g_dbus_error_encode_gerror() for details about what error name will be returned on the wire. In a nutshell, if the given error is registered using g_dbus_error_register_error() the name given during registration is used. Otherwise, a name of the form <literal>org.gtk.GDBus.UnmappedGError.Quark...</literal> is used. This provides transparent mapping of #GError between applications using GDBus. If you are writing an application intended to be portable, <emphasis>always</emphasis> register errors with g_dbus_error_register_error() or use g_dbus_method_invocation_return_dbus_error(). This method will free @invocation, you cannot use it afterwards. A #GQuark for the #GError error domain. The error code. printf()-style format. Like g_dbus_method_invocation_return_error() but without printf()-style formatting. This method will free @invocation, you cannot use it afterwards. A #GQuark for the #GError error domain. The error code. The error message. Like g_dbus_method_invocation_return_error() but intended for language bindings. This method will free @invocation, you cannot use it afterwards. A #GQuark for the #GError error domain. The error code. printf()-style format. #va_list of parameters for @format. Like g_dbus_method_invocation_return_error() but takes a #GError instead of the error domain, error code and message. This method will free @invocation, you cannot use it afterwards. A #GError. Finishes handling a D-Bus method call by returning @parameters. If the @parameters GVariant is floating, it is consumed. It is an error if @parameters is not of the right format. This method will free @invocation, you cannot use it afterwards. A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters. Information about nodes in a remote object hierarchy. Parses @xml_data and returns a #GDBusNodeInfo representing the data. with g_dbus_node_info_unref(). A #GDBusNodeInfo structure or %NULL if @error is set. Free Valid D-Bus introspection XML. Appends an XML representation of @info (and its children) to @string_builder. This function is typically used for generating introspection XML documents at run-time for handling the <literal>org.freedesktop.DBus.Introspectable.Introspect</literal> method. Indentation level. A #GString to to append XML data to. Looks up information about an interface. This cost of this function is O(n) in number of interfaces. A #GDBusInterfaceInfo or %NULL if not found. Do not free, it is owned by @info. A D-Bus interface name. If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. Information about a D-Bus property on a D-Bus interface. If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. Flags describing the access control of a D-Bus property. The #GDBusProxy structure contains only private data and should only be accessed using the provided API. Finishes creating a #GDBusProxy. A #GDBusProxy or %NULL if @error is set. Free with g_object_unref(). A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new(). Finishes creating a #GDBusProxy. A #GDBusProxy or %NULL if @error is set. Free with g_object_unref(). A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new_for_bus(). Like g_dbus_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. A #GDBusProxy or %NULL if error is set. Free with g_object_unref(). A #GBusType. Flags used when constructing the proxy. A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. A bus name (well-known or unique). An object path. A D-Bus interface name. A #GCancellable or %NULL. Creates a proxy for accessing @interface_name on the remote object at @object_path owned by @name at @connection and synchronously loads D-Bus properties unless the %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used. If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up match rules for signals. Connect to the #GDBusProxy::g-signal signal to handle signals from the remote object. If @name is a well-known name and the %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag isn't set and no name owner currently exists, the message bus will be requested to launch a name owner for the name. This is a synchronous failable constructor. See g_dbus_proxy_new() and g_dbus_proxy_new_finish() for the asynchronous version. See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. A #GDBusProxy or %NULL if error is set. Free with g_object_unref(). A #GDBusConnection. Flags used when constructing the proxy. A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. An object path. A D-Bus interface name. A #GCancellable or %NULL. Creates a proxy for accessing @interface_name on the remote object at @object_path owned by @name at @connection and asynchronously loads D-Bus properties unless the %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used. Connect to the #GDBusProxy::g-properties-changed signal to get notified about property changes. If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up match rules for signals. Connect to the #GDBusProxy::g-signal signal to handle signals from the remote object. If @name is a well-known name and the %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag isn't set and no name owner currently exists, the message bus will be requested to launch a name owner for the name. This is a failable asynchronous constructor - when the proxy is ready, @callback will be invoked and you can use g_dbus_proxy_new_finish() to get the result. See g_dbus_proxy_new_sync() and for a synchronous version of this constructor. See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. A #GDBusConnection. Flags used when constructing the proxy. A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. An object path. A D-Bus interface name. A #GCancellable or %NULL. Callback function to invoke when the proxy is ready. User data to pass to @callback. Like g_dbus_proxy_new() but takes a #GBusType instead of a #GDBusConnection. See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. A #GBusType. Flags used when constructing the proxy. A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. A bus name (well-known or unique). An object path. A D-Bus interface name. A #GCancellable or %NULL. Callback function to invoke when the proxy is ready. User data to pass to @callback. Asynchronously invokes the @method_name method on @proxy. If @method_name contains any dots, then @name is split into interface and method name parts. This allows using @proxy for invoking methods on other interfaces. If the #GDBusConnection associated with @proxy is closed then the operation will fail with %G_IO_ERROR_CLOSED. If %G_IO_ERROR_CANCELLED. If @parameters contains a value not compatible with the D-Bus protocol, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. If the @parameters #GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new(), e.g.: |[ g_dbus_proxy_call (proxy, "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, (GAsyncReadyCallback) two_strings_done, &amp;data); ]| This is an asynchronous method. When the operation is finished, <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. You can then call g_dbus_proxy_call_finish() to get the result of the operation. See g_dbus_proxy_call_sync() for the synchronous version of this method. Name of method to invoke. A #GVariant tuple with parameters for the signal or %NULL if not passing parameters. Flags from the #GDBusCallFlags enumeration. The timeout in milliseconds or -1 to use the proxy default timeout. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation. The data to pass to @callback. Finishes an operation started with g_dbus_proxy_call(). return values. Free with g_variant_unref(). %NULL if @error is set. Otherwise a #GVariant tuple with A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_proxy_call(). Synchronously invokes the @method_name method on @proxy. If @method_name contains any dots, then @name is split into interface and method name parts. This allows using @proxy for invoking methods on other interfaces. If the #GDBusConnection associated with @proxy is disconnected then the operation will fail with %G_IO_ERROR_CLOSED. If %G_IO_ERROR_CANCELLED. If @parameters contains a value not compatible with the D-Bus protocol, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. If the @parameters #GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new(), e.g.: |[ g_dbus_proxy_call_sync (proxy, "TwoStrings", g_variant_new ("(ss)", "Thing One", "Thing Two"), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &amp;error); ]| The calling thread is blocked until a reply is received. See g_dbus_proxy_call() for the asynchronous version of this method. return values. Free with g_variant_unref(). %NULL if @error is set. Otherwise a #GVariant tuple with Name of method to invoke. A #GVariant tuple with parameters for the signal or %NULL if not passing parameters. Flags from the #GDBusCallFlags enumeration. The timeout in milliseconds or -1 to use the proxy default timeout. A #GCancellable or %NULL. Looks up the value for a property from the cache. This call does no blocking IO. If @proxy has an expected interface (see #GDBusProxy:g-interface-info), then @property_name (for existence) is checked against it. for @property_name or %NULL if the value is not in the cache. The returned reference must be freed with g_variant_unref(). A reference to the #GVariant instance that holds the value Property name. Gets the names of all cached properties on @proxy. no cached properties. Free the returned array with g_strfreev(). A %NULL-terminated array of strings or %NULL if @proxy has Gets the connection @proxy is for. A #GDBusConnection owned by @proxy. Do not free. Gets the timeout to use if -1 (specifying default timeout) is passed as @timeout_msec in the g_dbus_proxy_call() and g_dbus_proxy_call_sync() functions. See the #GDBusProxy:g-default-timeout property for more details. Timeout to use for @proxy. Gets the flags that @proxy was constructed with. Flags from the #GDBusProxyFlags enumeration. Returns the #GDBusInterfaceInfo, if any, specifying the minimal interface that @proxy conforms to. See the #GDBusProxy:g-interface-info property for more details. object, it is owned by @proxy. A #GDBusInterfaceInfo or %NULL. Do not unref the returned Gets the D-Bus interface name @proxy is for. A string owned by @proxy. Do not free. Gets the name that @proxy was constructed for. A string owned by @proxy. Do not free. The unique name that owns the name that @proxy is for or %NULL if no-one currently owns that name. You may connect to the #GObject::notify signal to track changes to the #GDBusProxy:g-name-owner property. The name owner or %NULL if no name owner exists. Free with g_free(). Gets the object path @proxy is for. A string owned by @proxy. Do not free. If @value is not %NULL, sets the cached value for the property with name @property_name to the value in @value. If @value is %NULL, then the cached value is removed from the property cache. If @proxy has an expected interface (see #GDBusProxy:g-interface-info), then @property_name (for existence) and @value (for the type) is checked against it. If the @value #GVariant is floating, it is consumed. This allows convenient 'inline' use of g_variant_new(), e.g. |[ g_dbus_proxy_set_cached_property (proxy, "SomeProperty", g_variant_new ("(si)", "A String", 42)); ]| Normally you will not need to use this method since @proxy is tracking changes using the <literal>org.freedesktop.DBus.Properties.PropertiesChanged</literal> D-Bus signal. However, for performance reasons an object may decide to not use this signal for some properties and instead use a proprietary out-of-band mechanism to transmit changes. As a concrete example, consider an object with a property <literal>ChatroomParticipants</literal> which is an array of strings. Instead of transmitting the same (long) array every time the property changes, it is more efficient to only transmit the delta using e.g. signals <literal>ChatroomParticipantJoined(String name)</literal> and <literal>ChatroomParticipantParted(String name)</literal>. Property name. Value for the property or %NULL to remove it from the cache. Sets the timeout to use if -1 (specifying default timeout) is passed as @timeout_msec in the g_dbus_proxy_call() and g_dbus_proxy_call_sync() functions. See the #GDBusProxy:g-default-timeout property for more details. Timeout in milliseconds. Ensure that interactions with @proxy conform to the given interface. For example, when completing a method call, if the type signature of the message isn't what's expected, the given #GError is set. Signals that have a type signature mismatch are simply dropped. See the #GDBusProxy:g-interface-info property for more details. Minimum interface this proxy conforms to or %NULL to unset. If this property is not %G_BUS_TYPE_NONE, then #GDBusProxy:g-connection must be %NULL and will be set to the #GDBusConnection obtained by calling g_bus_get() with the value of this property. The #GDBusConnection the proxy is for. The timeout to use if -1 (specifying default timeout) is passed as @timeout_msec in the g_dbus_proxy_call() and g_dbus_proxy_call_sync() functions. This allows applications to set a proxy-wide timeout for all remote method invocations on the proxy. If this property is -1, the default timeout (typically 25 seconds) is used. If set to %G_MAXINT, then no timeout is used. Flags from the #GDBusProxyFlags enumeration. Ensure that interactions with this proxy conform to the given interface. For example, when completing a method call, if the type signature of the message isn't what's expected, the given #GError is set. Signals that have a type signature mismatch are simply dropped. The D-Bus interface name the proxy is for. The well-known or unique name that the proxy is for. The unique name that owns #GDBusProxy:name or %NULL if no-one currently owns that name. You may connect to #GObject::notify signal to track changes to this property. The object path the proxy is for. Emitted when one or more D-Bus properties on @proxy changes. The local cache has already been updated when this signal fires. Note that both @changed_properties and @invalidated_properties are guaranteed to never be %NULL (either may be empty though). This signal corresponds to the <literal>PropertiesChanged</literal> D-Bus signal on the <literal>org.freedesktop.DBus.Properties</literal> interface. A #GVariant containing the properties that changed A %NULL terminated array of properties that was invalidated Emitted when a signal from the remote object and interface that @proxy is for, has been received. The sender of the signal or %NULL if the connection is not a bus connection. The name of the signal. A #GVariant tuple with parameters for the signal. Class structure for #GDBusProxy. Flags used when constructing an instance of a #GDBusProxy derived class. Flags used when sending #GDBusMessage<!-- -->s on a #GDBusConnection. The #GDBusServer structure contains only private data and should only be accessed using the provided API. Creates a new D-Bus server that listens on the first address in Once constructed, you can use g_dbus_server_get_client_address() to get a D-Bus address string that clients can use to connect. Connect to the #GDBusServer::new-connection signal to handle incoming connections. The returned #GDBusServer isn't active - you have to start it with g_dbus_server_start(). See <xref linkend="gdbus-peer-to-peer"/> for how #GDBusServer can be used. This is a synchronous failable constructor. See g_dbus_server_new() for the asynchronous version. g_object_unref(). A #GDBusServer or %NULL if @error is set. Free with A D-Bus address. Flags from the #GDBusServerFlags enumeration. A D-Bus GUID. A #GDBusAuthObserver or %NULL. A #GCancellable or %NULL. Gets a D-Bus address string that can be used by clients to connect to @server. by @server. A D-Bus address string. Do not free, the string is owned Gets the flags for @server. A set of flags from the #GDBusServerFlags enumeration. Gets the GUID for @server. A D-Bus GUID. Do not free this string, it is owned by @server. Gets whether @server is active. %TRUE if server is active, %FALSE otherwise. Starts @server. Stops @server. Whether the server is currently active. The D-Bus address to listen on. A #GDBusAuthObserver object to assist in the authentication process or %NULL. The D-Bus address that clients can use. Flags from the #GDBusServerFlags enumeration. The guid of the server. Emitted when a new authenticated connection has been made. Use g_dbus_connection_get_peer_credentials() to figure out what identity (if any), was authenticated. If you want to accept the connection, take a reference to the connection call g_dbus_connection_close() and give up your reference. Note that the other peer may disconnect at any time - a typical thing to do when accepting a connection is to listen to the #GDBusConnection::closed signal. If #GDBusServer:flags contains %G_DBUS_SERVER_FLAGS_RUN_IN_THREAD then the signal is emitted in a new thread dedicated to the connection. Otherwise the signal is emitted in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread that @server was constructed in. You are guaranteed that signal handlers for this signal runs before incoming messages on @connection are processed. This means that it's suitable to call g_dbus_connection_register_object() or similar from the signal handler. run. %TRUE to claim @connection, %FALSE to let other handlers A #GDBusConnection for the new connection. Flags used when creating a #GDBusServer. Signature for callback function used in g_dbus_connection_signal_subscribe(). A #GDBusConnection. The unique bus name of the sender of the signal. The object path that the signal was emitted on. The name of the interface. The name of the signal. A #GVariant tuple with parameters for the signal. User data passed when subscribing to the signal. Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). Information about a signal on a D-Bus interface. If @info is statically allocated does nothing. Otherwise increases the reference count. The same @info. If @info is statically allocated, does nothing. Otherwise decreases the reference count of @info. When its reference count drops to 0, the memory used is freed. The type of the @dispatch function in #GDBusSubtreeVTable. Subtrees are flat. @node, if non-%NULL, is always exactly one A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods. A #GDBusConnection. The unique bus name of the remote caller. The object path that was registered with g_dbus_connection_register_subtree(). The D-Bus interface name that the method call or property access is for. A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. Return location for user data to pass to functions in the returned #GDBusInterfaceVTable (never %NULL). The @user_data #gpointer passed to g_dbus_connection_register_subtree(). The type of the @enumerate function in #GDBusSubtreeVTable. This function is called when generating introspection data and also when preparing to dispatch incoming messages in the event that the %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not Hierarchies are not supported; the items that you return should not contain the '/' character. The return value will be freed with g_strfreev(). A newly allocated array of strings for node names that are children of @object_path. A #GDBusConnection. The unique bus name of the remote caller. The object path that was registered with g_dbus_connection_register_subtree(). The @user_data #gpointer passed to g_dbus_connection_register_subtree(). Flags passed to g_dbus_connection_register_subtree(). The type of the @introspect function in #GDBusSubtreeVTable. Subtrees are flat. @node, if non-%NULL, is always exactly one This function should return %NULL to indicate that there is no object at this node. If this function returns non-%NULL, the return value is expected to be a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures describing the interfaces implemented by @node. This array will have g_dbus_interface_info_unref() called on each item before being freed with g_free(). The difference between returning %NULL and an array containing zero items is that the standard DBus interfaces will returned to the remote introspector in the empty array case, but not in the %NULL case. A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL. A #GDBusConnection. The unique bus name of the remote caller. The object path that was registered with g_dbus_connection_register_subtree(). A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. The @user_data #gpointer passed to g_dbus_connection_register_subtree(). Virtual table for handling subtrees registered with g_dbus_connection_register_subtree(). An implementation of #GBufferedInputStream that allows for high-level data manipulation of arbitrary data (including binary operations). Creates a new data input stream for the @base_stream. a new #GDataInputStream. a #GInputStream. Gets the byte order for the data input stream. the @stream's current #GDataStreamByteOrder. Gets the current newline type for the @stream. #GDataStreamNewlineType for the given @stream. Reads an unsigned 8-bit/1-byte value from @stream. if an error occurred. an unsigned 8-bit/1-byte value read from the @stream or %0 optional #GCancellable object, %NULL to ignore. Reads a 16-bit/2-byte value from @stream. In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). an error occurred. a signed 16-bit/2-byte value read from @stream or %0 if optional #GCancellable object, %NULL to ignore. Reads a signed 32-bit/4-byte value from @stream. In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. an error occurred. a signed 32-bit/4-byte value read from the @stream or %0 if optional #GCancellable object, %NULL to ignore. Reads a 64-bit/8-byte value from @stream. In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. an error occurred. a signed 64-bit/8-byte value read from @stream or %0 if optional #GCancellable object, %NULL to ignore. Reads a line from the data input stream. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Set @length to a #gsize to get the length of the read line. On an error, it will return %NULL and @error will be set. If there's no content to read, it will still return %NULL, but @error won't be set. a string with the line that was read in (without the newlines). a #gsize to get the length of the data read in. optional #GCancellable object, %NULL to ignore. The asynchronous version of g_data_input_stream_read_line(). It is an error to have two outstanding calls to this function. When the operation is finished, @callback will be called. You can then call g_data_input_stream_read_line_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied. the data to pass to callback function. Finish an asynchronous call started by g_data_input_stream_read_line_async(). Set @length to a #gsize to get the length of the read line. On an error, it will return %NULL and @error will be set. If there's no content to read, it will still return %NULL, but @error won't be set. a string with the line that was read in (without the newlines). the #GAsyncResult that was provided to the callback. a #gsize to get the length of the data read in. Reads an unsigned 16-bit/2-byte value from @stream. In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). an error occurred. an unsigned 16-bit/2-byte value read from the @stream or %0 if optional #GCancellable object, %NULL to ignore. Reads an unsigned 32-bit/4-byte value from @stream. In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. an error occurred. an unsigned 32-bit/4-byte value read from the @stream or %0 if optional #GCancellable object, %NULL to ignore. Reads an unsigned 64-bit/8-byte value from @stream. In order to get the correct byte order for this read operation, see g_data_input_stream_get_byte_order(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. an error occurred. an unsigned 64-bit/8-byte read from @stream or %0 if optional #GCancellable object, %NULL to ignore. Reads a string from the data input stream, up to the first occurrence of any of the stop characters. Note that, in contrast to g_data_input_stream_read_until_async(), this function consumes the stop character that it finds. Don't use this function in new code. Its functionality is inconsistent with g_data_input_stream_read_until_async(). Both functions will be marked as deprecated in a future release. Use g_data_input_stream_read_upto() instead, but note that that function does not consume the stop character. any of the stop characters. Set @length to a #gsize to get the length of the string. This function will return %NULL on an error. a string with the data that was read before encountering characters to terminate the read. a #gsize to get the length of the data read in. optional #GCancellable object, %NULL to ignore. The asynchronous version of g_data_input_stream_read_until(). It is an error to have two outstanding calls to this function. Note that, in contrast to g_data_input_stream_read_until(), this function does not consume the stop character that it finds. You must read it for yourself. When the operation is finished, @callback will be called. You can then call g_data_input_stream_read_until_finish() to get the result of the operation. Don't use this function in new code. Its functionality is inconsistent with g_data_input_stream_read_until(). Both functions will be marked as deprecated in a future release. Use g_data_input_stream_read_upto_async() instead. characters to terminate the read. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied. the data to pass to callback function. Finish an asynchronous call started by g_data_input_stream_read_until_async(). any of the stop characters. Set @length to a #gsize to get the length of the string. This function will return %NULL on an error. a string with the data that was read before encountering the #GAsyncResult that was provided to the callback. a #gsize to get the length of the data read in. Reads a string from the data input stream, up to the first occurrence of any of the stop characters. In contrast to g_data_input_stream_read_until(), this function does <emphasis>not</emphasis> consume the stop character. You have to use g_data_input_stream_read_byte() to get it before calling g_data_input_stream_read_upto() again. Note that @stop_chars may contain '\0' if @stop_chars_len is specified. any of the stop characters. Set @length to a #gsize to get the length of the string. This function will return %NULL on an error a string with the data that was read before encountering characters to terminate the read length of @stop_chars. May be -1 if @stop_chars is nul-terminated a #gsize to get the length of the data read in optional #GCancellable object, %NULL to ignore The asynchronous version of g_data_input_stream_read_upto(). It is an error to have two outstanding calls to this function. In contrast to g_data_input_stream_read_until(), this function does <emphasis>not</emphasis> consume the stop character. You have to use g_data_input_stream_read_byte() to get it before calling g_data_input_stream_read_upto() again. Note that @stop_chars may contain '\0' if @stop_chars_len is specified. When the operation is finished, @callback will be called. You can then call g_data_input_stream_read_upto_finish() to get the result of the operation. characters to terminate the read length of @stop_chars. May be -1 if @stop_chars is nul-terminated optional #GCancellable object, %NULL to ignore callback to call when the request is satisfied the data to pass to callback function Finish an asynchronous call started by g_data_input_stream_read_upto_async(). Note that this function does <emphasis>not</emphasis> consume the stop character. You have to use g_data_input_stream_read_byte() to get it before calling g_data_input_stream_read_upto_async() again. any of the stop characters. Set @length to a #gsize to get the length of the string. This function will return %NULL on an error. a string with the data that was read before encountering the #GAsyncResult that was provided to the callback a #gsize to get the length of the data read in This function sets the byte order for the given @stream. All subsequent reads from the @stream will be read in the given @order. a #GDataStreamByteOrder to set. Sets the newline type for the @stream. Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read chunk ends in "CR" we must read an additional byte to know if this is "CR" or "CR LF", and this might block if there is no more data availible. the type of new line return as #GDataStreamNewlineType. An implementation of #GBufferedOutputStream that allows for high-level data manipulation of arbitrary data (including binary operations). Creates a new data output stream for @base_stream. #GDataOutputStream. a #GOutputStream. Gets the byte order for the stream. the #GDataStreamByteOrder for the @stream. Puts a byte into the output stream. %TRUE if @data was successfully added to the @stream. a #guchar. optional #GCancellable object, %NULL to ignore. Puts a signed 16-bit integer into the output stream. %TRUE if @data was successfully added to the @stream. a #gint16. optional #GCancellable object, %NULL to ignore. Puts a signed 32-bit integer into the output stream. %TRUE if @data was successfully added to the @stream. a #gint32. optional #GCancellable object, %NULL to ignore. Puts a signed 64-bit integer into the stream. %TRUE if @data was successfully added to the @stream. a #gint64. optional #GCancellable object, %NULL to ignore. Puts a string into the output stream. %TRUE if @string was successfully added to the @stream. a string. optional #GCancellable object, %NULL to ignore. Puts an unsigned 16-bit integer into the output stream. %TRUE if @data was successfully added to the @stream. a #guint16. optional #GCancellable object, %NULL to ignore. Puts an unsigned 32-bit integer into the stream. %TRUE if @data was successfully added to the @stream. a #guint32. optional #GCancellable object, %NULL to ignore. Puts an unsigned 64-bit integer into the stream. %TRUE if @data was successfully added to the @stream. a #guint64. optional #GCancellable object, %NULL to ignore. Sets the byte order of the data output stream to @order. a %GDataStreamByteOrder. Determines the byte ordering that is used when writing multi-byte entities (such as integers) to the stream. #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources across various machine architectures. #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. Information about an installed application from a desktop file. Creates a new #GDesktopAppInfo based on a desktop file id. A desktop file id is the basename of the desktop file, including the .desktop extension. GIO is looking for a desktop file with this name in the <filename>applications</filename> subdirectories of the XDG data directories (i.e. the directories specified in the <envar>XDG_DATA_HOME</envar> and <envar>XDG_DATA_DIRS</envar> environment variables). GIO also supports the prefix-to-subdirectory mapping that is described in the <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Menu Spec</ulink> (i.e. a desktop id of kde-foo.desktop will match <filename>/usr/share/applications/kde/foo.desktop</filename>). a new #GDesktopAppInfo, or %NULL if no desktop file with that id the desktop file id Creates a new #GDesktopAppInfo. a new #GDesktopAppInfo or %NULL on error. the path of a desktop file, in the GLib filename encoding Creates a new #GDesktopAppInfo. a new #GDesktopAppInfo or %NULL on error. an opened #GKeyFile Sets the name of the desktop that the application is running in. This is used by g_app_info_should_show() to evaluate the <literal>OnlyShowIn</literal> and <literal>NotShowIn</literal> desktop entry fields. The <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Desktop Menu specification</ulink> recognizes the following: <simplelist> <member>GNOME</member> <member>KDE</member> <member>ROX</member> <member>XFCE</member> <member>Old</member> </simplelist> Should be called only once; subsequent calls are ignored. a string specifying what desktop this is When @info was created from a known filename, return it. In some situations such as the #GDesktopAppInfo returned from g_desktop_app_info_new_from_keyfile(), this function will return %NULL. The full path to the file for @info, or %NULL if not known. A desktop file is hidden if the Hidden key in it is set to True. %TRUE if hidden, %FALSE otherwise. Interface that is used by backends to associate default handlers with URI schemes. Gets the default application for launching applications using this URI scheme for a particular GDesktopAppInfoLookup implementation. The GDesktopAppInfoLookup interface and this function is used to implement g_app_info_get_default_for_uri_scheme() backends in a GIO module. There is no reason for applications to use it directly. Applications should use g_app_info_get_default_for_uri_scheme(). #GAppInfo for given @uri_scheme or %NULL on error. a string containing a URI scheme. Gets the default application for launching applications using this URI scheme for a particular GDesktopAppInfoLookup implementation. The GDesktopAppInfoLookup interface and this function is used to implement g_app_info_get_default_for_uri_scheme() backends in a GIO module. There is no reason for applications to use it directly. Applications should use g_app_info_get_default_for_uri_scheme(). #GAppInfo for given @uri_scheme or %NULL on error. a string containing a URI scheme. #GAppInfo for given @uri_scheme or %NULL on error. a string containing a URI scheme. Opaque drive object. Checks if a drive can be ejected. %TRUE if the @drive can be ejected, %FALSE otherwise. Checks if a drive can be polled for media changes. %FALSE otherwise. %TRUE if the @drive can be polled for media changes, Checks if a drive can be started. %TRUE if the @drive can be started, %FALSE otherwise. Checks if a drive can be started degraded. %TRUE if the @drive can be started degraded, %FALSE otherwise. Checks if a drive can be stopped. %TRUE if the @drive can be stopped, %FALSE otherwise. Asynchronously ejects a drive. When the operation is finished, @callback will be called. You can then call g_drive_eject_finish() to obtain the result of the operation. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes ejecting a drive. %FALSE otherwise. %TRUE if the drive has been ejected successfully, a #GAsyncResult. Ejects a drive. This is an asynchronous operation, and is finished by calling g_drive_eject_with_operation_finish() with the @drive and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a drive. If any errors occurred during the operation, %TRUE if the drive was successfully ejected. %FALSE otherwise. a #GAsyncResult. Gets the kinds of identifiers that @drive has. Use g_drive_get_identifer() to obtain the identifiers themselves. kinds of identifiers. Use g_strfreev() to free. a %NULL-terminated array of strings containing Gets the icon for @drive. Free the returned object with g_object_unref(). #GIcon for the @drive. Gets the identifier of the given kind for @drive. requested identfier, or %NULL if the #GDrive doesn't have this kind of identifier. a newly allocated string containing the the kind of identifier to return Gets the name of @drive. string should be freed when no longer needed. a string containing @drive's name. The returned Gets a hint about how a drive can be started/stopped. A value from the #GDriveStartStopType enumeration. Get a list of mountable volumes for @drive. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). #GList containing any #GVolume objects on the given @drive. Checks if the @drive has media. Note that the OS may not be polling the drive for media changes; see g_drive_is_media_check_automatic() for more details. %TRUE if @drive has media, %FALSE otherwise. Check if @drive has any mountable volumes. %TRUE if the @drive contains volumes, %FALSE otherwise. Checks if @drive is capabable of automatically detecting media changes. media changes, %FALSE otherwise. %TRUE if the @drive is capabable of automatically detecting Checks if the @drive supports removable media. %TRUE if @drive supports removable media, %FALSE otherwise. Asynchronously polls @drive to see if media has been inserted or removed. When the operation is finished, @callback will be called. You can then call g_drive_poll_for_media_finish() to obtain the result of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes an operation started with g_drive_poll_for_media() on a drive. %FALSE otherwise. %TRUE if the drive has been poll_for_mediaed successfully, a #GAsyncResult. Asynchronously starts a drive. When the operation is finished, @callback will be called. You can then call g_drive_start_finish() to obtain the result of the operation. flags affecting the start operation. a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes starting a drive. %FALSE otherwise. %TRUE if the drive has been started successfully, a #GAsyncResult. Asynchronously stops a drive. When the operation is finished, @callback will be called. You can then call g_drive_stop_finish() to obtain the result of the operation. flags affecting the unmount if required for stopping. a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes stopping a drive. %FALSE otherwise. %TRUE if the drive has been stopped successfully, a #GAsyncResult. Checks if a drive can be ejected. %TRUE if the @drive can be ejected, %FALSE otherwise. Checks if a drive can be polled for media changes. %FALSE otherwise. %TRUE if the @drive can be polled for media changes, Checks if a drive can be started. %TRUE if the @drive can be started, %FALSE otherwise. Checks if a drive can be started degraded. %TRUE if the @drive can be started degraded, %FALSE otherwise. Checks if a drive can be stopped. %TRUE if the @drive can be stopped, %FALSE otherwise. Asynchronously ejects a drive. When the operation is finished, @callback will be called. You can then call g_drive_eject_finish() to obtain the result of the operation. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes ejecting a drive. %FALSE otherwise. %TRUE if the drive has been ejected successfully, a #GAsyncResult. Ejects a drive. This is an asynchronous operation, and is finished by calling g_drive_eject_with_operation_finish() with the @drive and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a drive. If any errors occurred during the operation, %TRUE if the drive was successfully ejected. %FALSE otherwise. a #GAsyncResult. Gets the kinds of identifiers that @drive has. Use g_drive_get_identifer() to obtain the identifiers themselves. kinds of identifiers. Use g_strfreev() to free. a %NULL-terminated array of strings containing Gets the icon for @drive. Free the returned object with g_object_unref(). #GIcon for the @drive. Gets the identifier of the given kind for @drive. requested identfier, or %NULL if the #GDrive doesn't have this kind of identifier. a newly allocated string containing the the kind of identifier to return Gets the name of @drive. string should be freed when no longer needed. a string containing @drive's name. The returned Gets a hint about how a drive can be started/stopped. A value from the #GDriveStartStopType enumeration. Get a list of mountable volumes for @drive. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). #GList containing any #GVolume objects on the given @drive. Checks if the @drive has media. Note that the OS may not be polling the drive for media changes; see g_drive_is_media_check_automatic() for more details. %TRUE if @drive has media, %FALSE otherwise. Check if @drive has any mountable volumes. %TRUE if the @drive contains volumes, %FALSE otherwise. Checks if @drive is capabable of automatically detecting media changes. media changes, %FALSE otherwise. %TRUE if the @drive is capabable of automatically detecting Checks if the @drive supports removable media. %TRUE if @drive supports removable media, %FALSE otherwise. Asynchronously polls @drive to see if media has been inserted or removed. When the operation is finished, @callback will be called. You can then call g_drive_poll_for_media_finish() to obtain the result of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes an operation started with g_drive_poll_for_media() on a drive. %FALSE otherwise. %TRUE if the drive has been poll_for_mediaed successfully, a #GAsyncResult. Asynchronously starts a drive. When the operation is finished, @callback will be called. You can then call g_drive_start_finish() to obtain the result of the operation. flags affecting the start operation. a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes starting a drive. %FALSE otherwise. %TRUE if the drive has been started successfully, a #GAsyncResult. Asynchronously stops a drive. When the operation is finished, @callback will be called. You can then call g_drive_stop_finish() to obtain the result of the operation. flags affecting the unmount if required for stopping. a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback Finishes stopping a drive. %FALSE otherwise. %TRUE if the drive has been stopped successfully, a #GAsyncResult. Emitted when the drive's state has changed. This signal is emitted when the #GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized. Emitted when the physical eject button (if any) of a drive has been pressed. Emitted when the physical stop button (if any) of a drive has been pressed. Interface for creating #GDrive implementations. a string containing @drive's name. The returned #GIcon for the @drive. %TRUE if the @drive contains volumes, %FALSE otherwise. #GList containing any #GVolume objects on the given @drive. %TRUE if @drive supports removable media, %FALSE otherwise. %TRUE if @drive has media, %FALSE otherwise. %TRUE if the @drive is capabable of automatically detecting %TRUE if the @drive can be ejected, %FALSE otherwise. %TRUE if the @drive can be polled for media changes, flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback %TRUE if the drive has been ejected successfully, a #GAsyncResult. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback %TRUE if the drive has been poll_for_mediaed successfully, a #GAsyncResult. a newly allocated string containing the the kind of identifier to return a %NULL-terminated array of strings containing A value from the #GDriveStartStopType enumeration. %TRUE if the @drive can be started, %FALSE otherwise. %TRUE if the @drive can be started degraded, %FALSE otherwise. flags affecting the start operation. a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback %TRUE if the drive has been started successfully, a #GAsyncResult. %TRUE if the @drive can be stopped, %FALSE otherwise. flags affecting the unmount if required for stopping. a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data to pass to @callback %TRUE if the drive has been stopped successfully, a #GAsyncResult. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the drive was successfully ejected. %FALSE otherwise. a #GAsyncResult. Flags used when starting a drive. Enumeration describing how a drive can be started/stopped. An object for Emblems Creates a new emblem for @icon. a new #GEmblem. a GIcon containing the icon. Creates a new emblem for @icon. a new #GEmblem. a GIcon containing the icon. a GEmblemOrigin enum defining the emblem's origin Gives back the icon from @emblem. and should not be modified or freed. a #GIcon. The returned object belongs to the emblem Gets the origin of the emblem. the origin of the emblem GEmblemOrigin is used to add information about the origin of the emblem to #GEmblem. An implementation of #GIcon for icons with emblems. Creates a new emblemed icon for @icon with the emblem @emblem. a new #GIcon a #GIcon a #GEmblem Adds @emblem to the #GList of #GEmblem <!-- -->s. a #GEmblem Gets the list of emblems for the @icon. is owned by @emblemed a #GList of #GEmblem <!-- -->s that Gets the main icon for @emblemed. a #GIcon that is owned by @emblemed A handle to an object implementing the #GFileIface interface. Generally stores a location within the file system. Handles do not necessarily represent files or directories that currently exist. Gets an output stream for appending data to the file. If the file doesn't already exist it is created. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Some file systems don't allow all file names, and may return an %G_IO_ERROR_INVALID_FILENAME error. If the file is a directory the %G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileOutputStream, or %NULL on error. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. Asynchronously opens @file for appending. For more details, see g_file_append_to() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_append_to_finish() to get the result of the operation. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file append operation started with g_file_append_to_async(). Free the returned object with g_object_unref(). a valid #GFileOutputStream or %NULL on error. #GAsyncResult Copies the file @source to the location specified by @destination. Can not handle recursive copies of directories. If the flag #G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks will be copied as symlinks, otherwise the target of the If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @progress_callback is not %NULL, then the operation can be monitored by setting this to a #GFileProgressCallback function. @progress_callback_data will be passed to this function. It is guaranteed that this callback will be called after all data has been transferred with the total number of bytes copied during the operation. If the @source file does not exist then the G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY error is returned. If trying to overwrite a directory with a directory the G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error is returned. If you are interested in copying the #GFile object itself (not the on-disk file), see g_file_dup(). %TRUE on success, %FALSE otherwise. destination #GFile set of #GFileCopyFlags optional #GCancellable object, %NULL to ignore. function to callback with progress information user data to pass to @progress_callback Copies the file @source to the location specified by @destination asynchronously. For details of the behaviour, see g_file_copy(). If @progress_callback is not %NULL, then that function that will be called just like in g_file_copy(), however the callback will run in the main loop, not in the thread that is doing the I/O operation. When the operation is finished, @callback will be called. You can then call g_file_copy_finish() to get the result of the operation. destination #GFile set of #GFileCopyFlags the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. function to callback with progress information user data to pass to @progress_callback a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes copying the file started with g_file_copy_async(). a %TRUE on success, %FALSE on error. a #GAsyncResult. Creates a new file and returns an output stream for writing to it. The file must not already exist. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If a file or directory with this name already exists the G_IO_ERROR_EXISTS error will be returned. Some file systems don't allow all file names, and may return an G_IO_ERROR_INVALID_FILENAME error, and if the name is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. %NULL on error. Free the returned object with g_object_unref(). a #GFileOutputStream for the newly created file, or a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. Asynchronously creates a new file and returns an output stream for writing to it. The file must not already exist. For more details, see g_file_create() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_create_finish() to get the result of the operation. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file create operation started with g_file_create_async(). Free the returned object with g_object_unref(). a #GFileOutputStream or %NULL on error. a #GAsyncResult. Creates a new file and returns a stream for reading and writing to it. The file must not already exist. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If a file or directory with this name already exists the %G_IO_ERROR_EXISTS error will be returned. Some file systems don't allow all file names, and may return an %G_IO_ERROR_INVALID_FILENAME error, and if the name is too long, %G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Note that in many non-local file cases read and write streams are not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. Free the returned object with g_object_unref(). a #GFileIOStream for the newly created file, or %NULL on error. a set of #GFileCreateFlags optional #GCancellable object, %NULL to ignore Asynchronously creates a new file and returns a stream for reading and writing to it. The file must not already exist. For more details, see g_file_create_readwrite() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_create_readwrite_finish() to get the result of the operation. a set of #GFileCreateFlags the <link linkend="io-priority">I/O priority</link> of the request optional #GCancellable object, %NULL to ignore a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file create operation started with g_file_create_readwrite_async(). Free the returned object with g_object_unref(). a #GFileIOStream or %NULL on error. a #GAsyncResult Deletes a file. If the @file is a directory, it will only be deleted if it is empty. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the file was deleted. %FALSE otherwise. optional #GCancellable object, %NULL to ignore. Duplicates a #GFile handle. This operation does not duplicate the actual file or directory represented by the #GFile; see g_file_copy() if attempting to copy a file. This call does no blocking i/o. a new #GFile that is a duplicate of the given #GFile. Starts an asynchronous eject on a mountable. When this operation has completed, @callback will be called with g_file_eject_mountable_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an asynchronous eject operation started by g_file_eject_mountable(). otherwise. %TRUE if the @file was ejected successfully. %FALSE a #GAsyncResult. Starts an asynchronous eject on a mountable. When this operation has completed, @callback will be called with g_file_eject_mountable_with_operation_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an asynchronous eject operation started by g_file_eject_mountable_with_operation(). otherwise. %TRUE if the @file was ejected successfully. %FALSE a #GAsyncResult. Gets the requested information about the files in a directory. The result is a #GFileEnumerator object that will give out #GFileInfo objects for all the files in the directory. The @attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. @attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. If the file is not a directory, the G_FILE_ERROR_NOTDIR error will be returned. Other errors are possible too. Free the returned object with g_object_unref(). A #GFileEnumerator if successful, %NULL on error. an attribute query string. a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Asynchronously gets the requested information about the files in a directory. The result is a #GFileEnumerator object that will give out #GFileInfo objects for all the files in the directory. For more details, see g_file_enumerate_children() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_enumerate_children_finish() to get the result of the operation. an attribute query string. a set of #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an async enumerate children operation. See g_file_enumerate_children_async(). Free the returned object with g_object_unref(). a #GFileEnumerator or %NULL if an error occurred. a #GAsyncResult. Checks equality of two given #GFile<!-- -->s. Note that two #GFile<!-- -->s that differ can still refer to the same file on the filesystem due to various forms of filename aliasing. This call does no blocking i/o. %FALSE if either is not a #GFile. %TRUE if @file1 and @file2 are equal. the second #GFile. Gets a #GMount for the #GFile. If the #GFileIface for @file does not have a mount (e.g. possibly a remote share), @error will be set to %G_IO_ERROR_NOT_FOUND and %NULL will be returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GMount where the @file is located or %NULL on error. optional #GCancellable object, %NULL to ignore. Asynchronously gets the mount for the file. For more details, see g_file_find_enclosing_mount() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_find_enclosing_mount_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous find mount request. See g_file_find_enclosing_mount_async(). Free the returned object with g_object_unref(). #GMount for given @file or %NULL on error. a #GAsyncResult Gets the base name (the last component of the path) for a given #GFile. If called for the top level of a system (such as the filesystem root or a uri like sftp://host/) it will return a single directory separator (and on Windows, possibly a drive letter). The base name is a byte string (*not* UTF-8). It has no defined encoding or rules other than it may not contain zero bytes. If you want to use filenames in a user interface you should use the display name that you can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME attribute with g_file_query_info(). This call does no blocking i/o. if given #GFile is invalid. The returned string should be freed with g_free() when no longer needed. string containing the #GFile's base name, or %NULL Gets the child of @file for a given @display_name (i.e. a UTF8 version of the name). If this function fails, it returns %NULL and @error will be set. This is very useful when constructing a GFile for a new file and the user entered the filename in the user interface, for instance when you select a directory and type a filename in the file selector. This call does no blocking i/o. %NULL if the display name couldn't be converted. Free the returned object with g_object_unref(). a #GFile to the specified child, or string to a possible child. Gets the parent directory for the @file. If the @file represents the root directory of the file system, then %NULL will be returned. This call does no blocking i/o. #GFile or %NULL if there is no parent. Free the returned object with g_object_unref(). a #GFile structure to the parent of the given Gets the parse name of the @file. A parse name is a UTF-8 string that describes the file such that one can get the #GFile back using g_file_parse_name(). This is generally used to show the #GFile as a nice full-pathname kind of string in a user interface, like in a location entry. For local files with names that can safely be converted to UTF8 the pathname is used, otherwise the IRI is used (a form of URI that allows UTF8 characters unescaped). This call does no blocking i/o. string should be freed with g_free() when no longer needed. a string containing the #GFile's parse name. The returned Gets the local pathname for #GFile, if one exists. This call does no blocking i/o. no such path exists. The returned string should be freed with g_free() when no longer needed. string containing the #GFile's path, or %NULL if Gets the path for @descendant relative to @parent. This call does no blocking i/o. to @parent, or %NULL if @descendant doesn't have @parent as prefix. The returned string should be freed with g_free() when no longer needed. string with the relative path from @descendant input #GFile. Gets the URI for the @file. This call does no blocking i/o. The returned string should be freed with g_free() when no longer needed. a string containing the #GFile's URI. Gets the URI scheme for a #GFile. RFC 3986 decodes the scheme as: <programlisting> URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] </programlisting> Common schemes include "file", "http", "ftp", etc. This call does no blocking i/o. #GFile. The returned string should be freed with g_free() when no longer needed. a string containing the URI scheme for the given Checks to see if a #GFile has a given URI scheme. This call does no blocking i/o. given URI scheme, %FALSE if URI scheme is %NULL, not supported, or #GFile is invalid. %TRUE if #GFile's backend supports the a string containing a URI scheme. Checks to see if a file is native to the platform. A native file s one expressed in the platform-native filename format, e.g. "C:\Windows" or "/usr/bin/". This does not mean the file is local, as it might be on a locally mounted remote filesystem. On some systems non-native files may be available using the native filesystem via a userspace filesystem (FUSE), in these cases this call will return %FALSE, but g_file_get_path() will still return a native path. This call does no blocking i/o. %TRUE if file is native. Creates a symbolic link named @file which contains the string If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE on the creation of a new symlink, %FALSE otherwise. a string with the path for the target of the new symlink optional #GCancellable object, %NULL to ignore. Obtains a directory monitor for the given file. This may fail if directory monitoring is not supported. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags. optional #GCancellable object, %NULL to ignore. Obtains a file monitor for the given file. If no file notification mechanism exists, then regular polling of the file is used. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags. optional #GCancellable object, %NULL to ignore. Starts a @mount_operation, mounting the volume that contains the file @location. When this operation has completed, @callback will be called with g_file_mount_enclosing_volume_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a mount operation started by g_file_mount_enclosing_volume(). has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a #GAsyncResult. Mounts a file of type G_FILE_TYPE_MOUNTABLE. Using @mount_operation, you can request callbacks when, for instance, passwords are needed during authentication. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_mount_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a mount operation. See g_file_mount_mountable() for details. Finish an asynchronous mount operation that was started with g_file_mount_mountable(). Free the returned object with g_object_unref(). a #GFile or %NULL on error. a #GAsyncResult. Tries to move the file or directory @source to the location specified by @destination. If native move operations are supported then this is used, otherwise a copy + delete fallback is used. The native implementation may support moving directories (for instance on moves inside the same filesystem), but the fallback code does not. If the flag #G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks will be copied as symlinks, otherwise the target of the If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @progress_callback is not %NULL, then the operation can be monitored by setting this to a #GFileProgressCallback function. @progress_callback_data will be passed to this function. It is guaranteed that this callback will be called after all data has been transferred with the total number of bytes copied during the operation. If the @source file does not exist then the G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY error is returned. If trying to overwrite a directory with a directory the G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error may be returned (if the native move operation isn't available). %TRUE on successful move, %FALSE otherwise. #GFile pointing to the destination location. set of #GFileCopyFlags. optional #GCancellable object, %NULL to ignore. #GFileProgressCallback function for updates. gpointer to user data for the callback function. Opens an existing file for reading and writing. The result is a #GFileIOStream that can be used to read and write the contents of the file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Note that in many non-local file cases read and write streams are not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. Free the returned object with g_object_unref(). #GFileIOStream or %NULL on error. a #GCancellable Asynchronously opens @file for reading and writing. For more details, see g_file_open_readwrite() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_open_readwrite_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file read operation started with g_file_open_readwrite_async(). Free the returned object with g_object_unref(). a #GFileIOStream or %NULL on error. a #GAsyncResult. Polls a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_mount_mountable_finish() to get the result of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a poll operation. See g_file_poll_mountable() for details. Finish an asynchronous poll operation that was polled with g_file_poll_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Checks whether @file has the prefix specified by @prefix. In other word, if the names of inital elements of @file<!-- -->s pathname match @prefix. Only full pathname elements are matched, so a path like /foo is not considered a prefix of /foobar, only of /foo/bar. This call does no i/o, as it works purely on names. As such it can sometimes return %FALSE even if @file is inside a @prefix (from a filesystem point of view), because the prefix of @file is an alias of @prefix. %FALSE otherwise. %TRUE if the @files's parent, grandparent, etc is @prefix. input #GFile. Similar to g_file_query_info(), but obtains information about the filesystem the @file is on, rather than the file itself. For instance the amount of space available and the type of the filesystem. The @attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. @attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "fs:*" means all attributes in the fs namespace. The standard namespace for filesystem attributes is "fs". Common attributes of interest are #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileInfo or %NULL if there was an error. an attribute query string. optional #GCancellable object, %NULL to ignore. Asynchronously gets the requested information about the filesystem that the specified @file is on. The result is a #GFileInfo object that contains key-value attributes (such as type or size for the file). For more details, see g_file_query_filesystem_info() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_query_info_finish() to get the result of the operation. an attribute query string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous filesystem info query. See g_file_query_filesystem_info_async(). Free the returned object with g_object_unref(). #GFileInfo for given @file or %NULL on error. a #GAsyncResult. Gets the requested information about specified @file. The result is a #GFileInfo object that contains key-value attributes (such as the type or size of the file). The @attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. @attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. For symlinks, normally the information about the target of the symlink is returned, rather than information about the symlink itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the information about the symlink itself will be returned. Also, for symlinks that point to non-existing files the information about the symlink itself will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileInfo for the given @file, or %NULL on error. an attribute query string. a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Asynchronously gets the requested information about specified @file. The result is a #GFileInfo object that contains key-value attributes (such as type or size for the file). For more details, see g_file_query_info() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_query_info_finish() to get the result of the operation. an attribute query string. a set of #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file info query. See g_file_query_info_async(). Free the returned object with g_object_unref(). #GFileInfo for given @file or %NULL on error. a #GAsyncResult. Obtain the list of settable attributes for the file. Returns the type and full attribute name of all the attributes that can be set on this file. This doesn't mean setting it will always succeed though, you might get an access failure, or some specific file may not support a specific attribute. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When you are done with it, release it with g_file_attribute_info_list_unref() a #GFileAttributeInfoList describing the settable attributes. optional #GCancellable object, %NULL to ignore. Obtain the list of attribute namespaces where new attributes can be created by a user. An example of this is extended attributes (in the "xattr" namespace). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When you are done with it, release it with g_file_attribute_info_list_unref() a #GFileAttributeInfoList describing the writable namespaces. optional #GCancellable object, %NULL to ignore. Asynchronously opens @file for reading. For more details, see g_file_read() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_read_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file read operation started with g_file_read_async(). Free the returned object with g_object_unref(). a #GFileInputStream or %NULL on error. a #GAsyncResult. Opens a file for reading. The result is a #GFileInputStream that can be used to read the contents of the file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). #GFileInputStream or %NULL on error. a #GCancellable Returns an output stream for overwriting the file, possibly creating a backup copy of the file first. If the file doesn't exist, it will be created. This will try to replace the file in the safest way possible so that any errors during the writing will not affect an already existing copy of the file. For instance, for local files it may write to a temporary file and then atomically rename over the destination when the stream is closed. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If you pass in a non-#NULL @etag value, then this value is compared to the current entity tag of the file, and if they differ an G_IO_ERROR_WRONG_ETAG error is returned. This generally means that the file has been changed since you last read it. You can get the new etag from g_file_output_stream_get_etag() after you've finished writing and closed the #GFileOutputStream. When you load a new file you can use g_file_input_stream_query_info() to get the etag of the file. If @make_backup is %TRUE, this function will attempt to make a backup of the current file before overwriting it. If this fails a G_IO_ERROR_CANT_CREATE_BACKUP error will be returned. If you want to replace anyway, try again with If the file is a directory the G_IO_ERROR_IS_DIRECTORY error will be returned, and if the file is some other form of non-regular file then a G_IO_ERROR_NOT_REGULAR_FILE error will be returned. Some file systems don't allow all file names, and may return an G_IO_ERROR_INVALID_FILENAME error, and if the name is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileOutputStream or %NULL on error. an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. Asynchronously overwrites the file, replacing the contents, possibly creating a backup copy of the file first. For more details, see g_file_replace() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_replace_finish() to get the result of the operation. an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file replace operation started with g_file_replace_async(). Free the returned object with g_object_unref(). a #GFileOutputStream, or %NULL on error. a #GAsyncResult. Returns an output stream for overwriting the file in readwrite mode, possibly creating a backup copy of the file first. If the file doesn't exist, it will be created. For details about the behaviour, see g_file_replace() which does the same thing but returns an output stream only. Note that in many non-local file cases read and write streams are not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. Free the returned object with g_object_unref(). a #GFileIOStream or %NULL on error. an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore %TRUE if a backup should be created a set of #GFileCreateFlags optional #GCancellable object, %NULL to ignore Asynchronously overwrites the file in read-write mode, replacing the contents, possibly creating a backup copy of the file first. For more details, see g_file_replace_readwrite() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_replace_readwrite_finish() to get the result of the operation. an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file replace operation started with g_file_replace_readwrite_async(). Free the returned object with g_object_unref(). a #GFileIOStream, or %NULL on error. a #GAsyncResult. Resolves a relative path for @file to an absolute path. This call does no blocking i/o. is %NULL or if @file is invalid. Free the returned object with g_object_unref(). #GFile to the resolved path. %NULL if @relative_path a given relative path string. Sets an attribute in the file with attribute name @attribute to @value. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the attribute was set, %FALSE otherwise. a string containing the attribute's name. The type of the attribute a pointer to the value (or the pointer itself if the type is a pointer type) a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Asynchronously sets the attributes of @file with @info. For more details, see g_file_set_attributes_from_info() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_set_attributes_finish() to get the result of the operation. a #GFileInfo. a #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback. a #gpointer. Finishes setting an attribute started in g_file_set_attributes_async(). %TRUE if the attributes were set correctly, %FALSE otherwise. a #GAsyncResult. a #GFileInfo. Tries to set all attributes in the #GFileInfo on the target values, not stopping on the first error. If there is any error during this operation then @error will be set to the first error. Error on particular fields are flagged by setting the "status" field in the attribute value to %G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, which means you can also detect further errors. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if there was any error, %FALSE otherwise. a #GFileInfo. #GFileQueryInfoFlags optional #GCancellable object, %NULL to ignore. Renames @file to the specified display name. The display name is converted from UTF8 to the correct encoding for the target filesystem if possible and the @file is renamed to this. If you want to implement a rename operation in the user interface the edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename widget, and then the result after editing should be passed to g_file_set_display_name(). On success the resulting converted filename is returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. if there was an error. Free the returned object with g_object_unref(). a #GFile specifying what @file was renamed to, or %NULL a string. optional #GCancellable object, %NULL to ignore. Asynchronously sets the display name for a given #GFile. For more details, see g_file_set_display_name() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_set_display_name_finish() to get the result of the operation. a string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes setting a display name started with g_file_set_display_name_async(). Free the returned object with g_object_unref(). a #GFile or %NULL on error. a #GAsyncResult. Starts a file of type G_FILE_TYPE_MOUNTABLE. Using @start_operation, you can request callbacks when, for instance, passwords are needed during authentication. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_mount_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a start operation. See g_file_start_mountable() for details. Finish an asynchronous start operation that was started with g_file_start_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Stops a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_stop_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an stop operation, see g_file_stop_mountable() for details. Finish an asynchronous stop operation that was started with g_file_stop_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Sends @file to the "Trashcan", if possible. This is similar to deleting it, but the user can recover it before emptying the trashcan. Not all file systems support trashing, so this call can return the %G_IO_ERROR_NOT_SUPPORTED error. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE on successful trash, %FALSE otherwise. optional #GCancellable object, %NULL to ignore. Unmounts a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_unmount_mountable_finish() to get the result of the operation. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an unmount operation, see g_file_unmount_mountable() for details. Finish an asynchronous unmount operation that was started with g_file_unmount_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Unmounts a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_unmount_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an unmount operation, see g_file_unmount_mountable_with_operation() for details. Finish an asynchronous unmount operation that was started with g_file_unmount_mountable_with_operation(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Gets an output stream for appending data to the file. If the file doesn't already exist it is created. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Some file systems don't allow all file names, and may return an %G_IO_ERROR_INVALID_FILENAME error. If the file is a directory the %G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileOutputStream, or %NULL on error. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. Asynchronously opens @file for appending. For more details, see g_file_append_to() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_append_to_finish() to get the result of the operation. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file append operation started with g_file_append_to_async(). Free the returned object with g_object_unref(). a valid #GFileOutputStream or %NULL on error. #GAsyncResult Copies the file @source to the location specified by @destination. Can not handle recursive copies of directories. If the flag #G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks will be copied as symlinks, otherwise the target of the If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @progress_callback is not %NULL, then the operation can be monitored by setting this to a #GFileProgressCallback function. @progress_callback_data will be passed to this function. It is guaranteed that this callback will be called after all data has been transferred with the total number of bytes copied during the operation. If the @source file does not exist then the G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY error is returned. If trying to overwrite a directory with a directory the G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error is returned. If you are interested in copying the #GFile object itself (not the on-disk file), see g_file_dup(). %TRUE on success, %FALSE otherwise. destination #GFile set of #GFileCopyFlags optional #GCancellable object, %NULL to ignore. function to callback with progress information user data to pass to @progress_callback Copies the file @source to the location specified by @destination asynchronously. For details of the behaviour, see g_file_copy(). If @progress_callback is not %NULL, then that function that will be called just like in g_file_copy(), however the callback will run in the main loop, not in the thread that is doing the I/O operation. When the operation is finished, @callback will be called. You can then call g_file_copy_finish() to get the result of the operation. destination #GFile set of #GFileCopyFlags the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. function to callback with progress information user data to pass to @progress_callback a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Copies the file attributes from @source to @destination. Normally only a subset of the file attributes are copied, those that are copies in a normal file copy operation (which for instance does not include e.g. owner). However if #G_FILE_COPY_ALL_METADATA is specified in @flags, then all the metadata that is possible to copy is copied. This is useful when implementing move by copy + delete source. %TRUE if the attributes were copied successfully, %FALSE otherwise. a #GFile to copy attributes to. a set of #GFileCopyFlags. optional #GCancellable object, %NULL to ignore. Finishes copying the file started with g_file_copy_async(). a %TRUE on success, %FALSE on error. a #GAsyncResult. Creates a new file and returns an output stream for writing to it. The file must not already exist. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If a file or directory with this name already exists the G_IO_ERROR_EXISTS error will be returned. Some file systems don't allow all file names, and may return an G_IO_ERROR_INVALID_FILENAME error, and if the name is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. %NULL on error. Free the returned object with g_object_unref(). a #GFileOutputStream for the newly created file, or a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. Asynchronously creates a new file and returns an output stream for writing to it. The file must not already exist. For more details, see g_file_create() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_create_finish() to get the result of the operation. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file create operation started with g_file_create_async(). Free the returned object with g_object_unref(). a #GFileOutputStream or %NULL on error. a #GAsyncResult. Creates a new file and returns a stream for reading and writing to it. The file must not already exist. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If a file or directory with this name already exists the %G_IO_ERROR_EXISTS error will be returned. Some file systems don't allow all file names, and may return an %G_IO_ERROR_INVALID_FILENAME error, and if the name is too long, %G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Note that in many non-local file cases read and write streams are not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. Free the returned object with g_object_unref(). a #GFileIOStream for the newly created file, or %NULL on error. a set of #GFileCreateFlags optional #GCancellable object, %NULL to ignore Asynchronously creates a new file and returns a stream for reading and writing to it. The file must not already exist. For more details, see g_file_create_readwrite() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_create_readwrite_finish() to get the result of the operation. a set of #GFileCreateFlags the <link linkend="io-priority">I/O priority</link> of the request optional #GCancellable object, %NULL to ignore a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file create operation started with g_file_create_readwrite_async(). Free the returned object with g_object_unref(). a #GFileIOStream or %NULL on error. a #GAsyncResult Deletes a file. If the @file is a directory, it will only be deleted if it is empty. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the file was deleted. %FALSE otherwise. optional #GCancellable object, %NULL to ignore. Duplicates a #GFile handle. This operation does not duplicate the actual file or directory represented by the #GFile; see g_file_copy() if attempting to copy a file. This call does no blocking i/o. a new #GFile that is a duplicate of the given #GFile. Starts an asynchronous eject on a mountable. When this operation has completed, @callback will be called with g_file_eject_mountable_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an asynchronous eject operation started by g_file_eject_mountable(). otherwise. %TRUE if the @file was ejected successfully. %FALSE a #GAsyncResult. Starts an asynchronous eject on a mountable. When this operation has completed, @callback will be called with g_file_eject_mountable_with_operation_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an asynchronous eject operation started by g_file_eject_mountable_with_operation(). otherwise. %TRUE if the @file was ejected successfully. %FALSE a #GAsyncResult. Gets the requested information about the files in a directory. The result is a #GFileEnumerator object that will give out #GFileInfo objects for all the files in the directory. The @attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. @attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. If the file is not a directory, the G_FILE_ERROR_NOTDIR error will be returned. Other errors are possible too. Free the returned object with g_object_unref(). A #GFileEnumerator if successful, %NULL on error. an attribute query string. a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Asynchronously gets the requested information about the files in a directory. The result is a #GFileEnumerator object that will give out #GFileInfo objects for all the files in the directory. For more details, see g_file_enumerate_children() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_enumerate_children_finish() to get the result of the operation. an attribute query string. a set of #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an async enumerate children operation. See g_file_enumerate_children_async(). Free the returned object with g_object_unref(). a #GFileEnumerator or %NULL if an error occurred. a #GAsyncResult. Checks equality of two given #GFile<!-- -->s. Note that two #GFile<!-- -->s that differ can still refer to the same file on the filesystem due to various forms of filename aliasing. This call does no blocking i/o. %FALSE if either is not a #GFile. %TRUE if @file1 and @file2 are equal. the second #GFile. Gets a #GMount for the #GFile. If the #GFileIface for @file does not have a mount (e.g. possibly a remote share), @error will be set to %G_IO_ERROR_NOT_FOUND and %NULL will be returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GMount where the @file is located or %NULL on error. optional #GCancellable object, %NULL to ignore. Asynchronously gets the mount for the file. For more details, see g_file_find_enclosing_mount() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_find_enclosing_mount_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous find mount request. See g_file_find_enclosing_mount_async(). Free the returned object with g_object_unref(). #GMount for given @file or %NULL on error. a #GAsyncResult Gets the base name (the last component of the path) for a given #GFile. If called for the top level of a system (such as the filesystem root or a uri like sftp://host/) it will return a single directory separator (and on Windows, possibly a drive letter). The base name is a byte string (*not* UTF-8). It has no defined encoding or rules other than it may not contain zero bytes. If you want to use filenames in a user interface you should use the display name that you can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME attribute with g_file_query_info(). This call does no blocking i/o. if given #GFile is invalid. The returned string should be freed with g_free() when no longer needed. string containing the #GFile's base name, or %NULL Gets a child of @file with basename equal to @name. Note that the file with that specific name might not exist, but you can still have a #GFile that points to it. You can use this for instance to create that file. This call does no blocking i/o. Free the returned object with g_object_unref(). a #GFile to a child specified by @name. string containing the child's basename. Gets the child of @file for a given @display_name (i.e. a UTF8 version of the name). If this function fails, it returns %NULL and @error will be set. This is very useful when constructing a GFile for a new file and the user entered the filename in the user interface, for instance when you select a directory and type a filename in the file selector. This call does no blocking i/o. %NULL if the display name couldn't be converted. Free the returned object with g_object_unref(). a #GFile to the specified child, or string to a possible child. Gets the parent directory for the @file. If the @file represents the root directory of the file system, then %NULL will be returned. This call does no blocking i/o. #GFile or %NULL if there is no parent. Free the returned object with g_object_unref(). a #GFile structure to the parent of the given Gets the parse name of the @file. A parse name is a UTF-8 string that describes the file such that one can get the #GFile back using g_file_parse_name(). This is generally used to show the #GFile as a nice full-pathname kind of string in a user interface, like in a location entry. For local files with names that can safely be converted to UTF8 the pathname is used, otherwise the IRI is used (a form of URI that allows UTF8 characters unescaped). This call does no blocking i/o. string should be freed with g_free() when no longer needed. a string containing the #GFile's parse name. The returned Gets the local pathname for #GFile, if one exists. This call does no blocking i/o. no such path exists. The returned string should be freed with g_free() when no longer needed. string containing the #GFile's path, or %NULL if Gets the path for @descendant relative to @parent. This call does no blocking i/o. to @parent, or %NULL if @descendant doesn't have @parent as prefix. The returned string should be freed with g_free() when no longer needed. string with the relative path from @descendant input #GFile. Gets the URI for the @file. This call does no blocking i/o. The returned string should be freed with g_free() when no longer needed. a string containing the #GFile's URI. Gets the URI scheme for a #GFile. RFC 3986 decodes the scheme as: <programlisting> URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] </programlisting> Common schemes include "file", "http", "ftp", etc. This call does no blocking i/o. #GFile. The returned string should be freed with g_free() when no longer needed. a string containing the URI scheme for the given Checks if @file has a parent, and optionally, if it is @parent. If @parent is %NULL then this function returns %TRUE if @file has any parent at all. If @parent is non-%NULL then %TRUE is only returned if @file is a child of @parent. case that @parent is %NULL). %TRUE if @file is a child of @parent (or any parent in the the parent to check for, or %NULL Checks whether @file has the prefix specified by @prefix. In other word, if the names of inital elements of @file<!-- -->s pathname match @prefix. Only full pathname elements are matched, so a path like /foo is not considered a prefix of /foobar, only of /foo/bar. This call does no i/o, as it works purely on names. As such it can sometimes return %FALSE even if @file is inside a @prefix (from a filesystem point of view), because the prefix of @file is an alias of @prefix. %FALSE otherwise. %TRUE if the @files's parent, grandparent, etc is @prefix. input #GFile. Checks to see if a #GFile has a given URI scheme. This call does no blocking i/o. given URI scheme, %FALSE if URI scheme is %NULL, not supported, or #GFile is invalid. %TRUE if #GFile's backend supports the a string containing a URI scheme. Creates a new icon for a file. a #GIcon for the given @file, or %NULL on error. Checks to see if a file is native to the platform. A native file s one expressed in the platform-native filename format, e.g. "C:\Windows" or "/usr/bin/". This does not mean the file is local, as it might be on a locally mounted remote filesystem. On some systems non-native files may be available using the native filesystem via a userspace filesystem (FUSE), in these cases this call will return %FALSE, but g_file_get_path() will still return a native path. This call does no blocking i/o. %TRUE if file is native. Loads the content of the file into memory. The data is always zero-terminated, but this is not included in the resultant @length. The returned @content should be freed with g_free() when no longer needed. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %FALSE if there were errors. %TRUE if the @file's contents were successfully loaded. optional #GCancellable object, %NULL to ignore. a location to place the contents of the file. a location to place the length of the contents of the file, or %NULL if the length is not needed a location to place the current entity tag for the file, or %NULL if the entity tag is not needed Starts an asynchronous load of the @file's contents. For more details, see g_file_load_contents() which is the synchronous version of this call. When the load operation has completed, @callback will be called with @user data. To finish the operation, call g_file_load_contents_finish() with the #GAsyncResult returned by the @callback. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous load of the @file's contents. The contents are placed in @contents, and @length is set to the size of the @contents string. The @content should be freed with g_free() when no longer needed. If @etag_out is present, it will be set to the new entity tag for the @file. present, it will be set appropriately. %TRUE if the load was successful. If %FALSE and @error is a #GAsyncResult. a location to place the contents of the file. a location to place the length of the contents of the file, or %NULL if the length is not needed a location to place the current entity tag for the file, or %NULL if the entity tag is not needed Reads the partial contents of a file. A #GFileReadMoreCallback should be used to stop reading from the file when appropriate, else this function will behave exactly as g_file_load_contents_async(). This operation can be finished by g_file_load_partial_contents_finish(). Users of this function should be aware that @user_data is passed to both the @read_more_callback and the @callback. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, %NULL to ignore. a #GFileReadMoreCallback to receive partial data and to specify whether further data should be read. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to the callback functions. Finishes an asynchronous partial load operation that was started with g_file_load_partial_contents_async(). The data is always zero-terminated, but this is not included in the resultant @length. The returned @content should be freed with g_free() when no longer needed. present, it will be set appropriately. %TRUE if the load was successful. If %FALSE and @error is a #GAsyncResult. a location to place the contents of the file. a location to place the length of the contents of the file, or %NULL if the length is not needed a location to place the current entity tag for the file, or %NULL if the entity tag is not needed Creates a directory and any parent directories that may not exist similar to 'mkdir -p'. If the file system does not support creating directories, this function will fail, setting @error to %G_IO_ERROR_NOT_SUPPORTED. For a local #GFile the newly created directories will have the default (current) ownership and permissions of the current process. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. otherwise. %TRUE if all directories have been successfully created, %FALSE optional #GCancellable object, %NULL to ignore. Creates a symbolic link named @file which contains the string If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE on the creation of a new symlink, %FALSE otherwise. a string with the path for the target of the new symlink optional #GCancellable object, %NULL to ignore. Obtains a file or directory monitor for the given file, depending on the type of the file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags optional #GCancellable object, %NULL to ignore Obtains a directory monitor for the given file. This may fail if directory monitoring is not supported. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags. optional #GCancellable object, %NULL to ignore. Obtains a file monitor for the given file. If no file notification mechanism exists, then regular polling of the file is used. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Free the returned object with g_object_unref(). a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags. optional #GCancellable object, %NULL to ignore. Starts a @mount_operation, mounting the volume that contains the file @location. When this operation has completed, @callback will be called with g_file_mount_enclosing_volume_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a mount operation started by g_file_mount_enclosing_volume(). has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a #GAsyncResult. Mounts a file of type G_FILE_TYPE_MOUNTABLE. Using @mount_operation, you can request callbacks when, for instance, passwords are needed during authentication. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_mount_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a mount operation. See g_file_mount_mountable() for details. Finish an asynchronous mount operation that was started with g_file_mount_mountable(). Free the returned object with g_object_unref(). a #GFile or %NULL on error. a #GAsyncResult. Tries to move the file or directory @source to the location specified by @destination. If native move operations are supported then this is used, otherwise a copy + delete fallback is used. The native implementation may support moving directories (for instance on moves inside the same filesystem), but the fallback code does not. If the flag #G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks will be copied as symlinks, otherwise the target of the If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @progress_callback is not %NULL, then the operation can be monitored by setting this to a #GFileProgressCallback function. @progress_callback_data will be passed to this function. It is guaranteed that this callback will be called after all data has been transferred with the total number of bytes copied during the operation. If the @source file does not exist then the G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY error is returned. If trying to overwrite a directory with a directory the G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error may be returned (if the native move operation isn't available). %TRUE on successful move, %FALSE otherwise. #GFile pointing to the destination location. set of #GFileCopyFlags. optional #GCancellable object, %NULL to ignore. #GFileProgressCallback function for updates. gpointer to user data for the callback function. Opens an existing file for reading and writing. The result is a #GFileIOStream that can be used to read and write the contents of the file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Note that in many non-local file cases read and write streams are not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. Free the returned object with g_object_unref(). #GFileIOStream or %NULL on error. a #GCancellable Asynchronously opens @file for reading and writing. For more details, see g_file_open_readwrite() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_open_readwrite_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file read operation started with g_file_open_readwrite_async(). Free the returned object with g_object_unref(). a #GFileIOStream or %NULL on error. a #GAsyncResult. Polls a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_mount_mountable_finish() to get the result of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a poll operation. See g_file_poll_mountable() for details. Finish an asynchronous poll operation that was polled with g_file_poll_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Returns the #GAppInfo that is registered as the default application to handle the file specified by @file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When you are done with it, release it with g_object_unref() a #GAppInfo if the handle was found, %NULL if there were errors. optional #GCancellable object, %NULL to ignore. Utility function to check if a particular file exists. This is implemented using g_file_query_info() and as such does blocking I/O. Note that in many cases it is racy to first check for file existence and then execute something based on the outcome of that, because the file might have been created or removed in between the operations. The general approach to handling that is to not check, but just do the operation and handle the errors as they come. As an example of race-free checking, take the case of reading a file, and can both result in two processes creating the file (with perhaps a partially written file as the result). The correct approach is to always try to create the file with g_file_create() which will either atomically create the file or fail with a G_IO_ERROR_EXISTS error. However, in many cases an existence check is useful in a user interface, for instance to make a menu item sensitive/insensitive, so that you don't have to fool users that something is possible and then just show and error dialog. If you do this, you should make sure to also handle the errors that can happen due to races when you execute the operation. %TRUE if the file exists (and can be detected without error), %FALSE otherwise (or if cancelled). optional #GCancellable object, %NULL to ignore. Utility function to inspect the #GFileType of a file. This is implemented using g_file_query_info() and as such does blocking I/O. The primary use case of this method is to check if a file is a regular file, directory, or symlink. does not exist The #GFileType of the file and #G_FILE_TYPE_UNKNOWN if the file a set of #GFileQueryInfoFlags passed to g_file_query_info(). optional #GCancellable object, %NULL to ignore. Similar to g_file_query_info(), but obtains information about the filesystem the @file is on, rather than the file itself. For instance the amount of space available and the type of the filesystem. The @attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. @attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "fs:*" means all attributes in the fs namespace. The standard namespace for filesystem attributes is "fs". Common attributes of interest are #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileInfo or %NULL if there was an error. an attribute query string. optional #GCancellable object, %NULL to ignore. Asynchronously gets the requested information about the filesystem that the specified @file is on. The result is a #GFileInfo object that contains key-value attributes (such as type or size for the file). For more details, see g_file_query_filesystem_info() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_query_info_finish() to get the result of the operation. an attribute query string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous filesystem info query. See g_file_query_filesystem_info_async(). Free the returned object with g_object_unref(). #GFileInfo for given @file or %NULL on error. a #GAsyncResult. Gets the requested information about specified @file. The result is a #GFileInfo object that contains key-value attributes (such as the type or size of the file). The @attributes value is a string that specifies the file attributes that should be gathered. It is not an error if it's not possible to read a particular requested attribute from a file - it just won't be set. @attributes should be a comma-separated list of attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. For symlinks, normally the information about the target of the symlink is returned, rather than information about the symlink itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the information about the symlink itself will be returned. Also, for symlinks that point to non-existing files the information about the symlink itself will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileInfo for the given @file, or %NULL on error. an attribute query string. a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Asynchronously gets the requested information about specified @file. The result is a #GFileInfo object that contains key-value attributes (such as type or size for the file). For more details, see g_file_query_info() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_query_info_finish() to get the result of the operation. an attribute query string. a set of #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file info query. See g_file_query_info_async(). Free the returned object with g_object_unref(). #GFileInfo for given @file or %NULL on error. a #GAsyncResult. Obtain the list of settable attributes for the file. Returns the type and full attribute name of all the attributes that can be set on this file. This doesn't mean setting it will always succeed though, you might get an access failure, or some specific file may not support a specific attribute. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When you are done with it, release it with g_file_attribute_info_list_unref() a #GFileAttributeInfoList describing the settable attributes. optional #GCancellable object, %NULL to ignore. Obtain the list of attribute namespaces where new attributes can be created by a user. An example of this is extended attributes (in the "xattr" namespace). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When you are done with it, release it with g_file_attribute_info_list_unref() a #GFileAttributeInfoList describing the writable namespaces. optional #GCancellable object, %NULL to ignore. Opens a file for reading. The result is a #GFileInputStream that can be used to read the contents of the file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). #GFileInputStream or %NULL on error. a #GCancellable Asynchronously opens @file for reading. For more details, see g_file_read() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_read_finish() to get the result of the operation. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file read operation started with g_file_read_async(). Free the returned object with g_object_unref(). a #GFileInputStream or %NULL on error. a #GAsyncResult. Returns an output stream for overwriting the file, possibly creating a backup copy of the file first. If the file doesn't exist, it will be created. This will try to replace the file in the safest way possible so that any errors during the writing will not affect an already existing copy of the file. For instance, for local files it may write to a temporary file and then atomically rename over the destination when the stream is closed. By default files created are generally readable by everyone, but if you pass #G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If you pass in a non-#NULL @etag value, then this value is compared to the current entity tag of the file, and if they differ an G_IO_ERROR_WRONG_ETAG error is returned. This generally means that the file has been changed since you last read it. You can get the new etag from g_file_output_stream_get_etag() after you've finished writing and closed the #GFileOutputStream. When you load a new file you can use g_file_input_stream_query_info() to get the etag of the file. If @make_backup is %TRUE, this function will attempt to make a backup of the current file before overwriting it. If this fails a G_IO_ERROR_CANT_CREATE_BACKUP error will be returned. If you want to replace anyway, try again with If the file is a directory the G_IO_ERROR_IS_DIRECTORY error will be returned, and if the file is some other form of non-regular file then a G_IO_ERROR_NOT_REGULAR_FILE error will be returned. Some file systems don't allow all file names, and may return an G_IO_ERROR_INVALID_FILENAME error, and if the name is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. Free the returned object with g_object_unref(). a #GFileOutputStream or %NULL on error. an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. Asynchronously overwrites the file, replacing the contents, possibly creating a backup copy of the file first. For more details, see g_file_replace() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_replace_finish() to get the result of the operation. an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Replaces the contents of @file with @contents of @length bytes. If @etag is specified (not %NULL) any existing file must have that etag, or the error %G_IO_ERROR_WRONG_ETAG will be returned. If @make_backup is %TRUE, this function will attempt to make a backup of @file. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. The returned @new_etag can be used to verify that the file hasn't changed the next time it is saved over. has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a string containing the new contents for @file. the length of @contents in bytes. the old <link linkend="gfile-etag">entity tag</link> for the document, or %NULL %TRUE if a backup should be created. a set of #GFileCreateFlags. a location to a new <link linkend="gfile-etag">entity tag</link> for the document. This should be freed with g_free() when no longer needed, or %NULL optional #GCancellable object, %NULL to ignore. Starts an asynchronous replacement of @file with the given current entity tag. When this operation has completed, @callback will be called with g_file_replace_contents_finish(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @make_backup is %TRUE, this function will attempt to make a backup of @file. string of contents to replace the file with. the length of @contents in bytes. a new <link linkend="gfile-etag">entity tag</link> for the @file, or %NULL %TRUE if a backup should be created. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous replace of the given @file. See g_file_replace_contents_async(). Sets @new_etag to the new entity tag for the document, if present. %TRUE on success, %FALSE on failure. a #GAsyncResult. a location of a new <link linkend="gfile-etag">entity tag</link> for the document. This should be freed with g_free() when it is no longer needed, or %NULL Finishes an asynchronous file replace operation started with g_file_replace_async(). Free the returned object with g_object_unref(). a #GFileOutputStream, or %NULL on error. a #GAsyncResult. Returns an output stream for overwriting the file in readwrite mode, possibly creating a backup copy of the file first. If the file doesn't exist, it will be created. For details about the behaviour, see g_file_replace() which does the same thing but returns an output stream only. Note that in many non-local file cases read and write streams are not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. Free the returned object with g_object_unref(). a #GFileIOStream or %NULL on error. an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore %TRUE if a backup should be created a set of #GFileCreateFlags optional #GCancellable object, %NULL to ignore Asynchronously overwrites the file in read-write mode, replacing the contents, possibly creating a backup copy of the file first. For more details, see g_file_replace_readwrite() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_replace_readwrite_finish() to get the result of the operation. an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous file replace operation started with g_file_replace_readwrite_async(). Free the returned object with g_object_unref(). a #GFileIOStream, or %NULL on error. a #GAsyncResult. Resolves a relative path for @file to an absolute path. This call does no blocking i/o. is %NULL or if @file is invalid. Free the returned object with g_object_unref(). #GFile to the resolved path. %NULL if @relative_path a given relative path string. Sets an attribute in the file with attribute name @attribute to @value. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the attribute was set, %FALSE otherwise. a string containing the attribute's name. The type of the attribute a pointer to the value (or the pointer itself if the type is a pointer type) a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING to @value. If @attribute is of a different type, this operation will fail, returning %FALSE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. in the @file, %FALSE otherwise. %TRUE if the @attribute was successfully set to @value a string containing the attribute's name. a string containing the attribute's new value. a #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT32 to @value. If @attribute is of a different type, this operation will fail. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. in the @file, %FALSE otherwise. %TRUE if the @attribute was successfully set to @value a string containing the attribute's name. a #gint32 containing the attribute's new value. a #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT64 to @value. If @attribute is of a different type, this operation will fail. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @attribute was successfully set, %FALSE otherwise. a string containing the attribute's name. a #guint64 containing the attribute's new value. a #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_STRING to @value. If @attribute is of a different type, this operation will fail. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @attribute was successfully set, %FALSE otherwise. a string containing the attribute's name. a string containing the attribute's value. #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT32 to @value. If @attribute is of a different type, this operation will fail. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. in the @file, %FALSE otherwise. %TRUE if the @attribute was successfully set to @value a string containing the attribute's name. a #guint32 containing the attribute's new value. a #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT64 to @value. If @attribute is of a different type, this operation will fail. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. in the @file, %FALSE otherwise. %TRUE if the @attribute was successfully set to @value a string containing the attribute's name. a #guint64 containing the attribute's new value. a #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. Asynchronously sets the attributes of @file with @info. For more details, see g_file_set_attributes_from_info() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_set_attributes_finish() to get the result of the operation. a #GFileInfo. a #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback. a #gpointer. Finishes setting an attribute started in g_file_set_attributes_async(). %TRUE if the attributes were set correctly, %FALSE otherwise. a #GAsyncResult. a #GFileInfo. Tries to set all attributes in the #GFileInfo on the target values, not stopping on the first error. If there is any error during this operation then @error will be set to the first error. Error on particular fields are flagged by setting the "status" field in the attribute value to %G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, which means you can also detect further errors. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if there was any error, %FALSE otherwise. a #GFileInfo. #GFileQueryInfoFlags optional #GCancellable object, %NULL to ignore. Renames @file to the specified display name. The display name is converted from UTF8 to the correct encoding for the target filesystem if possible and the @file is renamed to this. If you want to implement a rename operation in the user interface the edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename widget, and then the result after editing should be passed to g_file_set_display_name(). On success the resulting converted filename is returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. if there was an error. Free the returned object with g_object_unref(). a #GFile specifying what @file was renamed to, or %NULL a string. optional #GCancellable object, %NULL to ignore. Asynchronously sets the display name for a given #GFile. For more details, see g_file_set_display_name() which is the synchronous version of this call. When the operation is finished, @callback will be called. You can then call g_file_set_display_name_finish() to get the result of the operation. a string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes setting a display name started with g_file_set_display_name_async(). Free the returned object with g_object_unref(). a #GFile or %NULL on error. a #GAsyncResult. Starts a file of type G_FILE_TYPE_MOUNTABLE. Using @start_operation, you can request callbacks when, for instance, passwords are needed during authentication. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_mount_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes a start operation. See g_file_start_mountable() for details. Finish an asynchronous start operation that was started with g_file_start_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Stops a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_stop_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an stop operation, see g_file_stop_mountable() for details. Finish an asynchronous stop operation that was started with g_file_stop_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Checks if @file supports <link linkend="g-main-context-push-thread-default-context">thread-default contexts</link>. If this returns %FALSE, you cannot perform asynchronous operations on @file in a thread that has a thread-default context. Whether or not @file supports thread-default contexts. Sends @file to the "Trashcan", if possible. This is similar to deleting it, but the user can recover it before emptying the trashcan. Not all file systems support trashing, so this call can return the %G_IO_ERROR_NOT_SUPPORTED error. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE on successful trash, %FALSE otherwise. optional #GCancellable object, %NULL to ignore. Unmounts a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_unmount_mountable_finish() to get the result of the operation. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an unmount operation, see g_file_unmount_mountable() for details. Finish an asynchronous unmount operation that was started with g_file_unmount_mountable(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Unmounts a file of type G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. When the operation is finished, @callback will be called. You can then call g_file_unmount_mountable_finish() to get the result of the operation. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function Finishes an unmount operation, see g_file_unmount_mountable_with_operation() for details. Finish an asynchronous unmount operation that was started with g_file_unmount_mountable_with_operation(). otherwise. %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Information about a specific attribute. Flags specifying the behaviour of an attribute. Acts as a lightweight registry for possible valid file attributes. The registry stores Key-Value pair formats as #GFileAttributeInfo<!-- -->s. Creates a new file attribute info list. a #GFileAttributeInfoList. Adds a new attribute with @name to the @list, setting its @type and @flags. the name of the attribute to add. the #GFileAttributeType for the attribute. #GFileAttributeInfoFlags for the attribute. Makes a duplicate of a file attribute info list. a copy of the given @list. Gets the file attribute with the name @name from @list. attribute isn't found. a #GFileAttributeInfo for the @name, or %NULL if an the name of the attribute to lookup. References a file attribute info list. #GFileAttributeInfoList or %NULL on error. Removes a reference from the given @list. If the reference count falls to zero, the @list is deleted. Determines if a string matches a file attribute. Creates a new file attribute matcher, which matches attributes against a given string. #GFileAttributeMatcher<!-- -->s are reference counted structures, and are created with a reference count of 1. If the number of references falls to 0, the #GFileAttributeMatcher is automatically destroyed. The @attribute string should be formatted with specific keys separated from namespaces with a double colon. Several "namespace::key" strings may be concatenated with a single comma (e.g. "standard::type,standard::is-hidden"). The wildcard "*" may be used to match all keys and namespaces, or "namespace::*" will match all keys in a given namespace. Examples of strings to use: <table> <title>File Attribute Matcher strings and results</title> <tgroup cols='2' align='left'><thead> <row><entry> Matcher String </entry><entry> Matches </entry></row></thead> <tbody> <row><entry>"*"</entry><entry>matches all attributes.</entry></row> <row><entry>"standard::is-hidden"</entry><entry>matches only the key is-hidden in the standard namespace.</entry></row> <row><entry>"standard::type,unix::*"</entry><entry>matches the type key in the standard namespace and all keys in the unix namespace.</entry></row> </tbody></tgroup> </table> a #GFileAttributeMatcher. an attribute string to match. Checks if the matcher will match all of the keys in a given namespace. This will always return %TRUE if a wildcard character is in use (e.g. if matcher was created with "standard::*" and @ns is "standard", or if matcher was created using "*" and namespace is anything.) in the given @ns, %FALSE otherwise. %TRUE if the matcher matches all of the entries a string containing a file attribute namespace. Gets the next matched attribute from a #GFileAttributeMatcher. no more attribute exist. a string containing the next attribute or %NULL if Checks if an attribute will be matched by an attribute matcher. If the matcher was created with the "*" matching string, this function will always return %TRUE. %TRUE if @attribute matches @matcher. %FALSE otherwise. a file attribute key. Checks if a attribute matcher only matches a given attribute. Always returns %FALSE if "*" was used when creating the matcher. %TRUE if the matcher only matches @attribute. %FALSE otherwise. a file attribute key. References a file attribute matcher. a #GFileAttributeMatcher. Unreferences @matcher. If the reference count falls below 1, the @matcher is automatically freed. Used by g_file_set_attributes_from_info() when setting file attributes. The data types for file attributes. Flags used when copying or moving files. Flags used when an operation may create a file. An interface for file descriptor based io objects. Gets the underlying file descriptor. The file descriptor Gets the underlying file descriptor. The file descriptor The file descriptor A per matched file iterator. Asynchronously closes the file enumerator. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in g_file_enumerator_close_finish(). the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes closing a file enumerator, started from g_file_enumerator_close_async(). If the file enumerator was already closed when g_file_enumerator_close_async() was called, then this function will report %G_IO_ERROR_CLOSED in @error, and return %FALSE. If the file enumerator had pending operation when the close operation was started, then this function will report %G_IO_ERROR_PENDING, and return %FALSE. If @cancellable was not %NULL, then the operation may have been cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be returned. %TRUE if the close operation has finished successfully. Returns information for the next file in the enumerated object. Will block until the information is available. The #GFileInfo returned from this function will contain attributes that match the attribute string that was passed when the #GFileEnumerator was created. On error, returns %NULL and sets @error to the error. If the enumerator is at the end, %NULL will be returned and @error will be unset. Free the returned object with g_object_unref() when no longer needed. A #GFileInfo or %NULL on error or end of enumerator. optional #GCancellable object, %NULL to ignore. Request information for a number of files from the enumerator asynchronously. When all i/o for the operation is finished the @callback will be called with the requested information. The callback can be called with less than @num_files files in case of error or at the end of the enumerator. In case of a partial error the callback will be called with any succeeding items and no error, and on the next request the error will be reported. If a request is cancelled the callback will be called with %G_IO_ERROR_CANCELLED. During an async request no other sync and async calls are allowed, and will result in %G_IO_ERROR_PENDING errors. Any outstanding i/o request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. the number of file info objects to request the <link linkend="gioscheduler">io priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes the asynchronous operation started with g_file_enumerator_next_files_async(). g_list_free() and unref the infos with g_object_unref() when you're done with them. a #GList of #GFileInfo<!---->s. You must free the list with Releases all resources used by this enumerator, making the enumerator return %G_IO_ERROR_CLOSED on all calls. This will be automatically called when the last reference is dropped, but you might want to call this function to make sure resources are released as early as possible. #TRUE on success or #FALSE on error. optional #GCancellable object, %NULL to ignore. Asynchronously closes the file enumerator. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in g_file_enumerator_close_finish(). the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes closing a file enumerator, started from g_file_enumerator_close_async(). If the file enumerator was already closed when g_file_enumerator_close_async() was called, then this function will report %G_IO_ERROR_CLOSED in @error, and return %FALSE. If the file enumerator had pending operation when the close operation was started, then this function will report %G_IO_ERROR_PENDING, and return %FALSE. If @cancellable was not %NULL, then the operation may have been cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be returned. %TRUE if the close operation has finished successfully. a #GAsyncResult. Get the #GFile container which is being enumerated. the #GFile which is being enumerated. Checks if the file enumerator has pending operations. %TRUE if the @enumerator has pending operations. Checks if the file enumerator has been closed. %TRUE if the @enumerator is closed. Returns information for the next file in the enumerated object. Will block until the information is available. The #GFileInfo returned from this function will contain attributes that match the attribute string that was passed when the #GFileEnumerator was created. On error, returns %NULL and sets @error to the error. If the enumerator is at the end, %NULL will be returned and @error will be unset. Free the returned object with g_object_unref() when no longer needed. A #GFileInfo or %NULL on error or end of enumerator. optional #GCancellable object, %NULL to ignore. Request information for a number of files from the enumerator asynchronously. When all i/o for the operation is finished the @callback will be called with the requested information. The callback can be called with less than @num_files files in case of error or at the end of the enumerator. In case of a partial error the callback will be called with any succeeding items and no error, and on the next request the error will be reported. If a request is cancelled the callback will be called with %G_IO_ERROR_CANCELLED. During an async request no other sync and async calls are allowed, and will result in %G_IO_ERROR_PENDING errors. Any outstanding i/o request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. the number of file info objects to request the <link linkend="gioscheduler">io priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes the asynchronous operation started with g_file_enumerator_next_files_async(). g_list_free() and unref the infos with g_object_unref() when you're done with them. a #GList of #GFileInfo<!---->s. You must free the list with a #GAsyncResult. Sets the file enumerator as having pending operations. a boolean value. A #GFileInfo or %NULL on error or end of enumerator. optional #GCancellable object, %NULL to ignore. the number of file info objects to request the <link linkend="gioscheduler">io priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GList of #GFileInfo<!---->s. You must free the list with the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function %TRUE if the close operation has finished successfully. A subclass of GIOStream for opened files. This adds a few file-specific operations and seeking and truncating. #GFileIOStream implements GSeekable. Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing. the entity tag for the stream. Queries a file io stream for the given @attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_io_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING. Can fail if the stream was already closed (with @error being set to %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being set to %G_IO_ERROR_PENDING), or if querying info is not supported for the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I all cases of failure, %NULL will be returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will be returned. a #GFileInfo for the @stream, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. Asynchronously queries the @stream for a #GFileInfo. When completed, finish the operation with g_file_io_stream_query_info_finish(). For the synchronous version of this function, see g_file_io_stream_query_info(). a file attribute query string. the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finalizes the asynchronous query started by g_file_io_stream_query_info_async(). A #GFileInfo for the finished query. Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing. the entity tag for the stream. Queries a file io stream for the given @attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_io_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING. Can fail if the stream was already closed (with @error being set to %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being set to %G_IO_ERROR_PENDING), or if querying info is not supported for the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I all cases of failure, %NULL will be returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will be returned. a #GFileInfo for the @stream, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. Asynchronously queries the @stream for a #GFileInfo. When completed, finish the operation with g_file_io_stream_query_info_finish(). For the synchronous version of this function, see g_file_io_stream_query_info(). a file attribute query string. the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finalizes the asynchronous query started by g_file_io_stream_query_info_async(). A #GFileInfo for the finished query. a #GAsyncResult. a #GFileInfo for the @stream, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. a file attribute query string. the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function A #GFileInfo for the finished query. the entity tag for the stream. Gets an icon for a #GFile. Implements #GLoadableIcon. Gets the #GFile associated with the given @icon. a #GFile, or %NULL. The file containing the icon. An interface for writing VFS file handles. a new #GFile that is a duplicate of the given #GFile. %TRUE if @file1 and @file2 are equal. the second #GFile. %TRUE if file is native. %TRUE if #GFile's backend supports the a string containing a URI scheme. a string containing the URI scheme for the given string containing the #GFile's base name, or %NULL string containing the #GFile's path, or %NULL if a string containing the #GFile's URI. a string containing the #GFile's parse name. The returned a #GFile structure to the parent of the given %TRUE if the @files's parent, grandparent, etc is @prefix. input #GFile. string with the relative path from @descendant input #GFile. #GFile to the resolved path. %NULL if @relative_path a given relative path string. a #GFile to the specified child, or string to a possible child. A #GFileEnumerator if successful, %NULL on error. an attribute query string. a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. an attribute query string. a set of #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileEnumerator or %NULL if an error occurred. a #GAsyncResult. a #GFileInfo for the given @file, or %NULL on error. an attribute query string. a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. an attribute query string. a set of #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function #GFileInfo for given @file or %NULL on error. a #GAsyncResult. a #GFileInfo or %NULL if there was an error. an attribute query string. optional #GCancellable object, %NULL to ignore. an attribute query string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function #GFileInfo for given @file or %NULL on error. a #GAsyncResult. a #GMount where the @file is located or %NULL on error. optional #GCancellable object, %NULL to ignore. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function #GMount for given @file or %NULL on error. a #GAsyncResult a #GFile specifying what @file was renamed to, or %NULL a string. optional #GCancellable object, %NULL to ignore. a string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFile or %NULL on error. a #GAsyncResult. a #GFileAttributeInfoList describing the settable attributes. optional #GCancellable object, %NULL to ignore. a #GFileAttributeInfoList describing the writable namespaces. optional #GCancellable object, %NULL to ignore. %TRUE if the attribute was set, %FALSE otherwise. a string containing the attribute's name. The type of the attribute a pointer to the value (or the pointer itself if the type is a pointer type) a set of #GFileQueryInfoFlags. optional #GCancellable object, %NULL to ignore. %TRUE if there was any error, %FALSE otherwise. a #GFileInfo. #GFileQueryInfoFlags optional #GCancellable object, %NULL to ignore. a #GFileInfo. a #GFileQueryInfoFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback. a #gpointer. %TRUE if the attributes were set correctly, %FALSE otherwise. a #GAsyncResult. a #GFileInfo. #GFileInputStream or %NULL on error. a #GCancellable the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileInputStream or %NULL on error. a #GAsyncResult. a #GFileOutputStream, or %NULL on error. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a valid #GFileOutputStream or %NULL on error. #GAsyncResult a #GFileOutputStream for the newly created file, or a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileOutputStream or %NULL on error. a #GAsyncResult. a #GFileOutputStream or %NULL on error. an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. optional #GCancellable object, %NULL to ignore. an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileOutputStream, or %NULL on error. a #GAsyncResult. %TRUE if the file was deleted. %FALSE otherwise. optional #GCancellable object, %NULL to ignore. %TRUE on successful trash, %FALSE otherwise. optional #GCancellable object, %NULL to ignore. %TRUE on the creation of a new symlink, %FALSE otherwise. a string with the path for the target of the new symlink optional #GCancellable object, %NULL to ignore. %TRUE on success, %FALSE otherwise. destination #GFile set of #GFileCopyFlags optional #GCancellable object, %NULL to ignore. function to callback with progress information user data to pass to @progress_callback destination #GFile set of #GFileCopyFlags the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. function to callback with progress information user data to pass to @progress_callback a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a %TRUE on success, %FALSE on error. a #GAsyncResult. %TRUE on successful move, %FALSE otherwise. #GFile pointing to the destination location. set of #GFileCopyFlags. optional #GCancellable object, %NULL to ignore. #GFileProgressCallback function for updates. gpointer to user data for the callback function. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function a #GFile or %NULL on error. a #GAsyncResult. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the @file was ejected successfully. %FALSE a #GAsyncResult. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if successful. If an error a #GAsyncResult. a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags. optional #GCancellable object, %NULL to ignore. a #GFileMonitor for the given @file, or %NULL on error. a set of #GFileMonitorFlags. optional #GCancellable object, %NULL to ignore. #GFileIOStream or %NULL on error. a #GCancellable the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileIOStream or %NULL on error. a #GAsyncResult. a #GFileIOStream for the newly created file, or %NULL on error. a set of #GFileCreateFlags optional #GCancellable object, %NULL to ignore a set of #GFileCreateFlags the <link linkend="io-priority">I/O priority</link> of the request optional #GCancellable object, %NULL to ignore a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileIOStream or %NULL on error. a #GAsyncResult a #GFileIOStream or %NULL on error. an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore %TRUE if a backup should be created a set of #GFileCreateFlags optional #GCancellable object, %NULL to ignore an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. %TRUE if a backup should be created. a set of #GFileCreateFlags. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GFileIOStream, or %NULL on error. a #GAsyncResult. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. flags affecting the operation a #GMountOperation, or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the @file was ejected successfully. %FALSE a #GAsyncResult. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. the data to pass to callback function %TRUE if the operation finished successfully. %FALSE a #GAsyncResult. Stores information about a file system object referenced by a #GFile. Creates a new file info structure. a #GFileInfo. Clears the status information from @info. Copies all of the #GFileAttribute<!-- -->s from @src_info to @dest_info. destination to copy attributes to. Duplicates a file info structure. a duplicate #GFileInfo of @other. Gets the value of a attribute, formated as a string. This escapes things as needed to make the string valid utf8. When you're done with the string it must be freed with g_free(). a UTF-8 string associated with the given @attribute. a file attribute key. Gets the value of a boolean attribute. If the attribute does not contain a boolean value, %FALSE will be returned. the boolean value contained within the attribute. a file attribute key. Gets the value of a byte string attribute. If the attribute does not contain a byte string, %NULL will be returned. %NULL otherwise. the contents of the @attribute value as a byte string, or a file attribute key. Gets the attribute type, value and status for an attribute key. %FALSE otherwise. %TRUE if @info has an attribute named @attribute, a file attribute key return location for the attribute type, or %NULL return location for the attribute value, or %NULL return location for the attribute status, or %NULL Gets a signed 32-bit integer contained within the attribute. If the attribute does not contain a signed 32-bit integer, or is invalid, 0 will be returned. a signed 32-bit integer from the attribute. a file attribute key. Gets a signed 64-bit integer contained within the attribute. If the attribute does not contain an signed 64-bit integer, or is invalid, 0 will be returned. a signed 64-bit integer from the attribute. a file attribute key. Gets the value of a #GObject attribute. If the attribute does not contain a #GObject, %NULL will be returned. %NULL otherwise. a #GObject associated with the given @attribute, or a file attribute key. Gets the value of a string attribute. If the attribute does not contain a string, %NULL will be returned. %NULL otherwise. the contents of the @attribute value as a string, or a file attribute key. Gets the value of a stringv attribute. If the attribute does not contain a stringv, %NULL will be returned. %NULL otherwise. Do not free. the contents of the @attribute value as a stringv, or a file attribute key. Gets the attribute type for an attribute key. %G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set. a #GFileAttributeType for the given @attribute, or a file attribute key. Gets an unsigned 32-bit integer contained within the attribute. If the attribute does not contain an unsigned 32-bit integer, or is invalid, 0 will be returned. an unsigned 32-bit integer from the attribute. a file attribute key. Gets a unsigned 64-bit integer contained within the attribute. If the attribute does not contain an unsigned 64-bit integer, or is invalid, 0 will be returned. a unsigned 64-bit integer from the attribute. a file attribute key. Gets the file's content type. a string containing the file's content type. Gets a display name for a file. a string containing the display name. Gets the edit name for a file. a string containing the edit name. Gets the <link linkend="gfile-etag">entity tag</link> for a given #GFileInfo. See %G_FILE_ATTRIBUTE_ETAG_VALUE. a string containing the value of the "etag:value" attribute. Gets a file's type (whether it is a regular file, symlink, etc). This is different from the file's content type, see g_file_info_get_content_type(). a #GFileType for the given file. Gets the icon for a file. #GIcon for the given @info. Checks if a file is a backup file. %TRUE if file is a backup file, %FALSE otherwise. Checks if a file is hidden. %TRUE if the file is a hidden file, %FALSE otherwise. Checks if a file is a symlink. %TRUE if the given @info is a symlink. Gets the modification time of the current @info and sets it in @result. a #GTimeVal. Gets the name for a file. a string containing the file name. Gets the file's size. a #goffset containing the file's size. Gets the value of the sort_order attribute from the #GFileInfo. See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. a #gint32 containing the value of the "standard::sort_order" attribute. Gets the symlink target for a given #GFileInfo. a string containing the symlink target. Checks if a file info structure has an attribute named @attribute. %FALSE otherwise. %TRUE if @Ginfo has an attribute named @attribute, a file attribute key. Checks if a file info structure has an attribute in the specified @name_space. %FALSE otherwise. %TRUE if @Ginfo has an attribute in @name_space, a file attribute namespace. Lists the file info structure's attributes. possible attribute types for the given @name_space, or %NULL on error. a null-terminated array of strings of all of the a file attribute key's namespace. Removes all cases of @attribute from @info if it exists. a file attribute key. Sets the @attribute to contain the given value, if possible. a file attribute key. a #GFileAttributeType pointer to the value Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. a boolean value. Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. a byte string. Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. a signed 32-bit integer Sets the @attribute to contain the given @attr_value, if possible. attribute name to set. int64 value to set attribute to. Sets @mask on @info to match specific attribute types. a #GFileAttributeMatcher. Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. a #GObject. Sets the attribute status for an attribute key. This is only needed by external code that implement g_file_set_attributes_from_info() or similar functions. The attribute must exist in @info for this to work. Otherwise %FALSE is returned and @info is unchanged. %TRUE if the status was changed, %FALSE if the key was not set. a file attribute key a #GFileAttributeStatus Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. a string. Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. a %NULL terminated string array Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. an unsigned 32-bit integer. Sets the @attribute to contain the given @attr_value, if possible. a file attribute key. an unsigned 64-bit integer. Sets the content type attribute for a given #GFileInfo. See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. a content type. See #GContentType. Sets the display name for the current #GFileInfo. See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. a string containing a display name. Sets the edit name for the current file. See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. a string containing an edit name. Sets the file type in a #GFileInfo to @type. See %G_FILE_ATTRIBUTE_STANDARD_TYPE. a #GFileType. Sets the icon for a given #GFileInfo. See %G_FILE_ATTRIBUTE_STANDARD_ICON. a #GIcon. Sets the "is_hidden" attribute in a #GFileInfo according to @is_symlink. See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. a #gboolean. Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink. See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. a #gboolean. Sets the name attribute for the current #GFileInfo. See %G_FILE_ATTRIBUTE_STANDARD_NAME. a string containing a name. Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info to the given size. a #goffset containing the file's size. Sets the sort order attribute in the file info structure. See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. a sort order integer. Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info to the given symlink target. a static string containing a path to a symlink target. Unsets a mask set by g_file_info_set_attribute_mask(), if one is set. A subclass of GInputStream for opened files. This adds a few file-specific operations and seeking. #GFileInputStream implements #GSeekable. Queries a file input stream the given @attributes. This function blocks while querying the stream. For the asynchronous (non-blocking) version of this function, see g_file_input_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING. a #GFileInfo, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. Queries the stream information asynchronously. When the operation is finished @callback will be called. You can then call g_file_input_stream_query_info_finish() to get the result of the operation. For the synchronous version of this function, see g_file_input_stream_query_info(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set a file attribute query string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous info query operation. #GFileInfo. Queries a file input stream the given @attributes. This function blocks while querying the stream. For the asynchronous (non-blocking) version of this function, see g_file_input_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING. a #GFileInfo, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. Queries the stream information asynchronously. When the operation is finished @callback will be called. You can then call g_file_input_stream_query_info_finish() to get the result of the operation. For the synchronous version of this function, see g_file_input_stream_query_info(). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set a file attribute query string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous info query operation. #GFileInfo. a #GAsyncResult. a #GFileInfo, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. a file attribute query string. the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function #GFileInfo. Watches for changes to a file. Cancels a file monitor. %TRUE if monitor was cancelled. Cancels a file monitor. %TRUE if monitor was cancelled. Emits the #GFileMonitor::changed signal if a change has taken place. Should be called from file monitor implementations only. The signal will be emitted from an idle handler (in the <link linkend="g-main-context-push-thread-default">thread-default main context</link>). a #GFile. a #GFile. a set of #GFileMonitorEvent flags. Returns whether the monitor is canceled. %TRUE if monitor is canceled. %FALSE otherwise. Sets the rate limit to which the @monitor will report consecutive change events to the same file. a integer with the limit in milliseconds to poll for changes. Emitted when a file has been changed. a #GFile. a #GFile. a #GFileMonitorEvent. %TRUE if monitor was cancelled. Specifies what type of event a monitor event is. Flags used to set what a #GFileMonitor will watch for. A subclass of GOutputStream for opened files. This adds a few file-specific operations and seeking and truncating. #GFileOutputStream implements GSeekable. Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing. the entity tag for the stream. Queries a file output stream for the given @attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_output_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING. Can fail if the stream was already closed (with @error being set to %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being set to %G_IO_ERROR_PENDING), or if querying info is not supported for the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In all cases of failure, %NULL will be returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will be returned. a #GFileInfo for the @stream, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. Asynchronously queries the @stream for a #GFileInfo. When completed, finish the operation with g_file_output_stream_query_info_finish(). For the synchronous version of this function, see g_file_output_stream_query_info(). a file attribute query string. the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finalizes the asynchronous query started by g_file_output_stream_query_info_async(). A #GFileInfo for the finished query. Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing. the entity tag for the stream. Queries a file output stream for the given @attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_output_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with %G_IO_ERROR_PENDING. Can fail if the stream was already closed (with @error being set to %G_IO_ERROR_CLOSED), the stream has pending operations (with @error being set to %G_IO_ERROR_PENDING), or if querying info is not supported for the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In all cases of failure, %NULL will be returned. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will be returned. a #GFileInfo for the @stream, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. Asynchronously queries the @stream for a #GFileInfo. When completed, finish the operation with g_file_output_stream_query_info_finish(). For the synchronous version of this function, see g_file_output_stream_query_info(). a file attribute query string. the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finalizes the asynchronous query started by g_file_output_stream_query_info_async(). A #GFileInfo for the finished query. a #GAsyncResult. a #GFileInfo for the @stream, or %NULL on error. a file attribute query string. optional #GCancellable object, %NULL to ignore. a file attribute query string. the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function A #GFileInfo for the finished query. the entity tag for the stream. When doing file operations that may take a while, such as moving a file or copying a file, a progress callback is used to pass how far along that operation is to the application. the current number of bytes in the operation. the total number of bytes in the operation. user data passed to the callback. Flags used when querying a #GFileInfo. When loading the partial contents of a file with g_file_load_partial_contents_async(), it may become necessary to determine if any more data from the file should be loaded. A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data should be read, or %FALSE otherwise. %TRUE if more data should be read back. %FALSE otherwise. the data as currently read. the size of the data currently read. data passed to the callback. Indicates the file's on-disk type. Completes filenames based on files that exist within the file system. Creates a new filename completer. a #GFilenameCompleter. Obtains a completion for @initial_text from @completer. This string is not owned by GIO, so remember to g_free() it when finished. a completed string, or %NULL if no completion exists. text to be completed. Gets an array of completion strings for a given initial text. This array must be freed by g_strfreev() when finished. array of strings with possible completions for @initial_text. text to be completed. If @dirs_only is %TRUE, @completer will only complete directory names, and not file names. a #gboolean. Emitted when the file name completion information comes available. Indicates a hint from the file system whether files should be previewed in a file manager. Returned as the value of the key #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. A base class for all input streams that work on an underlying stream. Gets the base stream for the filter stream. a #GInputStream. Returns whether the base stream will be closed when @stream is closed. %TRUE if the base stream will be closed. Sets whether the base stream will be closed when @stream is closed. %TRUE to close the base stream. A base class for all output streams that work on an underlying stream. Gets the base stream for the filter stream. a #GOutputStream. Returns whether the base stream will be closed when @stream is closed. %TRUE if the base stream will be closed. Sets whether the base stream will be closed when @stream is closed. %TRUE to close the base stream. Error codes returned by GIO functions. Gets the name under which @extension was registered. Note that the same type may be registered as extension for multiple extension points, under different names. the name of @extension. Gets the priority with which @extension was registered. the priority of @extension Gets a reference to the class for the type that is associated with @extension. the #GTypeClass for the type of @extension Finds a #GIOExtension for an extension point by name. given name, or %NULL if there is no extension with that name the #GIOExtension for @extension_point that has the the name of the extension to get Gets a list of all extensions that implement this extension point. The list is sorted by priority, beginning with the highest priority. #GIOExtension<!-- -->s. The list is owned by GIO and should not be modified. a #GList of Gets the required type for @extension_point. or #G_TYPE_INVALID if the extension point has no required type the #GType that all implementations must have, Sets the required type for @extension_point to @type. All implementations must henceforth have this type. the #GType to require Opaque module base class for extending GIO. Creates a new GIOModule that will load the specific shared library when in use. or %NULL on error. a #GIOModule from given @filename, filename of the shared library module. Optional API for GIO modules to implement. Should return a list of all the extension points that may be implemented in this module. This method will not be called in normal use, however it may be called when probing existing modules and recording which extension points that this modle is used for. This means we won't have to load and initialze this module unless its needed. If this function is not implemented by the module the module will always be loaded, initialized and then unloaded on application startup so that it can register its extension points during init. Note that a module need not actually implement all the extension points that g_io_module_query returns, since the exact list of extension may depend on runtime issues. However all extension points actually implemented must be returned by g_io_module_query() (if defined). When installing a module that implements g_io_module_query you must run gio-querymodules in order to build the cache files required for lazy loading. extension points of the module. The array must be suitable for freeing with g_strfreev(). A %NULL-terminated array of strings, listing the supported Required API for GIO modules to implement. This function is ran after the module has been loaded into GIO, to initialize the module. Required API for GIO modules to implement. This function is ran when the module is being unloaded from GIO, to finalize the module. Opaque class for definining and scheduling IO jobs. Used from an I/O job to send a callback to be run in the thread that the job was started from, waiting for the result (and thus blocking the I/O job). The return value of @func a #GSourceFunc callback that will be called in the original thread data to pass to @func a #GDestroyNotify for @user_data, or %NULL Used from an I/O job to send a callback to be run asynchronously in the thread that the job was started from. The callback will be run when the main loop is available, but at that time the I/O job might have finished. The return value from the callback is ignored. Note that if you are passing the @user_data from g_io_scheduler_push_job() on to this function you have to ensure that it is not freed before g_io_scheduler_push_job() or by using refcounting for @user_data. a #GSourceFunc callback that will be called in the original thread data to pass to @func a #GDestroyNotify for @user_data, or %NULL I/O Job function. Note that depending on whether threads are available, the #GIOScheduler may run jobs in separate threads or in an idle in the mainloop. Long-running jobs should periodically check the @cancellable to see if they have been cancelled. complete the job, %FALSE if the job is complete (or cancelled) %TRUE if this function should be called again to a #GIOSchedulerJob. optional #GCancellable object, %NULL to ignore. the data to pass to callback function Base class for read-write streams. Requests an asynchronous close of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_io_stream_close_finish() to get the result of the operation. For behaviour details see g_io_stream_close(). The asynchronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. the io priority of the request optional cancellable object callback to call when the request is satisfied the data to pass to callback function Closes a stream. %TRUE if stream was successfully closed, %FALSE otherwise. a #GAsyncResult Gets the input stream for this object. This is used for reading. Do not free. a #GInputStream, owned by the #GIOStream. Gets the output stream for this object. This is used for writing. Do not free. a #GOutputStream, owned by the #GIOStream. Clears the pending flag on @stream. Closes the stream, releasing resources related to it. This will also closes the individual input and output streams, if they are not already closed. Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED. Closing a stream multiple times will not return an error. Closing a stream will automatically flush any outstanding buffers in the stream. Streams will be automatically closed when the last reference is dropped, but you might want to call this function to make sure resources are released as early as possible. Some streams might keep the backing store of the stream (e.g. a file descriptor) open after the stream is closed. See the documentation for the individual stream for details. On failure the first error that happened will be reported, but the close operation will finish as much as possible. A stream that failed to close will still return %G_IO_ERROR_CLOSED for all operations. Still, it is important to check and report the error to the user, otherwise there might be a loss of data as all data might not be written. If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Cancelling a close will still leave the stream closed, but some streams can use a faster close that doesn't block to e.g. check errors. The default implementation of this method just calls close on the individual input/output streams. %TRUE on success, %FALSE on failure optional #GCancellable object, %NULL to ignore Requests an asynchronous close of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_io_stream_close_finish() to get the result of the operation. For behaviour details see g_io_stream_close(). The asynchronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. the io priority of the request optional cancellable object callback to call when the request is satisfied the data to pass to callback function Closes a stream. %TRUE if stream was successfully closed, %FALSE otherwise. a #GAsyncResult Gets the input stream for this object. This is used for reading. Do not free. a #GInputStream, owned by the #GIOStream. Gets the output stream for this object. This is used for writing. Do not free. a #GOutputStream, owned by the #GIOStream. Checks if a stream has pending actions. %TRUE if @stream has pending actions. Checks if a stream is closed. %TRUE if the stream is closed. Sets @stream to have actions pending. If the pending flag is already set or @stream is closed, it will return %FALSE and set %TRUE if pending was previously unset and is now set. a #GInputStream, owned by the #GIOStream. a #GOutputStream, owned by the #GIOStream. the io priority of the request optional cancellable object callback to call when the request is satisfied the data to pass to callback function %TRUE if stream was successfully closed, %FALSE otherwise. a #GAsyncResult An abstract type that specifies an icon. Checks if two icons are equal. %TRUE if @icon1 is equal to @icon2. %FALSE otherwise. pointer to the second #GIcon. Generates a textual representation of @icon that can be used for serialization such as when passing @icon to a different process or saving it to persistent storage. Use g_icon_new_for_string() to get @icon back from the returned string. The encoding of the returned string is proprietary to #GIcon except in the following two cases <itemizedlist> <listitem><para> If @icon is a #GFileIcon, the returned string is a native path (such as <literal>/path/to/my icon.png</literal>) without escaping if the #GFile for @icon is a native file. If the file is not native, the returned string is the result of g_file_get_uri() (such as <literal>sftp://path/to/my%%20icon.png</literal>). </para></listitem> <listitem><para> If @icon is a #GThemedIcon with exactly one name, the encoding is simply the name (such as <literal>network-server</literal>). </para></listitem> </itemizedlist> be serialized. Use g_free() to free. An allocated NUL-terminated UTF8 string or %NULL if @icon can't Checks if two icons are equal. %TRUE if @icon1 is equal to @icon2. %FALSE otherwise. pointer to the second #GIcon. Generates a textual representation of @icon that can be used for serialization such as when passing @icon to a different process or saving it to persistent storage. Use g_icon_new_for_string() to get @icon back from the returned string. The encoding of the returned string is proprietary to #GIcon except in the following two cases <itemizedlist> <listitem><para> If @icon is a #GFileIcon, the returned string is a native path (such as <literal>/path/to/my icon.png</literal>) without escaping if the #GFile for @icon is a native file. If the file is not native, the returned string is the result of g_file_get_uri() (such as <literal>sftp://path/to/my%%20icon.png</literal>). </para></listitem> <listitem><para> If @icon is a #GThemedIcon with exactly one name, the encoding is simply the name (such as <literal>network-server</literal>). </para></listitem> </itemizedlist> be serialized. Use g_free() to free. An allocated NUL-terminated UTF8 string or %NULL if @icon can't GIconIface is used to implement GIcon types for various different systems. See #GThemedIcon and #GLoadableIcon for examples of how to implement this interface. %TRUE if @icon1 is equal to @icon2. %FALSE otherwise. pointer to the second #GIcon. An allocated NUL-terminated UTF8 string or %NULL if @icon can't An IPv4 or IPv6 internet address. Creates a #GInetAddress for the "any" address (unassigned/"don't care") for @family. for @family. a new #GInetAddress corresponding to the "any" address the address family Creates a new #GInetAddress from the given @family and @bytes. %G_INET_ADDRESS_IPV6. a new #GInetAddress corresponding to @family and @bytes. raw address data the address family of @bytes Parses @string as an IP address and creates a new #GInetAddress. a new #GInetAddress corresponding to @string, or %NULL if a string representation of an IP address Creates a #GInetAddress for the loopback address for @family. for @family. a new #GInetAddress corresponding to the loopback address the address family Gets the raw binary address data from @address. which should not be modified, stored, or freed. The size of this array can be gotten with g_inet_address_get_native_size(). a pointer to an internal array of the bytes in @address, Converts @address to string form. freed after use. a representation of @address as a string, which should be Gets @address's family @address's family Tests whether @address is the "any" address for its family. %TRUE if @address is the "any" address for its family. Tests whether @address is a link-local address (that is, if it identifies a host on a local network that is not connected to the Internet). %TRUE if @address is a link-local address. Tests whether @address is the loopback address for its family. %TRUE if @address is the loopback address for its family. Tests whether @address is a global multicast address. %TRUE if @address is a global multicast address. Tests whether @address is a link-local multicast address. %TRUE if @address is a link-local multicast address. Tests whether @address is a node-local multicast address. %TRUE if @address is a node-local multicast address. Tests whether @address is an organization-local multicast address. %TRUE if @address is an organization-local multicast address. Tests whether @address is a site-local multicast address. %TRUE if @address is a site-local multicast address. Tests whether @address is a multicast address. %TRUE if @address is a multicast address. Tests whether @address is a site-local address such as 10.0.0.1 (that is, the address identifies a host on a local network that can not be reached directly from the Internet, but which may have outgoing Internet connectivity via a NAT or firewall). %TRUE if @address is a site-local address. Gets the size of the native raw binary address for @address. This is the size of the data that you get from g_inet_address_to_bytes(). the number of bytes used for the native version of @address. Gets the raw binary address data from @address. which should not be modified, stored, or freed. The size of this array can be gotten with g_inet_address_get_native_size(). a pointer to an internal array of the bytes in @address, Converts @address to string form. freed after use. a representation of @address as a string, which should be Whether this is the "any" address for its family. See g_inet_address_get_is_any(). Whether this is a link-local address. See g_inet_address_get_is_link_local(). Whether this is the loopback address for its family. See g_inet_address_get_is_loopback(). Whether this is a global multicast address. See g_inet_address_get_is_mc_global(). Whether this is a link-local multicast address. See g_inet_address_get_is_mc_link_local(). Whether this is a node-local multicast address. See g_inet_address_get_is_mc_node_local(). Whether this is an organization-local multicast address. See g_inet_address_get_is_mc_org_local(). Whether this is a site-local multicast address. See g_inet_address_get_is_mc_site_local(). Whether this is a multicast address. See g_inet_address_get_is_multicast(). Whether this is a site-local address. See g_inet_address_get_is_loopback(). a representation of @address as a string, which should be a pointer to an internal array of the bytes in @address, An IPv4 or IPv6 socket address, corresponding to a <type>struct sockaddr_in</type> or <type>struct sockaddr_in6</type>. Creates a new #GInetSocketAddress for @address and @port. a new #GInetSocketAddress a #GInetAddress a port number Gets @address's #GInetAddress. g_object_ref()'d if it will be stored the #GInetAddress for @address, which must be Gets @address's port. the port for @address Interface for initializable objects. Initializes the object implementing the interface. This must be done before any real use of the object after initial construction. Implementations may also support cancellation. If @cancellable is not %NULL, then initialization can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL and the object doesn't support cancellable initialization the error %G_IO_ERROR_NOT_SUPPORTED will be returned. If this function is not called, or returns with an error then all operations on the object should fail, generally returning the error %G_IO_ERROR_NOT_INITIALIZED. Implementations of this method must be idempotent, i.e. multiple calls to this function with the same argument should return the same results. Only the first call initializes the object, further calls return the result of the first call. This is so that its safe to implement the singleton pattern in the GObject constructor function. return %FALSE and set @error appropriately if present. %TRUE if successful. If an error has occurred, this function will optional #GCancellable object, %NULL to ignore. Initializes the object implementing the interface. This must be done before any real use of the object after initial construction. Implementations may also support cancellation. If @cancellable is not %NULL, then initialization can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL and the object doesn't support cancellable initialization the error %G_IO_ERROR_NOT_SUPPORTED will be returned. If this function is not called, or returns with an error then all operations on the object should fail, generally returning the error %G_IO_ERROR_NOT_INITIALIZED. Implementations of this method must be idempotent, i.e. multiple calls to this function with the same argument should return the same results. Only the first call initializes the object, further calls return the result of the first call. This is so that its safe to implement the singleton pattern in the GObject constructor function. return %FALSE and set @error appropriately if present. %TRUE if successful. If an error has occurred, this function will optional #GCancellable object, %NULL to ignore. Provides an interface for initializing object such that initialization may fail. %TRUE if successful. If an error has occurred, this function will optional #GCancellable object, %NULL to ignore. Base class for streaming input operations. Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_input_stream_close_finish() to get the result of the operation. For behaviour details see g_input_stream_close(). The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. the <link linkend="io-priority">I/O priority</link> of the request. optional cancellable object callback to call when the request is satisfied the data to pass to callback function Finishes closing a stream asynchronously, started from g_input_stream_close_async(). %TRUE if the stream was closed successfully. a #GAsyncResult. Request an asynchronous read of @count bytes from the stream into the buffer starting at @buffer. When the operation is finished @callback will be called. You can then call g_input_stream_read_finish() to get the result of the operation. During an async request no other sync and async calls are allowed on @stream, and will result in %G_IO_ERROR_PENDING errors. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes read into the buffer will be passed to the callback. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file, but generally we try to read as many bytes as requested. Zero is returned on end of file (or if @count is zero), but never otherwise. Any outstanding i/o request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. a buffer to read data into (which should be at least count bytes long). the number of bytes that will be read from the stream the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous stream read operation. number of bytes read in, or -1 on error. a #GAsyncResult. Tries to skip @count bytes from the stream. Will block during the operation. This is identical to g_input_stream_read(), from a behaviour standpoint, but the bytes that are skipped are not returned to the user. Some streams have an implementation that is more efficient than reading the data. This function is optional for inherited classes, as the default implementation emulates it using read. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. Number of bytes skipped, or -1 on error the number of bytes that will be skipped from the stream optional #GCancellable object, %NULL to ignore. Request an asynchronous skip of @count bytes from the stream. When the operation is finished @callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation. During an async request no other sync and async calls are allowed, and will result in %G_IO_ERROR_PENDING errors. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes skipped will be passed to the callback. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file, but generally we try to skip as many bytes as requested. Zero is returned on end of file (or if @count is zero), but never otherwise. Any outstanding i/o request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. The asynchronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one, you must override all. the number of bytes that will be skipped from the stream the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes a stream skip operation. the size of the bytes skipped, or %-1 on error. a #GAsyncResult. Clears the pending flag on @stream. Closes the stream, releasing resources related to it. Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED. Closing a stream multiple times will not return an error. Streams will be automatically closed when the last reference is dropped, but you might want to call this function to make sure resources are released as early as possible. Some streams might keep the backing store of the stream (e.g. a file descriptor) open after the stream is closed. See the documentation for the individual stream for details. On failure the first error that happened will be reported, but the close operation will finish as much as possible. A stream that failed to close will still return %G_IO_ERROR_CLOSED for all operations. Still, it is important to check and report the error to the user. If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Cancelling a close will still leave the stream closed, but some streams can use a faster close that doesn't block to e.g. check errors. %TRUE on success, %FALSE on failure optional #GCancellable object, %NULL to ignore. Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_input_stream_close_finish() to get the result of the operation. For behaviour details see g_input_stream_close(). The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. the <link linkend="io-priority">I/O priority</link> of the request. optional cancellable object callback to call when the request is satisfied the data to pass to callback function Finishes closing a stream asynchronously, started from g_input_stream_close_async(). %TRUE if the stream was closed successfully. a #GAsyncResult. Checks if an input stream has pending actions. %TRUE if @stream has pending actions. Checks if an input stream is closed. %TRUE if the stream is closed. Tries to read @count bytes from the stream into the buffer starting at If count is zero returns zero and does nothing. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes read into the buffer is returned. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file. Zero is returned on end of file (or if @count is zero), but never otherwise. If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. On error -1 is returned and @error is set accordingly. Number of bytes read, or -1 on error a buffer to read data into (which should be at least count bytes long). the number of bytes that will be read from the stream optional #GCancellable object, %NULL to ignore. Tries to read @count bytes from the stream into the buffer starting at This function is similar to g_input_stream_read(), except it tries to read as many bytes as requested, only stopping on an error or end of stream. On a successful read of @count bytes, or if we reached the end of the stream, %TRUE is returned, and @bytes_read is set to the number of bytes read into @buffer. If there is an error during the operation %FALSE is returned and @error is set to indicate the error status, @bytes_read is updated to contain the number of bytes read into @buffer before the error occurred. %TRUE on success, %FALSE if there was an error a buffer to read data into (which should be at least count bytes long). the number of bytes that will be read from the stream location to store the number of bytes that was read from the stream optional #GCancellable object, %NULL to ignore. Request an asynchronous read of @count bytes from the stream into the buffer starting at @buffer. When the operation is finished @callback will be called. You can then call g_input_stream_read_finish() to get the result of the operation. During an async request no other sync and async calls are allowed on @stream, and will result in %G_IO_ERROR_PENDING errors. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes read into the buffer will be passed to the callback. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file, but generally we try to read as many bytes as requested. Zero is returned on end of file (or if @count is zero), but never otherwise. Any outstanding i/o request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. a buffer to read data into (which should be at least count bytes long). the number of bytes that will be read from the stream the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous stream read operation. number of bytes read in, or -1 on error. a #GAsyncResult. Sets @stream to have actions pending. If the pending flag is already set or @stream is closed, it will return %FALSE and set %TRUE if pending was previously unset and is now set. Tries to skip @count bytes from the stream. Will block during the operation. This is identical to g_input_stream_read(), from a behaviour standpoint, but the bytes that are skipped are not returned to the user. Some streams have an implementation that is more efficient than reading the data. This function is optional for inherited classes, as the default implementation emulates it using read. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. Number of bytes skipped, or -1 on error the number of bytes that will be skipped from the stream optional #GCancellable object, %NULL to ignore. Request an asynchronous skip of @count bytes from the stream. When the operation is finished @callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation. During an async request no other sync and async calls are allowed, and will result in %G_IO_ERROR_PENDING errors. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes skipped will be passed to the callback. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file, but generally we try to skip as many bytes as requested. Zero is returned on end of file (or if @count is zero), but never otherwise. Any outstanding i/o request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. The asynchronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one, you must override all. the number of bytes that will be skipped from the stream the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes a stream skip operation. the size of the bytes skipped, or %-1 on error. a #GAsyncResult. Number of bytes skipped, or -1 on error the number of bytes that will be skipped from the stream optional #GCancellable object, %NULL to ignore. a buffer to read data into (which should be at least count bytes long). the number of bytes that will be read from the stream the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function number of bytes read in, or -1 on error. a #GAsyncResult. the number of bytes that will be skipped from the stream the <link linkend="io-priority">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function the size of the bytes skipped, or %-1 on error. a #GAsyncResult. the <link linkend="io-priority">I/O priority</link> of the request. optional cancellable object callback to call when the request is satisfied the data to pass to callback function %TRUE if the stream was closed successfully. a #GAsyncResult. Structure used for scatter/gather data input. You generally pass in an array of #GInputVector<!-- -->s and the operation will store the read data starting in the first buffer, switching to the next as needed. Generic type for all kinds of icons that can be loaded as a stream. Loads a loadable icon. For the asynchronous version of this function, see g_loadable_icon_load_async(). a #GInputStream to read the icon from. an integer. a location to store the type of the loaded icon, %NULL to ignore. optional #GCancellable object, %NULL to ignore. Loads an icon asynchronously. To finish this function, see g_loadable_icon_load_finish(). For the synchronous, blocking version of this function, see g_loadable_icon_load(). an integer. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous icon load started in g_loadable_icon_load_async(). a #GInputStream to read the icon from. a #GAsyncResult. a location to store the type of the loaded icon, %NULL to ignore. Loads a loadable icon. For the asynchronous version of this function, see g_loadable_icon_load_async(). a #GInputStream to read the icon from. an integer. a location to store the type of the loaded icon, %NULL to ignore. optional #GCancellable object, %NULL to ignore. Loads an icon asynchronously. To finish this function, see g_loadable_icon_load_finish(). For the synchronous, blocking version of this function, see g_loadable_icon_load(). an integer. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes an asynchronous icon load started in g_loadable_icon_load_async(). a #GInputStream to read the icon from. a #GAsyncResult. a location to store the type of the loaded icon, %NULL to ignore. Interface for icons that can be loaded as a stream. a #GInputStream to read the icon from. an integer. a location to store the type of the loaded icon, %NULL to ignore. optional #GCancellable object, %NULL to ignore. an integer. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GInputStream to read the icon from. a #GAsyncResult. a location to store the type of the loaded icon, %NULL to ignore. Implements #GInputStream for arbitrary memory chunks. Creates a new empty #GMemoryInputStream. a new #GInputStream Creates a new #GMemoryInputStream with data in memory of a given size. new #GInputStream read from @data of @len bytes. input data length of the data, may be -1 if @data is a nul-terminated string function that is called to free @data, or %NULL Appends @data to data that can be read from the input stream input data length of the data, may be -1 if @data is a nul-terminated string function that is called to free @data, or %NULL Implements #GOutputStream for arbitrary memory chunks. Creates a new #GMemoryOutputStream. If @data is non-%NULL, the stream will use that for its internal storage. If @realloc_fn is non-%NULL, it will be used for resizing the internal storage when necessary. To construct a fixed-size output stream, pass %NULL as @realloc_fn. |[ /&ast; a stream that can grow &ast;/ stream = g_memory_output_stream_new (NULL, 0, realloc, free); /&ast; another stream that can grow &ast;/ stream2 = g_memory_output_stream_new (NULL, 0, g_realloc, g_free); /&ast; a fixed-size stream &ast;/ data = malloc (200); stream3 = g_memory_output_stream_new (data, 200, NULL, free); ]| A newly created #GMemoryOutputStream object. pointer to a chunk of memory to use, or %NULL the size of @data a function with realloc() semantics (like g_realloc()) to be called when @data needs to be grown, or %NULL a function to be called on @data when the stream is finalized, or %NULL Gets any loaded data from the @ostream. Note that the returned pointer may become invalid on the next write or truncate operation on the stream. pointer to the stream's data Returns the number of bytes from the start up to including the last byte written in the stream that has not been truncated away. the number of bytes written to the stream Gets the size of the currently allocated data area (availible from g_memory_output_stream_get_data()). If the stream isn't growable (no realloc was passed to g_memory_output_stream_new()) then this is the maximum size of the stream and further writes will return %G_IO_ERROR_NO_SPACE. Note that for growable streams the returned size may become invalid on the next write or truncate operation on the stream. If you want the number of bytes currently written to the stream, use g_memory_output_stream_get_data_size(). the number of bytes allocated for the data buffer Gets any loaded data from the @ostream. Ownership of the data is transferred to the caller; when no longer needed it must be freed using the free function set in @ostream's #GMemoryOutputStream:destroy-function property. the stream's data Pointer to buffer where data will be written. Size of data written to the buffer. Function called with the buffer as argument when the stream is destroyed. Function with realloc semantics called to enlarge the buffer. Current size of the data buffer. A handle to an object implementing the #GMountIface interface. Checks if @mount can be eject. %TRUE if the @mount can be ejected. Checks if @mount can be mounted. %TRUE if the @mount can be unmounted. Ejects a mount. This is an asynchronous operation, and is finished by calling g_mount_eject_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully ejected. %FALSE otherwise. a #GAsyncResult. Ejects a mount. This is an asynchronous operation, and is finished by calling g_mount_eject_with_operation_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully ejected. %FALSE otherwise. a #GAsyncResult. Gets the default location of @mount. The default location of the given the home directory, or the root of the volume). The returned object should be unreffed with g_object_unref() when no longer needed. a #GFile. Gets the drive for the @mount. This is a convenience method for getting the #GVolume and then using that object to get the #GDrive. The returned object should be unreffed with g_object_unref() when no longer needed. a #GDrive or %NULL if @mount is not associated with a volume or a drive. Gets the icon for @mount. The returned object should be unreffed with g_object_unref() when no longer needed. a #GIcon. Gets the name of @mount. The returned string should be freed with g_free() when no longer needed. the name for the given @mount. Gets the root directory on @mount. The returned object should be unreffed with g_object_unref() when no longer needed. a #GFile. Gets the UUID for the @mount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available. The returned string should be freed with g_free() when no longer needed. the UUID for @mount or %NULL if no UUID can be computed. Gets the volume for the @mount. The returned object should be unreffed with g_object_unref() when no longer needed. a #GVolume or %NULL if @mount is not associated with a volume. Tries to guess the type of content stored on @mount. Returns one or more textual identifiers of well-known content types (typically prefixed with "x-content/"), e.g. x-content/image-dcf for camera memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> specification for more on x-content types. This is an asynchronous operation (see g_mount_guess_content_type_sync() for the synchronous version), and is finished by calling g_mount_guess_content_type_finish() with the Whether to force a rescan of the content. Otherwise a cached result will be used if available optional #GCancellable object, %NULL to ignore a #GAsyncReadyCallback user data passed to @callback Finishes guessing content types of @mount. If any errors occured during the operation, @error will be set to contain the errors and %FALSE will be returned. In particular, you may get an %G_IO_ERROR_NOT_SUPPORTED if the mount does not support content guessing. Caller should free this array with g_strfreev() when done with it. a %NULL-terminated array of content types or %NULL on error. a #GAsyncResult Tries to guess the type of content stored on @mount. Returns one or more textual identifiers of well-known content types (typically prefixed with "x-content/"), e.g. x-content/image-dcf for camera memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> specification for more on x-content types. This is an synchronous operation and as such may block doing IO; see g_mount_guess_content_type() for the asynchronous version. Caller should free this array with g_strfreev() when done with it. a %NULL-terminated array of content types or %NULL on error. Whether to force a rescan of the content. Otherwise a cached result will be used if available optional #GCancellable object, %NULL to ignore Remounts a mount. This is an asynchronous operation, and is finished by calling g_mount_remount_finish() with the @mount and #GAsyncResults data returned in the @callback. Remounting is useful when some setting affecting the operation of the volume has been changed, as these may need a remount to take affect. While this is semantically equivalent with unmounting and then remounting not all backends might need to actually be unmounted. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes remounting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully remounted. %FALSE otherwise. a #GAsyncResult. Unmounts a mount. This is an asynchronous operation, and is finished by calling g_mount_unmount_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes unmounting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully unmounted. %FALSE otherwise. a #GAsyncResult. Unmounts a mount. This is an asynchronous operation, and is finished by calling g_mount_unmount_with_operation_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes unmounting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully unmounted. %FALSE otherwise. a #GAsyncResult. Checks if @mount can be eject. %TRUE if the @mount can be ejected. Checks if @mount can be mounted. %TRUE if the @mount can be unmounted. Ejects a mount. This is an asynchronous operation, and is finished by calling g_mount_eject_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully ejected. %FALSE otherwise. a #GAsyncResult. Ejects a mount. This is an asynchronous operation, and is finished by calling g_mount_eject_with_operation_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully ejected. %FALSE otherwise. a #GAsyncResult. Gets the default location of @mount. The default location of the given the home directory, or the root of the volume). The returned object should be unreffed with g_object_unref() when no longer needed. a #GFile. Gets the drive for the @mount. This is a convenience method for getting the #GVolume and then using that object to get the #GDrive. The returned object should be unreffed with g_object_unref() when no longer needed. a #GDrive or %NULL if @mount is not associated with a volume or a drive. Gets the icon for @mount. The returned object should be unreffed with g_object_unref() when no longer needed. a #GIcon. Gets the name of @mount. The returned string should be freed with g_free() when no longer needed. the name for the given @mount. Gets the root directory on @mount. The returned object should be unreffed with g_object_unref() when no longer needed. a #GFile. Gets the UUID for the @mount. The reference is typically based on the file system UUID for the mount in question and should be considered an opaque string. Returns %NULL if there is no UUID available. The returned string should be freed with g_free() when no longer needed. the UUID for @mount or %NULL if no UUID can be computed. Gets the volume for the @mount. The returned object should be unreffed with g_object_unref() when no longer needed. a #GVolume or %NULL if @mount is not associated with a volume. Tries to guess the type of content stored on @mount. Returns one or more textual identifiers of well-known content types (typically prefixed with "x-content/"), e.g. x-content/image-dcf for camera memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> specification for more on x-content types. This is an asynchronous operation (see g_mount_guess_content_type_sync() for the synchronous version), and is finished by calling g_mount_guess_content_type_finish() with the Whether to force a rescan of the content. Otherwise a cached result will be used if available optional #GCancellable object, %NULL to ignore a #GAsyncReadyCallback user data passed to @callback Finishes guessing content types of @mount. If any errors occured during the operation, @error will be set to contain the errors and %FALSE will be returned. In particular, you may get an %G_IO_ERROR_NOT_SUPPORTED if the mount does not support content guessing. Caller should free this array with g_strfreev() when done with it. a %NULL-terminated array of content types or %NULL on error. a #GAsyncResult Tries to guess the type of content stored on @mount. Returns one or more textual identifiers of well-known content types (typically prefixed with "x-content/"), e.g. x-content/image-dcf for camera memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> specification for more on x-content types. This is an synchronous operation and as such may block doing IO; see g_mount_guess_content_type() for the asynchronous version. Caller should free this array with g_strfreev() when done with it. a %NULL-terminated array of content types or %NULL on error. Whether to force a rescan of the content. Otherwise a cached result will be used if available optional #GCancellable object, %NULL to ignore Determines if @mount is shadowed. Applications or libraries should avoid displaying @mount in the user interface if it is shadowed. A mount is said to be shadowed if there exists one or more user visible objects (currently #GMount objects) with a root that is inside the root of @mount. One application of shadow mounts is when exposing a single file system that is used to address several logical volumes. In this situation, a #GVolumeMonitor implementation would create two #GVolume objects (for example, one for the camera functionality of the device and one for a SD card reader on the device) with activation URIs <literal>gphoto2://[usb:001,002]/store1/</literal> and <literal>gphoto2://[usb:001,002]/store2/</literal>. When the underlying mount (with root <literal>gphoto2://[usb:001,002]/</literal>) is mounted, said #GVolumeMonitor implementation would create two #GMount objects (each with their root matching the corresponding volume activation root) that would shadow the original mount. The proxy monitor in GVfs 2.26 and later, automatically creates and manage shadow mounts (and shadows the underlying mount) if the activation root on a #GVolume is set. %TRUE if @mount is shadowed. Remounts a mount. This is an asynchronous operation, and is finished by calling g_mount_remount_finish() with the @mount and #GAsyncResults data returned in the @callback. Remounting is useful when some setting affecting the operation of the volume has been changed, as these may need a remount to take affect. While this is semantically equivalent with unmounting and then remounting not all backends might need to actually be unmounted. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes remounting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully remounted. %FALSE otherwise. a #GAsyncResult. Increments the shadow count on @mount. Usually used by #GVolumeMonitor implementations when creating a shadow mount for will need to emit the #GMount::changed signal on @mount manually. Unmounts a mount. This is an asynchronous operation, and is finished by calling g_mount_unmount_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes unmounting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully unmounted. %FALSE otherwise. a #GAsyncResult. Unmounts a mount. This is an asynchronous operation, and is finished by calling g_mount_unmount_with_operation_finish() with the @mount and #GAsyncResult data returned in the @callback. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes unmounting a mount. If any errors occurred during the operation, %TRUE if the mount was successfully unmounted. %FALSE otherwise. a #GAsyncResult. Decrements the shadow count on @mount. Usually used by #GVolumeMonitor implementations when destroying a shadow mount for will need to emit the #GMount::changed signal on @mount manually. Emitted when the mount has been changed. This signal is emitted when the #GMount is about to be unmounted. This signal is emitted when the #GMount have been unmounted. If the recipient is holding references to the object they should release them so the object can be finalized. Interface for implementing operations for mounts. a #GFile. the name for the given @mount. a #GIcon. the UUID for @mount or %NULL if no UUID can be computed. a #GVolume or %NULL if @mount is not associated with a volume. a #GDrive or %NULL if @mount is not associated with a volume or a drive. %TRUE if the @mount can be unmounted. %TRUE if the @mount can be ejected. flags affecting the operation optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the mount was successfully unmounted. %FALSE otherwise. a #GAsyncResult. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the mount was successfully ejected. %FALSE otherwise. a #GAsyncResult. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the mount was successfully remounted. %FALSE otherwise. a #GAsyncResult. Whether to force a rescan of the content. Otherwise a cached result will be used if available optional #GCancellable object, %NULL to ignore a #GAsyncReadyCallback user data passed to @callback a %NULL-terminated array of content types or %NULL on error. a #GAsyncResult a %NULL-terminated array of content types or %NULL on error. Whether to force a rescan of the content. Otherwise a cached result will be used if available optional #GCancellable object, %NULL to ignore flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the mount was successfully unmounted. %FALSE otherwise. a #GAsyncResult. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the mount was successfully ejected. %FALSE otherwise. a #GAsyncResult. a #GFile. Flags used when mounting a mount. Class for providing authentication methods for mounting operations, such as mounting a file locally, or authenticating with a server. Creates a new mount operation. a #GMountOperation. Check to see whether the mount operation is being used for an anonymous user. %TRUE if mount operation is anonymous. Gets a choice from the mount operation. the choice's list, or %0. an integer containing an index of the user's choice from Gets the domain of the mount operation. a string set to the domain. Gets a password from the mount operation. a string containing the password within @op. Gets the state of saving passwords for the mount operation. a #GPasswordSave flag. Emits the #GMountOperation::reply signal. a #GMountOperationResult Sets the mount operation to use an anonymous user if @anonymous is %TRUE. boolean value. Sets a default choice for the mount operation. an integer. Sets the mount operation's domain. the domain to set. Sets the mount operation's password to @password. password to set. Sets the state of saving passwords for the mount operation. a set of #GPasswordSave flags. Sets the user name within @op to @username. input username. Whether to use an anonymous user when authenticating. The index of the user's choice when a question is asked during the mount operation. See the #GMountOperation::ask-question signal. The domain to use for the mount operation. The password that is used for authentication when carrying out the mount operation. Determines if and how the password information should be saved. The user name that is used for authentication when carrying out the mount operation. Emitted by the backend when e.g. a device becomes unavailable while a mount operation is in progress. Implementations of GMountOperation should handle this signal by dismissing open password dialogs. Emitted when a mount operation asks the user for a password. If the message contains a line break, the first line should be presented as a heading. For example, it may be used as the primary text in a #GtkMessageDialog. string containing a message to display to the user. string containing the default user name. string containing the default domain. a set of #GAskPasswordFlags. Emitted when asking the user a question and gives a list of choices for the user to choose from. If the message contains a line break, the first line should be presented as a heading. For example, it may be used as the primary text in a #GtkMessageDialog. string containing a message to display to the user. an array of strings for each possible choice. Emitted when the user has replied to the mount operation. a #GMountOperationResult indicating how the request was handled Emitted when one or more processes are blocking an operation e.g. unmounting/ejecting a #GMount or stopping a #GDrive. Note that this signal may be emitted several times to update the list of blocking processes as processes close files. The application should only respond with g_mount_operation_reply() to the latest signal (setting #GMountOperation:choice to the choice the user made). If the message contains a line break, the first line should be presented as a heading. For example, it may be used as the primary text in a #GtkMessageDialog. string containing a message to display to the user. an array of #GPid for processes blocking the operation. an array of strings for each possible choice. #GMountOperationResult is returned as a result when a request for information is send by the mounting operation. Flags used when an unmounting a mount. A #GSocketConnectable for resolving a hostname and connecting to that host. Creates a new #GSocketConnectable for connecting to the given the new #GNetworkAddress the hostname the port Creates a new #GSocketConnectable for connecting to the given parsing @host_and_port fails. address, an IPv4 address, or a domain name (in which case a DNS lookup is performed). Quoting with [] is supported for all address types. A port override may be specified in the usual way with a colon. Ports may be given as decimal numbers or symbolic names (in which case an /etc/services lookup is performed). If no port is specified in @host_and_port then @default_port will be used as the port number to connect to. In general, @host_and_port is expected to be provided by the user (allowing them to give the hostname, and a port overide if necessary) and @default_port is expected to be provided by the application. the new #GNetworkAddress, or %NULL on error the hostname and optionally a port the default port if not in @host_and_port Creates a new #GSocketConnectable for connecting to the given Using this rather than g_network_address_new() or g_network_address_parse_host() allows #GSocketClient to determine when to use application-specific proxy protocols. the new #GNetworkAddress, or %NULL on error the hostname and optionally a port The default port if none is found in the URI Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded, depending on what @addr was created with. @addr's hostname Gets @addr's port number @addr's port (which may be 0) Gets @addr's scheme @addr's scheme (%NULL if not built from URI) A #GSocketConnectable for resolving a SRV record and connecting to that service. Creates a new #GNetworkService representing the given @service, #GSocketConnectable interface to resolve it. a new #GNetworkService the service type to look up (eg, "ldap") the networking protocol to use for @service (eg, "tcp") the DNS domain to look up the service in Gets the domain that @srv serves. This might be either UTF-8 or ASCII-encoded, depending on what @srv was created with. @srv's domain name Gets @srv's protocol name (eg, "tcp"). @srv's protocol name Get's the URI scheme used to resolve proxies. By default, the service name is used as scheme. @srv's scheme name Gets @srv's service name (eg, "ldap"). @srv's service name Set's the URI scheme used to resolve proxies. By default, the service name is used as scheme. a URI scheme Base class for writing output. All classes derived from GOutputStream should implement synchronous writing, splicing, flushing and closing streams, but may implement asynchronous versions. Requests an asynchronous close of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_output_stream_close_finish() to get the result of the operation. For behaviour details see g_output_stream_close(). The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. the io priority of the request. optional cancellable object callback to call when the request is satisfied the data to pass to callback function Closes an output stream. %TRUE if stream was successfully closed, %FALSE otherwise. a #GAsyncResult. Flushed any outstanding buffers in the stream. Will block during the operation. Closing the stream will implicitly cause a flush. This function is optional for inherited classes. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE on success, %FALSE on error optional cancellable object Flushes a stream asynchronously. For behaviour details see g_output_stream_flush(). When the operation is finished @callback will be called. You can then call g_output_stream_flush_finish() to get the result of the operation. the io priority of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes flushing an output stream. %TRUE if flush operation suceeded, %FALSE otherwise. a GAsyncResult. Splices an input stream into an output stream. -1 if an error occurred. a #gssize containing the size of the data spliced, or a #GInputStream. a set of #GOutputStreamSpliceFlags. optional #GCancellable object, %NULL to ignore. Splices a stream asynchronously. When the operation is finished @callback will be called. You can then call g_output_stream_splice_finish() to get the result of the operation. For the synchronous, blocking version of this function, see g_output_stream_splice(). a #GInputStream. a set of #GOutputStreamSpliceFlags. the io priority of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback. Finishes an asynchronous stream splice operation. a #gssize of the number of bytes spliced. a #GAsyncResult. Request an asynchronous write of @count bytes from @buffer into the stream. When the operation is finished @callback will be called. You can then call g_output_stream_write_finish() to get the result of the operation. During an async request no other sync and async calls are allowed, and will result in %G_IO_ERROR_PENDING errors. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes written will be passed to the requested size, as it can happen e.g. on a partial I/O error, but generally we try to write as many bytes as requested. You are guaranteed that this method will never fail with %G_IO_ERROR_WOULD_BLOCK - if @stream can't accept more data, the method will just wait until this changes. Any outstanding I/O request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. For the synchronous, blocking version of this function, see g_output_stream_write(). the buffer containing the data to write. the number of bytes to write the io priority of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes a stream write operation. a #gssize containing the number of bytes written to the stream. a #GAsyncResult. Clears the pending flag on @stream. Closes the stream, releasing resources related to it. Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED. Closing a stream multiple times will not return an error. Closing a stream will automatically flush any outstanding buffers in the stream. Streams will be automatically closed when the last reference is dropped, but you might want to call this function to make sure resources are released as early as possible. Some streams might keep the backing store of the stream (e.g. a file descriptor) open after the stream is closed. See the documentation for the individual stream for details. On failure the first error that happened will be reported, but the close operation will finish as much as possible. A stream that failed to close will still return %G_IO_ERROR_CLOSED for all operations. Still, it is important to check and report the error to the user, otherwise there might be a loss of data as all data might not be written. If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Cancelling a close will still leave the stream closed, but there some streams can use a faster close that doesn't block to e.g. check errors. On cancellation (as with any error) there is no guarantee that all written data will reach the target. %TRUE on success, %FALSE on failure optional cancellable object Requests an asynchronous close of the stream, releasing resources related to it. When the operation is finished @callback will be called. You can then call g_output_stream_close_finish() to get the result of the operation. For behaviour details see g_output_stream_close(). The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. the io priority of the request. optional cancellable object callback to call when the request is satisfied the data to pass to callback function Closes an output stream. %TRUE if stream was successfully closed, %FALSE otherwise. a #GAsyncResult. Flushed any outstanding buffers in the stream. Will block during the operation. Closing the stream will implicitly cause a flush. This function is optional for inherited classes. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE on success, %FALSE on error optional cancellable object Flushes a stream asynchronously. For behaviour details see g_output_stream_flush(). When the operation is finished @callback will be called. You can then call g_output_stream_flush_finish() to get the result of the operation. the io priority of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Finishes flushing an output stream. %TRUE if flush operation suceeded, %FALSE otherwise. a GAsyncResult. Checks if an ouput stream has pending actions. %TRUE if @stream has pending actions. Checks if an output stream has already been closed. %TRUE if @stream is closed. %FALSE otherwise. Checks if an output stream is being closed. This can be used inside e.g. a flush implementation to see if the flush (or other i/o operation) is called from within the closing operation. %TRUE if @stream is being closed. %FALSE otherwise. Sets @stream to have actions pending. If the pending flag is already set or @stream is closed, it will return %FALSE and set %TRUE if pending was previously unset and is now set. Splices an input stream into an output stream. -1 if an error occurred. a #gssize containing the size of the data spliced, or a #GInputStream. a set of #GOutputStreamSpliceFlags. optional #GCancellable object, %NULL to ignore. Splices a stream asynchronously. When the operation is finished @callback will be called. You can then call g_output_stream_splice_finish() to get the result of the operation. For the synchronous, blocking version of this function, see g_output_stream_splice(). a #GInputStream. a set of #GOutputStreamSpliceFlags. the io priority of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback. user data passed to @callback. Finishes an asynchronous stream splice operation. a #gssize of the number of bytes spliced. a #GAsyncResult. Tries to write @count bytes from @buffer into the stream. Will block during the operation. If count is 0, returns 0 and does nothing. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes written to the stream is returned. It is not an error if this is not the same as the requested size, as it can happen e.g. on a partial I/O error, or if there is not enough storage in the stream. All writes block until at least one byte is written or an error occurs; 0 is never returned (unless If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. On error -1 is returned and @error is set accordingly. Number of bytes written, or -1 on error the buffer containing the data to write. the number of bytes to write optional cancellable object Tries to write @count bytes from @buffer into the stream. Will block during the operation. This function is similar to g_output_stream_write(), except it tries to write as many bytes as requested, only stopping on an error. On a successful write of @count bytes, %TRUE is returned, and @bytes_written is set to @count. If there is an error during the operation FALSE is returned and @error is set to indicate the error status, @bytes_written is updated to contain the number of bytes written into the stream before the error occurred. %TRUE on success, %FALSE if there was an error the buffer containing the data to write. the number of bytes to write location to store the number of bytes that was written to the stream optional #GCancellable object, %NULL to ignore. Request an asynchronous write of @count bytes from @buffer into the stream. When the operation is finished @callback will be called. You can then call g_output_stream_write_finish() to get the result of the operation. During an async request no other sync and async calls are allowed, and will result in %G_IO_ERROR_PENDING errors. A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. On success, the number of bytes written will be passed to the requested size, as it can happen e.g. on a partial I/O error, but generally we try to write as many bytes as requested. You are guaranteed that this method will never fail with %G_IO_ERROR_WOULD_BLOCK - if @stream can't accept more data, the method will just wait until this changes. Any outstanding I/O request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is %G_PRIORITY_DEFAULT. The asyncronous methods have a default fallback that uses threads to implement asynchronicity, so they are optional for inheriting classes. However, if you override one you must override all. For the synchronous, blocking version of this function, see g_output_stream_write(). the buffer containing the data to write. the number of bytes to write the io priority of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function Finishes a stream write operation. a #gssize containing the number of bytes written to the stream. a #GAsyncResult. a #gssize containing the size of the data spliced, or a #GInputStream. a set of #GOutputStreamSpliceFlags. optional #GCancellable object, %NULL to ignore. %TRUE on success, %FALSE on error optional cancellable object the buffer containing the data to write. the number of bytes to write the io priority of the request. optional #GCancellable object, %NULL to ignore. callback to call when the request is satisfied the data to pass to callback function a #gssize containing the number of bytes written to the stream. a #GAsyncResult. a #GInputStream. a set of #GOutputStreamSpliceFlags. the io priority of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback. a #gssize of the number of bytes spliced. a #GAsyncResult. the io priority of the request. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function %TRUE if flush operation suceeded, %FALSE otherwise. a GAsyncResult. the io priority of the request. optional cancellable object callback to call when the request is satisfied the data to pass to callback function %TRUE if stream was successfully closed, %FALSE otherwise. a #GAsyncResult. GOutputStreamSpliceFlags determine how streams should be spliced. Structure used for scatter/gather data output. You generally pass in an array of #GOutputVector<!-- -->s and the operation will use all the buffers as if they were one buffer. #GPasswordSave is used to indicate the lifespan of a saved password. #Gvfs stores passwords in the Gnome keyring when this flag allows it to, and later retrieves it again from there. #GPermission is an opaque data structure and can only be accessed using the following functions. Attempts to acquire the permission represented by @permission. The precise method by which this happens depends on the permission and the underlying authentication mechanism. A simple example is that a dialog may appear asking the user to enter their password. You should check with g_permission_get_can_acquire() before calling this function. If the permission is acquired then %TRUE is returned. Otherwise, %FALSE is returned and @error is set appropriately. This call is blocking, likely for a very long time (in the case that user interaction is required). See g_permission_acquire_async() for the non-blocking version. %TRUE if the permission was successfully acquired a #GCancellable, or %NULL Attempts to acquire the permission represented by @permission. This is the first half of the asynchronous version of g_permission_acquire(). a #GCancellable, or %NULL the #GAsyncReadyCallback to call when done the user data to pass to @callback Collects the result of attempting to acquire the permission represented by @permission. This is the second half of the asynchronous version of g_permission_acquire(). %TRUE if the permission was successfully acquired the #GAsyncResult given to the #GAsyncReadyCallback Attempts to release the permission represented by @permission. The precise method by which this happens depends on the permission and the underlying authentication mechanism. In most cases the permission will be dropped immediately without further action. You should check with g_permission_get_can_release() before calling this function. If the permission is released then %TRUE is returned. Otherwise, %FALSE is returned and @error is set appropriately. This call is blocking, likely for a very long time (in the case that user interaction is required). See g_permission_release_async() for the non-blocking version. %TRUE if the permission was successfully released a #GCancellable, or %NULL Attempts to release the permission represented by @permission. This is the first half of the asynchronous version of g_permission_release(). a #GCancellable, or %NULL the #GAsyncReadyCallback to call when done the user data to pass to @callback Collects the result of attempting to release the permission represented by @permission. This is the second half of the asynchronous version of g_permission_release(). %TRUE if the permission was successfully released the #GAsyncResult given to the #GAsyncReadyCallback Attempts to acquire the permission represented by @permission. The precise method by which this happens depends on the permission and the underlying authentication mechanism. A simple example is that a dialog may appear asking the user to enter their password. You should check with g_permission_get_can_acquire() before calling this function. If the permission is acquired then %TRUE is returned. Otherwise, %FALSE is returned and @error is set appropriately. This call is blocking, likely for a very long time (in the case that user interaction is required). See g_permission_acquire_async() for the non-blocking version. %TRUE if the permission was successfully acquired a #GCancellable, or %NULL Attempts to acquire the permission represented by @permission. This is the first half of the asynchronous version of g_permission_acquire(). a #GCancellable, or %NULL the #GAsyncReadyCallback to call when done the user data to pass to @callback Collects the result of attempting to acquire the permission represented by @permission. This is the second half of the asynchronous version of g_permission_acquire(). %TRUE if the permission was successfully acquired the #GAsyncResult given to the #GAsyncReadyCallback Gets the value of the 'allowed' property. This property is %TRUE if the caller currently has permission to perform the action that the value of the 'allowed' property Gets the value of the 'can-acquire' property. This property is %TRUE if it is generally possible to acquire the permission by calling g_permission_acquire(). the value of the 'can-acquire' property Gets the value of the 'can-release' property. This property is %TRUE if it is generally possible to release the permission by calling g_permission_release(). the value of the 'can-release' property This function is called by the #GPermission implementation to update the properties of the permission. You should never call this function except from a #GPermission implementation. GObject notify signals are generated, as appropriate. the new value for the 'allowed' property the new value for the 'can-acquire' property the new value for the 'can-release' property Attempts to release the permission represented by @permission. The precise method by which this happens depends on the permission and the underlying authentication mechanism. In most cases the permission will be dropped immediately without further action. You should check with g_permission_get_can_release() before calling this function. If the permission is released then %TRUE is returned. Otherwise, %FALSE is returned and @error is set appropriately. This call is blocking, likely for a very long time (in the case that user interaction is required). See g_permission_release_async() for the non-blocking version. %TRUE if the permission was successfully released a #GCancellable, or %NULL Attempts to release the permission represented by @permission. This is the first half of the asynchronous version of g_permission_release(). a #GCancellable, or %NULL the #GAsyncReadyCallback to call when done the user data to pass to @callback Collects the result of attempting to release the permission represented by @permission. This is the second half of the asynchronous version of g_permission_release(). %TRUE if the permission was successfully released the #GAsyncResult given to the #GAsyncReadyCallback %TRUE if the caller currently has permission to perform the action that %TRUE if it is generally possible to acquire the permission by calling g_permission_acquire(). %TRUE if it is generally possible to release the permission by calling g_permission_release(). %TRUE if the permission was successfully acquired a #GCancellable, or %NULL a #GCancellable, or %NULL the #GAsyncReadyCallback to call when done the user data to pass to @callback %TRUE if the permission was successfully acquired the #GAsyncResult given to the #GAsyncReadyCallback %TRUE if the permission was successfully released a #GCancellable, or %NULL a #GCancellable, or %NULL the #GAsyncReadyCallback to call when done the user data to pass to @callback %TRUE if the permission was successfully released the #GAsyncResult given to the #GAsyncReadyCallback Interface that handles proxy connection and payload. Given @connection to communicate with a proxy (eg, a #GSocketConnection that is connected to the proxy server), this does the necessary handshake to connect to @proxy_address, and if required, wraps the #GIOStream to handle proxy payload. be the same as @connection, in which case a reference will be added. a #GIOStream that will replace @connection. This might a #GIOStream a #GProxyAddress a #GCancellable Asynchronous version of g_proxy_connect(). a #GIOStream a #GProxyAddress a #GCancellable a #GAsyncReadyCallback callback data See g_proxy_connect(). a #GIOStream. a #GAsyncRetult Some proxy protocols expect to be passed a hostname, which they will resolve to an IP address themselves. Others, like SOCKS4, do not allow this. This function will return %FALSE if @proxy is implementing such a protocol. When %FALSE is returned, the caller should resolve the destination hostname first, and then pass a #GProxyAddress containing the stringified IP address to g_proxy_connect() or g_proxy_connect_async(). %TRUE if hostname resolution is supported. Given @connection to communicate with a proxy (eg, a #GSocketConnection that is connected to the proxy server), this does the necessary handshake to connect to @proxy_address, and if required, wraps the #GIOStream to handle proxy payload. be the same as @connection, in which case a reference will be added. a #GIOStream that will replace @connection. This might a #GIOStream a #GProxyAddress a #GCancellable Asynchronous version of g_proxy_connect(). a #GIOStream a #GProxyAddress a #GCancellable a #GAsyncReadyCallback callback data See g_proxy_connect(). a #GIOStream. a #GAsyncRetult Some proxy protocols expect to be passed a hostname, which they will resolve to an IP address themselves. Others, like SOCKS4, do not allow this. This function will return %FALSE if @proxy is implementing such a protocol. When %FALSE is returned, the caller should resolve the destination hostname first, and then pass a #GProxyAddress containing the stringified IP address to g_proxy_connect() or g_proxy_connect_async(). %TRUE if hostname resolution is supported. A #GInetSocketAddress representing a connection via a proxy server Creates a new #GProxyAddress for @inetaddr with @protocol that should tunnel through @dest_hostname and @dest_port. a new #GProxyAddress The proxy server #GInetAddress. The proxy server port. The proxy protocol to support, in lower case (e.g. socks, http). The destination hostname the the proxy should tunnel to. The destination port to tunnel to. The username to authenticate to the proxy server (or %NULL). The password to authenticate to the proxy server (or %NULL). Gets @proxy's protocol. the @proxy's protocol A subclass of #GSocketAddressEnumerator that takes another address enumerator and wraps its results in #GProxyAddress<!-- -->es as directed by the default #GProxyResolver. Provides an interface for handling proxy connection and payload. a #GIOStream that will replace @connection. This might a #GIOStream a #GProxyAddress a #GCancellable a #GIOStream a #GProxyAddress a #GCancellable a #GAsyncReadyCallback callback data a #GIOStream. a #GAsyncRetult %TRUE if hostname resolution is supported. Interface that can be used to resolve proxy address. Checks if @resolver can be used on this system. (This is used internally; g_proxy_resolver_get_default() will only return a proxy resolver that returns %TRUE for this method.) %TRUE if @resolver is supported. Looks into the system proxy configuration to determine what proxy, if any, to use to connect to @uri. The returned proxy URIs are of the form <literal>&lt;protocol&gt;://[user[:password]@]host:port</literal> or <literal>direct://</literal>, where &lt;protocol&gt; could be http, rtsp, socks or other proxying protocol. If you don't know what network protocol is being used on the socket, you should use <literal>none</literal> as the URI protocol. In this case, the resolver might still return a generic proxy type (such as SOCKS), but would not return protocol-specific proxy types (such as http). <literal>direct://</literal> is used when no proxy is needed. Direct connection should not be attempted unless it is part of the returned array of proxies. g_strfreev(). A NULL-terminated array of proxy URIs. Must be freed with a URI representing the destination to connect to a #GCancellable, or %NULL Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more details. a URI representing the destination to connect to a #GCancellable, or %NULL callback to call after resolution completes data for @callback Call this function to obtain the array of proxy URIs when g_proxy_resolver_lookup_async() is complete. See g_proxy_resolver_lookup() for more details. g_strfreev(). A NULL-terminated array of proxy URIs. Must be freed with the result passed to your #GAsyncReadyCallback Checks if @resolver can be used on this system. (This is used internally; g_proxy_resolver_get_default() will only return a proxy resolver that returns %TRUE for this method.) %TRUE if @resolver is supported. Looks into the system proxy configuration to determine what proxy, if any, to use to connect to @uri. The returned proxy URIs are of the form <literal>&lt;protocol&gt;://[user[:password]@]host:port</literal> or <literal>direct://</literal>, where &lt;protocol&gt; could be http, rtsp, socks or other proxying protocol. If you don't know what network protocol is being used on the socket, you should use <literal>none</literal> as the URI protocol. In this case, the resolver might still return a generic proxy type (such as SOCKS), but would not return protocol-specific proxy types (such as http). <literal>direct://</literal> is used when no proxy is needed. Direct connection should not be attempted unless it is part of the returned array of proxies. g_strfreev(). A NULL-terminated array of proxy URIs. Must be freed with a URI representing the destination to connect to a #GCancellable, or %NULL Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more details. a URI representing the destination to connect to a #GCancellable, or %NULL callback to call after resolution completes data for @callback Call this function to obtain the array of proxy URIs when g_proxy_resolver_lookup_async() is complete. See g_proxy_resolver_lookup() for more details. g_strfreev(). A NULL-terminated array of proxy URIs. Must be freed with the result passed to your #GAsyncReadyCallback %TRUE if @resolver is supported. A NULL-terminated array of proxy URIs. Must be freed with a URI representing the destination to connect to a #GCancellable, or %NULL a URI representing the destination to connect to a #GCancellable, or %NULL callback to call after resolution completes data for @callback A NULL-terminated array of proxy URIs. Must be freed with the result passed to your #GAsyncReadyCallback Changes the size of the memory block pointed to by @data to The function should have the same semantics as realloc(). a pointer to the reallocated memory memory block to reallocate size to reallocate @data to The object that handles DNS resolution. Use g_resolver_get_default() to get the default resolver. Frees @addresses (which should be the return value from g_resolver_lookup_by_name() or g_resolver_lookup_by_name_finish()). (This is a convenience method; you can also simply free the results by hand.) a #GList of #GInetAddress Frees @targets (which should be the return value from g_resolver_lookup_service() or g_resolver_lookup_service_finish()). (This is a convenience method; you can also simply free the results by hand.) a #GList of #GSrvTarget Gets the default #GResolver. You should unref it when you are done with it. #GResolver may use its reference count as a hint about how many threads/processes, etc it should allocate for concurrent DNS resolutions. the default #GResolver. Synchronously reverse-resolves @address to determine its associated hostname. If the DNS resolution fails, @error (if non-%NULL) will be set to a value from #GResolverError. If @cancellable is non-%NULL, it can be used to cancel the operation, in which case @error (if non-%NULL) will be set to %G_IO_ERROR_CANCELLED. form), or %NULL on error. a hostname (either ASCII-only, or in ASCII-encoded the address to reverse-resolve a #GCancellable, or %NULL Begins asynchronously reverse-resolving @address to determine its associated hostname, and eventually calls @callback, which must call g_resolver_lookup_by_address_finish() to get the final result. the address to reverse-resolve a #GCancellable, or %NULL callback to call after resolution completes data for @callback Retrieves the result of a previous call to g_resolver_lookup_by_address_async(). If the DNS resolution failed, @error (if non-%NULL) will be set to a value from #GResolverError. If the operation was cancelled, form), or %NULL on error. a hostname (either ASCII-only, or in ASCII-encoded the result passed to your #GAsyncReadyCallback Synchronously resolves @hostname to determine its associated IP address(es). @hostname may be an ASCII-only or UTF-8 hostname, or the textual form of an IP address (in which case this just becomes a wrapper around g_inet_address_new_from_string()). On success, g_resolver_lookup_by_name() will return a #GList of #GInetAddress, sorted in order of preference. (That is, you should attempt to connect to the first address first, then the second if the first fails, etc.) If the DNS resolution fails, @error (if non-%NULL) will be set to a value from #GResolverError. If @cancellable is non-%NULL, it can be used to cancel the operation, in which case @error (if non-%NULL) will be set to %G_IO_ERROR_CANCELLED. If you are planning to connect to a socket on the resolved IP address, it may be easier to create a #GNetworkAddress and use its #GSocketConnectable interface. of #GInetAddress, or %NULL on error. You must unref each of the addresses and free the list when you are done with it. (You can use g_resolver_free_addresses() to do this.) a #GList the hostname to look up a #GCancellable, or %NULL Begins asynchronously resolving @hostname to determine its associated IP address(es), and eventually calls @callback, which must call g_resolver_lookup_by_name_finish() to get the result. See g_resolver_lookup_by_name() for more details. the hostname to look up the address of a #GCancellable, or %NULL callback to call after resolution completes data for @callback Retrieves the result of a call to g_resolver_lookup_by_name_async(). If the DNS resolution failed, @error (if non-%NULL) will be set to a value from #GResolverError. If the operation was cancelled, of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name() for more details. a #GList the result passed to your #GAsyncReadyCallback Retrieves the result of a previous call to g_resolver_lookup_service_async(). If the DNS resolution failed, @error (if non-%NULL) will be set to a value from #GResolverError. If the operation was cancelled, or %NULL on error. See g_resolver_lookup_service() for more details. a #GList of #GSrvTarget, the result passed to your #GAsyncReadyCallback Synchronously reverse-resolves @address to determine its associated hostname. If the DNS resolution fails, @error (if non-%NULL) will be set to a value from #GResolverError. If @cancellable is non-%NULL, it can be used to cancel the operation, in which case @error (if non-%NULL) will be set to %G_IO_ERROR_CANCELLED. form), or %NULL on error. a hostname (either ASCII-only, or in ASCII-encoded the address to reverse-resolve a #GCancellable, or %NULL Begins asynchronously reverse-resolving @address to determine its associated hostname, and eventually calls @callback, which must call g_resolver_lookup_by_address_finish() to get the final result. the address to reverse-resolve a #GCancellable, or %NULL callback to call after resolution completes data for @callback Retrieves the result of a previous call to g_resolver_lookup_by_address_async(). If the DNS resolution failed, @error (if non-%NULL) will be set to a value from #GResolverError. If the operation was cancelled, form), or %NULL on error. a hostname (either ASCII-only, or in ASCII-encoded the result passed to your #GAsyncReadyCallback Synchronously resolves @hostname to determine its associated IP address(es). @hostname may be an ASCII-only or UTF-8 hostname, or the textual form of an IP address (in which case this just becomes a wrapper around g_inet_address_new_from_string()). On success, g_resolver_lookup_by_name() will return a #GList of #GInetAddress, sorted in order of preference. (That is, you should attempt to connect to the first address first, then the second if the first fails, etc.) If the DNS resolution fails, @error (if non-%NULL) will be set to a value from #GResolverError. If @cancellable is non-%NULL, it can be used to cancel the operation, in which case @error (if non-%NULL) will be set to %G_IO_ERROR_CANCELLED. If you are planning to connect to a socket on the resolved IP address, it may be easier to create a #GNetworkAddress and use its #GSocketConnectable interface. of #GInetAddress, or %NULL on error. You must unref each of the addresses and free the list when you are done with it. (You can use g_resolver_free_addresses() to do this.) a #GList the hostname to look up a #GCancellable, or %NULL Begins asynchronously resolving @hostname to determine its associated IP address(es), and eventually calls @callback, which must call g_resolver_lookup_by_name_finish() to get the result. See g_resolver_lookup_by_name() for more details. the hostname to look up the address of a #GCancellable, or %NULL callback to call after resolution completes data for @callback Retrieves the result of a call to g_resolver_lookup_by_name_async(). If the DNS resolution failed, @error (if non-%NULL) will be set to a value from #GResolverError. If the operation was cancelled, of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name() for more details. a #GList the result passed to your #GAsyncReadyCallback Synchronously performs a DNS SRV lookup for the given @service and include the leading underscore that appears in the actual DNS entry. On success, g_resolver_lookup_service() will return a #GList of #GSrvTarget, sorted in order of preference. (That is, you should attempt to connect to the first target first, then the second if the first fails, etc.) If the DNS resolution fails, @error (if non-%NULL) will be set to a value from #GResolverError. If @cancellable is non-%NULL, it can be used to cancel the operation, in which case @error (if non-%NULL) will be set to %G_IO_ERROR_CANCELLED. If you are planning to connect to the service, it is usually easier to create a #GNetworkService and use its #GSocketConnectable interface. or %NULL on error. You must free each of the targets and the list when you are done with it. (You can use g_resolver_free_targets() to do this.) a #GList of #GSrvTarget, the service type to look up (eg, "ldap") the networking protocol to use for @service (eg, "tcp") the DNS domain to look up the service in a #GCancellable, or %NULL Begins asynchronously performing a DNS SRV lookup for the given get the final result. See g_resolver_lookup_service() for more details. the service type to look up (eg, "ldap") the networking protocol to use for @service (eg, "tcp") the DNS domain to look up the service in a #GCancellable, or %NULL callback to call after resolution completes data for @callback Retrieves the result of a previous call to g_resolver_lookup_service_async(). If the DNS resolution failed, @error (if non-%NULL) will be set to a value from #GResolverError. If the operation was cancelled, or %NULL on error. See g_resolver_lookup_service() for more details. a #GList of #GSrvTarget, the result passed to your #GAsyncReadyCallback Sets @resolver to be the application's default resolver (reffing Future calls to g_resolver_get_default() will return this resolver. This can be used if an application wants to perform any sort of DNS caching or "pinning"; it can implement its own #GResolver that calls the original default resolver for DNS operations, and implements its own cache policies on top of that, and then set itself as the default resolver for all later code to use. Emitted when the resolver notices that the system resolver configuration has changed. a #GList the hostname to look up a #GCancellable, or %NULL the hostname to look up the address of a #GCancellable, or %NULL callback to call after resolution completes data for @callback a #GList the result passed to your #GAsyncReadyCallback a hostname (either ASCII-only, or in ASCII-encoded the address to reverse-resolve a #GCancellable, or %NULL the address to reverse-resolve a #GCancellable, or %NULL callback to call after resolution completes data for @callback a hostname (either ASCII-only, or in ASCII-encoded the result passed to your #GAsyncReadyCallback a #GList of #GSrvTarget, the result passed to your #GAsyncReadyCallback An error code used with %G_RESOLVER_ERROR in a #GError returned from a #GResolver routine. Seek object for streaming operations. Tests if the stream supports the #GSeekableIface. %TRUE if @seekable can be seeked. %FALSE otherwise. Tests if the stream can be truncated. %TRUE if the stream can be truncated, %FALSE otherwise. Seeks in the stream by the given @offset, modified by @type. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a #goffset. a #GSeekType. optional #GCancellable object, %NULL to ignore. Tells the current position within the stream. the offset from the beginning of the buffer. Truncates a stream with a given #offset. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a #goffset. optional #GCancellable object, %NULL to ignore. Tests if the stream supports the #GSeekableIface. %TRUE if @seekable can be seeked. %FALSE otherwise. Tests if the stream can be truncated. %TRUE if the stream can be truncated, %FALSE otherwise. Seeks in the stream by the given @offset, modified by @type. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a #goffset. a #GSeekType. optional #GCancellable object, %NULL to ignore. Tells the current position within the stream. the offset from the beginning of the buffer. Truncates a stream with a given #offset. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error. has occurred, this function will return %FALSE and set @error appropriately if present. %TRUE if successful. If an error a #goffset. optional #GCancellable object, %NULL to ignore. Provides an interface for implementing seekable functionality on I/O Streams. the offset from the beginning of the buffer. %TRUE if @seekable can be seeked. %FALSE otherwise. %TRUE if successful. If an error a #goffset. a #GSeekType. optional #GCancellable object, %NULL to ignore. %TRUE if the stream can be truncated, %FALSE otherwise. %TRUE if successful. If an error a #goffset. optional #GCancellable object, %NULL to ignore. Creates a new #GSettings object with a given schema. Signals on the newly created #GSettings object will be dispatched via the thread-default #GMainContext in effect at the time of the call to g_settings_new(). The new #GSettings will hold a reference on the context. See g_main_context_push_thread_default(). a new #GSettings object the name of the schema Creates a new #GSettings object with a given schema and backend. Creating settings objects with an different backend allows accessing settings from a database other than the usual one. For example, it may make sense to pass a backend corresponding to the "defaults" settings database on the system to get a settings object that modifies the system default settings instead of the settings for this user. a new #GSettings object the name of the schema the #GSettingsBackend to use Creates a new #GSettings object with a given schema, backend and path. This is a mix of g_settings_new_with_backend() and g_settings_new_with_path(). a new #GSettings object the name of the schema the #GSettingsBackend to use the path to use Creates a new #GSettings object with a given schema and path. You only need to do this if you want to directly create a settings object with a schema that doesn't have a specified path of its own. That's quite rare. It is a programmer error to call this function for a schema that has an explicitly specified path. a new #GSettings object the name of the schema the path to use must not be modified or freed. a list of GSettings schemas that are available. The list Ensures that all pending operations for the given are complete for the default backend. Writes made to a #GSettings are handled asynchronously. For this reason, it is very unlikely that the changes have it to disk by the time g_settings_set() returns. This call will block until all of the writes have made it to the backend. Since the mainloop is not running, no change notifications will be dispatched during this call (but some may be queued by the time the call is done). Removes an existing binding for @property on @object. Note that bindings are automatically removed when the object is finalized, so it is rarely necessary to call this function. the object the property whose binding is removed Applies any changes that have been made to the settings. This function does nothing unless @settings is in 'delay-apply' mode; see g_settings_delay(). In the normal case settings are always applied immediately. Create a binding between the @key in the @settings object and the property @property of @object. The binding uses the default GIO mapping functions to map between the settings and property values. These functions handle booleans, numeric types and string types in a straightforward way. Use g_settings_bind_with_mapping() if you need a custom mapping, or map between types that are not supported by the default mapping functions. Unless the @flags include %G_SETTINGS_BIND_NO_SENSITIVITY, this function also establishes a binding between the writability of a boolean property by that name). See g_settings_bind_writable() for more details about writable bindings. Note that the lifecycle of the binding is tied to the object, and that you can have only one binding per object property. If you bind the same property twice on the same object, the second binding overrides the first one. the key to bind a #GObject the name of the property to bind flags for the binding Create a binding between the @key in the @settings object and the property @property of @object. The binding uses the provided mapping functions to map between settings and property values. Note that the lifecycle of the binding is tied to the object, and that you can have only one binding per object property. If you bind the same property twice on the same object, the second binding overrides the first one. the key to bind a #GObject the name of the property to bind flags for the binding a function that gets called to convert values from @settings to @object, or %NULL to use the default GIO mapping a function that gets called to convert values from @object to @settings, or %NULL to use the default GIO mapping data that gets passed to @get_mapping and @set_mapping #GDestroyNotify function for @user_data Create a binding between the writability of @key in the The property must be boolean; "sensitive" or "visible" properties of widgets are the most likely candidates. Writable bindings are always uni-directional; changes of the writability of the setting will be propagated to the object property, not the other way. When the @inverted argument is %TRUE, the binding inverts the value as it passes from the setting to the object, i.e. @property will be set to %TRUE if the key is <emphasis>not</emphasis> writable. Note that the lifecycle of the binding is tied to the object, and that you can have only one binding per object property. If you bind the same property twice on the same object, the second binding overrides the first one. the key to bind a #GObject the name of a boolean property to bind whether to 'invert' the value Changes the #GSettings object into 'delay-apply' mode. In this mode, changes to @settings are not immediately propagated to the backend, but kept locally until g_settings_apply() is called. Gets the value that is stored at @key in @settings. A convenience function that combines g_settings_get_value() with g_variant_get(). It is a programmer error to give a @key that isn't contained in the schema for @settings or for the #GVariantType of @format to mismatch the type given in the schema. the key to get the value for a #GVariant format string Gets the value that is stored at @key in @settings. A convenience variant of g_settings_get() for booleans. It is a programmer error to give a @key that isn't specified as having a boolean type in the schema for @settings. a boolean the key to get the value for Creates a 'child' settings object which has a base path of <replaceable>base-path</replaceable>/@name", where <replaceable>base-path</replaceable> is the base path of @settings. The schema for the child settings object must have been declared in the schema of @settings using a <tag class="starttag">child</tag> element. a 'child' settings object the name of the 'child' schema Gets the value that is stored at @key in @settings. A convenience variant of g_settings_get() for doubles. It is a programmer error to give a @key that isn't specified as having a 'double' type in the schema for @settings. a double the key to get the value for Gets the value that is stored in @settings for @key and converts it to the enum value that it represents. In order to use this function the type of the value must be a string and it must be marked in the schema file as an enumerated type. It is a programmer error to give a @key that isn't contained in the schema for @settings or is not marked as an enumerated type. If the value stored in the configuration database is not a valid value for the enumerated type then this function will return the default value. the enum value the key to get the value for Gets the value that is stored in @settings for @key and converts it to the flags value that it represents. In order to use this function the type of the value must be an array of strings and it must be marked in the schema file as an flags type. It is a programmer error to give a @key that isn't contained in the schema for @settings or is not marked as a flags type. If the value stored in the configuration database is not a valid value for the flags type then this function will return the default value. the flags value the key to get the value for Returns whether the #GSettings object has any unapplied changes. This can only be the case if it is in 'delayed-apply' mode. %TRUE if @settings has unapplied changes Gets the value that is stored at @key in @settings. A convenience variant of g_settings_get() for 32-bit integers. It is a programmer error to give a @key that isn't specified as having a int32 type in the schema for @settings. an integer the key to get the value for Gets the value that is stored at @key in @settings, subject to application-level validation/mapping. You should use this function when the application needs to perform some processing on the value of the key (for example, parsing). The indicates that the processing was unsuccessful (due to a parse error, for example) then the mapping is tried again with another value. This allows a robust 'fall back to defaults' behaviour to be implemented somewhat automatically. The first value that is tried is the user's setting for the key. If the mapping function fails to map this value, other values may be tried in an unspecified order (system or site defaults, translated schema default values, untranslated schema default values, etc). If the mapping function fails for all possible values, one additional If the mapping function still indicates failure at this point then the application will be aborted. The result parameter for the @mapping function is pointed to a #gpointer which is initially set to %NULL. The same pointer is given to each invocation of @mapping. The final value of that #gpointer is what is returned by this function. %NULL is valid; it is returned just as any other value would be. the result, which may be %NULL the key to get the value for the function to map the value in the settings database to the value used by the application user data for @mapping Gets the value that is stored at @key in @settings. A convenience variant of g_settings_get() for strings. It is a programmer error to give a @key that isn't specified as having a string type in the schema for @settings. a newly-allocated string the key to get the value for A convenience variant of g_settings_get() for string arrays. It is a programmer error to give a @key that isn't specified as having an array of strings type in the schema for @settings. stored at @key in @settings. the value that is the key to get the value for Gets the value that is stored in @settings for @key. It is a programmer error to give a @key that isn't contained in the schema for @settings. a new #GVariant the key to get the value for Finds out if a key can be written or not %TRUE if the key @name is writable the name of a key Gets the list of children on @settings. The list is exactly the list of strings for which it is not an error to call g_settings_get_child(). For GSettings objects that are lists, this value can change at any time and you should connect to the "children-changed" signal to watch request a child after listing it only for it to have been destroyed in the meantime. For this reason, g_settings_get_chuld() may return %NULL even for a child that was listed by this function. For GSettings objects that are not lists, you should probably not be calling this function from "normal" code (since you should already know what children are in your schema). This function may still be useful there for introspection reasons, however. You should free the return value with g_strfreev() when you are done with it. a list of the children on @settings Introspects the list of keys on @settings. You should probably not be calling this function from "normal" code (since you should already know what keys are in your schema). This function is intended for introspection reasons. You should free the return value with g_strfreev() when you are done with it. a list of the keys on @settings Resets @key to its default value. This call resets the key, as much as possible, to its default value. That might the value specified in the schema or the one set by the administrator. the name of a key Reverts all non-applied changes to the settings. This function does nothing unless @settings is in 'delay-apply' mode; see g_settings_delay(). In the normal case settings are always applied immediately. Change notifications will be emitted for affected keys. Sets @key in @settings to @value. A convenience function that combines g_settings_set_value() with g_variant_new(). It is a programmer error to give a @key that isn't contained in the schema for @settings or for the #GVariantType of @format to mismatch the type given in the schema. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set a #GVariant format string Sets @key in @settings to @value. A convenience variant of g_settings_set() for booleans. It is a programmer error to give a @key that isn't specified as having a boolean type in the schema for @settings. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set the value to set it to Sets @key in @settings to @value. A convenience variant of g_settings_set() for doubles. It is a programmer error to give a @key that isn't specified as having a 'double' type in the schema for @settings. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set the value to set it to Looks up the enumerated type nick for @value and writes it to @key, within @settings. It is a programmer error to give a @key that isn't contained in the schema for @settings or is not marked as an enumerated type, or for After performing the write, accessing @key directly with g_settings_get_string() will return the 'nick' associated with %TRUE, if the set succeeds a key, within @settings an enumerated value Looks up the flags type nicks for the bits specified by @value, puts them in an array of strings and writes the array to @key, withing It is a programmer error to give a @key that isn't contained in the schema for @settings or is not marked as a flags type, or for @value to contain any bits that are not value for the named type. After performing the write, accessing @key directly with g_settings_get_strv() will return an array of 'nicks'; one for each bit in @value. %TRUE, if the set succeeds a key, within @settings a flags value Sets @key in @settings to @value. A convenience variant of g_settings_set() for 32-bit integers. It is a programmer error to give a @key that isn't specified as having a int32 type in the schema for @settings. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set the value to set it to Sets @key in @settings to @value. A convenience variant of g_settings_set() for strings. It is a programmer error to give a @key that isn't specified as having a string type in the schema for @settings. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set the value to set it to Sets @key in @settings to @value. A convenience variant of g_settings_set() for string arrays. If It is a programmer error to give a @key that isn't specified as having an array of strings type in the schema for @settings. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set the value to set it to, or %NULL Sets @key in @settings to @value. It is a programmer error to give a @key that isn't contained in the schema for @settings or for @value to have the incorrect type, per the schema. If @value is floating then this function consumes the reference. %TRUE if setting the key succeeded, %FALSE if the key was not writable the name of the key to set a #GVariant of the correct type If this property is %TRUE, the #GSettings object has outstanding changes that will be applied when g_settings_apply() is called. The path within the backend where the settings are stored. The name of the schema that describes the types of keys for this #GSettings object. The "change-event" signal is emitted once per change event that affects this settings object. You should connect to this signal only if you are interested in viewing groups of changes before they are split out into multiple emissions of the "changed" signal. For most use cases it is more appropriate to use the "changed" signal. In the event that the change event applies to one or more specified keys, @keys will be an array of #GQuark of length @n_keys. In the event that the change event applies to the #GSettings object as a be %NULL and @n_keys will be 0. The default handler for this signal invokes the "changed" signal for each affected key. If any other connected handler returns %TRUE then this default functionality will be supressed. %TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. an array of #GQuark<!-- -->s for the changed keys, or %NULL the length of the @keys array, or 0 The "changed" signal is emitted when a key has potentially changed. You should call one of the g_settings_get() calls to check the new value. This signal supports detailed connections. You can connect to the detailed signal "changed::x" in order to only receive callbacks when key "x" changes. the name of the key that changed The "writable-change-event" signal is emitted once per writability change event that affects this settings object. You should connect to this signal if you are interested in viewing groups of changes before they are split out into multiple emissions of the "writable-changed" signal. For most use cases it is more appropriate to use the "writable-changed" signal. In the event that the writability change applies only to a single key, @key will be set to the #GQuark for that key. In the event that the writability change affects the entire settings object, The default handler for this signal invokes the "writable-changed" and "changed" signals for each affected key. This is done because changes in writability might also imply changes in value (if for example, a new mandatory setting is introduced). If any other connected handler returns %TRUE then this default functionality will be supressed. %TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. the quark of the key, or 0 The "writable-changed" signal is emitted when the writability of a key has potentially changed. You should call g_settings_is_writable() in order to determine the new status. This signal supports detailed connections. You can connect to the detailed signal "writable-changed::x" in order to only receive callbacks when the writability of "x" changes. the key An implementation of a settings storage repository. Calculate the longest common prefix of all keys in a tree and write out an array of the key names relative to that prefix and, optionally, the value to store at each of those keys. You must free the value returned in @path, @keys and @values using g_free(). You should not attempt to free or unref the contents of a #GTree containing the changes the location to save the path the location to save the relative keys the location to save the values, or %NULL Signals that a single key has possibly changed. Backend implementations should call this if a key has possibly changed its value. '//', and not ending with a slash). The implementation must call this function during any call to g_settings_backend_write(), before the call returns (except in the case that no keys are actually changed and it cares to detect this fact). It may not rely on the existence of a mainloop for dispatching the signal later. The implementation may call this function at any other time it likes in response to other events (such as changes occuring outside of the program). These calls may originate from a mainloop or may originate in response to any other action (including from calls to g_settings_backend_write()). In the case that this call is in response to a call to g_settings_backend_write() then @origin_tag must be set to the same value that was passed to that call. the name of the key the origin tag This call is a convenience wrapper. It gets the list of changes from g_settings_backend_changed(). a #GTree containing the changes the origin tag Signals that a list of keys have possibly changed. Backend implementations should call this if keys have possibly changed their values. not containing '//'). Each string in @items must form a valid key end with '/' and must not contain '//'). The meaning of this signal is that any of the key names resulting from the contatenation of @path with each item in @items may have changed. The same rules for when notifications must occur apply as per g_settings_backend_changed(). These two calls can be used interchangeably if exactly one item has changed (although in that case g_settings_backend_changed() is definitely preferred). For efficiency reasons, the implementation should strive for @path to keys that were changed) but this is not strictly required. the path containing the changes the %NULL-terminated list of changed keys the origin tag Signals that all keys below a given path may have possibly changed. Backend implementations should call this if an entire path of keys have possibly changed their values. not containing '//'). The meaning of this signal is that any of the key which has a name starting with @path may have changed. The same rules for when notifications must occur apply as per g_settings_backend_changed(). This call might be an appropriate reasponse to a 'reset' call but implementations are also free to explicitly list the keys that were affected by that call if they can easily do so. For efficiency reasons, the implementation should strive for @path to keys that were changed) but this is not strictly required. As an example, if this function is called with the path of "/" then every single key in the application will be notified of a possible change. the path containing the changes the origin tag Signals that the writability of all keys below a given path may have changed. Since GSettings performs no locking operations for itself, this call will always be made in response to external events. the name of the path Signals that the writability of a single key has possibly changed. Since GSettings performs no locking operations for itself, this call will always be made in response to external events. the name of the key Flags used when creating a binding. These flags determine in which direction the binding works. The default is to synchronize in both directions. The type for the function that is used to convert from #GSettings to an object property. The @value is already initialized to hold values of the appropriate type. %TRUE if the conversion succeeded, %FALSE in case of an error return location for the property value the #GVariant user data that was specified when the binding was created The type for the function that is used to convert an object property value to a #GVariant for storing it in #GSettings. a new #GVariant holding the data from @value, or %NULL in case of an error a #GValue containing the property value to map the #GVariantType to create user data that was specified when the binding was created The type of the function that is used to convert from a value stored in a #GSettings to a value that is useful to the application. If the value is successfully mapped, the result should be stored at is not in the right format) then %FALSE should be returned. If @value is %NULL then it means that the mapping function is being given a "last chance" to successfully return a valid value. %TRUE must be returned in this case. %TRUE if the conversion succeeded, %FALSE in case of an error the #GVariant to map, or %NULL the result of the mapping the user data that was passed to g_settings_get_mapped() The <structname>GSimpleAction</structname> structure contains private data and should only be accessed using the provided API Creates a new action. The created action is stateless. See g_simple_action_new_stateful(). a new #GSimpleAction the name of the action the type of parameter to the activate function Creates a new stateful action. must have the same #GVariantType as the initial state. If the @state GVariant is floating, it is consumed. a new #GSimpleAction the name of the action the type of the parameter to the activate function the initial state of the action Sets the action as enabled or not. An action must be enabled in order to be activated or in order to have its state changed from outside callers. whether the action is enabled If @action is currently enabled. If the action is disabled then calls to g_simple_action_activate() and g_simple_action_set_state() have no effect. The name of the action. This is mostly meaningful for identifying the action once it has been added to a #GSimpleActionGroup. The type of the parameter that must be given when activating the action. The state of the action, or %NULL if the action is stateless. The #GVariantType of the state that the action has, or %NULL if the action is stateless. Indicates that the action was just activated. an incorrect type was given, no signal will be emitted. the parameter to the activation The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API. Creates a new, empty, #GSimpleActionGroup. a new #GSimpleActionGroup Adds an action to the action group. If the action group already contains an action with the same name as The action group takes its own reference on @action. a #GAction Looks up the action with the name @action_name in the group. If no such action exists, returns %NULL. a #GAction, or %NULL the name of an action Removes the named action from the action group. If no action of this name is in the group then nothing happens. the name of the action A simple implementation of #GAsyncResult. Creates a #GSimpleAsyncResult. a #GSimpleAsyncResult. a #GObject the asynchronous function was called with, or %NULL. a #GAsyncReadyCallback. user data passed to @callback. the asynchronous function. Creates a new #GSimpleAsyncResult with a set error. a #GSimpleAsyncResult. a #GObject, or %NULL. a #GAsyncReadyCallback. user data passed to @callback. a #GQuark. an error code. a string with format characters. Creates a #GSimpleAsyncResult from an error condition. a #GSimpleAsyncResult. a #GObject, or %NULL. a #GAsyncReadyCallback. user data passed to @callback. a #GError location. Ensures that the data passed to the _finish function of an async operation is consistent. Three checks are performed. First, @result is checked to ensure that it is really a #GSimpleAsyncResult. Second, @source is checked to ensure that it matches the source object of @result. Third, @source_tag is checked to ensure that it is either %NULL (as it is when the result was created by g_simple_async_report_error_in_idle() or g_simple_async_report_gerror_in_idle()) or equal to the convention, is a pointer to the _async function corresponding to the _finish function from which this function is called). #TRUE if all checks passed or #FALSE if any failed. the #GAsyncResult passed to the _finish function. the #GObject passed to the _finish function. the asynchronous function. Completes an asynchronous I/O job immediately. Must be called in the thread where the asynchronous result was to be delivered, as it invokes the callback directly. If you are in a different thread use g_simple_async_result_complete_in_idle(). Calling this function takes a reference to @simple for as long as is needed to complete the call. Completes an asynchronous function in an idle handler in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread that @simple was initially created in. Calling this function takes a reference to @simple for as long as is needed to complete the call. Gets the operation result boolean from within the asynchronous result. if the operation's result was %FALSE. %TRUE if the operation's result was %TRUE, %FALSE Gets a pointer result as returned by the asynchronous function. a pointer from the result. Gets a gssize from the asynchronous result. a gssize returned from the asynchronous function. Gets the source tag for the #GSimpleAsyncResult. a #gpointer to the source object for the #GSimpleAsyncResult. Propagates an error from within the simple asynchronous result to a given destination. %TRUE if the error was propagated to @dest. %FALSE otherwise. Runs the asynchronous job in a separate thread and then calls g_simple_async_result_complete_in_idle() on @simple to return the result to the appropriate main loop. Calling this function takes a reference to @simple for as long as is needed to run the job and report its completion. a #GSimpleAsyncThreadFunc. the io priority of the request. optional #GCancellable object, %NULL to ignore. Sets an error within the asynchronous result without a #GError. a #GQuark (usually #G_IO_ERROR). an error code. a formatted error reporting string. Sets an error within the asynchronous result without a #GError. Unless writing a binding, see g_simple_async_result_set_error(). a #GQuark (usually #G_IO_ERROR). an error code. a formatted error reporting string. va_list of arguments. Sets the result from a #GError. #GError. Sets whether to handle cancellation within the asynchronous operation. a #gboolean. Sets the operation result to a boolean within the asynchronous result. a #gboolean. Sets the operation result within the asynchronous result to a pointer. a pointer result from an asynchronous function. a #GDestroyNotify function. Sets the operation result within the asynchronous result to the given @op_res. a #gssize. Simple thread function that runs an asynchronous operation and checks for cancellation. a #GSimpleAsyncResult. a #GObject. optional #GCancellable object, %NULL to ignore. #GSimplePermission is an opaque data structure. There are no methods except for those defined by #GPermission. Creates a new #GPermission instance that represents an action that is either always or never allowed. the #GSimplePermission, as a #GPermission %TRUE if the action is allowed A lowlevel network socket object. Creates a new #GSocket with the defined family, type and protocol. If @protocol is 0 (%G_SOCKET_PROTOCOL_DEFAULT) the default protocol type for the family and type is used. The @protocol is a family and type specific int that specifies what kind of protocol to use. #GSocketProtocol lists several common ones. Many families only support one protocol, and use 0 for this, others support several and using 0 means to use the default protocol for the family and type. The protocol id is passed directly to the operating system, so you can use protocols not listed in #GSocketProtocol if you know the protocol number used for it. Free the returned object with g_object_unref(). a #GSocket or %NULL on error. the socket family to use, e.g. %G_SOCKET_FAMILY_IPV4. the socket type to use. the id of the protocol to use, or 0 for default. Creates a new #GSocket from a native file descriptor or winsock SOCKET handle. This reads all the settings from the file descriptor so that all properties should work. Note that the file descriptor will be set to non-blocking mode, independent on the blocking mode of the #GSocket. Free the returned object with g_object_unref(). a #GSocket or %NULL on error. a native socket file descriptor. Accept incoming connections on a connection-based socket. This removes the first outstanding connection request from the listening socket and creates a #GSocket object for it. The @socket must be bound to a local address with g_socket_bind() and must be listening for incoming connections (g_socket_listen()). If there are no outstanding connections then the operation will block or return %G_IO_ERROR_WOULD_BLOCK if non-blocking I/O is enabled. To be notified of an incoming connection, wait for the %G_IO_IN condition. Free the returned object with g_object_unref(). a new #GSocket, or %NULL on error. a %GCancellable or %NULL When a socket is created it is attached to an address family, but it doesn't have an address in this family. g_socket_bind() assigns the address (sometimes called name) of the socket. It is generally required to bind to a local address before you can receive connections. (See g_socket_listen() and g_socket_accept() ). In certain situations, you may also want to bind a socket that will be used to initiate connections, though this is not normally required. eventually call g_socket_accept() on), and %FALSE for client sockets. (Specifically, if it is %TRUE, then g_socket_bind() will set the %SO_REUSEADDR flag on the socket, allowing it to bind @address even if that address was previously used by another socket that has not yet been fully cleaned-up by the kernel. Failing to set this flag on a server socket may cause the bind call to return %G_IO_ERROR_ADDRESS_IN_USE if the server program is stopped and then immediately restarted.) %TRUE on success, %FALSE on error. a #GSocketAddress specifying the local address. whether to allow reusing this address Checks and resets the pending connect error for the socket. This is used to check for errors when g_socket_connect() is used in non-blocking mode. %TRUE if no error, %FALSE otherwise, setting @error to the error Closes the socket, shutting down any active connection. Closing a socket does not wait for all outstanding I/O operations to finish, so the caller should not rely on them to be guaranteed to complete even if the close returns with no error. Once the socket is closed, all other operations will return %G_IO_ERROR_CLOSED. Closing a socket multiple times will not return an error. Sockets will be automatically closed when the last reference is dropped, but you might want to call this function to make sure resources are released as early as possible. Beware that due to the way that TCP works, it is possible for recently-sent data to be lost if either you close a socket while the %G_IO_IN condition is set, or else if the remote connection tries to send something to you after you close the socket but before it has finished reading all of the data you sent. There is no easy generic way to avoid this problem; the easiest fix is to design the network protocol such that the client will never send data "out of turn". Another solution is for the server to half-close the connection by calling g_socket_shutdown() with only the @shutdown_write flag set, and then wait for the client to notice this and close its side of the connection, after which the server can safely call g_socket_close(). (This is what #GTcpConnection does if you call g_tcp_connection_set_graceful_disconnect(). But of course, this only works if the client will close its connection after the server does.) %TRUE on success, %FALSE on error Checks on the readiness of @socket to perform operations. The operations specified in @condition are checked for and masked against the currently-satisfied conditions on @socket. The result is returned. Note that on Windows, it is possible for an operation to return %G_IO_ERROR_WOULD_BLOCK even immediately after g_socket_condition_check() has claimed that the socket is ready for writing. Rather than calling g_socket_condition_check() and then writing to the socket if it succeeds, it is generally better to simply try writing to the socket right away, and try again later if the initial attempt returns %G_IO_ERROR_WOULD_BLOCK. It is meaningless to specify %G_IO_ERR or %G_IO_HUP in condition; these conditions will always be set in the output if they are true. This call never blocks. the @GIOCondition mask of the current state a #GIOCondition mask to check Waits for @condition to become true on @socket. When the condition is met, %TRUE is returned. If @cancellable is cancelled before the condition is met, or if the socket has a timeout set and it is reached before the condition is met, then %FALSE is returned and @error, if non-%NULL, is set to the appropriate value (%G_IO_ERROR_CANCELLED or %G_IO_ERROR_TIMED_OUT). %TRUE if the condition was met, %FALSE otherwise a #GIOCondition mask to wait for a #GCancellable, or %NULL Connect the socket to the specified remote address. For connection oriented socket this generally means we attempt to make a connection to the @address. For a connection-less socket it sets the default address for g_socket_send() and discards all incoming datagrams from other sources. Generally connection oriented sockets can only connect once, but connection-less sockets can connect multiple times to change the default address. If the connect call needs to do network I/O it will block, unless non-blocking I/O is enabled. Then %G_IO_ERROR_PENDING is returned and the user can be notified of the connection finishing by waiting for the G_IO_OUT condition. The result of the connection can then be checked with g_socket_check_connect_result(). %TRUE if connected, %FALSE on error. a #GSocketAddress specifying the remote address. a %GCancellable or %NULL Creates a #GSocketConnection subclass of the right type for a #GSocketConnection Creates a %GSource that can be attached to a %GMainContext to monitor for the availibility of the specified @condition on the socket. The callback on the source is of the #GSocketSourceFunc type. It is meaningless to specify %G_IO_ERR or %G_IO_HUP in @condition; these conditions will always be reported output if they are true. cause the source to trigger, reporting the current condition (which is likely 0 unless cancellation happened at the same time as a condition change). You can check for this in the callback using g_cancellable_is_cancelled(). If @socket has a timeout set, and it is reached before @condition occurs, the source will then trigger anyway, reporting %G_IO_IN or %G_IO_OUT depending on @condition. However, @socket will have been marked as having had a timeout, and so the next #GSocket I/O method you call will then fail with a %G_IO_ERROR_TIMED_OUT. a newly allocated %GSource, free with g_source_unref(). a #GIOCondition mask to monitor a %GCancellable or %NULL Gets the blocking mode of the socket. For details on blocking I/O, see g_socket_set_blocking(). %TRUE if blocking I/O is used, %FALSE otherwise. Returns the credentials of the foreign process connected to this socket, if any (e.g. it is only supported for %G_SOCKET_FAMILY_UNIX sockets). If this operation isn't supported on the OS, the method fails with the %G_IO_ERROR_NOT_SUPPORTED error. On Linux this is implemented by reading the %SO_PEERCRED option on the underlying socket. Other ways to obtain credentials from a foreign peer includes the #GUnixCredentialsMessage type and g_unix_connection_send_credentials() / g_unix_connection_receive_credentials() functions. that must be freed with g_object_unref(). %NULL if @error is set, otherwise a #GCredentials object Gets the socket family of the socket. a #GSocketFamily Returns the underlying OS socket object. On unix this is a socket file descriptor, and on windows this is a Winsock2 SOCKET handle. This may be useful for doing platform specific or otherwise unusual operations on the socket. the file descriptor of the socket. Gets the keepalive mode of the socket. For details on this, see g_socket_set_keepalive(). %TRUE if keepalive is active, %FALSE otherwise. Gets the listen backlog setting of the socket. For details on this, see g_socket_set_listen_backlog(). the maximum number of pending connections. Try to get the local address of a bound socket. This is only useful if the socket has been bound to a local address, either explicitly or implicitly when connecting. Free the returned object with g_object_unref(). a #GSocketAddress or %NULL on error. Gets the socket protocol id the socket was created with. In case the protocol is unknown, -1 is returned. a protocol id, or -1 if unknown Try to get the remove address of a connected socket. This is only useful for connection oriented sockets that have been connected. Free the returned object with g_object_unref(). a #GSocketAddress or %NULL on error. Gets the socket type of the socket. a #GSocketType Gets the timeout setting of the socket. For details on this, see g_socket_set_timeout(). the timeout in seconds Checks whether a socket is closed. %TRUE if socket is closed, %FALSE otherwise Check whether the socket is connected. This is only useful for connection-oriented sockets. %TRUE if socket is connected, %FALSE otherwise. Marks the socket as a server socket, i.e. a socket that is used to accept incoming requests using g_socket_accept(). Before calling this the socket must be bound to a local address using g_socket_bind(). To set the maximum amount of outstanding clients, use g_socket_set_listen_backlog(). %TRUE on success, %FALSE on error. Receive data (up to @size bytes) from a socket. This is mainly used by connection-oriented sockets; it is identical to g_socket_receive_from() with @address set to %NULL. For %G_SOCKET_TYPE_DATAGRAM and %G_SOCKET_TYPE_SEQPACKET sockets, g_socket_receive() will always read either 0 or 1 complete messages from the socket. If the received message is too large to fit in @buffer, then the data beyond @size bytes will be discarded, without any explicit indication that this has occurred. For %G_SOCKET_TYPE_STREAM sockets, g_socket_receive() can return any number of bytes, up to @size. If more than @size bytes have been received, the additional data will be returned in future calls to g_socket_receive(). If the socket is in blocking mode the call will block until there is some data to receive or there is an error. If there is no data available and the socket is in non-blocking mode, a %G_IO_ERROR_WOULD_BLOCK error will be returned. To be notified when data is available, wait for the %G_IO_IN condition. On error -1 is returned and @error is set accordingly. Number of bytes read, or -1 on error a buffer to read data into (which should be at least @size bytes long). the number of bytes you want to read from the socket a %GCancellable or %NULL Receive data (up to @size bytes) from a socket. If @address is non-%NULL then @address will be set equal to the source address of the received packet. See g_socket_receive() for additional information. Number of bytes read, or -1 on error a pointer to a #GSocketAddress pointer, or %NULL a buffer to read data into (which should be at least @size bytes long). the number of bytes you want to read from the socket a %GCancellable or %NULL Receive data from a socket. This is the most complicated and fully-featured version of this call. For easier use, see g_socket_receive() and g_socket_receive_from(). If @address is non-%NULL then @address will be set equal to the source address of the received packet. describe the buffers that received data will be scattered into. If @num_vectors is -1, then @vectors is assumed to be terminated by a #GInputVector with a %NULL buffer pointer. As a special case, if @num_vectors is 0 (in which case, @vectors may of course be %NULL), then a single byte is received and discarded. This is to facilitate the common practice of sending a single '\0' byte for the purposes of transferring ancillary data. array of #GSocketControlMessage instances or %NULL if no such messages was received. These correspond to the control messages received from the kernel, one #GSocketControlMessage per message from the kernel. This array is %NULL-terminated and must be freed by the caller using g_free() after calling g_object_unref() on each element. If @messages is %NULL, any control messages received will be discarded. messages received. If both @messages and @num_messages are non-%NULL, then for this are available in the #GSocketMsgFlags enum, but the values there are the same as the system values, and the flags are passed in as-is, so you can pass in system-specific flags too (and g_socket_receive_message() may pass system-specific flags out). As with g_socket_receive(), data may be discarded if @socket is %G_SOCKET_TYPE_DATAGRAM or %G_SOCKET_TYPE_SEQPACKET and you do not provide enough buffer space to read a complete message. You can pass %G_SOCKET_MSG_PEEK in @flags to peek at the current message without removing it from the receive queue, but there is no portable way to find out the length of the message other than by reading it into a sufficiently-large buffer. If the socket is in blocking mode the call will block until there is some data to receive or there is an error. If there is no data available and the socket is in non-blocking mode, a %G_IO_ERROR_WOULD_BLOCK error will be returned. To be notified when data is available, wait for the %G_IO_IN condition. On error -1 is returned and @error is set accordingly. Number of bytes read, or -1 on error a pointer to a #GSocketAddress pointer, or %NULL an array of #GInputVector structs the number of elements in @vectors, or -1 a pointer which may be filled with an array of #GSocketControlMessages, or %NULL a pointer which will be filled with the number of elements in @messages, or %NULL a pointer to an int containing #GSocketMsgFlags flags a %GCancellable or %NULL This behaves exactly the same as g_socket_receive(), except that the choice of blocking or non-blocking behavior is determined by the @blocking argument rather than by @socket's properties. Number of bytes read, or -1 on error a buffer to read data into (which should be at least @size bytes long). the number of bytes you want to read from the socket whether to do blocking or non-blocking I/O a %GCancellable or %NULL Tries to send @size bytes from @buffer on the socket. This is mainly used by connection-oriented sockets; it is identical to g_socket_send_to() with @address set to %NULL. If the socket is in blocking mode the call will block until there is space for the data in the socket queue. If there is no space available and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error will be returned. To be notified when space is available, wait for the %G_IO_OUT condition. Note though that you may still receive %G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously notified of a %G_IO_OUT condition. (On Windows in particular, this is very common due to the way the underlying APIs work.) On error -1 is returned and @error is set accordingly. on error Number of bytes written (which may be less than @size), or -1 the buffer containing the data to send. the number of bytes to send a %GCancellable or %NULL Send data to @address on @socket. This is the most complicated and fully-featured version of this call. For easier use, see g_socket_send() and g_socket_send_to(). If @address is %NULL then the message is sent to the default receiver (set by g_socket_connect()). then @vectors is assumed to be terminated by a #GOutputVector with a %NULL buffer pointer.) The #GOutputVector structs describe the buffers that the sent data will be gathered from. Using multiple #GOutputVector<!-- -->s is more memory-efficient than manually copying data from multiple sources into a single buffer, and more network-efficient than making multiple calls to g_socket_send(). #GSocketControlMessage instances. These correspond to the control messages to be sent on the socket. If @num_messages is -1 then @messages is treated as a %NULL-terminated array. for this are available in the #GSocketMsgFlags enum, but the values there are the same as the system values, and the flags are passed in as-is, so you can pass in system-specific flags too. If the socket is in blocking mode the call will block until there is space for the data in the socket queue. If there is no space available and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error will be returned. To be notified when space is available, wait for the %G_IO_OUT condition. Note though that you may still receive %G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously notified of a %G_IO_OUT condition. (On Windows in particular, this is very common due to the way the underlying APIs work.) On error -1 is returned and @error is set accordingly. on error Number of bytes written (which may be less than @size), or -1 a #GSocketAddress, or %NULL an array of #GOutputVector structs the number of elements in @vectors, or -1 a pointer to an array of #GSocketControlMessages, or %NULL. number of elements in @messages, or -1. an int containing #GSocketMsgFlags flags a %GCancellable or %NULL Tries to send @size bytes from @buffer to @address. If @address is %NULL then the message is sent to the default receiver (set by g_socket_connect()). See g_socket_send() for additional information. on error Number of bytes written (which may be less than @size), or -1 a #GSocketAddress, or %NULL the buffer containing the data to send. the number of bytes to send a %GCancellable or %NULL This behaves exactly the same as g_socket_send(), except that the choice of blocking or non-blocking behavior is determined by the @blocking argument rather than by @socket's properties. on error Number of bytes written (which may be less than @size), or -1 the buffer containing the data to send. the number of bytes to send whether to do blocking or non-blocking I/O a %GCancellable or %NULL Sets the blocking mode of the socket. In blocking mode all operations block until they succeed or there is an error. In non-blocking mode all functions return results immediately or with a %G_IO_ERROR_WOULD_BLOCK error. All sockets are created in blocking mode. However, note that the platform level socket is always non-blocking, and blocking mode is a GSocket level feature. Whether to use blocking I/O or not. Sets or unsets the %SO_KEEPALIVE flag on the underlying socket. When this flag is set on a socket, the system will attempt to verify that the remote socket endpoint is still present if a sufficiently long period of time passes with no data being exchanged. If the system is unable to verify the presence of the remote endpoint, it will automatically close the connection. This option is only functional on certain kinds of sockets. (Notably, %G_SOCKET_PROTOCOL_TCP sockets.) The exact time between pings is system- and protocol-dependent, but will normally be at least two hours. Most commonly, you would set this flag on a server socket if you want to allow clients to remain idle for long periods of time, but also want to ensure that connections are eventually garbage-collected if clients crash or become unreachable. Value for the keepalive flag Sets the maximum number of outstanding connections allowed when listening on this socket. If more clients than this are connecting to the socket and the application is not handling them on time then the new connections will be refused. Note that this must be called before g_socket_listen() and has no effect if called after that. the maximum number of pending connections. Sets the time in seconds after which I/O operations on @socket will time out if they have not yet completed. On a blocking socket, this means that any blocking #GSocket operation will time out after @timeout seconds of inactivity, returning %G_IO_ERROR_TIMED_OUT. On a non-blocking socket, calls to g_socket_condition_wait() will also fail with %G_IO_ERROR_TIMED_OUT after the given time. Sources created with g_socket_create_source() will trigger after set, at which point calling g_socket_receive(), g_socket_send(), g_socket_check_connect_result(), etc, will fail with %G_IO_ERROR_TIMED_OUT. If @timeout is 0 (the default), operations will never time out on their own. Note that if an I/O operation is interrupted by a signal, this may cause the timeout to be reset. the timeout for @socket, in seconds, or 0 for none Shut down part of a full-duplex connection. If @shutdown_read is %TRUE then the recieving side of the connection is shut down, and further reading is disallowed. If @shutdown_write is %TRUE then the sending side of the connection is shut down, and further writing is disallowed. It is allowed for both @shutdown_read and @shutdown_write to be %TRUE. One example where this is used is graceful disconnect for TCP connections where you close the sending side, then wait for the other side to close the connection, thus ensuring that the other side saw all sent data. %TRUE on success, %FALSE on error whether to shut down the read side whether to shut down the write side Checks if a socket is capable of speaking IPv4. IPv4 sockets are capable of speaking IPv4. On some operating systems and under some combinations of circumstances IPv6 sockets are also capable of speaking IPv4. See RFC 3493 section 3.7 for more information. No other types of sockets are currently considered as being capable of speaking IPv4. %TRUE if this socket can be used with IPv4. The timeout in seconds on socket I/O A socket endpoint address, corresponding to <type>struct sockaddr</type> or one of its subtypes. Creates a #GSocketAddress subclass corresponding to the native <type>struct sockaddr</type> @native. otherwise %NULL. a new #GSocketAddress if @native could successfully be converted, a pointer to a <type>struct sockaddr</type> the size of the memory location pointed to by @native Gets the socket family type of @address. the socket family type of @address. Gets the size of @address's native <type>struct sockaddr</type>. You can use this to allocate memory to pass to g_socket_address_to_native(). the size of the native <type>struct sockaddr</type> that Converts a #GSocketAddress to a native <type>struct sockaddr</type>, which can be passed to low-level functions like connect() or bind(). If not enough space is availible, a %G_IO_ERROR_NO_SPACE error is returned. If the address type is not known on the system then a %G_IO_ERROR_NOT_SUPPORTED error is returned. %TRUE if @dest was filled in, %FALSE on error a pointer to a memory location that will contain the native <type>struct sockaddr</type>. the size of @dest. Must be at least as large as g_socket_address_get_native_size(). Gets the socket family type of @address. the socket family type of @address. Gets the size of @address's native <type>struct sockaddr</type>. You can use this to allocate memory to pass to g_socket_address_to_native(). the size of the native <type>struct sockaddr</type> that Converts a #GSocketAddress to a native <type>struct sockaddr</type>, which can be passed to low-level functions like connect() or bind(). If not enough space is availible, a %G_IO_ERROR_NO_SPACE error is returned. If the address type is not known on the system then a %G_IO_ERROR_NOT_SUPPORTED error is returned. %TRUE if @dest was filled in, %FALSE on error a pointer to a memory location that will contain the native <type>struct sockaddr</type>. the size of @dest. Must be at least as large as g_socket_address_get_native_size(). the socket family type of @address. the size of the native <type>struct sockaddr</type> that %TRUE if @dest was filled in, %FALSE on error a pointer to a memory location that will contain the native <type>struct sockaddr</type>. the size of @dest. Must be at least as large as g_socket_address_get_native_size(). Enumerator type for objects that contain or generate #GSocketAddress<!-- -->es. Retrieves the next #GSocketAddress from @enumerator. Note that this may block for some amount of time. (Eg, a #GNetworkAddress may need to do a DNS lookup before it can return an address.) Use g_socket_address_enumerator_next_async() if you need to avoid blocking. If @enumerator is expected to yield addresses, but for some reason is unable to (eg, because of a DNS error), then the first call to g_socket_address_enumerator_next() will return an appropriate error in *@error. However, if the first call to g_socket_address_enumerator_next() succeeds, then any further internal errors (other than @cancellable being triggered) will be ignored. error (in which case *@error will be set) or if there are no more addresses. a #GSocketAddress (owned by the caller), or %NULL on optional #GCancellable object, %NULL to ignore. Asynchronously retrieves the next #GSocketAddress from @enumerator and then calls @callback, which must call g_socket_address_enumerator_next_finish() to get the result. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Retrieves the result of a completed call to g_socket_address_enumerator_next_async(). See g_socket_address_enumerator_next() for more information about error handling. error (in which case *@error will be set) or if there are no more addresses. a #GSocketAddress (owned by the caller), or %NULL on a #GAsyncResult Retrieves the next #GSocketAddress from @enumerator. Note that this may block for some amount of time. (Eg, a #GNetworkAddress may need to do a DNS lookup before it can return an address.) Use g_socket_address_enumerator_next_async() if you need to avoid blocking. If @enumerator is expected to yield addresses, but for some reason is unable to (eg, because of a DNS error), then the first call to g_socket_address_enumerator_next() will return an appropriate error in *@error. However, if the first call to g_socket_address_enumerator_next() succeeds, then any further internal errors (other than @cancellable being triggered) will be ignored. error (in which case *@error will be set) or if there are no more addresses. a #GSocketAddress (owned by the caller), or %NULL on optional #GCancellable object, %NULL to ignore. Asynchronously retrieves the next #GSocketAddress from @enumerator and then calls @callback, which must call g_socket_address_enumerator_next_finish() to get the result. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function Retrieves the result of a completed call to g_socket_address_enumerator_next_async(). See g_socket_address_enumerator_next() for more information about error handling. error (in which case *@error will be set) or if there are no more addresses. a #GSocketAddress (owned by the caller), or %NULL on a #GAsyncResult a #GSocketAddress (owned by the caller), or %NULL on optional #GCancellable object, %NULL to ignore. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the request is satisfied the data to pass to callback function a #GSocketAddress (owned by the caller), or %NULL on a #GAsyncResult A helper class for network servers to listen for and accept connections. Creates a new #GSocketClient with the default options. Free the returned object with g_object_unref(). a #GSocketClient. Enable proxy protocols to be handled by the application. When the indicated proxy protocol is returned by the #GProxyResolver, #GSocketClient will consider this protocol as supported but will not try find a #GProxy instance to handle handshaking. The application must check for this case by calling g_socket_connection_get_remote_address() on the returned #GSocketConnection, and seeing if it's a #GProxyAddress of the appropriate type, to determine whether or not it needs to handle the proxy handshaking itself. This should be used for proxy protocols that are dialects of another protocol such as HTTP proxy. It also allows cohabitation of proxy protocols that are reused between protocols. A good example is HTTP. It can be used to proxy HTTP, FTP and Gopher and can also be use as generic socket proxy through the HTTP CONNECT method. The proxy protocol Tries to resolve the @connectable and make a network connection to it.. Upon a successful connection, a new #GSocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it. The type of the #GSocketConnection object returned depends on the type of the underlying socket that is used. For instance, for a TCP/IP connection it will be a #GTcpConnection. The socket created will be the same family as the the address that the or indirectly via g_socket_client_set_local_address(). The socket type defaults to %G_SOCKET_TYPE_STREAM but can be set with g_socket_client_set_socket_type(). If a local address is specified with g_socket_client_set_local_address() the socket will be bound to this address before connecting. a #GSocketConnection on success, %NULL on error. a #GSocketConnectable specifying the remote address. optional #GCancellable object, %NULL to ignore. This is the asynchronous version of g_socket_client_connect(). When the operation is finished @callback will be called. You can then call g_socket_client_connect_finish() to get the result of the operation. a #GSocketConnectable specifying the remote address. a #GCancellable, or %NULL a #GAsyncReadyCallback user data for the callback Finishes an async connect operation. See g_socket_client_connect_async() a #GSocketConnection on success, %NULL on error. a #GAsyncResult. This is a helper function for g_socket_client_connect(). Attempts to create a TCP connection to the named host. address, an IPv4 address, or a domain name (in which case a DNS lookup is performed). Quoting with [] is supported for all address types. A port override may be specified in the usual way with a colon. Ports may be given as decimal numbers or symbolic names (in which case an /etc/services lookup is performed). If no port override is given in @host_and_port then @default_port will be used as the port number to connect to. In general, @host_and_port is expected to be provided by the user (allowing them to give the hostname, and a port overide if necessary) and In the case that an IP address is given, a single connection attempt is made. In the case that a name is given, multiple connection attempts may be made, in turn and according to the number of address records in DNS, until a connection succeeds. Upon a successful connection, a new #GSocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it. In the event of any failure (DNS error, service not found, no hosts connectable) %NULL is returned and @error (if non-%NULL) is set accordingly. a #GSocketConnection on success, %NULL on error. the name and optionally port of the host to connect to the default port to connect to a #GCancellable, or %NULL This is the asynchronous version of g_socket_client_connect_to_host(). When the operation is finished @callback will be called. You can then call g_socket_client_connect_to_host_finish() to get the result of the operation. the name and optionally the port of the host to connect to the default port to connect to a #GCancellable, or %NULL a #GAsyncReadyCallback user data for the callback Finishes an async connect operation. See g_socket_client_connect_to_host_async() a #GSocketConnection on success, %NULL on error. a #GAsyncResult. Attempts to create a TCP connection to a service. This call looks up the SRV record for @service at @domain for the "tcp" protocol. It then attempts to connect, in turn, to each of the hosts providing the service until either a connection succeeds or there are no hosts remaining. Upon a successful connection, a new #GSocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it. In the event of any failure (DNS error, service not found, no hosts connectable) %NULL is returned and @error (if non-%NULL) is set accordingly. a #GSocketConnection if successful, or %NULL on error a domain name the name of the service to connect to a #GCancellable, or %NULL This is the asynchronous version of g_socket_client_connect_to_service(). a domain name the name of the service to connect to a #GCancellable, or %NULL a #GAsyncReadyCallback user data for the callback Finishes an async connect operation. See g_socket_client_connect_to_service_async() a #GSocketConnection on success, %NULL on error. a #GAsyncResult. This is a helper function for g_socket_client_connect(). Attempts to create a TCP connection with a network URI. component. If a port is not specified in the URI, @default_port will be used. Using this rather than g_socket_client_connect() or g_socket_client_connect_to_host() allows #GSocketClient to determine when to use application-specific proxy protocols. Upon a successful connection, a new #GSocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it. In the event of any failure (DNS error, service not found, no hosts connectable) %NULL is returned and @error (if non-%NULL) is set accordingly. a #GSocketConnection on success, %NULL on error. A network URI the default port to connect to a #GCancellable, or %NULL This is the asynchronous version of g_socket_client_connect_to_uri(). When the operation is finished @callback will be called. You can then call g_socket_client_connect_to_uri_finish() to get the result of the operation. a network uri the default port to connect to a #GCancellable, or %NULL a #GAsyncReadyCallback user data for the callback Finishes an async connect operation. See g_socket_client_connect_to_uri_async() a #GSocketConnection on success, %NULL on error. a #GAsyncResult. Gets the proxy enable state; see g_socket_client_set_enable_proxy() whether proxying is enabled Gets the socket family of the socket client. See g_socket_client_set_family() for details. a #GSocketFamily Gets the local address of the socket client. See g_socket_client_set_local_address() for details. a #GSocketAddres or %NULL. don't free Gets the protocol name type of the socket client. See g_socket_client_set_protocol() for details. a #GSocketProtocol Gets the socket type of the socket client. See g_socket_client_set_socket_type() for details. a #GSocketFamily Gets the I/O timeout time for sockets created by @client. See g_socket_client_set_timeout() for details. the timeout in seconds Sets whether or not @client attempts to make connections via a proxy server. When enabled (the default), #GSocketClient will use a #GProxyResolver to determine if a proxy protocol such as SOCKS is needed, and automatically do the necessary proxy negotiation. whether to enable proxies Sets the socket family of the socket client. If this is set to something other than %G_SOCKET_FAMILY_INVALID then the sockets created by this object will be of the specified family. This might be useful for instance if you want to force the local connection to be an ipv4 socket, even though the address might be an ipv6 mapped to ipv4 address. a #GSocketFamily Sets the local address of the socket client. The sockets created by this object will bound to the specified address (if not %NULL) before connecting. This is useful if you want to ensure the the local side of the connection is on a specific port, or on a specific interface. a #GSocketAddress, or %NULL Sets the protocol of the socket client. The sockets created by this object will use of the specified protocol. If @protocol is %0 that means to use the default protocol for the socket family and type. a #GSocketProtocol Sets the socket type of the socket client. The sockets created by this object will be of the specified type. It doesn't make sense to specify a type of %G_SOCKET_TYPE_DATAGRAM, as GSocketClient is used for connection oriented services. a #GSocketType Sets the I/O timeout for sockets created by @client. @timeout is a time in seconds, or 0 for no timeout (the default). The timeout value affects the initial connection attempt as well, so setting this may cause calls to g_socket_client_connect(), etc, to fail with %G_IO_ERROR_TIMED_OUT. the timeout Interface for objects that contain or generate #GSocketAddress<!-- -->es. Creates a #GSocketAddressEnumerator for @connectable. a new #GSocketAddressEnumerator. Creates a #GSocketAddressEnumerator for @connectable that will return #GProxyAddress<!-- -->es for addresses that you must connect to via a proxy. If @connectable does not implement g_socket_connectable_proxy_enumerate(), this will fall back to calling g_socket_connectable_enumerate(). a new #GSocketAddressEnumerator. Creates a #GSocketAddressEnumerator for @connectable. a new #GSocketAddressEnumerator. Creates a #GSocketAddressEnumerator for @connectable that will return #GProxyAddress<!-- -->es for addresses that you must connect to via a proxy. If @connectable does not implement g_socket_connectable_proxy_enumerate(), this will fall back to calling g_socket_connectable_enumerate(). a new #GSocketAddressEnumerator. Provides an interface for returning a #GSocketAddressEnumerator and #GProxyAddressEnumerator a new #GSocketAddressEnumerator. a new #GSocketAddressEnumerator. A socket connection GIOStream object for connection-oriented sockets. Looks up the #GType to be used when creating socket connections on sockets with the specified @family,@type and @protocol_id. If no type is registered, the #GSocketConnection base type is returned. a #GType a #GSocketFamily a #GSocketType a protocol id Looks up the #GType to be used when creating socket connections on sockets with the specified @family,@type and @protocol. If no type is registered, the #GSocketConnection base type is returned. a #GType, inheriting from %G_TYPE_SOCKET_CONNECTION a #GSocketFamily a #GSocketType a protocol id Try to get the local address of a socket connection. Free the returned object with g_object_unref(). a #GSocketAddress or %NULL on error. Try to get the remote address of a socket connection. Free the returned object with g_object_unref(). a #GSocketAddress or %NULL on error. Gets the underlying #GSocket object of the connection. This can be useful if you want to do something unusual on it not supported by the #GSocketConnection APIs. a #GSocketAddress or %NULL on error. Base class for socket-type specific control messages that can be sent and received over #GSocket. Tries to deserialize a socket control message of a given of #GSocketControlMessage if they can understand this kind of message and if so deserialize it into a #GSocketControlMessage. If there is no implementation for this kind of control message, %NULL will be returned. the deserialized message or %NULL a socket level a socket control message type for the given @level the size of the data in bytes pointer to the message data Returns the "level" (i.e. the originating protocol) of the control message. This is often SOL_SOCKET. an integer describing the level Returns the space required for the control message, not including headers or alignment. The number of bytes required. Converts the data in the message to bytes placed in the message. returned by g_socket_control_message_get_size() on this object. A buffer to write data to Returns the "level" (i.e. the originating protocol) of the control message. This is often SOL_SOCKET. an integer describing the level Returns the protocol specific type of the control message. For instance, for UNIX fd passing this would be SCM_RIGHTS. an integer describing the type of control message Returns the space required for the control message, not including headers or alignment. The number of bytes required. Converts the data in the message to bytes placed in the message. returned by g_socket_control_message_get_size() on this object. A buffer to write data to The number of bytes required. an integer describing the level A buffer to write data to The protocol family of a #GSocketAddress. (These values are identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX, if available.) Creates a new #GSocketListener with no sockets to listen for. New listeners can be added with e.g. g_socket_listener_add_address() or g_socket_listener_add_inet_port(). a new #GSocketListener. Blocks waiting for a client to connect to any of the sockets added to the listener. Returns a #GSocketConnection for the socket that was accepted. If @source_object is not %NULL it will be filled out with the source object specified when the corresponding socket or address was added to the listener. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GSocketConnection on success, %NULL on error. location where #GObject pointer will be stored, or %NULL optional #GCancellable object, %NULL to ignore. This is the asynchronous version of g_socket_listener_accept(). When the operation is finished @callback will be called. You can then call g_socket_listener_accept_socket() to get the result of the operation. a #GCancellable, or %NULL a #GAsyncReadyCallback user data for the callback Finishes an async accept operation. See g_socket_listener_accept_async() a #GSocketConnection on success, %NULL on error. a #GAsyncResult. Optional #GObject identifying this source Blocks waiting for a client to connect to any of the sockets added to the listener. Returns the #GSocket that was accepted. If you want to accept the high-level #GSocketConnection, not a #GSocket, which is often the case, then you should use g_socket_listener_accept() instead. If @source_object is not %NULL it will be filled out with the source object specified when the corresponding socket or address was added to the listener. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GSocket on success, %NULL on error. location where #GObject pointer will be stored, or %NULL. optional #GCancellable object, %NULL to ignore. This is the asynchronous version of g_socket_listener_accept_socket(). When the operation is finished @callback will be called. You can then call g_socket_listener_accept_socket_finish() to get the result of the operation. a #GCancellable, or %NULL a #GAsyncReadyCallback user data for the callback Finishes an async accept operation. See g_socket_listener_accept_socket_async() a #GSocket on success, %NULL on error. a #GAsyncResult. Optional #GObject identifying this source Creates a socket of type @type and protocol @protocol, binds it to @address and adds it to the set of sockets we're accepting sockets from. Note that adding an IPv6 address, depending on the platform, may or may not result in a listener that also accepts IPv4 connections. For more determinstic behaviour, see g_socket_listener_add_inet_port(). to accept to identify this particular source, which is useful if you're listening on multiple addresses and do different things depending on what address is connected to. If successful and @effective_address is non-%NULL then it will be set to the address that the binding actually occured at. This is helpful for determining the port number that was used for when requested, belongs to the caller and must be freed. %TRUE on success, %FALSE on error. a #GSocketAddress a #GSocketType a #GSocketProtocol Optional #GObject identifying this source location to store the address that was bound to, or %NULL. Listens for TCP connections on any available port number for both IPv6 and IPv4 (if each are available). This is useful if you need to have a socket for incoming connections but don't care about the specific port number. to accept to identify this particular source, which is useful if you're listening on multiple addresses and do different things depending on what address is connected to. the port number, or 0 in case of failure. Optional #GObject identifying this source Helper function for g_socket_listener_add_address() that creates a TCP/IP socket listening on IPv4 and IPv6 (if supported) on the specified port on all interfaces. to accept to identify this particular source, which is useful if you're listening on multiple addresses and do different things depending on what address is connected to. %TRUE on success, %FALSE on error. an IP port number (non-zero) Optional #GObject identifying this source Adds @socket to the set of sockets that we try to accept new clients from. The socket must be bound to a local address and listened to. to accept to identify this particular source, which is useful if you're listening on multiple addresses and do different things depending on what address is connected to. %TRUE on success, %FALSE on error. a listening #GSocket Optional #GObject identifying this source Closes all the sockets in the listener. Sets the listen backlog on the sockets in the listener. See g_socket_set_listen_backlog() for details an integer Flags used in g_socket_receive_message() and g_socket_send_message(). The flags listed in the enum are some commonly available flags, but the values used for them are the same as on the platform, and any other flags are passed in/out as is. So to use a platform specific flag, just include the right system header and pass in the flag. A protocol identifier is specified when creating a #GSocket, which is a family/type specific identifier, where 0 means the default protocol for the particular family/type. This enum contains a set of commonly available and used protocols. You can also pass any other identifiers handled by the platform in order to use protocols not listed here. A helper class for handling accepting incomming connections in the glib mainloop. Creates a new #GSocketService with no sockets to listen for. New listeners can be added with e.g. g_socket_listener_add_address() or g_socket_listener_add_inet_port(). a new #GSocketService. Check whether the service is active or not. An active service will accept new clients that connect, while a non-active service will let connecting clients queue up until the service is started. %TRUE if the service is active, %FALSE otherwise Starts the service, i.e. start accepting connections from the added sockets when the mainloop runs. This call is threadsafe, so it may be called from a thread handling an incomming client request. Stops the service, i.e. stops accepting connections from the added sockets when the mainloop runs. This call is threadsafe, so it may be called from a thread handling an incomming client request. The ::incoming signal is emitted when a new incoming connection to @service needs to be handled. The handler must initiate the handling of @connection, but may not block; in essence, asynchronous operations must be used. %TRUE to stop other handlers from being called a new #GSocketConnection object. the source_object passed to g_socket_listener_add_address(). This is the function type of the callback used for the #GSource returned by g_socket_create_source(). it should return %FALSE if the source should be removed. the #GSocket the current condition at the source fired. data passed in by the user. Flags used when creating a #GSocket. Some protocols may not implement all the socket types. A single target host/port that a network service is running on. Creates a new #GSrvTarget with the given parameters. You should not need to use this; normally #GSrvTarget<!-- -->s are created by #GResolver. a new #GSrvTarget. the host that the service is running on the port that the service is running on the target's priority the target's weight Copies @target a copy of @target Frees @target Gets @target's hostname (in ASCII form; if you are going to present this to the user, you should use g_hostname_is_ascii_encoded() to check if it contains encoded Unicode segments, and use g_hostname_to_unicode() to convert it if it does.) @target's hostname Gets @target's port @target's port Gets @target's priority. You should not need to look at this; #GResolver already sorts the targets according to the algorithm in RFC 2782. @target's priority Gets @target's weight. You should not need to look at this; #GResolver already sorts the targets according to the algorithm in RFC 2782. @target's weight A #GSocketConnection for UNIX domain socket connections. Checks if graceful disconnects are used. See g_tcp_connection_set_graceful_disconnect(). %TRUE if graceful disconnect is used on close, %FALSE otherwise This enabled graceful disconnects on close. A graceful disconnect means that we signal the recieving end that the connection is terminated and wait for it to close the connection before closing the connection. A graceful disconnect means that we can be sure that we successfully sent all the outstanding data to the other end, or get an error reported. However, it also means we have to wait for all the data to reach the other side and for it to acknowledge this by closing the socket, which may take a while. For this reason it is disabled by default. Whether to do graceful disconnects or not An implementation of #GIcon for themed icons. Creates a new themed icon for @iconname. a new #GThemedIcon. a string containing an icon name. Creates a new themed icon for @iconnames. a new #GThemedIcon an array of strings containing icon names. the length of the @iconnames array, or -1 if @iconnames is %NULL-terminated Creates a new themed icon for @iconname, and all the names that can be created by shortening @iconname at '-' characters. In the following example, @icon1 and @icon2 are equivalent: |[ const char *names[] = { "gnome-dev-cdrom-audio", "gnome-dev-cdrom", "gnome-dev", "gnome" }; icon1 = g_themed_icon_new_from_names (names, 4); icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio"); ]| a new #GThemedIcon. a string containing an icon name Append a name to the list of icons from within @icon. <note><para> Note that doing so invalidates the hash computed by prior calls to g_icon_hash(). </para></note> name of icon to append to list of icons from within @icon. Gets the names of icons from within @icon. a list of icon names. Prepend a name to the list of icons from within @icon. <note><para> Note that doing so invalidates the hash computed by prior calls to g_icon_hash(). </para></note> name of icon to prepend to list of icons from within @icon. The icon name. A %NULL-terminated array of icon names. Whether to use the default fallbacks found by shortening the icon name at '-' characters. If the "names" array has more than one element, ignores any past the first. For example, if the icon name was "gnome-dev-cdrom-audio", the array would become |[ { "gnome-dev-cdrom-audio", "gnome-dev-cdrom", "gnome-dev", "gnome", NULL }; ]| A helper class for handling accepting incomming connections in the glib mainloop and handling them in a thread. Creates a new #GThreadedSocketService with no listeners. Listeners must be added with g_socket_service_add_listeners(). a new #GSocketService. the maximal number of threads to execute concurrently handling incoming clients, -1 means no limit The ::run signal is emitted in a worker thread in response to an incoming connection. This thread is dedicated to handling not return until the connection is closed. %TRUE to stope further signal handlers from being called a new #GSocketConnection object. the source_object passed to g_socket_listener_add_address(). Receives credentials from the sending end of the connection. The sending end has to call g_unix_connection_send_credentials() (or similar) for this to work. As well as reading the credentials this also reads (and discards) a single byte from the stream, as this is required for credentials passing to work on some implementations. Other ways to exchange credentials with a foreign peer includes the #GUnixCredentialsMessage type and g_socket_get_credentials() function. g_object_unref()), %NULL if @error is set. Received credentials on success (free with A #GCancellable or %NULL. Receives a file descriptor from the sending end of the connection. The sending end has to call g_unix_connection_send_fd() for this to work. As well as reading the fd this also reads a single byte from the stream, as this is required for fd passing to work on some implementations. a file descriptor on success, -1 on error. optional #GCancellable object, %NULL to ignore Passes the credentials of the current user the receiving side of the connection. The recieving end has to call g_unix_connection_receive_credentials() (or similar) to accept the credentials. As well as sending the credentials this also writes a single NUL byte to the stream, as this is required for credentials passing to work on some implementations. Other ways to exchange credentials with a foreign peer includes the #GUnixCredentialsMessage type and g_socket_get_credentials() function. %TRUE on success, %FALSE if @error is set. A #GCancellable or %NULL. Passes a file descriptor to the recieving side of the connection. The recieving end has to call g_unix_connection_receive_fd() to accept the file descriptor. As well as sending the fd this also writes a single byte to the stream, as this is required for fd passing to work on some implementations. a %TRUE on success, %NULL on error. a file descriptor optional #GCancellable object, %NULL to ignore. The #GUnixCredentialsMessage structure contains only private data and should only be accessed using the provided API. Creates a new #GUnixCredentialsMessage with credentials matching the current processes. a new #GUnixCredentialsMessage Creates a new #GUnixCredentialsMessage holding @credentials. a new #GUnixCredentialsMessage A #GCredentials object. Checks if passing a #GCredential on a #GSocket is supported on this platform. %TRUE if supported, %FALSE otherwise Gets the credentials stored in @message. A #GCredentials instance. Do not free, it is owned by @message. The credentials stored in the message. Class structure for #GUnixCredentialsMessage. Creates a new #GUnixFDList containing no file descriptors. a new #GUnixFDList Creates a new #GUnixFDList containing the file descriptors given in may no longer be used by the caller. The array itself is owned by the caller. Each file descriptor in the array should be set to close-on-exec. If @n_fds is -1 then @fds must be terminated with -1. a new #GUnixFDList the initial list of file descriptors the length of #fds, or -1 Adds a file descriptor to @list. The file descriptor is duplicated using dup(). You keep your copy of the descriptor and the copy contained in @list will be closed when @list is finalized. A possible cause of failure is exceeding the per-process or system-wide file descriptor limit. The index of the file descriptor in the list is returned. If you use this index with g_unix_fd_list_get() then you will receive back a duplicated copy of the same file descriptor. (and @error is set) the index of the appended fd in case of success, else -1 a valid open file descriptor Gets a file descriptor out of @list. programmer error for @index_ to be out of range; see g_unix_fd_list_get_length(). The file descriptor is duplicated using dup() and set as close-on-exec before being returned. You must call close() on it when you are done. A possible cause of failure is exceeding the per-process or system-wide file descriptor limit. the file descriptor, or -1 in case of error the index into the list contained within). the length of @list Returns the array of file descriptors that is contained in this object. After this call, the descriptors remain the property of @list. The caller must not close them and must not free the array. The array is valid only until @list is changed in any way. If @length is non-%NULL then it is set to the number of file descriptors in the returned array. The returned array is also terminated with -1. This function never returns %NULL. In case there are no file descriptors contained in @list, an empty array is returned. an array of file descriptors pointer to the length of the returned array, or %NULL Returns the array of file descriptors that is contained in this object. After this call, the descriptors are no longer contained in descriptors have been added). The return result of this function must be freed with g_free(). The caller is also responsible for closing all of the file descriptors. The file descriptors in the array are set to close-on-exec. If @length is non-%NULL then it is set to the number of file descriptors in the returned array. The returned array is also terminated with -1. This function never returns %NULL. In case there are no file descriptors contained in @list, an empty array is returned. an array of file descriptors pointer to the length of the returned array, or %NULL Creates a new #GUnixFDMessage containing an empty file descriptor list. a new #GUnixFDMessage Creates a new #GUnixFDMessage containing @list. a new #GUnixFDMessage a #GUnixFDList Adds a file descriptor to @message. The file descriptor is duplicated using dup(). You keep your copy of the descriptor and the copy contained in @message will be closed when @message is finalized. A possible cause of failure is exceeding the per-process or system-wide file descriptor limit. %TRUE in case of success, else %FALSE (and @error is set) a valid open file descriptor Gets the #GUnixFDList contained in @message. This function does not return a reference to the caller, but the returned list is valid for the lifetime of @message. the #GUnixFDList from @message Returns the array of file descriptors that is contained in this object. After this call, the descriptors are no longer contained in descriptors have been added). The return result of this function must be freed with g_free(). The caller is also responsible for closing all of the file descriptors. If @length is non-%NULL then it is set to the number of file descriptors in the returned array. The returned array is also terminated with -1. This function never returns %NULL. In case there are no file descriptors contained in @message, an empty array is returned. an array of file descriptors pointer to the length of the returned array, or %NULL Implements #GInputStream for reading from selectable unix file descriptors Creates a new #GUnixInputStream for the given @fd. If @close_fd is %TRUE, the file descriptor will be closed when the stream is closed. a new #GUnixInputStream a UNIX file descriptor %TRUE to close the file descriptor when done Returns whether the file descriptor of @stream will be closed when the stream is closed. %TRUE if the file descriptor is closed when done Return the UNIX file descriptor that the stream reads from. The file descriptor of @stream Sets whether the file descriptor of @stream shall be closed when the stream is closed. %TRUE to close the file descriptor when done Whether to close the file descriptor when the stream is closed. The file descriptor that the stream reads from. Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>). This corresponds roughly to a mtab entry. Watches #GUnixMount<!-- -->s for changes. Gets a new #GUnixMountMonitor. The default rate limit for which the monitor will report consecutive changes for the mount and mount point entry files is the default for a #GFileMonitor. Use g_unix_mount_monitor_set_rate_limit() to change this. a #GUnixMountMonitor. Sets the rate limit to which the @mount_monitor will report consecutive change events to the mount and mount point entry files. a integer with the limit in milliseconds to poll for changes. Emitted when the unix mount points have changed. Emitted when the unix mounts have changed. Defines a Unix mount point (e.g. <filename>/dev</filename>). This corresponds roughly to a fstab entry. Compares two unix mount points. or less than @mount2, respectively. 1, 0 or -1 if @mount1 is greater than, equal to, a #GUnixMount. Frees a unix mount point. Gets the device path for a unix mount point. a string containing the device path. Gets the file system type for the mount point. a string containing the file system type. Gets the mount path for a unix mount point. a string containing the mount path. Guesses whether a Unix mount point can be ejected. %TRUE if @mount_point is deemed to be ejectable. Guesses the icon of a Unix mount point. a #GIcon Guesses the name of a Unix mount point. The result is a translated string. be freed with g_free() A newly allocated string that must Checks if a unix mount point is a loopback device. %TRUE if the mount point is a loopback. %FALSE otherwise. Checks if a unix mount point is read only. %TRUE if a mount point is read only. Checks if a unix mount point is mountable by the user. %TRUE if the mount point is user mountable. Implements #GOutputStream for outputting to selectable unix file descriptors Creates a new #GUnixOutputStream for the given @fd. If @close_fd, is %TRUE, the file descriptor will be closed when the output stream is destroyed. a new #GOutputStream a UNIX file descriptor %TRUE to close the file descriptor when done Returns whether the file descriptor of @stream will be closed when the stream is closed. %TRUE if the file descriptor is closed when done Return the UNIX file descriptor that the stream writes to. The file descriptor of @stream Sets whether the file descriptor of @stream shall be closed when the stream is closed. %TRUE to close the file descriptor when done Whether to close the file descriptor when the stream is closed. The file descriptor that the stream writes to. A UNIX-domain (local) socket address, corresponding to a <type>struct sockaddr_un</type>. Creates a new #GUnixSocketAddress for @path. To create abstract socket addresses, on systems that support that, use g_unix_socket_address_new_abstract(). a new #GUnixSocketAddress the socket path Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED #GUnixSocketAddress for @path. a new #GUnixSocketAddress the abstract name the length of @path, or -1 Creates a new #GUnixSocketAddress of type @type with name @path. If @type is %G_UNIX_SOCKET_ADDRESS_PATH, this is equivalent to calling g_unix_socket_address_new(). If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT, then @path_len bytes of @path will be copied to the socket's path, and only those bytes will be considered part of the name. (If @path_len is -1, then @path is assumed to be NUL-terminated.) For example, if @path was "test", then calling g_socket_address_get_native_size() on the returned socket would return 7 (2 bytes of overhead, 1 byte for the abstract-socket indicator byte, and 4 bytes for the name "test"). If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED, then rest of the path will be padded with 0 bytes, and the entire zero-padded buffer will be considered the name. (As above, if this case, g_socket_address_get_native_size() will always return the full size of a <literal>struct sockaddr_un</literal>, although g_unix_socket_address_get_path_len() will still return just the length of @path. %G_UNIX_SOCKET_ADDRESS_ABSTRACT is preferred over %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED for new programs. Of course, when connecting to a server created by another process, you must use the appropriate type corresponding to how that process created its listening socket. a new #GUnixSocketAddress the name the length of @path, or -1 a #GUnixSocketAddressType Checks if abstract unix domain socket names are supported. %TRUE if supported, %FALSE otherwise Gets @address's type. a #GUnixSocketAddressType Tests if @address is abstract. %TRUE if the address is abstract, %FALSE otherwise Gets @address's path, or for abstract sockets the "name". Guaranteed to be zero-terminated, but an abstract socket may contain embedded zeros, and thus you should use g_unix_socket_address_get_path_len() to get the true length of this string. the path for @address Gets the length of @address's path. For details, see g_unix_socket_address_get_path(). the length of the path Whether or not this is an abstract address distinguishes between zero-padded and non-zero-padded abstract addresses. The type of name used by a #GUnixSocketAddress. %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS indicates a socket not bound to any name (eg, a client-side socket, or a socket created with socketpair()). For abstract sockets, there are two incompatible ways of naming sockaddr_un</literal> as the name, padding the unused parts of the %sun_path field with zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs instead just use a portion of %sun_path, and pass an appropriate smaller length to bind() or connect(). This is %G_UNIX_SOCKET_ADDRESS_ABSTRACT. Virtual File System object. Gets the default #GVfs for the system. a #GVfs. Gets the local #GVfs for the system. a #GVfs. Gets a #GFile for @path. Free the returned object with g_object_unref(). a #GFile. a string containing a VFS path. Gets a #GFile for @uri. This operation never fails, but the returned object might not support any I/O operation if the URI is malformed or if the URI scheme is not supported. Free the returned object with g_object_unref(). a #GFile. a string containing a URI Gets a list of URI schemes supported by @vfs. The returned array belongs to GIO and must not be freed or modified. a %NULL-terminated array of strings. Checks if the VFS is active. %TRUE if construction of the @vfs was successful and it is now active. This operation never fails, but the returned object might not support any I/O operations if the @parse_name cannot be parsed by the #GVfs module. Free the returned object with g_object_unref(). a #GFile for the given @parse_name. a string to be parsed by the VFS module. Gets a #GFile for @path. Free the returned object with g_object_unref(). a #GFile. a string containing a VFS path. Gets a #GFile for @uri. This operation never fails, but the returned object might not support any I/O operation if the URI is malformed or if the URI scheme is not supported. Free the returned object with g_object_unref(). a #GFile. a string containing a URI Gets a list of URI schemes supported by @vfs. The returned array belongs to GIO and must not be freed or modified. a %NULL-terminated array of strings. Checks if the VFS is active. %TRUE if construction of the @vfs was successful and it is now active. This operation never fails, but the returned object might not support any I/O operations if the @parse_name cannot be parsed by the #GVfs module. Free the returned object with g_object_unref(). a #GFile for the given @parse_name. a string to be parsed by the VFS module. %TRUE if construction of the @vfs was successful and it is now active. a #GFile. a string containing a VFS path. a #GFile. a string containing a URI a %NULL-terminated array of strings. a #GFile for the given @parse_name. a string to be parsed by the VFS module. Opaque mountable volume object. Checks if a volume can be ejected. %TRUE if the @volume can be ejected. %FALSE otherwise. Checks if a volume can be mounted. %TRUE if the @volume can be mounted. %FALSE otherwise. Ejects a volume. This is an asynchronous operation, and is finished by calling g_volume_eject_finish() with the @volume and #GAsyncResult returned in the @callback. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data that gets passed to @callback Finishes ejecting a volume. If any errors occured during the operation, %TRUE, %FALSE if operation failed. a #GAsyncResult. Ejects a volume. This is an asynchronous operation, and is finished by calling g_volume_eject_with_operation_finish() with the @volume and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a volume. If any errors occurred during the operation, %TRUE if the volume was successfully ejected. %FALSE otherwise. a #GAsyncResult. Gets the kinds of <link linkend="volume-identifier">identifiers</link> that @volume has. Use g_volume_get_identifer() to obtain the identifiers themselves. of strings containing kinds of identifiers. Use g_strfreev() to free. a %NULL-terminated array Gets the activation root for a #GVolume if it is known ahead of mount time. Returns %NULL otherwise. If not %NULL and if @volume is mounted, then the result of g_mount_get_root() on the #GMount object obtained from g_volume_get_mount() will always either be equal or a prefix of what this function returns. In other words, in code <programlisting> GMount *mount; GFile *mount_root GFile *volume_activation_root; mount = g_volume_get_mount (volume); /&ast; mounted, so never NULL &ast;/ mount_root = g_mount_get_root (mount); volume_activation_root = g_volume_get_activation_root(volume); /&ast; assume not NULL &ast;/ </programlisting> then the expression <programlisting> (g_file_has_prefix (volume_activation_root, mount_root) || </programlisting> will always be %TRUE. Activation roots are typically used in #GVolumeMonitor implementations to find the underlying mount to shadow, see g_mount_is_shadowed() for more details. g_object_unref() to free. the activation root of @volume or %NULL. Use Gets the drive for the @volume. The returned object should be unreffed with g_object_unref() when no longer needed. a #GDrive or %NULL if @volume is not associated with a drive. Gets the icon for @volume. The returned object should be unreffed with g_object_unref() when no longer needed. a #GIcon. Gets the identifier of the given kind for @volume. See the <link linkend="volume-identifier">introduction</link> for more information about volume identifiers. requested identfier, or %NULL if the #GVolume doesn't have this kind of identifier a newly allocated string containing the the kind of identifier to return Gets the mount for the @volume. The returned object should be unreffed with g_object_unref() when no longer needed. a #GMount or %NULL if @volume isn't mounted. Gets the name of @volume. be freed with g_free() when no longer needed. the name for the given @volume. The returned string should Gets the UUID for the @volume. The reference is typically based on the file system UUID for the volume in question and should be considered an opaque string. Returns %NULL if there is no UUID available. The returned string should be freed with g_free() when no longer needed. the UUID for @volume or %NULL if no UUID can be computed. Finishes mounting a volume. If any errors occured during the operation, If the mount operation succeeded, g_volume_get_mount() on @volume is guaranteed to return the mount right after calling this function; there's no need to listen for the 'mount-added' signal on #GVolumeMonitor. %TRUE, %FALSE if operation failed. a #GAsyncResult Mounts a volume. This is an asynchronous operation, and is finished by calling g_volume_mount_finish() with the @volume and #GAsyncResult returned in the @callback. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data that gets passed to @callback Returns whether the volume should be automatically mounted. %TRUE if the volume should be automatically mounted. Checks if a volume can be ejected. %TRUE if the @volume can be ejected. %FALSE otherwise. Checks if a volume can be mounted. %TRUE if the @volume can be mounted. %FALSE otherwise. Ejects a volume. This is an asynchronous operation, and is finished by calling g_volume_eject_finish() with the @volume and #GAsyncResult returned in the @callback. flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data that gets passed to @callback Finishes ejecting a volume. If any errors occured during the operation, %TRUE, %FALSE if operation failed. a #GAsyncResult. Ejects a volume. This is an asynchronous operation, and is finished by calling g_volume_eject_with_operation_finish() with the @volume and #GAsyncResult data returned in the @callback. flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. Finishes ejecting a volume. If any errors occurred during the operation, %TRUE if the volume was successfully ejected. %FALSE otherwise. a #GAsyncResult. Gets the kinds of <link linkend="volume-identifier">identifiers</link> that @volume has. Use g_volume_get_identifer() to obtain the identifiers themselves. of strings containing kinds of identifiers. Use g_strfreev() to free. a %NULL-terminated array Gets the activation root for a #GVolume if it is known ahead of mount time. Returns %NULL otherwise. If not %NULL and if @volume is mounted, then the result of g_mount_get_root() on the #GMount object obtained from g_volume_get_mount() will always either be equal or a prefix of what this function returns. In other words, in code <programlisting> GMount *mount; GFile *mount_root GFile *volume_activation_root; mount = g_volume_get_mount (volume); /&ast; mounted, so never NULL &ast;/ mount_root = g_mount_get_root (mount); volume_activation_root = g_volume_get_activation_root(volume); /&ast; assume not NULL &ast;/ </programlisting> then the expression <programlisting> (g_file_has_prefix (volume_activation_root, mount_root) || </programlisting> will always be %TRUE. Activation roots are typically used in #GVolumeMonitor implementations to find the underlying mount to shadow, see g_mount_is_shadowed() for more details. g_object_unref() to free. the activation root of @volume or %NULL. Use Gets the drive for the @volume. The returned object should be unreffed with g_object_unref() when no longer needed. a #GDrive or %NULL if @volume is not associated with a drive. Gets the icon for @volume. The returned object should be unreffed with g_object_unref() when no longer needed. a #GIcon. Gets the identifier of the given kind for @volume. See the <link linkend="volume-identifier">introduction</link> for more information about volume identifiers. requested identfier, or %NULL if the #GVolume doesn't have this kind of identifier a newly allocated string containing the the kind of identifier to return Gets the mount for the @volume. The returned object should be unreffed with g_object_unref() when no longer needed. a #GMount or %NULL if @volume isn't mounted. Gets the name of @volume. be freed with g_free() when no longer needed. the name for the given @volume. The returned string should Gets the UUID for the @volume. The reference is typically based on the file system UUID for the volume in question and should be considered an opaque string. Returns %NULL if there is no UUID available. The returned string should be freed with g_free() when no longer needed. the UUID for @volume or %NULL if no UUID can be computed. Mounts a volume. This is an asynchronous operation, and is finished by calling g_volume_mount_finish() with the @volume and #GAsyncResult returned in the @callback. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data that gets passed to @callback Finishes mounting a volume. If any errors occured during the operation, If the mount operation succeeded, g_volume_get_mount() on @volume is guaranteed to return the mount right after calling this function; there's no need to listen for the 'mount-added' signal on #GVolumeMonitor. %TRUE, %FALSE if operation failed. a #GAsyncResult Returns whether the volume should be automatically mounted. %TRUE if the volume should be automatically mounted. Emitted when the volume has been changed. This signal is emitted when the #GVolume have been removed. If the recipient is holding references to the object they should release them so the object can be finalized. Interface for implementing operations for mountable volumes. the name for the given @volume. The returned string should a #GIcon. the UUID for @volume or %NULL if no UUID can be computed. a #GDrive or %NULL if @volume is not associated with a drive. a #GMount or %NULL if @volume isn't mounted. %TRUE if the @volume can be mounted. %FALSE otherwise. %TRUE if the @volume can be ejected. %FALSE otherwise. flags affecting the operation a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data that gets passed to @callback %TRUE, %FALSE if operation failed. a #GAsyncResult flags affecting the unmount if required for eject optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data that gets passed to @callback %TRUE, %FALSE if operation failed. a #GAsyncResult. a newly allocated string containing the the kind of identifier to return a %NULL-terminated array %TRUE if the volume should be automatically mounted. the activation root of @volume or %NULL. Use flags affecting the unmount if required for eject a #GMountOperation or %NULL to avoid user interaction. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback, or %NULL. user data passed to @callback. %TRUE if the volume was successfully ejected. %FALSE otherwise. a #GAsyncResult. A Volume Monitor that watches for volume events. This function should be called by any #GVolumeMonitor implementation when a new #GMount object is created that is not associated with a #GVolume object. It must be called just before emitting the @mount_added signal. If the return value is not %NULL, the caller must associate the returned #GVolume object with the #GMount. This involves returning it in its g_mount_get_volume() implementation. The caller must also listen for the "removed" signal on the returned object and give up its reference when handling that signal Similary, if implementing g_volume_monitor_adopt_orphan_mount(), the implementor must take a reference to @mount and return it in its g_volume_get_mount() implemented. Also, the implementor must listen for the "unmounted" signal on @mount and give up its reference upon handling that signal. There are two main use cases for this function. One is when implementing a user space file system driver that reads blocks of a block device that is already represented by the native volume monitor (for example a CD Audio file system driver). Such a driver will generate its own #GMount object that needs to be assoicated with the #GVolume object that represents the volume. The other is for implementing a #GVolumeMonitor whose sole purpose is to return #GVolume objects representing entries in the users "favorite servers" list or similar. if no wants to adopt the #GMount. implementations should instead create shadow mounts with the URI of the mount they intend to adopt. See the proxy volume monitor in gvfs for an example of this. Also see g_mount_is_shadowed(), g_mount_shadow() and g_mount_unshadow() functions. the #GVolume object that is the parent for @mount or %NULL a #GMount object to find a parent for Gets the volume monitor used by gio. g_object_unref() when done with it. a reference to the #GVolumeMonitor used by gio. Call Gets a list of drives connected to the system. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). a #GList of connected #GDrive objects. Finds a #GMount object by its UUID (see g_mount_get_uuid()) Free the returned object with g_object_unref(). a #GMount or %NULL if no such mount is available. the UUID to look for Gets a list of the mounts on the system. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). a #GList of #GMount objects. Finds a #GVolume object by its UUID (see g_volume_get_uuid()) Free the returned object with g_object_unref(). a #GVolume or %NULL if no such volume is available. the UUID to look for Gets a list of the volumes on the system. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). a #GList of #GVolume objects. Gets a list of drives connected to the system. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). a #GList of connected #GDrive objects. Finds a #GMount object by its UUID (see g_mount_get_uuid()) Free the returned object with g_object_unref(). a #GMount or %NULL if no such mount is available. the UUID to look for Gets a list of the mounts on the system. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). a #GList of #GMount objects. Finds a #GVolume object by its UUID (see g_volume_get_uuid()) Free the returned object with g_object_unref(). a #GVolume or %NULL if no such volume is available. the UUID to look for Gets a list of the volumes on the system. The returned list should be freed with g_list_free(), after its elements have been unreffed with g_object_unref(). a #GList of #GVolume objects. Emitted when a drive changes. the drive that changed Emitted when a drive is connected to the system. a #GDrive that was connected. Emitted when a drive is disconnected from the system. a #GDrive that was disconnected. Emitted when the eject button is pressed on @drive. the drive where the eject button was pressed Emitted when the stop button is pressed on @drive. the drive where the stop button was pressed Emitted when a mount is added. a #GMount that was added. Emitted when a mount changes. a #GMount that changed. Emitted when a mount is about to be removed. a #GMount that is being unmounted. Emitted when a mount is removed. a #GMount that was removed. Emitted when a mountable volume is added to the system. a #GVolume that was added. Emitted when mountable volume is changed. a #GVolume that changed. Emitted when a mountable volume is removed from the system. a #GVolume that was removed. a #GList of connected #GDrive objects. a #GList of #GVolume objects. a #GList of #GMount objects. a #GVolume or %NULL if no such volume is available. the UUID to look for a #GMount or %NULL if no such mount is available. the UUID to look for Zlib decompression Creates a new #GZlibCompressor. a new #GZlibCompressor The format to use for the compressed data compression level (0-9), -1 for default Returns the #GZlibCompressor:file-info property. a #GFileInfo, or %NULL Sets @file_info in @compressor. If non-%NULL, and @compressor's #GZlibCompressor:format property is %G_ZLIB_COMPRESSOR_FORMAT_GZIP, it will be used to set the file name and modification time in the GZIP header of the compressed data. progress; it may only be called immediately after creation of @compressor, or after resetting it with g_converter_reset(). a #GFileInfo If set to a non-%NULL #GFileInfo object, and #GZlibCompressor:format is %G_ZLIB_COMPRESSOR_FORMAT_GZIP, the compressor will write the file name and modification time from the file info to the the GZIP header. Used to select the type of data format to use for #GZlibDecompressor and #GZlibCompressor. Zlib decompression Creates a new #GZlibDecompressor. a new #GZlibDecompressor The format to use for the compressed data Retrieves the #GFileInfo constructed from the GZIP header data of compressed data processed by @compressor, or %NULL if @decompressor's #GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP, or the header data was not fully processed yet, or it not present in the data stream at all. a #GFileInfo, or %NULL A #GFileInfo containing the information found in the GZIP header of the data stream processed, or %NULL if the header was not yet fully processed, is not present at all, or the compressor's #GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP. Creates a new #GAppInfo from the given information. new #GAppInfo for given command. the commandline to use the application name, or %NULL to use @commandline flags that can specify details of the created #GAppInfo Gets a list of all of the applications currently registered on this system. For desktop files, this includes applications that have <literal>NoDisplay=true</literal> set or are excluded from display by means of <literal>OnlyShowIn</literal> or <literal>NotShowIn</literal>. See g_app_info_should_show(). The returned list does not include applications which have the <literal>Hidden</literal> key set. a newly allocated #GList of references to #GAppInfo<!---->s. Gets a list of all #GAppInfo<!-- -->s for a given content type. or %NULL on error. #GList of #GAppInfo<!-- -->s for given @content_type the content type to find a #GAppInfo for Gets the #GAppInfo that corresponds to a given content type. #GAppInfo for given @content_type or %NULL on error. the content type to find a #GAppInfo for if %TRUE, the #GAppInfo is expected to support URIs Gets the default application for launching applications using this URI scheme. A URI scheme is the initial part of the URI, up to but not including the ':', e.g. "http", "ftp" or "sip". #GAppInfo for given @uri_scheme or %NULL on error. a string containing a URI scheme. Utility function that launches the default application registered to handle the specified uri. Synchronous I/O is done on the uri to detect the type of the file if required. %TRUE on success, %FALSE on error. the uri to show an optional #GAppLaunchContext. Removes all changes to the type associations done by g_app_info_set_as_default_for_type(), g_app_info_set_as_default_for_extension(), g_app_info_add_supports_type() or g_app_info_remove_supports_type(). a content type Helper function for constructing #GAsyncInitiable object. This is similar to g_object_new() but also initializes the object asynchronously. When the initialization is finished, @callback will be called. You can then call g_async_initable_new_finish() to get the new object and check for any errors. a #GType supporting #GAsyncInitable. the <link linkend="io-priority">I/O priority</link> of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the initialization is finished the data to pass to callback function the name of the first property, or %NULL if no properties Helper function for constructing #GAsyncInitiable object. This is similar to g_object_new_valist() but also initializes the object asynchronously. When the initialization is finished, @callback will be called. You can then call g_async_initable_new_finish() to get the new object and check for any errors. a #GType supporting #GAsyncInitable. the name of the first property, followed by the value, and other property value pairs, and ended by %NULL. The var args list generated from @first_property_name. the <link linkend="io-priority">I/O priority</link> of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the initialization is finished the data to pass to callback function Helper function for constructing #GAsyncInitiable object. This is similar to g_object_newv() but also initializes the object asynchronously. When the initialization is finished, @callback will be called. You can then call g_async_initable_new_finish() to get the new object and check for any errors. a #GType supporting #GAsyncInitable. the number of parameters in @parameters the parameters to use to construct the object the <link linkend="io-priority">I/O priority</link> of the operation. optional #GCancellable object, %NULL to ignore. a #GAsyncReadyCallback to call when the initialization is finished the data to pass to callback function Asynchronously connects to the message bus specified by @bus_type. When the operation is finished, @callback will be invoked. You can then call g_bus_get_finish() to get the result of the operation. This is a asynchronous failable function. See g_bus_get_sync() for the synchronous version. A #GBusType. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied. The data to pass to @callback. Finishes an operation started with g_bus_get(). The returned object is a singleton, that is, shared with other callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the event that you need a private message bus connection, use g_dbus_address_get_for_bus() and g_dbus_connection_new_for_address(). Note that the returned #GDBusConnection object will (usually) have the #GDBusConnection:exit-on-close property set to %TRUE. A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_bus_get(). Synchronously connects to the message bus specified by @bus_type. Note that the returned object may shared with other callers, e.g. if two separate parts of a process calls this function with the same @bus_type, they will share the same object. This is a synchronous failable function. See g_bus_get() and g_bus_get_finish() for the asynchronous version. The returned object is a singleton, that is, shared with other callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the event that you need a private message bus connection, use g_dbus_address_get_for_bus_sync() and g_dbus_connection_new_for_address(). Note that the returned #GDBusConnection object will (usually) have the #GDBusConnection:exit-on-close property set to %TRUE. A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). A #GBusType. A #GCancellable or %NULL. Starts acquiring @name on the bus specified by @bus_type and calls acquired respectively lost. Callbacks will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this function from. You are guaranteed that one of the @name_acquired_handler and @name_lost_handler callbacks will be invoked after calling this function - there are three possible cases: <itemizedlist> <listitem><para> </para></listitem> <listitem><para> </para></listitem> <listitem><para> </para></listitem> </itemizedlist> When you are done owning the name, just call g_bus_unown_name() with the owner id this function returns. If the name is acquired or lost (for example another application could acquire the name if you allow replacement or the application currently owning the name exits), the handlers are also invoked. If the #GDBusConnection that is used for attempting to own the name closes, then @name_lost_handler is invoked since it is no longer possible for other processes to access the process. You cannot use g_bus_own_name() several times for the same name (unless interleaved with calls to g_bus_unown_name()) - only the first call will work. Another guarantee is that invocations of @name_acquired_handler and @name_lost_handler are guaranteed to alternate; that is, if @name_acquired_handler is invoked then you are guaranteed that the next time one of the handlers is invoked, it will be @name_lost_handler. The reverse is also true. If you plan on exporting objects (using e.g. g_dbus_connection_register_object()), note that it is generally too late to export the objects in @name_acquired_handler. Instead, you can do this in @bus_acquired_handler since you are guaranteed that this will run before @name is requested from the bus. This behavior makes it very simple to write applications that wants to own names and export objects, see <xref linkend="gdbus-owning-names"/>. Simply register objects to be exported in @bus_acquired_handler and unregister the objects (if any) in @name_lost_handler. g_bus_unown_name() to stop owning the name. An identifier (never 0) that an be used with The type of bus to own a name on. The well-known name to own. A set of flags from the #GBusNameOwnerFlags enumeration. Handler to invoke when connected to the bus of type @bus_type or %NULL. Handler to invoke when @name is acquired or %NULL. Handler to invoke when @name is lost or %NULL. User data to pass to handlers. Function for freeing @user_data or %NULL. Like g_bus_own_name() but takes a #GDBusConnection instead of a #GBusType. g_bus_unown_name() to stop owning the name. An identifier (never 0) that an be used with A #GDBusConnection. The well-known name to own. A set of flags from the #GBusNameOwnerFlags enumeration. Handler to invoke when @name is acquired or %NULL. Handler to invoke when @name is lost or %NULL. User data to pass to handlers. Function for freeing @user_data or %NULL. Version of g_bus_own_name_on_connection() using closures instead of callbacks for easier binding in other languages. g_bus_unown_name() to stop owning the name. An identifier (never 0) that an be used with A #GDBusConnection. The well-known name to own. A set of flags from the #GBusNameOwnerFlags enumeration. #GClosure to invoke when @name is acquired or %NULL. #GClosure to invoke when @name is lost or %NULL. Version of g_bus_own_name() using closures instead of callbacks for easier binding in other languages. g_bus_unown_name() to stop owning the name. An identifier (never 0) that an be used with The type of bus to own a name on. The well-known name to own. A set of flags from the #GBusNameOwnerFlags enumeration. #GClosure to invoke when connected to the bus of type @bus_type or %NULL. #GClosure to invoke when @name is acquired or %NULL. #GClosure to invoke when @name is lost or %NULL. Stops owning a name. An identifier obtained from g_bus_own_name() Stops watching a name. An identifier obtained from g_bus_watch_name() Starts watching @name on the bus specified by @bus_type and calls known to have a owner respectively known to lose its owner. Callbacks will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this function from. You are guaranteed that one of the handlers will be invoked after calling this function. When you are done watching the name, just call g_bus_unwatch_name() with the watcher id this function returns. If the name vanishes or appears (for example the application owning the name could restart), the handlers are also invoked. If the #GDBusConnection that is used for watching the name disconnects, then possible to access the name. Another guarantee is that invocations of @name_appeared_handler and @name_vanished_handler are guaranteed to alternate; that is, if @name_appeared_handler is invoked then you are guaranteed that the next time one of the handlers is invoked, it will be @name_vanished_handler. The reverse is also true. This behavior makes it very simple to write applications that wants to take action when a certain name exists, see <xref linkend="gdbus-watching-names"/>. Basically, the application should create object proxies in @name_appeared_handler and destroy them again (if any) in @name_vanished_handler. g_bus_unwatch_name() to stop watching the name. An identifier (never 0) that an be used with The type of bus to watch a name on. The name (well-known or unique) to watch. Flags from the #GBusNameWatcherFlags enumeration. Handler to invoke when @name is known to exist or %NULL. Handler to invoke when @name is known to not exist or %NULL. User data to pass to handlers. Function for freeing @user_data or %NULL. Like g_bus_watch_name() but takes a #GDBusConnection instead of a #GBusType. g_bus_unwatch_name() to stop watching the name. An identifier (never 0) that an be used with A #GDBusConnection. The name (well-known or unique) to watch. Flags from the #GBusNameWatcherFlags enumeration. Handler to invoke when @name is known to exist or %NULL. Handler to invoke when @name is known to not exist or %NULL. User data to pass to handlers. Function for freeing @user_data or %NULL. Version of g_bus_watch_name_on_connection() using closures instead of callbacks for easier binding in other languages. g_bus_unwatch_name() to stop watching the name. An identifier (never 0) that an be used with A #GDBusConnection. The name (well-known or unique) to watch. Flags from the #GBusNameWatcherFlags enumeration. #GClosure to invoke when @name is known to exist or %NULL. #GClosure to invoke when @name is known to not exist or %NULL. Version of g_bus_watch_name() using closures instead of callbacks for easier binding in other languages. g_bus_unwatch_name() to stop watching the name. An identifier (never 0) that an be used with The type of bus to watch a name on. The name (well-known or unique) to watch. Flags from the #GBusNameWatcherFlags enumeration. #GClosure to invoke when @name is known to exist or %NULL. #GClosure to invoke when @name is known to not exist or %NULL. Checks if a content type can be executable. Note that for instance things like text files can be executables (i.e. scripts and batch files). can be executable, %FALSE otherwise. %TRUE if the file type corresponds to a type that a content type string Compares two content types for equality. %FALSE otherwise. %TRUE if the two strings are identical or equivalent, a content type string a content type string Tries to find a content type based on the mime type name. or %NULL. Free with g_free() Newly allocated string with content type a mime type string Gets the human readable description of the content type. returned string with g_free() a short description of the content type @type. Free the a content type string Gets the icon for a content type. object with g_object_unref() #GIcon corresponding to the content type. Free the returned a content type string Gets the mime type for the content type, if one is registered. or %NULL if unknown. the registered mime type for the given @type, a content type string Guesses the content type based on example data. If the function is uncertain, @result_uncertain will be set to %TRUE. Either @filename or @data may be %NULL, in which case the guess will be based solely on the other argument. given data. Free with g_free() a string indicating a guessed content type for the a string, or %NULL a stream of data, or %NULL the size of @data return location for the certainty of the result, or %NULL Tries to guess the type of the tree with root @root, by looking at the files it contains. The result is an array of content types, with the best guess coming first. The types returned all have the form x-content/foo, e.g. x-content/audio-cdda (for audio CDs) or x-content/image-dcf (for a camera memory card). See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> specification for more on x-content types. This function is useful in the implementation of g_mount_guess_content_type(). or %NULL. Free with g_strfreev() an %NULL-terminated array of zero or more content types, the root of the tree to guess a type for Determines if @type is a subset of @supertype. %FALSE otherwise. %TRUE if @type is a kind of @supertype, a content type string a content type string Checks if the content type is the generic "unknown" type. On UNIX this is the "application/octet-stream" mimetype, while on win32 it is "*". %TRUE if the type is the unknown type. a content type string Gets a list of strings containing all the registered content types known to the system. The list and its data should be freed using <programlisting> g_list_foreach (list, g_free, NULL); g_list_free (list); </programlisting> #GList of the registered content types Synchronously looks up the D-Bus address for the well-known message bus instance specified by @bus_type. This may involve using various platform specific mechanisms. A valid D-Bus address string for @bus_type or %NULL if @error is set. A #GBusType. A #GCancellable or %NULL. Asynchronously connects to an endpoint specified by @address and sets up the connection so it is in a state to run the client-side of the D-Bus authentication conversation. When the operation is finished, @callback will be invoked. You can then call g_dbus_address_get_stream_finish() to get the result of the operation. This is an asynchronous failable function. See g_dbus_address_get_stream_sync() for the synchronous version. A valid D-Bus address. A #GCancellable or %NULL. A #GAsyncReadyCallback to call when the request is satisfied. Data to pass to @callback. Finishes an operation started with g_dbus_address_get_stream(). A #GIOStream or %NULL if @error is set. A #GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_address_get_stream(). %NULL or return location to store the GUID extracted from @address, if any. Synchronously connects to an endpoint specified by @address and sets up the connection so it is in a state to run the client-side of the D-Bus authentication conversation. This is a synchronous failable function. See g_dbus_address_get_stream() for the asynchronous version. A #GIOStream or %NULL if @error is set. A valid D-Bus address. %NULL or return location to store the GUID extracted from @address, if any. A #GCancellable or %NULL. Looks up the value of an annotation. This cost of this function is O(n) in number of annotations. The value or %NULL if not found. Do not free, it is owned by @annotations. A %NULL-terminated array of annotations or %NULL. The name of the annotation to look up. Creates a D-Bus error name to use for @error. If @error matches a registered error (cf. g_dbus_error_register_error()), the corresponding D-Bus error name will be returned. Otherwise the a name of the form <literal>org.gtk.GDBus.UnmappedGError.Quark._ESCAPED_QUARK_NAME.Code_ERROR_CODE</literal> will be used. This allows other GDBus applications to map the error on the wire back to a #GError using g_dbus_error_new_for_dbus_error(). This function is typically only used in object mappings to put a #GError on the wire. Regular applications should not use it. A D-Bus error name (never %NULL). Free with g_free(). A #GError. Gets the D-Bus error name used for @error, if any. This function is guaranteed to return a D-Bus error name for all #GError<!-- -->s returned from functions handling remote method calls (e.g. g_dbus_connection_call_finish()) unless g_dbus_error_strip_remote_error() has been used on @error. An allocated string or %NULL if the D-Bus error name could not be found. Free with g_free(). A #GError. Checks if @error represents an error received via D-Bus from a remote peer. If so, use g_dbus_error_get_remote_error() to get the name of the error. %FALSE otherwise. %TRUE if @error represents an error from a remote peer, A #GError. Creates a #GError based on the contents of @dbus_error_name and Errors registered with g_dbus_error_register_error() will be looked up using @dbus_error_name and if a match is found, the error domain and code is used. Applications can use g_dbus_error_get_remote_error() to recover @dbus_error_name. If a match against a registered error is not found and the D-Bus error name is in a form as returned by g_dbus_error_encode_gerror() the error domain and code encoded in the name is used to create the #GError. Also, @dbus_error_name is added to the error message such that it can be recovered with g_dbus_error_get_remote_error(). Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is added to the error message such that it can be recovered with g_dbus_error_get_remote_error(). In all three cases, @dbus_error_name can always be recovered from the returned #GError using the g_dbus_error_get_remote_error() function (unless g_dbus_error_strip_remote_error() hasn't been used on the returned error). This function is typically only used in object mappings to prepare #GError instances for applications. Regular applications should not use it. An allocated #GError. Free with g_error_free(). D-Bus error name. D-Bus error message. Creates an association to map between @dbus_error_name and #GError<!-- -->s specified by @error_domain and @error_code. This is typically done in the routine that returns the #GQuark for an error domain. exists. %TRUE if the association was created, %FALSE if it already A #GQuark for a error domain. An error code. A D-Bus error name. Helper function for associating a #GError error domain with D-Bus error names. The error domain name. A pointer where to store the #GQuark. A pointer to @num_entries #GDBusErrorEntry struct items. Number of items to register. Does nothing if @error is %NULL. Otherwise sets *@error to a new #GError created with g_dbus_error_new_for_dbus_error() with @dbus_error_message prepend with @format (unless %NULL). A pointer to a #GError or %NULL. D-Bus error name. D-Bus error message. printf()-style format to prepend to @dbus_error_message or %NULL. Like g_dbus_error_set_dbus_error() but intended for language bindings. A pointer to a #GError or %NULL. D-Bus error name. D-Bus error message. printf()-style format to prepend to @dbus_error_message or %NULL. Arguments for @format. Looks for extra information in the error message used to recover the D-Bus error name and strips it if found. If stripped, the message field in @error will correspond exactly to what was received on the wire. This is typically used when presenting errors to the end user. %TRUE if information was stripped, %FALSE otherwise. A #GError. Destroys an association previously set up with g_dbus_error_register_error(). %TRUE if the association was destroyed, %FALSE if it wasn't found. A #GQuark for a error domain. An error code. A D-Bus error name. Generate a D-Bus GUID that can be used with e.g. g_dbus_connection_new(). See the D-Bus specification regarding what strings are valid D-Bus GUID (for example, D-Bus GUIDs are not RFC-4122 compliant). A valid D-Bus GUID. Free with g_free(). Checks if @string is a D-Bus address. This doesn't check if @string is actually supported by #GDBusServer or #GDBusConnection - use g_dbus_is_supported_address() to do more checks. %TRUE if @string is a valid D-Bus address, %FALSE otherwise. A string. Checks if @string is a D-Bus GUID. See the D-Bus specification regarding what strings are valid D-Bus GUID (for example, D-Bus GUIDs are not RFC-4122 compliant). %TRUE if @string is a guid, %FALSE otherwise. The string to check. Checks if @string is a valid D-Bus interface name. %TRUE if valid, %FALSE otherwise. The string to check. Checks if @string is a valid D-Bus member (e.g. signal or method) name. %TRUE if valid, %FALSE otherwise. The string to check. Checks if @string is a valid D-Bus bus name (either unique or well-known). %TRUE if valid, %FALSE otherwise. The string to check. Like g_dbus_is_address() but also checks if the library suppors the transports in @string and that key/value pairs for each transport are valid. supported by this library, %FALSE if @error is set. %TRUE if @string is a valid D-Bus address that is A string. Checks if @string is a valid D-Bus unique bus name. %TRUE if valid, %FALSE otherwise. The string to check. Creates a hash value for a #GFile. This call does no blocking i/o. integer that can be used as hash value for the #GFile. This function is intended for easily hashing a #GFile to add to a #GHashTable or similar data structure. 0 if @file is not a valid #GFile, otherwise an #gconstpointer to a #GFile. Creates a #GFile with the given argument from the command line. The value of relative to the current working directory. This operation never fails, but the returned object might not support any I/O operation if @arg points to a malformed path. a new #GFile. a command line string. Constructs a #GFile for a given path. This operation never fails, but the returned object might not support any I/O operation if @path is malformed. a new #GFile for the given @path. a string containing a relative or absolute path. The string must be encoded in the glib filename encoding. Constructs a #GFile for a given URI. This operation never fails, but the returned object might not support any I/O operation if @uri is malformed or if the uri type is not supported. a #GFile for the given @uri. a UTF8 string containing a URI. Constructs a #GFile with the given @parse_name (i.e. something given by g_file_get_parse_name()). This operation never fails, but the returned object might not support any I/O operation if the @parse_name cannot be parsed. a new #GFile. a file name or path to be parsed. Gets a hash for an icon. use in a #GHashTable or similar data structure. a #guint containing a hash for the @icon, suitable for #gconstpointer to an icon object. Generate a #GIcon instance from @str. This function can fail if If your application or library provides one or more #GIcon implementations you need to ensure that each #GType is registered with the type system prior to calling g_icon_new_for_string(). An object implementing the #GIcon interface or %NULL if A string obtained via g_icon_to_string(). Helper function for constructing #GInitiable object. This is similar to g_object_new() but also initializes the object and returns %NULL, setting an error on failure. a newly allocated #GObject, or %NULL on error a #GType supporting #GInitable. optional #GCancellable object, %NULL to ignore. a #GError location to store the error occuring, or %NULL to ignore. the name of the first property, or %NULL if no properties Helper function for constructing #GInitiable object. This is similar to g_object_new_valist() but also initializes the object and returns %NULL, setting an error on failure. a newly allocated #GObject, or %NULL on error a #GType supporting #GInitable. the name of the first property, followed by the value, and other property value pairs, and ended by %NULL. The var args list generated from @first_property_name. optional #GCancellable object, %NULL to ignore. Helper function for constructing #GInitiable object. This is similar to g_object_newv() but also initializes the object and returns %NULL, setting an error on failure. a newly allocated #GObject, or %NULL on error a #GType supporting #GInitable. the number of parameters in @parameters the parameters to use to construct the object optional #GCancellable object, %NULL to ignore. Converts errno.h error codes into GIO error codes. #GIOErrorEnum value for the given errno.h error number. Error number as defined in errno.h. Gets the GIO Error Quark. a #GQuark. Gets the type associated with @extension. the type of @extension a #GIOExtension Registers @type as extension for the extension point with name If @type has already been registered as an extension for this extension point, the existing #GIOExtension object is returned. a #GIOExtension object for #GType the name of the extension point the #GType to register as extension the name for the extension the priority for the extension Looks up an existing extension point. registered extension point with the given name the #GIOExtensionPoint, or %NULL if there is no the name of the extension point Registers an extension point. and should not be freed the new #GIOExtensionPoint. This object is owned by GIO The name of the extension point Loads all the modules in the specified directory. If don't require all modules to be initialized (and thus registering all gtypes) then you can use g_io_modules_scan_all_in_directory() which allows delayed/lazy loading of modules. from the directory, All the modules are loaded into memory, if you want to unload them (enabling on-demand loading) you must call g_type_module_unuse() on all the modules. Free the list with g_list_free(). a list of #GIOModules loaded pathname for a directory containing modules to load. Scans all the modules in the specified directory, ensuring that any extension point implemented by a module is registered. This may not actually load and initialize all the types in each module, some modules may be lazily loaded and initialized when an extension point it implementes is used with e.g. g_io_extension_point_get_extensions() or g_io_extension_point_get_extension_by_name(). If you need to guarantee that all types are loaded in all the modules, use g_io_modules_scan_all_in_directory(). pathname for a directory containing modules to scan. Cancels all cancellable I/O jobs. A job is cancellable if a #GCancellable was passed into g_io_scheduler_push_job(). Schedules the I/O job to run. regardless whether the job was cancelled or has run to completion. If @cancellable is not %NULL, it can be used to cancel the I/O job by calling g_cancellable_cancel() or by calling g_io_scheduler_cancel_all_jobs(). a #GIOSchedulerJobFunc. data to pass to @job_func a #GDestroyNotify for @user_data, or %NULL the <link linkend="gioscheduler">I/O priority</link> of the request. optional #GCancellable object, %NULL to ignore. Creates a keyfile-backed #GSettingsBackend. The filename of the keyfile to use is given by @filename. All settings read to or written from the backend must fall under the path given in @root_path (which must start and end with a slash and not contain two consecutive slashes). @root_path may be "/". If @root_group is non-%NULL then it specifies the name of the keyfile group used for keys that are written directly below @root_path. For example, if @root_path is "/apps/example/" and @root_group is "toplevel", then settings the key "/apps/example/enabled" to a value of %TRUE will cause the following to appear in the keyfile: |[ [toplevel] enabled=true ]| If @root_group is %NULL then it is not permitted to store keys directly below the @root_path. the name of the subpath (with the final slash stripped) is used as the name of the keyfile group. To continue the example, if "/apps/example/profiles/default/font-size" were set to 12 then the following would appear in the keyfile: |[ [profiles/default] font-size=12 ]| The backend will refuse writes (and return writability as being %FALSE) for keys outside of @root_path and, in the event that Writes will also be refused if the backend detects that it has the writable). There is no checking done for your key namespace clashing with the syntax of the key file format. For example, if you have '[' or ']' characters in your path names or '=' in your key names you may be in trouble. a keyfile-backed #GSettingsBackend the filename of the keyfile the path under which all settings keys appear the group name corresponding to Lookup "gio-proxy" extension point for a proxy implementation that supports specified protocol. return a #GProxy or NULL if protocol is not supported. the proxy protocol name (e.g. http, socks, etc) Gets the default #GProxyResolver for the system. the default #GProxyResolver. Gets the #GResolver Error Quark. a #GQuark. Reports an error in an asynchronous function in an idle function by directly setting the contents of the #GAsyncResult with the given error information. a #GObject. a #GAsyncReadyCallback. user data passed to @callback. a #GQuark containing the error domain (usually #G_IO_ERROR). a specific error code. a formatted error reporting string. Reports an error in an idle function. Similar to g_simple_async_report_error_in_idle(), but takes a #GError rather than building a new one. a #GObject. a #GAsyncReadyCallback. user data passed to @callback. the #GError to report Sorts @targets in place according to the algorithm in RFC 2782. the head of the sorted list. a #GList of #GSrvTarget Determines if @mount_path is considered an implementation of the OS. This is primarily used for hiding mountable and mounted volumes that only are used in the OS and has little to no relevance to the casual user. of the OS. %TRUE if @mount_path is considered an implementation detail a mount path, e.g. <filename>/media/disk</filename> or <filename>/usr</filename> Gets a #GUnixMountEntry for a given mount path. If @time_read is set, it will be filled with a unix timestamp for checking if the mounts have changed since with g_unix_mounts_changed_since(). a #GUnixMount. path for a possible unix mount. guint64 to contain a timestamp. Compares two unix mounts. or less than @mount2, respectively. 1, 0 or -1 if @mount1 is greater than, equal to, first #GUnixMountEntry to compare. second #GUnixMountEntry to compare. Frees a unix mount. a #GUnixMount. Gets the device path for a unix mount. a string containing the device path. a #GUnixMount. Gets the filesystem type for the unix mount. a string containing the file system type. a #GUnixMount. Gets the mount path for a unix mount. the mount path for @mount_entry. input #GUnixMountEntry to get the mount path for. Guesses whether a Unix mount can be ejected. %TRUE if @mount_entry is deemed to be ejectable. a #GUnixMountEntry Guesses the icon of a Unix mount. a #GIcon a #GUnixMountEntry Guesses the name of a Unix mount. The result is a translated string. be freed with g_free() A newly allocated string that must a #GUnixMountEntry Guesses whether a Unix mount should be displayed in the UI. %TRUE if @mount_entry is deemed to be displayable. a #GUnixMountEntry Checks if a unix mount is mounted read only. %TRUE if @mount_entry is read only. a #GUnixMount. Checks if a unix mount is a system path. %TRUE if the unix mount is for a system path. a #GUnixMount. Checks if the unix mount points have changed since a given unix time. %TRUE if the mount points have changed since @time. guint64 to contain a timestamp. Gets a #GList of #GUnixMountPoint containing the unix mount points. If @time_read is set, it will be filled with the mount timestamp, allowing for checking if the mounts have changed with g_unix_mounts_points_changed_since(). a #GList of the UNIX mountpoints. guint64 to contain a timestamp. Checks if the unix mounts have changed since a given unix time. %TRUE if the mounts have changed since @time. guint64 to contain a timestamp. Gets a #GList of #GUnixMountEntry containing the unix mounts. If @time_read is set, it will be filled with the mount timestamp, allowing for checking if the mounts have changed with g_unix_mounts_changed_since(). a #GList of the UNIX mounts. guint64 to contain a timestamp, or %NULL