From d19e08a40cb2900f70910916f1414d0a740612ea Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 2 Jul 2008 17:19:16 +0000 Subject: [PATCH] Add g_file_monitor svn path=/trunk/; revision=7145 --- docs/reference/ChangeLog | 1 + docs/reference/gio/gio-sections.txt | 1 + gio/ChangeLog | 8 ++++++++ gio/gfile.c | 30 ++++++++++++++++++++++++++++++ gio/gfile.h | 4 ++++ gio/gio.symbols | 1 + 6 files changed, 45 insertions(+) diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index ab426e2..4100a03 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,6 +1,7 @@ 2008-07-02 Matthias Clasen * gio/gio-sections.txt: Add g_desktop_app_info_new_from_keyfile + and g_file_monitor 2008-07-01 Matthias Clasen diff --git a/docs/reference/gio/gio-sections.txt b/docs/reference/gio/gio-sections.txt index 3e07ce9..52a1482 100644 --- a/docs/reference/gio/gio-sections.txt +++ b/docs/reference/gio/gio-sections.txt @@ -115,6 +115,7 @@ g_file_mount_enclosing_volume g_file_mount_enclosing_volume_finish g_file_monitor_directory g_file_monitor_file +g_file_monitor g_file_load_contents g_file_load_contents_async g_file_load_contents_finish diff --git a/gio/ChangeLog b/gio/ChangeLog index 723a216..13ea0e3 100644 --- a/gio/ChangeLog +++ b/gio/ChangeLog @@ -1,5 +1,13 @@ 2008-07-02 Matthias Clasen + Bug 536160 – Add g_file_monitor() + + * gio.symbols: + * gfile.[hc]: Add g_file_monitor which can return either + a file or a directory monitor. Proposed by Behdad Esfahbod + +2008-07-02 Matthias Clasen + 536733 – gio build failure on Irix * glocalfile.c: Use a configure check for structfs.f_bavail. diff --git a/gio/gfile.c b/gio/gfile.c index da793d0..7ba6108 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 * ********************************************/ diff --git a/gio/gfile.h b/gio/gfile.h index 9bb5b44..58b2992 100644 --- a/gio/gfile.h +++ b/gio/gfile.h @@ -749,6 +749,10 @@ GFileMonitor* g_file_monitor_file (GFile GFileMonitorFlags flags, GCancellable *cancellable, GError **error); +GFileMonitor* g_file_monitor (GFile *file, + GFileMonitorFlags flags, + GCancellable *cancellable, + GError **error); /* Utilities */ diff --git a/gio/gio.symbols b/gio/gio.symbols index 6c5738a..9a890f4 100644 --- a/gio/gio.symbols +++ b/gio/gio.symbols @@ -300,6 +300,7 @@ g_file_eject_mountable_finish g_file_copy_attributes g_file_monitor_directory g_file_monitor_file +g_file_monitor g_file_query_default_handler g_file_load_contents g_file_load_contents_async -- 2.7.4