On Thu, Dec 06, 2012 at 05:38:36AM -0800, Enlightenment SVN wrote:
> Log:
> efl/ecore_file: refactor to be more like eio in providing backends.
>
> instead of the previous mess, just define the functions with common
> names and call the backend that was compiled in, similar to what eio
> does.
>
> also do not be silent on errors, use eina_safety_checks to issue warnings.
>
>
>
> Author: barbieri
> Date: 2012-12-06 05:38:34 -0800 (Thu, 06 Dec 2012)
> New Revision: 80360
> Trac: http://trac.enlightenment.org/e/changeset/80360
>
> Modified:
> trunk/efl/configure.ac trunk/efl/src/Makefile_Ecore_File.am
> trunk/efl/src/Makefile_Eio.am
> trunk/efl/src/lib/ecore_file/ecore_file_monitor.c
> trunk/efl/src/lib/ecore_file/ecore_file_monitor_inotify.c
> trunk/efl/src/lib/ecore_file/ecore_file_monitor_poll.c
> trunk/efl/src/lib/ecore_file/ecore_file_monitor_win32.c
> trunk/efl/src/lib/ecore_file/ecore_file_private.h
>
> Modified: trunk/efl/configure.ac
> ===================================================================
> --- trunk/efl/configure.ac 2012-12-06 13:24:27 UTC (rev 80359)
> +++ trunk/efl/configure.ac 2012-12-06 13:38:34 UTC (rev 80360)
> @@ -478,6 +478,13 @@
> have_inotify="${ac_cv_header_sys_inotify_h}"
> AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
>
> +have_notify_win32="${have_win32}"
> +AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
> + [test "x${have_notify_win32}" = "xyes"],
> + [File monitoring with Windows notification])
Missing val argument here... it should be:
AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
[test "x${have_notify_win32}" = "xyes"], [1],
[File monitoring with Windows notification])
> +AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
> +
> +
> EFL_CHECK_PATH_MAX
>
>
> @@ -2392,17 +2399,6 @@
> have_poll="yes"
> fi
>
> -have_notify_win32="no"
> -
> -case "$host_os" in
> - mingw32ce*)
> - ;;
> - mingw32*)
> - have_notify_win32="yes"
> - AC_DEFINE([HAVE_NOTIFY_WIN32], [1], [File monitoring with Windows
> notification])
> - ;;
> -esac
> -
> if ! test "x${have_atfile_source}" = "xno" ; then
> AC_CHECK_FUNCS([mkdirat],
> [
> @@ -3933,11 +3929,6 @@
>
> AC_MSG_RESULT([${have_xattr}])
>
> -# Check for inotify specificity
> -have_notify_win32="no"
> -EIO_CHECK_NOTIFY_WIN32([have_notify_win32="yes"], [have_notify_win32="no"])
> -AM_CONDITIONAL([EIO_HAVE_WINCHANGE], [test "x${have_notify_win32}" = "xyes"])
> -
> #### End of Eio
>
>
>
> Modified: trunk/efl/src/Makefile_Ecore_File.am
> ===================================================================
> --- trunk/efl/src/Makefile_Ecore_File.am 2012-12-06 13:24:27 UTC (rev
> 80359)
> +++ trunk/efl/src/Makefile_Ecore_File.am 2012-12-06 13:38:34 UTC (rev
> 80360)
> @@ -11,12 +11,22 @@
> lib/ecore_file/ecore_file.c \
> lib/ecore_file/ecore_file_download.c \
> lib/ecore_file/ecore_file_monitor.c \
> -lib/ecore_file/ecore_file_monitor_inotify.c \
> -lib/ecore_file/ecore_file_monitor_poll.c \
> -lib/ecore_file/ecore_file_monitor_win32.c \
> lib/ecore_file/ecore_file_path.c \
> lib/ecore_file/ecore_file_private.h
>
> +if HAVE_INOTIFY
> +lib_ecore_file_libecore_file_la_SOURCES += \
> +lib/ecore_file/ecore_file_monitor_inotify.c
> +else
> +if HAVE_NOTIFY_WIN32
> +lib_ecore_file_libecore_file_la_SOURCES += \
> +lib/ecore_file/ecore_file_monitor_win32.c
> +else
> +lib_ecore_file_libecore_file_la_SOURCES += \
> +lib/ecore_file/ecore_file_monitor_poll.c
> +endif
> +endif
> +
> lib_ecore_file_libecore_file_la_CPPFLAGS = \
> -I$(top_srcdir)/src/lib/eina \
> -I$(top_srcdir)/src/lib/eo \
>
> Modified: trunk/efl/src/Makefile_Eio.am
> ===================================================================
> --- trunk/efl/src/Makefile_Eio.am 2012-12-06 13:24:27 UTC (rev 80359)
> +++ trunk/efl/src/Makefile_Eio.am 2012-12-06 13:38:34 UTC (rev 80360)
> @@ -21,7 +21,7 @@
> if HAVE_INOTIFY
> lib_eio_libeio_la_SOURCES += lib/eio/eio_monitor_inotify.c
> else
> -if EIO_HAVE_WINCHANGE
> +if HAVE_NOTIFY_WIN32
> lib_eio_libeio_la_SOURCES += lib/eio/eio_monitor_win32.c
> endif
> endif
>
> Modified: trunk/efl/src/lib/ecore_file/ecore_file_monitor.c
> ===================================================================
> --- trunk/efl/src/lib/ecore_file/ecore_file_monitor.c 2012-12-06 13:24:27 UTC
> (rev 80359)
> +++ trunk/efl/src/lib/ecore_file/ecore_file_monitor.c 2012-12-06 13:38:34 UTC
> (rev 80360)
> @@ -4,66 +4,18 @@
>
> #include "ecore_file_private.h"
>
> -typedef enum {
> - ECORE_FILE_MONITOR_TYPE_NONE,
> -#ifdef HAVE_SYS_INOTIFY_H
> - ECORE_FILE_MONITOR_TYPE_INOTIFY,
> -#endif
> -#ifdef HAVE_NOTIFY_WIN32
> - ECORE_FILE_MONITOR_TYPE_NOTIFY_WIN32,
> -#endif
> -#ifdef HAVE_POLL
> - ECORE_FILE_MONITOR_TYPE_POLL
> -#endif
> -} Ecore_File_Monitor_Type;
> -
> -static Ecore_File_Monitor_Type monitor_type = ECORE_FILE_MONITOR_TYPE_NONE;
> -
> int
> ecore_file_monitor_init(void)
> {
> -#ifdef HAVE_SYS_INOTIFY_H
> - monitor_type = ECORE_FILE_MONITOR_TYPE_INOTIFY;
> - if (ecore_file_monitor_inotify_init())
> + if (ecore_file_monitor_backend_init())
> return 1;
> -#endif
> -#ifdef HAVE_NOTIFY_WIN32
> - monitor_type = ECORE_FILE_MONITOR_TYPE_NOTIFY_WIN32;
> - if (ecore_file_monitor_win32_init())
> - return 1;
> -#endif
> -#ifdef HAVE_POLL
> - monitor_type = ECORE_FILE_MONITOR_TYPE_POLL;
> - if (ecore_file_monitor_poll_init())
> - return 1;
> -#endif
> - monitor_type = ECORE_FILE_MONITOR_TYPE_NONE;
> return 0;
> }
>
> void
> ecore_file_monitor_shutdown(void)
> {
> - switch (monitor_type)
> - {
> - case ECORE_FILE_MONITOR_TYPE_NONE:
> - break;
> -#ifdef HAVE_SYS_INOTIFY_H
> - case ECORE_FILE_MONITOR_TYPE_INOTIFY:
> - ecore_file_monitor_inotify_shutdown();
> - break;
> -#endif
> -#ifdef HAVE_NOTIFY_WIN32
> - case ECORE_FILE_MONITOR_TYPE_NOTIFY_WIN32:
> - ecore_file_monitor_win32_shutdown();
> - break;
> -#endif
> -#ifdef HAVE_POLL
> - case ECORE_FILE_MONITOR_TYPE_POLL:
> - ecore_file_monitor_poll_shutdown();
> - break;
> -#endif
> - }
> + ecore_file_monitor_backend_shutdown();
> }
>
> /**
> @@ -94,27 +46,11 @@
> Ecore_File_Monitor_Cb func,
> void *data)
> {
> - if (!path || !*path)
> - return NULL;
> + EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL);
> + EINA_SAFETY_ON_TRUE_RETURN_VAL(path[0] == '\0', NULL);
> + EINA_SAFETY_ON_NULL_RETURN_VAL(func, NULL);
>
> - switch (monitor_type)
> - {
> - case ECORE_FILE_MONITOR_TYPE_NONE:
> - return NULL;
> -#ifdef HAVE_SYS_INOTIFY_H
> - case ECORE_FILE_MONITOR_TYPE_INOTIFY:
> - return ecore_file_monitor_inotify_add(path, func, data);
> -#endif
> -#ifdef HAVE_NOTIFY_WIN32
> - case ECORE_FILE_MONITOR_TYPE_NOTIFY_WIN32:
> - return ecore_file_monitor_win32_add(path, func, data);
> -#endif
> -#ifdef HAVE_POLL
> - case ECORE_FILE_MONITOR_TYPE_POLL:
> - return ecore_file_monitor_poll_add(path, func, data);
> -#endif
> - }
> - return NULL;
> + return ecore_file_monitor_backend_add(path, func, data);
> }
>
> /**
> @@ -131,29 +67,8 @@
> EAPI void
> ecore_file_monitor_del(Ecore_File_Monitor *em)
> {
> - if (!em)
> - return;
> -
> - switch (monitor_type)
> - {
> - case ECORE_FILE_MONITOR_TYPE_NONE:
> - break;
> -#ifdef HAVE_SYS_INOTIFY_H
> - case ECORE_FILE_MONITOR_TYPE_INOTIFY:
> - ecore_file_monitor_inotify_del(em);
> - break;
> -#endif
> -#ifdef HAVE_NOTIFY_WIN32
> - case ECORE_FILE_MONITOR_TYPE_NOTIFY_WIN32:
> - ecore_file_monitor_win32_del(em);
> - break;
> -#endif
> -#ifdef HAVE_POLL
> - case ECORE_FILE_MONITOR_TYPE_POLL:
> - ecore_file_monitor_poll_del(em);
> - break;
> -#endif
> - }
> + EINA_SAFETY_ON_NULL_RETURN(em);
> + ecore_file_monitor_backend_del(em);
> }
>
> /**
> @@ -170,8 +85,7 @@
> EAPI const char *
> ecore_file_monitor_path_get(Ecore_File_Monitor *em)
> {
> - if (!em)
> - return NULL;
> + EINA_SAFETY_ON_NULL_RETURN_VAL(em, NULL);
> return em->path;
> }
>
>
> Modified: trunk/efl/src/lib/ecore_file/ecore_file_monitor_inotify.c
> ===================================================================
> --- trunk/efl/src/lib/ecore_file/ecore_file_monitor_inotify.c 2012-12-06
> 13:24:27 UTC (rev 80359)
> +++ trunk/efl/src/lib/ecore_file/ecore_file_monitor_inotify.c 2012-12-06
> 13:38:34 UTC (rev 80360)
> @@ -20,8 +20,6 @@
> * - Listen to IN_IGNORED, emitted when the watch is removed
> */
>
> -#ifdef HAVE_SYS_INOTIFY_H
> -
> #include <sys/inotify.h>
>
>
> @@ -48,7 +46,7 @@
> #endif
>
> int
> -ecore_file_monitor_inotify_init(void)
> +ecore_file_monitor_backend_init(void)
> {
> int fd;
>
> @@ -69,12 +67,12 @@
> }
>
> int
> -ecore_file_monitor_inotify_shutdown(void)
> +ecore_file_monitor_backend_shutdown(void)
> {
> int fd;
>
> while(_monitors)
> - ecore_file_monitor_inotify_del(_monitors);
> + ecore_file_monitor_backend_del(_monitors);
>
> if (_fdh)
> {
> @@ -87,7 +85,7 @@
> }
>
> Ecore_File_Monitor *
> -ecore_file_monitor_inotify_add(const char *path,
> +ecore_file_monitor_backend_add(const char *path,
> void (*func) (void *data, Ecore_File_Monitor
> *em,
> Ecore_File_Event event,
> const char *path),
> @@ -100,8 +98,8 @@
>
> if (_inotify_fd_pid != getpid())
> {
> - ecore_file_monitor_inotify_shutdown();
> - ecore_file_monitor_inotify_init();
> + ecore_file_monitor_backend_shutdown();
> + ecore_file_monitor_backend_init();
> }
>
> em = calloc(1, sizeof(Ecore_File_Monitor_Inotify));
> @@ -124,7 +122,7 @@
> }
>
> void
> -ecore_file_monitor_inotify_del(Ecore_File_Monitor *em)
> +ecore_file_monitor_backend_del(Ecore_File_Monitor *em)
> {
> int fd;
>
> @@ -283,7 +281,7 @@
> if (ECORE_FILE_MONITOR_INOTIFY(em)->wd < 0)
> {
> INF("inotify_add_watch failed, file was deleted");
> - ecore_file_monitor_inotify_del(em);
> + ecore_file_monitor_backend_del(em);
> return 0;
> }
> return 1;
> @@ -328,4 +326,3 @@
> INF("Inotify unmount %s: %s", type, file);
> }
> #endif
> -#endif /* HAVE_SYS_INOTIFY_H */
>
> Modified: trunk/efl/src/lib/ecore_file/ecore_file_monitor_poll.c
> ===================================================================
> --- trunk/efl/src/lib/ecore_file/ecore_file_monitor_poll.c 2012-12-06
> 13:24:27 UTC (rev 80359)
> +++ trunk/efl/src/lib/ecore_file/ecore_file_monitor_poll.c 2012-12-06
> 13:38:34 UTC (rev 80360)
> @@ -8,8 +8,6 @@
>
> #include "ecore_file_private.h"
>
> -#ifdef HAVE_POLL
> -
> /*
> * TODO:
> * - Implement recursive as an option!
> @@ -43,16 +41,16 @@
> static int _ecore_file_monitor_poll_checking(Ecore_File_Monitor *em,
> char *name);
>
> int
> -ecore_file_monitor_poll_init(void)
> +ecore_file_monitor_backend_init(void)
> {
> return 1;
> }
>
> int
> -ecore_file_monitor_poll_shutdown(void)
> +ecore_file_monitor_backend_shutdown(void)
> {
> while(_monitors)
> - ecore_file_monitor_poll_del(_monitors);
> + ecore_file_monitor_backend_del(_monitors);
>
> if (_timer)
> {
> @@ -63,7 +61,7 @@
> }
>
> Ecore_File_Monitor *
> -ecore_file_monitor_poll_add(const char *path,
> +ecore_file_monitor_backend_add(const char *path,
> void (*func) (void *data, Ecore_File_Monitor *em,
> Ecore_File_Event event,
> const char *path),
> @@ -125,7 +123,7 @@
> }
> else
> {
> - ecore_file_monitor_poll_del(em);
> + ecore_file_monitor_backend_del(em);
> return NULL;
> }
>
> @@ -133,7 +131,7 @@
> }
>
> void
> -ecore_file_monitor_poll_del(Ecore_File_Monitor *em)
> +ecore_file_monitor_backend_del(Ecore_File_Monitor *em)
> {
> Ecore_File *l;
>
> @@ -337,4 +335,3 @@
> }
> return 0;
> }
> -#endif
>
> Modified: trunk/efl/src/lib/ecore_file/ecore_file_monitor_win32.c
> ===================================================================
> --- trunk/efl/src/lib/ecore_file/ecore_file_monitor_win32.c 2012-12-06
> 13:24:27 UTC (rev 80359)
> +++ trunk/efl/src/lib/ecore_file/ecore_file_monitor_win32.c 2012-12-06
> 13:38:34 UTC (rev 80360)
> @@ -6,8 +6,6 @@
> # include <config.h>
> #endif
>
> -#ifdef HAVE_NOTIFY_WIN32
> -
> # define WIN32_LEAN_AND_MEAN
> # include <windows.h>
> # undef WIN32_LEAN_AND_MEAN
> @@ -225,19 +223,19 @@
> }
>
> int
> -ecore_file_monitor_win32_init(void)
> +ecore_file_monitor_backend_init(void)
> {
> return 1;
> }
>
> int
> -ecore_file_monitor_win32_shutdown(void)
> +ecore_file_monitor_backend_shutdown(void)
> {
> return 1;
> }
>
> Ecore_File_Monitor *
> -ecore_file_monitor_win32_add(const char *path,
> +ecore_file_monitor_backend_add(const char *path,
> void (*func) (void *data, Ecore_File_Monitor
> *em,
> Ecore_File_Event event,
> const char *path),
> @@ -293,7 +291,7 @@
> }
>
> void
> -ecore_file_monitor_win32_del(Ecore_File_Monitor *em)
> +ecore_file_monitor_backend_del(Ecore_File_Monitor *em)
> {
> Ecore_File_Monitor_Win32 *m;
>
> @@ -306,5 +304,3 @@
> free(em->path);
> free(em);
> }
> -
> -#endif
>
> Modified: trunk/efl/src/lib/ecore_file/ecore_file_private.h
> ===================================================================
> --- trunk/efl/src/lib/ecore_file/ecore_file_private.h 2012-12-06 13:24:27 UTC
> (rev 80359)
> +++ trunk/efl/src/lib/ecore_file/ecore_file_private.h 2012-12-06 13:38:34 UTC
> (rev 80360)
> @@ -81,43 +81,16 @@
> Ecore_File *files;
> };
>
> -#ifdef HAVE_SYS_INOTIFY_H
> -int ecore_file_monitor_inotify_init(void);
> -int ecore_file_monitor_inotify_shutdown(void);
> -Ecore_File_Monitor *ecore_file_monitor_inotify_add(const char *path,
> - void (*func) (void
> *data,
> -
> Ecore_File_Monitor *ecore_file_monitor,
> -
> Ecore_File_Event event,
> - const
> char *path),
> - void *data);
> -void ecore_file_monitor_inotify_del(Ecore_File_Monitor
> *ecore_file_monitor);
> -#endif
> -
> -#ifdef HAVE_NOTIFY_WIN32
> -int ecore_file_monitor_win32_init(void);
> -int ecore_file_monitor_win32_shutdown(void);
> -Ecore_File_Monitor *ecore_file_monitor_win32_add(const char *path,
> - void (*func) (void
> *data,
> -
> Ecore_File_Monitor *ecore_file_monitor,
> -
> Ecore_File_Event event,
> - const
> char *path),
> - void *data);
> -void ecore_file_monitor_win32_del(Ecore_File_Monitor
> *ecore_file_monitor);
> -#endif
> +int ecore_file_monitor_backend_init(void);
> +int ecore_file_monitor_backend_shutdown(void);
> +Ecore_File_Monitor *ecore_file_monitor_backend_add(const char *path,
> + void (*func) (void *data,
> +
> Ecore_File_Monitor *ecore_file_monitor,
> +
> Ecore_File_Event event,
> + const char
> *path),
> + void *data);
> +void ecore_file_monitor_backend_del(Ecore_File_Monitor
> *ecore_file_monitor);
>
> -#ifdef HAVE_POLL
> -int ecore_file_monitor_poll_init(void);
> -int ecore_file_monitor_poll_shutdown(void);
> -Ecore_File_Monitor *ecore_file_monitor_poll_add(const char *path,
> - void (*func) (void *data,
> -
> Ecore_File_Monitor *ecore_file_monitor,
> -
> Ecore_File_Event event,
> - const char
> *path),
> - void *data);
> -void ecore_file_monitor_poll_del(Ecore_File_Monitor
> *ecore_file_monitor);
> -
> -#endif
> -
> /* ecore_file_path */
> void ecore_file_path_init(void);
> void ecore_file_path_shutdown(void);
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> enlightenment-svn mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
--
Leandro Dorileo
ProFUSION embedded systems
http://profusion.mobi
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel