manpagez: man pages & more
html files: gnome-vfs
Home | html | info | man

Monitoring

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

Synopsis

typedef             GnomeVFSMonitorHandle;
enum                GnomeVFSMonitorType;
enum                GnomeVFSMonitorEventType;
void                (*GnomeVFSMonitorCallback)          (GnomeVFSMonitorHandle *handle,
                                                         const gchar *monitor_uri,
                                                         const gchar *info_uri,
                                                         GnomeVFSMonitorEventType event_type,
                                                         gpointer user_data);
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);
void                gnome_vfs_monitor_callback          (GnomeVFSMethodHandle *method_handle,
                                                         GnomeVFSURI *info_uri,
                                                         GnomeVFSMonitorEventType event_type);

Description

Details

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

typedef enum {
  GNOME_VFS_MONITOR_FILE,
  GNOME_VFS_MONITOR_DIRECTORY
} GnomeVFSMonitorType;

Type of resources that can be monitored.

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

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 (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).

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

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 :

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.

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().

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.
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.