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 | |
| Eio_Monitor * | eio_monitor_add (const char *path) |
| Adds a file/directory to monitor (inotify mechanism) | |
| Eio_Monitor * | eio_monitor_stringshared_add (const char *path) |
| Adds a file/directory to monitor. | |
| void | eio_monitor_del (Eio_Monitor *monitor) |
| Deletes a path from the “watched” list. | |
| const char * | eio_monitor_path_get (Eio_Monitor *monitor) |
| returns the path being watched by the given Eio_Monitor. | |
Variables | |
| int | EIO_MONITOR_FILE_CREATED |
| A new file was created in a watched directory. | |
| int | EIO_MONITOR_FILE_DELETED |
| A watched file was deleted, or a file in a watched directory was deleted. | |
| int | EIO_MONITOR_FILE_MODIFIED |
| A file was modified in a watched directory. | |
| int | EIO_MONITOR_FILE_CLOSED |
| A file was closed in a watched directory. | |
| int | EIO_MONITOR_DIRECTORY_CREATED |
| A new directory was created in a watched directory. | |
| int | EIO_MONITOR_DIRECTORY_DELETED |
| A directory has been deleted: this can be either a watched directory or one of its subdirectories. | |
| int | EIO_MONITOR_DIRECTORY_MODIFIED |
| A directory has been modified in a watched directory. | |
| int | EIO_MONITOR_DIRECTORY_CLOSED |
| A directory has been closed in a watched directory. | |
| int | EIO_MONITOR_SELF_RENAME |
| The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist. | |
| int | EIO_MONITOR_SELF_DELETED |
| The monitored path has been removed. | |
| int | EIO_MONITOR_ERROR |
| During operation the monitor failed and will no longer work. | |
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* 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.
References eina_stringshare_add(), eina_stringshare_del(), and eio_monitor_stringshared_add().
| 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().
References EINA_FALSE, eina_hash_del(), eina_hash_direct_add(), eina_hash_find(), EINA_REFCOUNT_INIT, EINA_REFCOUNT_REF, eina_stringshare_ref(), EINA_TRUE, and eio_file_direct_stat().
Referenced by eio_monitor_add().
| 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.
| 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
References EINA_SAFETY_ON_NULL_RETURN_VAL.
Variable Documentation
| int EIO_MONITOR_FILE_CLOSED |
A file was closed in a watched directory.
This event is never sent on Windows
| int EIO_MONITOR_DIRECTORY_CLOSED |
A directory has been closed in a watched directory.
This event is never sent on Windows
| int EIO_MONITOR_ERROR |
During operation the monitor failed and will no longer work.
eio_monitor_del must be called on it.
