diff options
Diffstat (limited to 'gio/gfile.c')
-rw-r--r-- | gio/gfile.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gio/gfile.c b/gio/gfile.c index da793d0bb..7ba610894 100644 --- a/gio/gfile.c +++ b/gio/gfile.c @@ -3896,6 +3896,36 @@ g_file_monitor_file (GFile *file, return monitor; } +/** + * g_file_monitor: + * @file: input #GFile + * @flags: a set of #GFileMonitorFlags + * @cancellable: optional #GCancellable object, %NULL to ignore + * @error: a #GError, or %NULL + * + * 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. + * + * Returns: a #GFileMonitor for the given @file. + * + * Since: 2.18 + */ +GFileMonitor* +g_file_monitor (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error) +{ + if (g_file_query_file_type (file, 0, cancellable) == G_FILE_TYPE_DIRECTORY) + return g_file_monitor_directory (file, flags, cancellable, error); + else + return g_file_monitor_file (file, flags, cancellable, error); +} + /******************************************** * Default implementation of async ops * ********************************************/ |