openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/glib-2.0/1_2.60.3-r0/glib-2.60.3/gio/gfile.c
GFileAttributeInfoList*
    g_file_query_settable_attributes(GFile* file, GCancellable* cancellable,
                                     GError** error)
{
    GFileIface* iface;
    GError* my_error;
    GFileAttributeInfoList* list;

    g_return_val_if_fail(G_IS_FILE(file), NULL);

    if (g_cancellable_set_error_if_cancelled(cancellable, error))
        return NULL;

    iface = G_FILE_GET_IFACE(file);

    if (iface->query_settable_attributes == NULL)
        return g_file_attribute_info_list_new();

    my_error = NULL;
    list = (*iface->query_settable_attributes)(file, cancellable, &my_error);

    if (list == NULL)
    {
        if (my_error->domain == G_IO_ERROR &&
            my_error->code == G_IO_ERROR_NOT_SUPPORTED)
        {
            list = g_file_attribute_info_list_new();
            g_error_free(my_error);
        }
        else
            g_propagate_error(error, my_error);
    }

    return list;
}
/**
 * g_file_query_settable_attributes:
 * @file: input #GFile
 * @cancellable: (nullable): optional #GCancellable object,
 *     %NULL to ignore
 * @error: a #GError, or %NULL
 *
 * 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.
 *
 * Returns: a #GFileAttributeInfoList describing the settable attributes.
 *     When you are done with it, release it with
 *     g_file_attribute_info_list_unref()
 */
@file: input #GFile
@cancellable: (nullable): optional #GCancellable object,
%NULL to ignore
@error: a #GError, or %NULL

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.

a #GFileAttributeInfoList describing the settable attributes.
When you are done with it, release it with
g_file_attribute_info_list_unref()
@file : input #GFile @cancellable : ( nullable ) : optional #GCancellable object %NULL to ignore @error : a #GError or %NULL 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 . a #GFileAttributeInfoList describing the settable attributes . When you are done with it release it with g_file_attribute_info_list_unref ()
GFileAttributeInfoList*
    g_file_query_settable_attributes(GFile* file, GCancellable* cancellable,
                                     GError** error)
{
    GFileIface* iface;
    GError* my_error;
    GFileAttributeInfoList* list;
    g_return_val_if_fail(G_IS_FILE(file), NULL);
    if (g_cancellable_set_error_if_cancelled(cancellable, error))
        return NULL;
    iface = G_FILE_GET_IFACE(file);
    if (iface->query_settable_attributes == NULL)
        return g_file_attribute_info_list_new();
    my_error = NULL;
    list = (*iface->query_settable_attributes)(file, cancellable, &my_error);
    if (list == NULL)
    {
        if (my_error->domain == G_IO_ERROR &&
            my_error->code == G_IO_ERROR_NOT_SUPPORTED)
        {
            list = g_file_attribute_info_list_new();
            g_error_free(my_error);
        }
        else
            g_propagate_error(error, my_error);
    }
    return list;
}
GFileAttributeInfoList * g_file_query_settable_attributes ( GFile * file , GCancellable * cancellable , GError * * error ) { GFileIface * iface ; GError * my_error ; GFileAttributeInfoList * list ; g_return_val_if_fail ( G_IS_FILE ( file ) , NULL ) ; if ( g_cancellable_set_error_if_cancelled ( cancellable , error ) ) return NULL ; iface = G_FILE_GET_IFACE ( file ) ; if ( iface -> query_settable_attributes == NULL ) return g_file_attribute_info_list_new ( ) ; my_error = NULL ; list = ( * iface -> query_settable_attributes ) ( file , cancellable , & my_error ) ; if ( list == NULL ) { if ( my_error -> domain == G_IO_ERROR && my_error -> code == G_IO_ERROR_NOT_SUPPORTED ) { list = g_file_attribute_info_list_new ( ) ; g_error_free ( my_error ) ; } else g_propagate_error ( error , my_error ) ; } return list ; }
g_file_query_settable_attributes:
 @file: input #GFile
 @cancellable: (nullable): optional #GCancellable object,
     %NULL to ignore
 @error: a #GError, or %NULL
g_file_query_settable_attributes : @file : input #GFile @cancellable : ( nullable ) : optional #GCancellable object %NULL to ignore @error : a #GError or %NULL