Eio file and directory monitoring API

Data Structures | Typedefs | Functions | Variables
Eio file and directory monitoring API
Eio

These function monitor changes in directories and files. More...

## Data Structures
struct | _Eio_Monitor_Error
struct | _Eio_Monitor_Event

## Typedefs
typedef struct _Eio_Monitor | Eio_Monitor
typedef struct _Eio_Monitor_Error | Eio_Monitor_Error
typedef struct _Eio_Monitor_Event | Eio_Monitor_Event

## Functions
EAPI Eio_Monitor * | eio_monitor_add (const char *path)
| Adds a file/directory to monitor (inotify mechanism) More...
EAPI Eio_Monitor * | eio_monitor_stringshared_add (const char *path)
| Adds a file/directory to monitor. More...
EAPI void | eio_monitor_del (Eio_Monitor *monitor)
| Deletes a path from the “watched” list. More...
EAPI const char * | eio_monitor_path_get (Eio_Monitor *monitor)
| returns the path being watched by the given Eio_Monitor. More...

## Variables
EAPI int | EIO_MONITOR_FILE_CREATED
| A new file was created in a watched directory.
EAPI int | EIO_MONITOR_FILE_DELETED
| A watched file was deleted, or a file in a watched directory was deleted.
EAPI int | EIO_MONITOR_FILE_MODIFIED
| A file was modified in a watched directory.
EAPI int | EIO_MONITOR_FILE_CLOSED
| A file was closed in a watched directory. More...
EAPI int | EIO_MONITOR_DIRECTORY_CREATED
| A new directory was created in a watched directory.
EAPI int | EIO_MONITOR_DIRECTORY_DELETED
| A directory has been deleted: this can be either a watched directory or one of its subdirectories.
EAPI int | EIO_MONITOR_DIRECTORY_MODIFIED
| A directory has been modified in a watched directory.
EAPI int | EIO_MONITOR_DIRECTORY_CLOSED
| A directory has been closed in a watched directory. More...
EAPI int | EIO_MONITOR_SELF_RENAME
| The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist. More...
EAPI int | EIO_MONITOR_SELF_DELETED
| The monitored path has been removed. More...
EAPI int | EIO_MONITOR_ERROR
| During operation the monitor failed and will no longer work. More...

## Detailed Description

These function monitor changes in directories and files.

These functions use the best available method to monitor changes on a specified directory or file. They send ecore events when changes occur, and they maintain internal refcounts to reduce resource consumption on duplicate monitor targets.

## Function Documentation

## ◆ eio_monitor_add()

EAPI Eio_Monitor* eio_monitor_add | ( | const char * | path | ) |

Adds a file/directory to monitor (inotify mechanism)

Parameters

  path | file/directory to monitor

Returns
  NULL in case of a failure or a pointer to the monitor in case of success.

This function will add the given path to its internal list of files to monitor. It utilizes the inotify mechanism introduced in kernel 2.6.13 for passive monitoring.

## ◆ eio_monitor_stringshared_add()

EAPI Eio_Monitor* eio_monitor_stringshared_add | ( | const char * | path | ) |

Adds a file/directory to monitor.

Parameters

  path | file/directory to monitor

Returns
  NULL in case of a failure or a pointer to the monitor in case of success.

Warning
  Do NOT pass non-stringshared strings to this function! If you don't know what this means, use eio_monitor_add().

This fuction is just like eio_monitor_add(), however the string passed by argument must be created using eina_stringshare_add().

## ◆ eio_monitor_del()

EAPI void eio_monitor_del | ( | Eio_Monitor * | monitor | ) |

Deletes a path from the “watched” list.

Parameters

  monitor | The Eio_Monitor you want to stop watching. It can only be an Eio_Monitor returned to you from calling eio_monitor_add() or eio_monitor_stringshared_add()

References EINA_REFCOUNT_UNREF.

## ◆ eio_monitor_path_get()

EAPI const char* eio_monitor_path_get | ( | Eio_Monitor * | monitor | ) |

returns the path being watched by the given Eio_Monitor.

Parameters

  monitor | Eio_Monitor to return the path of

Returns
  The stringshared path belonging to `monitor`

## Variable Documentation

## ◆ EIO_MONITOR_FILE_CLOSED

EAPI int EIO_MONITOR_FILE_CLOSED

A file was closed in a watched directory.

This event is never sent on Windows and OSX

## ◆ EIO_MONITOR_DIRECTORY_CLOSED

EAPI int EIO_MONITOR_DIRECTORY_CLOSED

A directory has been closed in a watched directory.

This event is never sent on Windows and OSX

## ◆ EIO_MONITOR_SELF_RENAME

EAPI int EIO_MONITOR_SELF_RENAME

The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist.

This event is never sent on OSX

## ◆ EIO_MONITOR_SELF_DELETED

EAPI int EIO_MONITOR_SELF_DELETED

The monitored path has been removed.

This event is never sent on OSX

## ◆ EIO_MONITOR_ERROR

EAPI int EIO_MONITOR_ERROR

During operation the monitor failed and will no longer work.

eio_monitor_del must be called on it.