X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fglocaldirectorymonitor.h;h=b873404ed4fce7e040455a1c64d1941d32b52e85;hb=ffe286e647ce9ba9bb8e1631ba3cf0194038f438;hp=9b8f9ed4dfc708171a95f8a49b12ddbb937b4c2c;hpb=3781343738de4abddf56982325a77bd70a98cd26;p=platform%2Fupstream%2Fglib.git diff --git a/gio/glocaldirectorymonitor.h b/gio/glocaldirectorymonitor.h index 9b8f9ed..b873404 100644 --- a/gio/glocaldirectorymonitor.h +++ b/gio/glocaldirectorymonitor.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,9 +13,7 @@ * 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 */ @@ -23,8 +21,7 @@ #ifndef __G_LOCAL_DIRECTORY_MONITOR_H__ #define __G_LOCAL_DIRECTORY_MONITOR_H__ -#include -#include +#include #include "gunixmounts.h" @@ -35,30 +32,52 @@ G_BEGIN_DECLS #define G_LOCAL_DIRECTORY_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), G_TYPE_LOCAL_DIRECTORY_MONITOR, GLocalDirectoryMonitorClass)) #define G_IS_LOCAL_DIRECTORY_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_LOCAL_DIRECTORY_MONITOR)) #define G_IS_LOCAL_DIRECTORY_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_LOCAL_DIRECTORY_MONITOR)) +#define G_LOCAL_DIRECTORY_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_LOCAL_DIRECTORY_MONITOR, GLocalDirectoryMonitorClass)) + +#define G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME "gio-local-directory-monitor" +#define G_NFS_DIRECTORY_MONITOR_EXTENSION_POINT_NAME "gio-nfs-directory-monitor" typedef struct _GLocalDirectoryMonitor GLocalDirectoryMonitor; typedef struct _GLocalDirectoryMonitorClass GLocalDirectoryMonitorClass; struct _GLocalDirectoryMonitor { - GDirectoryMonitor parent_instance; - gchar *dirname; + GFileMonitor parent_instance; + + gchar *dirname; + GFileMonitorFlags flags; /* For mount emulation */ + gboolean was_mounted; GUnixMountMonitor *mount_monitor; - gboolean was_mounted; }; -struct _GLocalDirectoryMonitorClass { - GDirectoryMonitorClass parent_class; - gint prio; +struct _GLocalDirectoryMonitorClass +{ + GFileMonitorClass parent_class; + gboolean mount_notify; - gboolean (*is_supported) (void); + + gboolean (* is_supported) (void); + void (* start) (GLocalDirectoryMonitor *local_monitor); }; -GType g_local_directory_monitor_get_type (void) G_GNUC_CONST; +#ifdef G_OS_UNIX +GLIB_AVAILABLE_IN_ALL +#endif +GType g_local_directory_monitor_get_type (void) G_GNUC_CONST; + +GFileMonitor * _g_local_directory_monitor_new (const char *dirname, + GFileMonitorFlags flags, + GMainContext *context, + gboolean is_remote_fs, + gboolean do_start, + GError **error); +void g_local_directory_monitor_start (GLocalDirectoryMonitor *local_monitor); -GDirectoryMonitor* g_local_directory_monitor_new (const char* dirname, - GFileMonitorFlags flags); +/* Actually in glocalfile.c */ +GLocalDirectoryMonitor * g_local_directory_monitor_new_in_worker (const char *pathname, + GFileMonitorFlags flags, + GError **error); G_END_DECLS