<!-- ##### SECTION Title ##### -->
GFile

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT GFile ##### -->
<para>

</para>


<!-- ##### STRUCT GFileIface ##### -->
<para>

</para>

@g_iface: 
@dup: 
@hash: 
@equal: 
@is_native: 
@has_uri_scheme: 
@get_uri_scheme: 
@get_basename: 
@get_path: 
@get_uri: 
@get_parse_name: 
@get_parent: 
@prefix_matches: 
@get_relative_path: 
@resolve_relative_path: 
@get_child_for_display_name: 
@enumerate_children: 
@enumerate_children_async: 
@enumerate_children_finish: 
@query_info: 
@query_info_async: 
@query_info_finish: 
@query_filesystem_info: 
@query_filesystem_info_async: 
@query_filesystem_info_finish: 
@find_enclosing_mount: 
@find_enclosing_mount_async: 
@find_enclosing_mount_finish: 
@set_display_name: 
@set_display_name_async: 
@set_display_name_finish: 
@query_settable_attributes: 
@_query_settable_attributes_async: 
@_query_settable_attributes_finish: 
@query_writable_namespaces: 
@_query_writable_namespaces_async: 
@_query_writable_namespaces_finish: 
@set_attribute: 
@set_attributes_from_info: 
@set_attributes_async: 
@set_attributes_finish: 
@read_fn: 
@read_async: 
@read_finish: 
@append_to: 
@append_to_async: 
@append_to_finish: 
@create: 
@create_async: 
@create_finish: 
@replace: 
@replace_async: 
@replace_finish: 
@delete_file: 
@_delete_file_async: 
@_delete_file_finish: 
@trash: 
@_trash_async: 
@_trash_finish: 
@make_directory: 
@_make_directory_async: 
@_make_directory_finish: 
@make_symbolic_link: 
@_make_symbolic_link_async: 
@_make_symbolic_link_finish: 
@copy: 
@copy_async: 
@copy_finish: 
@move: 
@_move_async: 
@_move_finish: 
@mount_mountable: 
@mount_mountable_finish: 
@unmount_mountable: 
@unmount_mountable_finish: 
@eject_mountable: 
@eject_mountable_finish: 
@mount_enclosing_volume: 
@mount_enclosing_volume_finish: 
@monitor_dir: 
@monitor_file: 
@open_readwrite: 
@open_readwrite_async: 
@open_readwrite_finish: 
@create_readwrite: 
@create_readwrite_async: 
@create_readwrite_finish: 
@replace_readwrite: 
@replace_readwrite_async: 
@replace_readwrite_finish: 
@start_mountable: 
@start_mountable_finish: 
@stop_mountable: 
@stop_mountable_finish: 
@supports_thread_contexts: 
@unmount_mountable_with_operation: 
@unmount_mountable_with_operation_finish: 
@eject_mountable_with_operation: 
@eject_mountable_with_operation_finish: 
@poll_mountable: 
@poll_mountable_finish: 

<!-- ##### ENUM GFileQueryInfoFlags ##### -->
<para>

</para>

@G_FILE_QUERY_INFO_NONE: 
@G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: 

<!-- ##### ENUM GFileCreateFlags ##### -->
<para>

</para>

@G_FILE_CREATE_NONE: 
@G_FILE_CREATE_PRIVATE: 
@G_FILE_CREATE_REPLACE_DESTINATION: 

<!-- ##### ENUM GFileCopyFlags ##### -->
<para>

</para>

@G_FILE_COPY_NONE: 
@G_FILE_COPY_OVERWRITE: 
@G_FILE_COPY_BACKUP: 
@G_FILE_COPY_NOFOLLOW_SYMLINKS: 
@G_FILE_COPY_ALL_METADATA: 
@G_FILE_COPY_NO_FALLBACK_FOR_MOVE: 
@G_FILE_COPY_TARGET_DEFAULT_PERMS: 

<!-- ##### ENUM GFileMonitorFlags ##### -->
<para>

</para>

@G_FILE_MONITOR_NONE: 
@G_FILE_MONITOR_WATCH_MOUNTS: 
@G_FILE_MONITOR_SEND_MOVED: 

<!-- ##### ENUM GFilesystemPreviewType ##### -->
<para>

</para>

@G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: 
@G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: 
@G_FILESYSTEM_PREVIEW_TYPE_NEVER: 

<!-- ##### USER_FUNCTION GFileProgressCallback ##### -->
<para>

</para>

@current_num_bytes: 
@total_num_bytes: 
@user_data: 


<!-- ##### USER_FUNCTION GFileReadMoreCallback ##### -->
<para>

</para>

@file_contents: 
@file_size: 
@callback_data: 
@Returns: 


<!-- ##### FUNCTION g_file_new_for_path ##### -->
<para>

</para>

@path: 
@Returns: 


<!-- ##### FUNCTION g_file_new_for_uri ##### -->
<para>

</para>

@uri: 
@Returns: 


<!-- ##### FUNCTION g_file_new_for_commandline_arg ##### -->
<para>

</para>

@arg: 
@Returns: 


<!-- ##### FUNCTION g_file_parse_name ##### -->
<para>

</para>

@parse_name: 
@Returns: 


<!-- ##### FUNCTION g_file_dup ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_hash ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_equal ##### -->
<para>

</para>

@file1: 
@file2: 
@Returns: 


<!-- ##### FUNCTION g_file_get_basename ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_get_path ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_get_uri ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_get_parse_name ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_get_parent ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_has_parent ##### -->
<para>

</para>

@file: 
@parent: 
@Returns: 


<!-- ##### FUNCTION g_file_get_child ##### -->
<para>

</para>

@file: 
@name: 
@Returns: 


<!-- ##### FUNCTION g_file_get_child_for_display_name ##### -->
<para>

</para>

@file: 
@display_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_has_prefix ##### -->
<para>

</para>

@file: 
@prefix: 
@Returns: 


<!-- ##### FUNCTION g_file_get_relative_path ##### -->
<para>

</para>

@parent: 
@descendant: 
@Returns: 


<!-- ##### FUNCTION g_file_resolve_relative_path ##### -->
<para>

</para>

@file: 
@relative_path: 
@Returns: 


<!-- ##### FUNCTION g_file_is_native ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_has_uri_scheme ##### -->
<para>

</para>

@file: 
@uri_scheme: 
@Returns: 


<!-- ##### FUNCTION g_file_get_uri_scheme ##### -->
<para>

</para>

@file: 
@Returns: 


<!-- ##### FUNCTION g_file_read ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_read_async ##### -->
<para>

</para>

@file: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_read_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_append_to ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_create ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_replace ##### -->
<para>

</para>

@file: 
@etag: 
@make_backup: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_append_to_async ##### -->
<para>

</para>

@file: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_append_to_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_create_async ##### -->
<para>

</para>

@file: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_create_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_replace_async ##### -->
<para>

</para>

@file: 
@etag: 
@make_backup: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_replace_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_info ##### -->
<para>

</para>

@file: 
@attributes: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_info_async ##### -->
<para>

</para>

@file: 
@attributes: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_query_info_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_exists ##### -->
<para>

</para>

@file: 
@cancellable: 
@Returns: 


<!-- ##### FUNCTION g_file_query_file_type ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@Returns: 


<!-- ##### FUNCTION g_file_query_filesystem_info ##### -->
<para>

</para>

@file: 
@attributes: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_filesystem_info_async ##### -->
<para>

</para>

@file: 
@attributes: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_query_filesystem_info_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_default_handler ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_find_enclosing_mount ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_find_enclosing_mount_async ##### -->
<para>

</para>

@file: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_find_enclosing_mount_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_enumerate_children ##### -->
<para>

</para>

@file: 
@attributes: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_enumerate_children_async ##### -->
<para>

</para>

@file: 
@attributes: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_enumerate_children_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_display_name ##### -->
<para>

</para>

@file: 
@display_name: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_display_name_async ##### -->
<para>

</para>

@file: 
@display_name: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_set_display_name_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_delete ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_trash ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_copy ##### -->
<para>

</para>

@source: 
@destination: 
@flags: 
@cancellable: 
@progress_callback: 
@progress_callback_data: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_copy_async ##### -->
<para>

</para>

@source: 
@destination: 
@flags: 
@io_priority: 
@cancellable: 
@progress_callback: 
@progress_callback_data: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_copy_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_move ##### -->
<para>

