Monitoring

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

Functions

Types and Values

Description

Functions

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.

Parameters

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

 

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.

Parameters

handle

after the call, handle will be a pointer to an operation handle.

 

text_uri

string representing the 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 result of the operation.


gnome_vfs_monitor_cancel ()

GnomeVFSResult
gnome_vfs_monitor_cancel (GnomeVFSMonitorHandle *handle);

Cancel the monitor pointed to be handle .

Parameters

handle

handle of the monitor to cancel.

 

Returns

an integer representing the result of the operation.


gnome_vfs_monitor_callback ()

void
gnome_vfs_monitor_callback (GnomeVFSMethodHandle *method_handle,
                            GnomeVFSURI *info_uri,
                            GnomeVFSMonitorEventType event_type);

gnome_vfs_monitor_callback() is used by GnomeVFSMethods to indicate that a particular resource changed, and will issue the emission of the GnomeVFSMonitorCallback registered using gnome_vfs_monitor_add().

Parameters

method_handle

Method-specific monitor handle obtained through gnome_vfs_monitor_add().

 

info_uri

URI that triggered the callback.

 

event_type

The event obtained for info_uri .

 

Types and Values

GnomeVFSMonitorHandle

typedef struct GnomeVFSMonitorHandle GnomeVFSMonitorHandle;

a handle representing a file or directory monitor that was registered using gnome_vfs_monitor_add() and that can be cancelled using gnome_vfs_monitor_cancel().


enum GnomeVFSMonitorType

Type of resources that can be monitored.

Members

GNOME_VFS_MONITOR_FILE

the monitor is registered for a single file.

 

GNOME_VFS_MONITOR_DIRECTORY

the monitor is registered for all files in a directory, and the directory itself.

 

enum GnomeVFSMonitorEventType

Types of events that can be monitored.

Members

GNOME_VFS_MONITOR_EVENT_CHANGED

file data changed (FAM, inotify).

 

GNOME_VFS_MONITOR_EVENT_DELETED

file deleted event (FAM, inotify).

 

GNOME_VFS_MONITOR_EVENT_STARTEXECUTING

file was executed (FAM only).

 

GNOME_VFS_MONITOR_EVENT_STOPEXECUTING

executed file isn't executed anymore (FAM only).

 

GNOME_VFS_MONITOR_EVENT_CREATED

file created event (FAM, inotify).

 

GNOME_VFS_MONITOR_EVENT_METADATA_CHANGED

file metadata changed (inotify only).