Monitoring

Monitoring — watch files for changes, and get called back if they do

Synopsis




GnomeVFSResult gnome_vfs_monitor_add        (GnomeVFSMonitorHandle **handle,
                                             const gchar *text_uri,
                                             GnomeVFSMonitorType monitor_type,
                                             GnomeVFSMonitorCallback callback,
                                             gpointer user_data);
GnomeVFSResult gnome_vfs_monitor_cancel     (GnomeVFSMonitorHandle *handle);
enum        GnomeVFSMonitorType;
enum        GnomeVFSMonitorEventType;
void        (*GnomeVFSMonitorCallback)      (GnomeVFSMonitorHandle *handle,
                                             const gchar *monitor_uri,
                                             const gchar *info_uri,
                                             GnomeVFSMonitorEventType event_type,
                                             gpointer user_data);

Description

Details

gnome_vfs_monitor_add ()

GnomeVFSResult gnome_vfs_monitor_add        (GnomeVFSMonitorHandle **handle,
                                             const gchar *text_uri,
                                             GnomeVFSMonitorType monitor_type,
                                             GnomeVFSMonitorCallback callback,
                                             gpointer user_data);

Watch the file or directory at text_uri for changes (or the creation/deletion of the file) and call callback when there is a change. If a directory monitor is added, callback is notified when any file in the directory changes.

handle : after the call, handle will be a pointer to an operation handle
text_uri : URI to monitor
monitor_type : add a directory or file monitor
callback : function to call when the monitor is tripped
user_data : data to pass to callback
Returns : an integer representing the success of the operation

gnome_vfs_monitor_cancel ()

GnomeVFSResult gnome_vfs_monitor_cancel     (GnomeVFSMonitorHandle *handle);

Cancel the monitor pointed to be handle.

handle : handle of the monitor to cancel
Returns : an integer representing the success of the operation

enum GnomeVFSMonitorType

typedef enum {
  GNOME_VFS_MONITOR_FILE,
  GNOME_VFS_MONITOR_DIRECTORY
} GnomeVFSMonitorType;

Type of resources that can be monitored.


enum GnomeVFSMonitorEventType

typedef enum {
  GNOME_VFS_MONITOR_EVENT_CHANGED,
  GNOME_VFS_MONITOR_EVENT_DELETED,
  GNOME_VFS_MONITOR_EVENT_STARTEXECUTING,
  GNOME_VFS_MONITOR_EVENT_STOPEXECUTING,
  GNOME_VFS_MONITOR_EVENT_CREATED,
  GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED
} GnomeVFSMonitorEventType;

Types of events that can be monitored.

GNOME_VFS_MONITOR_EVENT_CHANGED file data changed
GNOME_VFS_MONITOR_EVENT_DELETED file deleted event
GNOME_VFS_MONITOR_EVENT_STARTEXECUTING
GNOME_VFS_MONITOR_EVENT_STOPEXECUTING
GNOME_VFS_MONITOR_EVENT_CREATED file created event
GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED file metadata changed

GnomeVFSMonitorCallback ()

void        (*GnomeVFSMonitorCallback)      (GnomeVFSMonitorHandle *handle,
                                             const gchar *monitor_uri,
                                             const gchar *info_uri,
                                             GnomeVFSMonitorEventType event_type,
                                             gpointer user_data);

Function called when a monitor detects a change.

handle : the handle of the monitor that created the event
monitor_uri : the URI of the monitor that was triggered
info_uri : the URI of the actual file this event is concerned with (this can be different from monitor_uri if it was a directory monitor)
event_type : what happened to info_uri
user_data : user data passed to gnome_vfs_monitor_add() when the monitor was created