</para>

@source: 
@destination: 
@flags: 
@cancellable: 
@progress_callback: 
@progress_callback_data: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_make_directory ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_make_directory_with_parents ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_make_symbolic_link ##### -->
<para>

</para>

@file: 
@symlink_value: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_settable_attributes ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_query_writable_namespaces ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute ##### -->
<para>

</para>

@file: 
@attribute: 
@type: 
@value_p: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attributes_from_info ##### -->
<para>

</para>

@file: 
@info: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attributes_async ##### -->
<para>

</para>

@file: 
@info: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_set_attributes_finish ##### -->
<para>

</para>

@file: 
@result: 
@info: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute_string ##### -->
<para>

</para>

@file: 
@attribute: 
@value: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute_byte_string ##### -->
<para>

</para>

@file: 
@attribute: 
@value: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute_uint32 ##### -->
<para>

</para>

@file: 
@attribute: 
@value: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute_int32 ##### -->
<para>

</para>

@file: 
@attribute: 
@value: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute_uint64 ##### -->
<para>

</para>

@file: 
@attribute: 
@value: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_set_attribute_int64 ##### -->
<para>

</para>

@file: 
@attribute: 
@value: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_mount_mountable ##### -->
<para>

</para>

@file: 
@flags: 
@mount_operation: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_mount_mountable_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_unmount_mountable ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_unmount_mountable_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_unmount_mountable_with_operation ##### -->
<para>

</para>

@file: 
@flags: 
@mount_operation: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_unmount_mountable_with_operation_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_eject_mountable ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_eject_mountable_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_eject_mountable_with_operation ##### -->
<para>

</para>

@file: 
@flags: 
@mount_operation: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_eject_mountable_with_operation_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_start_mountable ##### -->
<para>

</para>

@file: 
@flags: 
@start_operation: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_start_mountable_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_stop_mountable ##### -->
<para>

</para>

@file: 
@flags: 
@mount_operation: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_stop_mountable_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_poll_mountable ##### -->
<para>

</para>

@file: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_poll_mountable_finish ##### -->
<para>

</para>

@file: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_mount_enclosing_volume ##### -->
<para>

</para>

@location: 
@flags: 
@mount_operation: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_mount_enclosing_volume_finish ##### -->
<para>

</para>

@location: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_monitor_directory ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_monitor_file ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_monitor ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_load_contents ##### -->
<para>

</para>

@file: 
@cancellable: 
@contents: 
@length: 
@etag_out: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_load_contents_async ##### -->
<para>

</para>

@file: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_load_contents_finish ##### -->
<para>

</para>

@file: 
@res: 
@contents: 
@length: 
@etag_out: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_load_partial_contents_async ##### -->
<para>

</para>

@file: 
@cancellable: 
@read_more_callback: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_load_partial_contents_finish ##### -->
<para>

</para>

@file: 
@res: 
@contents: 
@length: 
@etag_out: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_replace_contents ##### -->
<para>

</para>

@file: 
@contents: 
@length: 
@etag: 
@make_backup: 
@flags: 
@new_etag: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_replace_contents_async ##### -->
<para>

</para>

@file: 
@contents: 
@length: 
@etag: 
@make_backup: 
@flags: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_replace_contents_finish ##### -->
<para>

</para>

@file: 
@res: 
@new_etag: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_copy_attributes ##### -->
<para>

</para>

@source: 
@destination: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_create_readwrite ##### -->
<para>

</para>

@file: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_create_readwrite_async ##### -->
<para>

</para>

@file: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_create_readwrite_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_open_readwrite ##### -->
<para>

</para>

@file: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_open_readwrite_async ##### -->
<para>

</para>

@file: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_open_readwrite_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_replace_readwrite ##### -->
<para>

</para>

@file: 
@etag: 
@make_backup: 
@flags: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_replace_readwrite_async ##### -->
<para>

</para>

@file: 
@etag: 
@make_backup: 
@flags: 
@io_priority: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION g_file_replace_readwrite_finish ##### -->
<para>

</para>

@file: 
@res: 
@error: 
@Returns: 


<!-- ##### FUNCTION g_file_supports_thread_contexts ##### -->
<para>

</para>

@file: 
@Returns: 


