X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgfile.h;h=60a8d7028fdfea5b2e7382e21f9cb371348918f1;hb=9da85c7262325478e8730ae9f3e76bd0528a9a8c;hp=d83d0f58e4ce66cb1da7164132669a76ee7bf775;hpb=2e3f48993ddf2a18eff36f3e4eae10da0207e510;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gfile.h b/gio/gfile.h index d83d0f5..60a8d70 100644 --- a/gio/gfile.h +++ b/gio/gfile.h @@ -1,5 +1,5 @@ /* GIO - GLib Input, Output and Streaming Library - * + * * Copyright (C) 2006-2007 Red Hat, Inc. * * This library is free software; you can redistribute it and/or @@ -13,26 +13,19 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . * * Author: Alexander Larsson */ +#ifndef __G_FILE_H__ +#define __G_FILE_H__ + #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_FILE_H__ -#define __G_FILE_H__ - -#include -#include -#include -#include -#include -#include +#include G_BEGIN_DECLS @@ -41,128 +34,34 @@ G_BEGIN_DECLS #define G_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_FILE)) #define G_FILE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_FILE, GFileIface)) -/** - * GFileQueryInfoFlags: - * @G_FILE_QUERY_INFO_NONE: No flags set. - * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks. - * - * Flags used when querying a #GFileInfo. - */ -typedef enum { - G_FILE_QUERY_INFO_NONE = 0, - G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = (1<<0) /*< nick=nofollow-symlinks >*/ -} GFileQueryInfoFlags; - -/** - * GFileCreateFlags: - * @G_FILE_CREATE_NONE: No flags set. - * @G_FILE_CREATE_PRIVATE: Create a file that can only be - * accessed by the current user. - * - * Flags used when an operation may create a file. - */ -typedef enum { - G_FILE_CREATE_NONE = 0, - G_FILE_CREATE_PRIVATE = (1<<0) -} GFileCreateFlags; - -/** - * GFileCopyFlags: - * @G_FILE_COPY_NONE: No flags set. - * @G_FILE_COPY_OVERWRITE: Overwrite any existing files - * @G_FILE_COPY_BACKUP: Make a backup of any existing files. - * @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks. - * @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo). - * @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported. - * - * Flags used when copying or moving files. - */ -typedef enum { - G_FILE_COPY_NONE = 0, /*< nick=none >*/ - G_FILE_COPY_OVERWRITE = (1<<0), - G_FILE_COPY_BACKUP = (1<<1), - G_FILE_COPY_NOFOLLOW_SYMLINKS = (1<<2), - G_FILE_COPY_ALL_METADATA = (1<<3), - G_FILE_COPY_NO_FALLBACK_FOR_MOVE = (1<<4) -} GFileCopyFlags; - -/** - * GFileMonitorFlags: - * @G_FILE_MONITOR_NONE: No flags set. - * @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events. - * - * Flags used to set what a #GFileMonitor or #GDirectoryMonitor will watch for. - */ -typedef enum { - G_FILE_MONITOR_NONE = 0, - G_FILE_MONITOR_WATCH_MOUNTS = (1<<0) -} GFileMonitorFlags; - +#if 0 /** * GFile: - * - * A handle to an object implementing the #GFileIface interface. - * Generally stores a location within the file system. Handles do not + * + * 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. **/ typedef struct _GFile GFile; /* Dummy typedef */ +#endif typedef struct _GFileIface GFileIface; -typedef struct _GDirectoryMonitor GDirectoryMonitor; -typedef struct _GFileMonitor GFileMonitor; - -/** - * GMount: - * - * A handle to an object implementing the #GMountIface interface. - **/ -typedef struct _GMount GMount; /* Dummy typedef */ -/** - * GFileProgressCallback: - * @current_num_bytes: the current number of bytes in the operation. - * @total_num_bytes: the total number of bytes in the operation. - * @user_data: user data passed to the callback. - * - * 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. - **/ -typedef void (*GFileProgressCallback) (goffset current_num_bytes, - goffset total_num_bytes, - gpointer user_data); - -/** - * GFileReadMoreCallback: - * @file_contents: the data as currently read. - * @file_size: the size of the data currently read. - * @callback_data: data passed to the callback. - * - * When loading the partial contents of a file with g_file_read_partial_contents(), - * 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. - * - * Returns: %TRUE if more data should be read back. %FALSE otherwise. - **/ -typedef gboolean (* GFileReadMoreCallback) (const char *file_contents, - goffset file_size, - gpointer callback_data); /** * GFileIface: * @g_iface: The parent interface. * @dup: Duplicates a #GFile. * @hash: Creates a hash of a #GFile. - * @equal: Checks equality of two given #GFiles. + * @equal: Checks equality of two given #GFiles. * @is_native: Checks to see if a file is native to the system. * @has_uri_scheme: Checks to see if a #GFile has a given URI scheme. * @get_uri_scheme: Gets the URI scheme for a #GFile. * @get_basename: Gets the basename for a given #GFile. - * @get_path: Gets the current path within a #GFile. + * @get_path: Gets the current path within a #GFile. * @get_uri: Gets a URI for the path within a #GFile. * @get_parse_name: Gets the parsed name for the #GFile. * @get_parent: Gets the parent directory for the #GFile. - * @contains_file: Checks whether a #GFile contains a specified file. + * @prefix_matches: Checks whether a #GFile contains a specified file. * @get_relative_path: Gets the path for a #GFile relative to a given path. * @resolve_relative_path: Resolves a relative path for a #GFile to an absolute path. * @get_child_for_display_name: Gets the child #GFile for a given display name. @@ -173,16 +72,16 @@ typedef gboolean (* GFileReadMoreCallback) (const char *file_contents, * @query_info_async: Asynchronously gets the #GFileInfo for a #GFile. * @query_info_finish: Finishes an asynchronous query info operation. * @query_filesystem_info: Gets a #GFileInfo for the file system #GFile is on. - * @_query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on. - * @_query_filesystem_info_finish: Finishes asynchronously getting the file system info. + * @query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on. + * @query_filesystem_info_finish: Finishes asynchronously getting the file system info. * @find_enclosing_mount: Gets a #GMount for the #GFile. * @find_enclosing_mount_async: Asynchronously gets the #GMount for a #GFile. * @find_enclosing_mount_finish: Finishes asynchronously getting the volume. * @set_display_name: Sets the display name for a #GFile. * @set_display_name_async: Asynchronously sets a #GFile's display name. * @set_display_name_finish: Finishes asynchronously setting a #GFile's display name. - * @query_settable_attributes: Returns a list of #GFileAttributes that can be set. - * @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttributes that can be set. + * @query_settable_attributes: Returns a list of #GFileAttributes that can be set. + * @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttributes that can be set. * @_query_settable_attributes_finish: Finishes asynchronously querying settable attributes. * @query_writable_namespaces: Returns a list of #GFileAttribute namespaces that are writable. * @_query_writable_namespaces_async: Asynchronously gets a list of #GFileAttribute namespaces that are writable. @@ -204,22 +103,22 @@ typedef gboolean (* GFileReadMoreCallback) (const char *file_contents, * @replace_async: Asynchronously replaces the contents of a file. * @replace_finish: Finishes asynchronously replacing a file. * @delete_file: Deletes a file. - * @_delete_file_async: Asynchronously deletes a file. - * @_delete_file_finish: Finishes an asynchronous delete. + * @delete_file_async: Asynchronously deletes a file. + * @delete_file_finish: Finishes an asynchronous delete. * @trash: Sends a #GFile to the Trash location. - * @_trash_async: Asynchronously sends a #GFile to the Trash location. - * @_trash_finish: Finishes an asynchronous file trashing operation. + * @trash_async: Asynchronously sends a #GFile to the Trash location. + * @trash_finish: Finishes an asynchronous file trashing operation. * @make_directory: Makes a directory. - * @_make_directory_async: Asynchronously makes a directory. - * @_make_directory_finish: Finishes making a directory asynchronously. + * @make_directory_async: Asynchronously makes a directory. + * @make_directory_finish: Finishes making a directory asynchronously. * @make_symbolic_link: Makes a symbolic link. * @_make_symbolic_link_async: Asynchronously makes a symbolic link * @_make_symbolic_link_finish: Finishes making a symbolic link asynchronously. * @copy: Copies a file. - * @_copy_async: Asynchronously copies a file. - * @_copy_finish: Finishes an asynchronous copy operation. + * @copy_async: Asynchronously copies a file. + * @copy_finish: Finishes an asynchronous copy operation. * @move: Moves a file. - * @_move_async: Asynchronously moves a file. + * @_move_async: Asynchronously moves a file. * @_move_finish: Finishes an asynchronous move operation. * @mount_mountable: Mounts a mountable object. * @mount_mountable_finish: Finishes a mounting operation. @@ -227,364 +126,580 @@ typedef gboolean (* GFileReadMoreCallback) (const char *file_contents, * @unmount_mountable_finish: Finishes an unmount operation. * @eject_mountable: Ejects a mountable. * @eject_mountable_finish: Finishes an eject operation. - * @mount_enclosing_volume: Mounts a specified location. + * @mount_enclosing_volume: Mounts a specified location. * @mount_enclosing_volume_finish: Finishes mounting a specified location. - * @monitor_dir: Creates a #GDirectoryMonitor for the location. + * @monitor_dir: Creates a #GFileMonitor for the location. * @monitor_file: Creates a #GFileMonitor for the location. - * - * An interface for writing VFS file handles. - **/ + * @open_readwrite: Open file read/write. Since 2.22. + * @open_readwrite_async: Asynchronously opens file read/write. Since 2.22. + * @open_readwrite_finish: Finishes an asynchronous open read/write. Since 2.22. + * @create_readwrite: Creates file read/write. Since 2.22. + * @create_readwrite_async: Asynchronously creates file read/write. Since 2.22. + * @create_readwrite_finish: Finishes an asynchronous creates read/write. Since 2.22. + * @replace_readwrite: Replaces file read/write. Since 2.22. + * @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22. + * @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22. + * @start_mountable: Starts a mountable object. Since 2.22. + * @start_mountable_finish: Finishes an start operation. Since 2.22. + * @stop_mountable: Stops a mountable. Since 2.22. + * @stop_mountable_finish: Finishes an stop operation. Since 2.22. + * @supports_thread_contexts: a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22. + * @unmount_mountable_with_operation: Unmounts a mountable object using a #GMountOperation. Since 2.22. + * @unmount_mountable_with_operation_finish: Finishes an unmount operation using a #GMountOperation. Since 2.22. + * @eject_mountable_with_operation: Ejects a mountable object using a #GMountOperation. Since 2.22. + * @eject_mountable_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22. + * @poll_mountable: Polls a mountable object for media changes. Since 2.22. + * @poll_mountable_finish: Finishes an poll operation for media changes. Since 2.22. + * + * An interface for writing VFS file handles. + **/ struct _GFileIface { GTypeInterface g_iface; /* Virtual Table */ - GFile * (*dup) (GFile *file); - guint (*hash) (GFile *file); - gboolean (*equal) (GFile *file1, - GFile *file2); - gboolean (*is_native) (GFile *file); - gboolean (*has_uri_scheme) (GFile *file, - const char *uri_scheme); - char * (*get_uri_scheme) (GFile *file); - char * (*get_basename) (GFile *file); - char * (*get_path) (GFile *file); - char * (*get_uri) (GFile *file); - char * (*get_parse_name) (GFile *file); - GFile * (*get_parent) (GFile *file); - gboolean (*contains_file) (GFile *parent, - GFile *descendant); - char * (*get_relative_path) (GFile *parent, - GFile *descendant); - GFile * (*resolve_relative_path) (GFile *file, - const char *relative_path); - GFile * (*get_child_for_display_name) (GFile *file, - const char *display_name, - GError **error); - - GFileEnumerator * (*enumerate_children) (GFile *file, - const char *attributes, - GFileQueryInfoFlags flags, - GCancellable *cancellable, - GError **error); - void (*enumerate_children_async) (GFile *file, - const char *attributes, - GFileQueryInfoFlags flags, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFileEnumerator * (*enumerate_children_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - GFileInfo * (*query_info) (GFile *file, - const char *attributes, - GFileQueryInfoFlags flags, - GCancellable *cancellable, - GError **error); - void (*query_info_async) (GFile *file, - const char *attributes, - GFileQueryInfoFlags flags, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFileInfo * (*query_info_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - GFileInfo * (*query_filesystem_info)(GFile *file, - const char *attributes, - GCancellable *cancellable, - GError **error); - void (*_query_filesystem_info_async) (void); - void (*_query_filesystem_info_finish) (void); - - GMount * (*find_enclosing_mount)(GFile *file, - GCancellable *cancellable, - GError **error); - void (*find_enclosing_mount_async)(GFile *file, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GMount * (*find_enclosing_mount_finish)(GFile *file, - GAsyncResult *res, - GError **error); - - GFile * (*set_display_name) (GFile *file, - const char *display_name, - GCancellable *cancellable, - GError **error); - void (*set_display_name_async) (GFile *file, - const char *display_name, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFile * (*set_display_name_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - GFileAttributeInfoList * (*query_settable_attributes) (GFile *file, - GCancellable *cancellable, - GError **error); - void (*_query_settable_attributes_async) (void); - void (*_query_settable_attributes_finish) (void); - - GFileAttributeInfoList * (*query_writable_namespaces) (GFile *file, - GCancellable *cancellable, - GError **error); - void (*_query_writable_namespaces_async) (void); - void (*_query_writable_namespaces_finish) (void); - - gboolean (*set_attribute) (GFile *file, - const char *attribute, - GFileAttributeType type, - gpointer value_p, - GFileQueryInfoFlags flags, - GCancellable *cancellable, - GError **error); - gboolean (*set_attributes_from_info) (GFile *file, - GFileInfo *info, - GFileQueryInfoFlags flags, - GCancellable *cancellable, - GError **error); - void (*set_attributes_async) (GFile *file, - GFileInfo *info, - GFileQueryInfoFlags flags, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gboolean (*set_attributes_finish) (GFile *file, - GAsyncResult *result, - GFileInfo **info, - GError **error); - - GFileInputStream * (*read_fn) (GFile *file, - GCancellable *cancellable, - GError **error); - void (*read_async) (GFile *file, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFileInputStream * (*read_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - GFileOutputStream * (*append_to) (GFile *file, - GFileCreateFlags flags, - GCancellable *cancellable, - GError **error); - void (*append_to_async) (GFile *file, - GFileCreateFlags flags, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFileOutputStream * (*append_to_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - GFileOutputStream * (*create) (GFile *file, - GFileCreateFlags flags, - GCancellable *cancellable, - GError **error); - void (*create_async) (GFile *file, - GFileCreateFlags flags, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFileOutputStream * (*create_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - GFileOutputStream * (*replace) (GFile *file, - const char *etag, - gboolean make_backup, - GFileCreateFlags flags, - GCancellable *cancellable, - GError **error); - void (*replace_async) (GFile *file, - const char *etag, - gboolean make_backup, - GFileCreateFlags flags, - int io_priority, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFileOutputStream * (*replace_finish) (GFile *file, - GAsyncResult *res, - GError **error); - - gboolean (*delete_file) (GFile *file, - GCancellable *cancellable, - GError **error); - void (*_delete_file_async) (void); - void (*_delete_file_finish) (void); - - gboolean (*trash) (GFile *file, - GCancellable *cancellable, - GError **error); - void (*_trash_async) (void); - void (*_trash_finish) (void); - - gboolean (*make_directory) (GFile *file, - GCancellable *cancellable, - GError **error); - void (*_make_directory_async) (void); - void (*_make_directory_finish) (void); - - gboolean (*make_symbolic_link) (GFile *file, - const char *symlink_value, - GCancellable *cancellable, - GError **error); - void (*_make_symbolic_link_async) (void); - void (*_make_symbolic_link_finish) (void); - - gboolean (*copy) (GFile *source, - GFile *destination, - GFileCopyFlags flags, - GCancellable *cancellable, - GFileProgressCallback progress_callback, - gpointer progress_callback_data, - GError **error); - void (*_copy_async) (void); - void (*_copy_finish) (void); - - gboolean (*move) (GFile *source, - GFile *destination, - GFileCopyFlags flags, - GCancellable *cancellable, - GFileProgressCallback progress_callback, - gpointer progress_callback_data, - GError **error); - - void (*_move_async) (void); - void (*_move_finish) (void); - - - void (*mount_mountable) (GFile *file, - GMountOperation *mount_operation, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - GFile * (*mount_mountable_finish) (GFile *file, - GAsyncResult *result, - GError **error); - void (*unmount_mountable) (GFile *file, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gboolean (*unmount_mountable_finish) (GFile *file, - GAsyncResult *result, - GError **error); - void (*eject_mountable) (GFile *file, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gboolean (*eject_mountable_finish) (GFile *file, - GAsyncResult *result, - GError **error); - - - void (*mount_enclosing_volume) (GFile *location, - GMountOperation *mount_operation, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - gboolean (*mount_enclosing_volume_finish) (GFile *location, - GAsyncResult *result, - GError **error); - - GDirectoryMonitor* (*monitor_dir) (GFile *file, - GFileMonitorFlags flags, - GCancellable *cancellable); - - GFileMonitor* (*monitor_file) (GFile *file, - GFileMonitorFlags flags, - GCancellable *cancellable); + GFile * (* dup) (GFile *file); + guint (* hash) (GFile *file); + gboolean (* equal) (GFile *file1, + GFile *file2); + gboolean (* is_native) (GFile *file); + gboolean (* has_uri_scheme) (GFile *file, + const char *uri_scheme); + char * (* get_uri_scheme) (GFile *file); + char * (* get_basename) (GFile *file); + char * (* get_path) (GFile *file); + char * (* get_uri) (GFile *file); + char * (* get_parse_name) (GFile *file); + GFile * (* get_parent) (GFile *file); + gboolean (* prefix_matches) (GFile *prefix, + GFile *file); + char * (* get_relative_path) (GFile *parent, + GFile *descendant); + GFile * (* resolve_relative_path) (GFile *file, + const char *relative_path); + GFile * (* get_child_for_display_name) (GFile *file, + const char *display_name, + GError **error); + + GFileEnumerator * (* enumerate_children) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* enumerate_children_async) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileEnumerator * (* enumerate_children_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileInfo * (* query_info) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* query_info_async) (GFile *file, + const char *attributes, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_info_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileInfo * (* query_filesystem_info) (GFile *file, + const char *attributes, + GCancellable *cancellable, + GError **error); + void (* query_filesystem_info_async) (GFile *file, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInfo * (* query_filesystem_info_finish)(GFile *file, + GAsyncResult *res, + GError **error); + + GMount * (* find_enclosing_mount) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* find_enclosing_mount_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GMount * (* find_enclosing_mount_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFile * (* set_display_name) (GFile *file, + const char *display_name, + GCancellable *cancellable, + GError **error); + void (* set_display_name_async) (GFile *file, + const char *display_name, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFile * (* set_display_name_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileAttributeInfoList * (* query_settable_attributes) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* _query_settable_attributes_async) (void); + void (* _query_settable_attributes_finish) (void); + + GFileAttributeInfoList * (* query_writable_namespaces) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* _query_writable_namespaces_async) (void); + void (* _query_writable_namespaces_finish) (void); + + gboolean (* set_attribute) (GFile *file, + const char *attribute, + GFileAttributeType type, + gpointer value_p, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + gboolean (* set_attributes_from_info) (GFile *file, + GFileInfo *info, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); + void (* set_attributes_async) (GFile *file, + GFileInfo *info, + GFileQueryInfoFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* set_attributes_finish) (GFile *file, + GAsyncResult *result, + GFileInfo **info, + GError **error); + GFileInputStream * (* read_fn) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* read_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileInputStream * (* read_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileOutputStream * (* append_to) (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* append_to_async) (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileOutputStream * (* append_to_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileOutputStream * (* create) (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* create_async) (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileOutputStream * (* create_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + GFileOutputStream * (* replace) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* replace_async) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileOutputStream * (* replace_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + gboolean (* delete_file) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* delete_file_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* delete_file_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* trash) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* trash_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* trash_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* make_directory) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* make_directory_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* make_directory_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* make_symbolic_link) (GFile *file, + const char *symlink_value, + GCancellable *cancellable, + GError **error); + void (* _make_symbolic_link_async) (void); + void (* _make_symbolic_link_finish) (void); + + gboolean (* copy) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GError **error); + void (* copy_async) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + int io_priority, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* copy_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + gboolean (* move) (GFile *source, + GFile *destination, + GFileCopyFlags flags, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GError **error); + void (* _move_async) (void); + void (* _move_finish) (void); + + void (* mount_mountable) (GFile *file, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFile * (* mount_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* unmount_mountable) (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* unmount_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* eject_mountable) (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* mount_enclosing_volume) (GFile *location, + GMountMountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* mount_enclosing_volume_finish) (GFile *location, + GAsyncResult *result, + GError **error); + + GFileMonitor * (* monitor_dir) (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); + GFileMonitor * (* monitor_file) (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); + + GFileIOStream * (* open_readwrite) (GFile *file, + GCancellable *cancellable, + GError **error); + void (* open_readwrite_async) (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileIOStream * (* open_readwrite_finish) (GFile *file, + GAsyncResult *res, + GError **error); + GFileIOStream * (* create_readwrite) (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* create_readwrite_async) (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileIOStream * (* create_readwrite_finish) (GFile *file, + GAsyncResult *res, + GError **error); + GFileIOStream * (* replace_readwrite) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); + void (* replace_readwrite_async) (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + GFileIOStream * (* replace_readwrite_finish) (GFile *file, + GAsyncResult *res, + GError **error); + + void (* start_mountable) (GFile *file, + GDriveStartFlags flags, + GMountOperation *start_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* start_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* stop_mountable) (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* stop_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean supports_thread_contexts; + + void (* unmount_mountable_with_operation) (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* unmount_mountable_with_operation_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* eject_mountable_with_operation) (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* eject_mountable_with_operation_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + void (* poll_mountable) (GFile *file, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* poll_mountable_finish) (GFile *file, + GAsyncResult *result, + GError **error); + + gboolean (* measure_disk_usage) (GFile *file, + GFileMeasureFlags flags, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); + void (* measure_disk_usage_async) (GFile *file, + GFileMeasureFlags flags, + gint io_priority, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* measure_disk_usage_finish) (GFile *file, + GAsyncResult *result, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); }; -GType g_file_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +GType g_file_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL GFile * g_file_new_for_path (const char *path); +GLIB_AVAILABLE_IN_ALL GFile * g_file_new_for_uri (const char *uri); +GLIB_AVAILABLE_IN_ALL GFile * g_file_new_for_commandline_arg (const char *arg); +GLIB_AVAILABLE_IN_2_36 +GFile * g_file_new_for_commandline_arg_and_cwd (const gchar *arg, + const gchar *cwd); +GLIB_AVAILABLE_IN_2_32 +GFile * g_file_new_tmp (const char *tmpl, + GFileIOStream **iostream, + GError **error); +GLIB_AVAILABLE_IN_ALL GFile * g_file_parse_name (const char *parse_name); +GLIB_AVAILABLE_IN_ALL GFile * g_file_dup (GFile *file); +GLIB_AVAILABLE_IN_ALL guint g_file_hash (gconstpointer file); +GLIB_AVAILABLE_IN_ALL gboolean g_file_equal (GFile *file1, GFile *file2); +GLIB_AVAILABLE_IN_ALL char * g_file_get_basename (GFile *file); +GLIB_AVAILABLE_IN_ALL char * g_file_get_path (GFile *file); +GLIB_AVAILABLE_IN_ALL char * g_file_get_uri (GFile *file); +GLIB_AVAILABLE_IN_ALL char * g_file_get_parse_name (GFile *file); +GLIB_AVAILABLE_IN_ALL GFile * g_file_get_parent (GFile *file); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_has_parent (GFile *file, + GFile *parent); +GLIB_AVAILABLE_IN_ALL GFile * g_file_get_child (GFile *file, const char *name); +GLIB_AVAILABLE_IN_ALL GFile * g_file_get_child_for_display_name (GFile *file, const char *display_name, GError **error); -gboolean g_file_contains_file (GFile *parent, - GFile *descendant); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_has_prefix (GFile *file, + GFile *prefix); +GLIB_AVAILABLE_IN_ALL char * g_file_get_relative_path (GFile *parent, GFile *descendant); +GLIB_AVAILABLE_IN_ALL GFile * g_file_resolve_relative_path (GFile *file, const char *relative_path); +GLIB_AVAILABLE_IN_ALL gboolean g_file_is_native (GFile *file); +GLIB_AVAILABLE_IN_ALL gboolean g_file_has_uri_scheme (GFile *file, const char *uri_scheme); +GLIB_AVAILABLE_IN_ALL char * g_file_get_uri_scheme (GFile *file); +GLIB_AVAILABLE_IN_ALL GFileInputStream * g_file_read (GFile *file, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_read_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFileInputStream * g_file_read_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL GFileOutputStream * g_file_append_to (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL GFileOutputStream * g_file_create (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL GFileOutputStream * g_file_replace (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_append_to_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFileOutputStream * g_file_append_to_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_create_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFileOutputStream * g_file_create_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_replace_async (GFile *file, const char *etag, gboolean make_backup, @@ -593,14 +708,74 @@ void g_file_replace_async (GFile GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFileOutputStream * g_file_replace_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL +GFileIOStream * g_file_open_readwrite (GFile *file, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_open_readwrite_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GFileIOStream * g_file_open_readwrite_finish (GFile *file, + GAsyncResult *res, + GError **error); +GLIB_AVAILABLE_IN_ALL +GFileIOStream * g_file_create_readwrite (GFile *file, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_create_readwrite_async (GFile *file, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GFileIOStream * g_file_create_readwrite_finish (GFile *file, + GAsyncResult *res, + GError **error); +GLIB_AVAILABLE_IN_ALL +GFileIOStream * g_file_replace_readwrite (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_replace_readwrite_async (GFile *file, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GFileIOStream * g_file_replace_readwrite_finish (GFile *file, + GAsyncResult *res, + GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_query_exists (GFile *file, + GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL +GFileType g_file_query_file_type (GFile *file, + GFileQueryInfoFlags flags, + GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL GFileInfo * g_file_query_info (GFile *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_query_info_async (GFile *file, const char *attributes, GFileQueryInfoFlags flags, @@ -608,21 +783,47 @@ void g_file_query_info_async (GFile GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFileInfo * g_file_query_info_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL GFileInfo * g_file_query_filesystem_info (GFile *file, const char *attributes, GCancellable *cancellable, GError **error); -GMount * g_file_find_enclosing_mount (GFile *file, - GCancellable *cancellable, - GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_query_filesystem_info_async (GFile *file, + const char *attributes, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GFileInfo * g_file_query_filesystem_info_finish (GFile *file, + GAsyncResult *res, + GError **error); +GLIB_AVAILABLE_IN_ALL +GMount * g_file_find_enclosing_mount (GFile *file, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_find_enclosing_mount_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +GMount * g_file_find_enclosing_mount_finish (GFile *file, + GAsyncResult *res, + GError **error); +GLIB_AVAILABLE_IN_ALL GFileEnumerator * g_file_enumerate_children (GFile *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_enumerate_children_async (GFile *file, const char *attributes, GFileQueryInfoFlags flags, @@ -630,28 +831,61 @@ void g_file_enumerate_children_async (GFile GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFileEnumerator * g_file_enumerate_children_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL GFile * g_file_set_display_name (GFile *file, const char *display_name, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_set_display_name_async (GFile *file, const char *display_name, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFile * g_file_set_display_name_finish (GFile *file, GAsyncResult *res, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_delete (GFile *file, GCancellable *cancellable, GError **error); + +GLIB_AVAILABLE_IN_2_34 +void g_file_delete_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_34 +gboolean g_file_delete_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GLIB_AVAILABLE_IN_ALL gboolean g_file_trash (GFile *file, GCancellable *cancellable, GError **error); + +GLIB_AVAILABLE_IN_2_38 +void g_file_trash_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GLIB_AVAILABLE_IN_2_38 +gboolean g_file_trash_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GLIB_AVAILABLE_IN_ALL gboolean g_file_copy (GFile *source, GFile *destination, GFileCopyFlags flags, @@ -659,6 +893,21 @@ gboolean g_file_copy (GFile GFileProgressCallback progress_callback, gpointer progress_callback_data, GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_copy_async (GFile *source, + GFile *destination, + GFileCopyFlags flags, + int io_priority, + GCancellable *cancellable, + GFileProgressCallback progress_callback, + gpointer progress_callback_data, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_copy_finish (GFile *file, + GAsyncResult *res, + GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_move (GFile *source, GFile *destination, GFileCopyFlags flags, @@ -666,19 +915,39 @@ gboolean g_file_move (GFile GFileProgressCallback progress_callback, gpointer progress_callback_data, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_make_directory (GFile *file, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_2_38 +void g_file_make_directory_async (GFile *file, + int io_priority, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_2_38 +gboolean g_file_make_directory_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GLIB_AVAILABLE_IN_ALL +gboolean g_file_make_directory_with_parents (GFile *file, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_make_symbolic_link (GFile *file, const char *symlink_value, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute (GFile *file, const char *attribute, GFileAttributeType type, @@ -686,11 +955,13 @@ gboolean g_file_set_attribute (GFile GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attributes_from_info (GFile *file, GFileInfo *info, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_set_attributes_async (GFile *file, GFileInfo *info, GFileQueryInfoFlags flags, @@ -698,77 +969,121 @@ void g_file_set_attributes_async (GFile GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attributes_finish (GFile *file, GAsyncResult *result, GFileInfo **info, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute_string (GFile *file, const char *attribute, const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute_byte_string (GFile *file, const char *attribute, const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute_uint32 (GFile *file, const char *attribute, guint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute_int32 (GFile *file, const char *attribute, gint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute_uint64 (GFile *file, const char *attribute, guint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_set_attribute_int64 (GFile *file, const char *attribute, gint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_mount_enclosing_volume (GFile *location, + GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gboolean g_file_mount_enclosing_volume_finish (GFile *location, GAsyncResult *result, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_mount_mountable (GFile *file, + GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL GFile * g_file_mount_mountable_finish (GFile *file, GAsyncResult *result, GError **error); +GLIB_DEPRECATED_FOR(g_file_unmount_mountable_with_operation) void g_file_unmount_mountable (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GLIB_DEPRECATED_FOR(g_file_unmount_mountable_with_operation_finish) +gboolean g_file_unmount_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_unmount_mountable_with_operation (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -gboolean g_file_unmount_mountable_finish (GFile *file, +GLIB_AVAILABLE_IN_ALL +gboolean g_file_unmount_mountable_with_operation_finish (GFile *file, GAsyncResult *result, GError **error); +GLIB_DEPRECATED_FOR(g_file_eject_mountable_with_operation) void g_file_eject_mountable (GFile *file, + GMountUnmountFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GLIB_DEPRECATED_FOR(g_file_eject_mountable_with_operation_finish) +gboolean g_file_eject_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_eject_mountable_with_operation (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -gboolean g_file_eject_mountable_finish (GFile *file, +GLIB_AVAILABLE_IN_ALL +gboolean g_file_eject_mountable_with_operation_finish (GFile *file, GAsyncResult *result, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_copy_attributes (GFile *source, GFile *destination, GFileCopyFlags flags, @@ -776,43 +1091,123 @@ gboolean g_file_copy_attributes (GFile GError **error); -GDirectoryMonitor* g_file_monitor_directory (GFile *file, - GFileMonitorFlags flags, - GCancellable *cancellable); -GFileMonitor* g_file_monitor_file (GFile *file, - GFileMonitorFlags flags, - GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL +GFileMonitor* g_file_monitor_directory (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +GFileMonitor* g_file_monitor_file (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +GFileMonitor* g_file_monitor (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); + +GLIB_AVAILABLE_IN_2_38 +gboolean g_file_measure_disk_usage (GFile *file, + GFileMeasureFlags flags, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); + +GLIB_AVAILABLE_IN_2_38 +void g_file_measure_disk_usage_async (GFile *file, + GFileMeasureFlags flags, + gint io_priority, + GCancellable *cancellable, + GFileMeasureProgressCallback progress_callback, + gpointer progress_data, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_2_38 +gboolean g_file_measure_disk_usage_finish (GFile *file, + GAsyncResult *result, + guint64 *disk_usage, + guint64 *num_dirs, + guint64 *num_files, + GError **error); + +GLIB_AVAILABLE_IN_ALL +void g_file_start_mountable (GFile *file, + GDriveStartFlags flags, + GMountOperation *start_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_start_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); +GLIB_AVAILABLE_IN_ALL +void g_file_stop_mountable (GFile *file, + GMountUnmountFlags flags, + GMountOperation *mount_operation, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_stop_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); + +GLIB_AVAILABLE_IN_ALL +void g_file_poll_mountable (GFile *file, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_poll_mountable_finish (GFile *file, + GAsyncResult *result, + GError **error); /* Utilities */ +GLIB_AVAILABLE_IN_ALL +GAppInfo *g_file_query_default_handler (GFile *file, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_load_contents (GFile *file, GCancellable *cancellable, char **contents, gsize *length, char **etag_out, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_load_contents_async (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gboolean g_file_load_contents_finish (GFile *file, GAsyncResult *res, char **contents, gsize *length, char **etag_out, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_load_partial_contents_async (GFile *file, GCancellable *cancellable, GFileReadMoreCallback read_more_callback, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_ALL gboolean g_file_load_partial_contents_finish (GFile *file, GAsyncResult *res, char **contents, gsize *length, char **etag_out, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_file_replace_contents (GFile *file, const char *contents, gsize length, @@ -822,6 +1217,7 @@ gboolean g_file_replace_contents (GFile *file, char **new_etag, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL void g_file_replace_contents_async (GFile *file, const char *contents, gsize length, @@ -831,11 +1227,24 @@ void g_file_replace_contents_async (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); +GLIB_AVAILABLE_IN_2_40 +void g_file_replace_contents_bytes_async (GFile *file, + GBytes *contents, + const char *etag, + gboolean make_backup, + GFileCreateFlags flags, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GLIB_AVAILABLE_IN_ALL gboolean g_file_replace_contents_finish (GFile *file, GAsyncResult *res, char **new_etag, GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_file_supports_thread_contexts (GFile *file); + G_END_DECLS #endif /* __G_FILE_H__ */