summaryrefslogtreecommitdiff
path: root/src/lib/eio/Eio_Legacy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/eio/Eio_Legacy.h')
-rw-r--r--src/lib/eio/Eio_Legacy.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/lib/eio/Eio_Legacy.h b/src/lib/eio/Eio_Legacy.h
index 571549b0bd..adb78b6389 100644
--- a/src/lib/eio/Eio_Legacy.h
+++ b/src/lib/eio/Eio_Legacy.h
@@ -134,12 +134,6 @@ typedef enum _Eio_File_Op Eio_File_Op;
*/
/**
- * @typedef Eio_File
- * Generic asynchronous I/O reference.
- */
-typedef struct _Eio_File Eio_File;
-
-/**
* @typedef Eio_Progress
* Progress information on a specific operation.
*/
@@ -148,7 +142,6 @@ typedef struct _Eio_Progress Eio_Progress;
typedef Eina_Bool (*Eio_Filter_Cb)(void *data, Eio_File *handler, const char *file);
typedef void (*Eio_Main_Cb)(void *data, Eio_File *handler, const char *file);
-typedef Eina_Bool (*Eio_Filter_Direct_Cb)(void *data, Eio_File *handler, const Eina_File_Direct_Info *info);
typedef Eina_Bool (*Eio_Filter_Dir_Cb)(void *data, Eio_File *handler, Eina_File_Direct_Info *info);
typedef void (*Eio_Main_Direct_Cb)(void *data, Eio_File *handler, const Eina_File_Direct_Info *info);
@@ -1181,12 +1174,12 @@ EAPI Eio_File *eio_eet_write_cipher(Eet_File *ef,
EAPI extern int EIO_MONITOR_FILE_CREATED; /**< A new file was created in a watched directory */
EAPI extern int EIO_MONITOR_FILE_DELETED; /**< A watched file was deleted, or a file in a watched directory was deleted */
EAPI extern int EIO_MONITOR_FILE_MODIFIED; /**< A file was modified in a watched directory */
-EAPI extern int EIO_MONITOR_FILE_CLOSED; /**< A file was closed in a watched directory. This event is never sent on Windows and OSX */
+EAPI extern int EIO_MONITOR_FILE_CLOSED; /**< A file was closed in a watched directory. This event is never sent on Windows and OSX, or for non-fallback monitors */
EAPI extern int EIO_MONITOR_DIRECTORY_CREATED; /**< A new directory was created in a watched directory */
EAPI extern int EIO_MONITOR_DIRECTORY_DELETED; /**< A directory has been deleted: this can be either a watched directory or one of its subdirectories */
EAPI extern int EIO_MONITOR_DIRECTORY_MODIFIED; /**< A directory has been modified in a watched directory */
-EAPI extern int EIO_MONITOR_DIRECTORY_CLOSED; /**< A directory has been closed in a watched directory. This event is never sent on Windows and OSX */
-EAPI extern 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 */
+EAPI extern int EIO_MONITOR_DIRECTORY_CLOSED; /**< A directory has been closed in a watched directory. This event is never sent on Windows and OSX, or for non-fallback monitors */
+EAPI extern 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, or for non-fallback monitors */
EAPI extern int EIO_MONITOR_SELF_DELETED; /**< The monitored path has been removed. This event is never sent on OSX */
EAPI extern int EIO_MONITOR_ERROR; /**< During operation the monitor failed and will no longer work. eio_monitor_del must be called on it. */
@@ -1248,6 +1241,20 @@ EAPI void eio_monitor_del(Eio_Monitor *monitor);
*/
EAPI const char *eio_monitor_path_get(Eio_Monitor *monitor);
+#ifdef EFL_BETA_API_SUPPORT
+/**
+ * @brief Check whether a monitor is using the fallback backend
+ * @param monitor The Eio_Monitor to check
+ * @return EINA_TRUE only if the monitor is valid and is using the fallback monitoring mechanism
+ *
+ * Fallback monitors are unable to provide the CLOSED or RENAME events. It's important
+ * to check whether a monitor is a fallback monitor before relying on these events.
+ *
+ * @since 1.21
+ * @beta
+ */
+EAPI Eina_Bool eio_monitor_fallback_check(const Eio_Monitor *monitor);
+#endif
/**
* @}
*/