GDirectoryMonitor

GDirectoryMonitor — Directory Monitor

Synopsis


#include <gio.h>


                    GDirectoryMonitor;
gboolean            g_directory_monitor_cancel          (GDirectoryMonitor *monitor);
gboolean            g_directory_monitor_is_cancelled    (GDirectoryMonitor *monitor);
void                g_directory_monitor_set_rate_limit  (GDirectoryMonitor *monitor,
                                                         int limit_msecs);
void                g_directory_monitor_emit_event      (GDirectoryMonitor *monitor,
                                                         GFile *child,
                                                         GFile *other_file,
                                                         GFileMonitorEvent event_type);


Object Hierarchy


  GObject
   +----GDirectoryMonitor

Properties


  "cancelled"                gboolean              : Read
  "rate-limit"               gint                  : Read / Write

Signals


  "changed"                                        : Run Last

Description

Monitors a directory for changes to files in it.

Details

GDirectoryMonitor

typedef struct _GDirectoryMonitor GDirectoryMonitor;

Implements a monitor on the given GFile that points to a directory.


g_directory_monitor_cancel ()

gboolean            g_directory_monitor_cancel          (GDirectoryMonitor *monitor);

Cancels the monitoring activity on monitor. Note that the monitor is automatically cancelled when finalized.

It is safe to call this multiple times.

monitor :

a GDirectoryMonitor.

Returns :

TRUE if the monitor was cancelled successfully. FALSE otherwise.

g_directory_monitor_is_cancelled ()

gboolean            g_directory_monitor_is_cancelled    (GDirectoryMonitor *monitor);

Checks whether monitor is cancelled.

monitor :

a GDirectoryMonitor.

Returns :

TRUE if the monitor on the directory was cancelled. FALSE otherwise.

g_directory_monitor_set_rate_limit ()

void                g_directory_monitor_set_rate_limit  (GDirectoryMonitor *monitor,
                                                         int limit_msecs);

Report same consecutive changes of the same type at most once each limit_msecs milliseconds.

monitor :

a GDirectoryMonitor.

limit_msecs :

the change rate limit of the directory monitor in milliseconds.

g_directory_monitor_emit_event ()

void                g_directory_monitor_emit_event      (GDirectoryMonitor *monitor,
                                                         GFile *child,
                                                         GFile *other_file,
                                                         GFileMonitorEvent event_type);

Emits the "changed" signal if a change has taken place. Should be called from directory monitor implementations only.

monitor :

a GDirectoryMonitor.

child :

a GFile.

other_file :

a GFile.

event_type :

a set of GFileMonitorEvent flags.

Property Details

The "cancelled" property

  "cancelled"                gboolean              : Read

Whether the monitor has been cancelled.

Default value: FALSE


The "rate-limit" property

  "rate-limit"               gint                  : Read / Write

The limit of the monitor to watch for changes, in milliseconds.

Allowed values: >= 0

Default value: 800

Signal Details

The "changed" signal

void                user_function                      (GDirectoryMonitor *monitor,
                                                        GFile             *child,
                                                        GFile             *other_file,
                                                        gint               event_type,
                                                        gpointer           user_data)       : Run Last

Emitted when a child file changes.

monitor :

the GDirectoryMonitor

child :

the GFile which changed

other_file :

the other GFile which changed

event_type :

a GFileMonitorEvent indicating what the event was

user_data :

user data set when the signal handler was connected.

See Also

GFileMonitor