Fwd to e-devel and e-users as some don't read e-svn but might be
interested. Some people at IRC didn't know about mojito and rygel, so
links:

    
http://moblin.org/documentation/moblin-sdk/coding-tutorials/mojito-web-services-tutorial

    http://live.gnome.org/Rygel

As I said in IRC, I still think that the best solution is to provide
custom EFL, like dieb is doing with EUPnP, but until things are ready
and available, we can use those glib based instead.

---------- Forwarded message ----------
From: Enlightenment SVN <no-re...@enlightenment.org>
Date: Thu, Oct 1, 2009 at 12:56 AM
Subject: E SVN: barbieri IN trunk/ecore: . src/lib/ecore
To: enlightenment-...@lists.sourceforge.net


Log:
 welcome glib main loop integration support.

 that's it, it's here... tested and works fine, please try with your
 favorite gmainloop dependent library and report problems. Suggestions:

   * GConf to access Gnome and its applications settings.
   * GtkSettings to access other properties of Gnome and its applications.
   * GUPnP (okay, we have EUPnP, but they have more features so far)
   * Rygel, based on GUPnP.
   * Libsoup, SOAP and HTTP access, useful for web access and required
     by other libraries.
   * Mojito, by Moblin, access to various web2.0 services like flickr,
     picasa, twitter...

 And last but not least, this enables Flash plugin on WebKit-EFL and
 may enable us to get Google Gadgets sooner (before someone writes a
 proper EFL backend).

 Support is auto-detected at compile time but can be disabled with
 --disable-glib. Runtime support is not enabled by default (so
 compiling with it will just link yet another library), one needs to
 call ecore_main_loop_glib_integrate() to do so.

 Thanks to INdT folks that provided the initial implementation. I
 rewrote it to make it correct, but the idea was good.


Author:       barbieri
Date:         2009-09-30 20:56:38 -0700 (Wed, 30 Sep 2009)
New Revision: 42825

Added:
 trunk/ecore/src/lib/ecore/ecore_glib.c
Modified:
 trunk/ecore/configure.ac trunk/ecore/src/lib/ecore/Ecore.h
trunk/ecore/src/lib/ecore/Makefile.am
trunk/ecore/src/lib/ecore/ecore.c
trunk/ecore/src/lib/ecore/ecore_private.h

Modified: trunk/ecore/configure.ac
===================================================================
--- trunk/ecore/configure.ac    2009-10-01 01:36:50 UTC (rev 42824)
+++ trunk/ecore/configure.ac    2009-10-01 03:56:38 UTC (rev 42825)
@@ -85,6 +85,7 @@
 want_poll="yes"
 want_inotify="no"
 want_tslib="no"
+want_glib="no"

 # core modules
 want_ecore_job="yes"
@@ -134,6 +135,7 @@
      ;;
   mingw*)
      want_curl="yes"
+      want_glib="auto"
      want_ecore_imf="yes"
      want_ecore_win32="yes"
      want_ecore_evas_software_gdi="yes"
@@ -145,6 +147,7 @@
      ;;
   darwin*)
      want_curl="yes"
+      want_glib="auto"
      want_gnutls="auto"
      want_openssl="auto"
      want_ecore_con="yes"
@@ -157,6 +160,7 @@
      ;;
   *)
      want_curl="yes"
+      want_glib="auto"
      want_abstract_sockets="yes"
      want_gnutls="auto"
      want_openssl="auto"
@@ -347,6 +351,23 @@
 requirements_ecore_wince="ecore eina-0 ${requirements_ecore_wince}"


+# glib support (main loop integration)
+AC_ARG_ENABLE([glib],
+   [AC_HELP_STRING([--disable-glib], [enable glib support.
@<:@default=detect@:>@])],
+   [want_glib=$enableval], [])
+
+if test "x$want_glib" != "xno"; then
+   PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib="yes"], [have_glib="no"])
+else
+   have_glib="no"
+fi
+if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then
+   AC_MSG_ERROR([GLib support requested, but no GLib found by pkg-config.])
+elif test "x$have_glib" = "xyes"; then
+   AC_DEFINE(HAVE_GLIB, [1], [Have GLib])
+fi
+
+
 # iconv library (ecore_txt)

 iconv_cflags=""
@@ -1120,6 +1141,7 @@
 echo " Core:"
 echo
 echo "  Ecore........................: always"
+echo "    GLib support...............: $have_glib"
 echo "  Ecore_Job....................: $have_ecore_job"
 echo "  Ecore_Txt....................: $have_ecore_txt"
 echo "  Ecore_Con....................: $have_ecore_con"

Modified: trunk/ecore/src/lib/ecore/Ecore.h
===================================================================
--- trunk/ecore/src/lib/ecore/Ecore.h   2009-10-01 01:36:50 UTC (rev 42824)
+++ trunk/ecore/src/lib/ecore/Ecore.h   2009-10-01 03:56:38 UTC (rev 42825)
@@ -287,6 +287,8 @@
   EAPI void              ecore_main_loop_select_func_set(int
(*func)(int nfds, fd_set *readfds, fd_set *writefds, fd_set
*exceptfds, struct timeval *timeout));
   EAPI void             *ecore_main_loop_select_func_get(void);

+   EAPI Eina_Bool         ecore_main_loop_glib_integrate(void);
+
   EAPI void              ecore_main_loop_begin(void);
   EAPI void              ecore_main_loop_quit(void);
   EAPI Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd,
Ecore_Fd_Handler_Flags flags, int (*func) (void *data,
Ecore_Fd_Handler *fd_handler), const void *data, int (*buf_func) (void
*buf_data, Ecore_Fd_Handler *fd_handler), const void *buf_data);

Modified: trunk/ecore/src/lib/ecore/Makefile.am
===================================================================
--- trunk/ecore/src/lib/ecore/Makefile.am       2009-10-01 01:36:50
UTC (rev 42824)
+++ trunk/ecore/src/lib/ecore/Makefile.am       2009-10-01 03:56:38
UTC (rev 42825)
@@ -1,7 +1,7 @@
 MAINTAINERCLEANFILES = Makefile.in

 AM_CPPFLAGS = @EVIL_CFLAGS@ @WIN32_CPPFLAGS@ @EFL_ECORE_BUILD@
-AM_CFLAGS = @WIN32_CFLAGS@ @EINA_CFLAGS@ @WIN32_CPPFLAGS@
+AM_CFLAGS = @WIN32_CFLAGS@ @EINA_CFLAGS@ @WIN32_CPPFLAGS@ @GLIB_CFLAGS@

 lib_LTLIBRARIES = libecore.la
 include_HEADERS = \
@@ -35,9 +35,10 @@
 ecore_timer.c \
 ecore_tree.c \
 ecore_value.c \
-ecore_thread.c
+ecore_thread.c \
+ecore_glib.c

-libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@
@WIN32_LIBS@ @LTLIBINTL@ -lm
+libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@
@GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ -lm
 libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@
-version-info @version_info@ @ecore_release_info@

 EXTRA_DIST = ecore_private.h

Modified: trunk/ecore/src/lib/ecore/ecore.c
===================================================================
--- trunk/ecore/src/lib/ecore/ecore.c   2009-10-01 01:36:50 UTC (rev 42824)
+++ trunk/ecore/src/lib/ecore/ecore.c   2009-10-01 03:56:38 UTC (rev 42825)
@@ -90,6 +90,7 @@
       _ecore_signal_init();
       _ecore_exe_init();
       _ecore_thread_init();
+       _ecore_glib_init();
       _ecore_loop_time = ecore_time_get();
     }

@@ -115,6 +116,7 @@
   if (_ecore_fps_debug) _ecore_fps_debug_shutdown();
   _ecore_poller_shutdown();
   _ecore_animator_shutdown();
+   _ecore_glib_shutdown();
   _ecore_thread_shutdown();
   _ecore_exe_shutdown();
   _ecore_idle_enterer_shutdown();

Modified: trunk/ecore/src/lib/ecore/ecore_private.h
===================================================================
--- trunk/ecore/src/lib/ecore/ecore_private.h   2009-10-01 01:36:50
UTC (rev 42824)
+++ trunk/ecore/src/lib/ecore/ecore_private.h   2009-10-01 03:56:38
UTC (rev 42825)
@@ -447,6 +447,9 @@
 int _ecore_thread_init(void);
 int _ecore_thread_shutdown(void);

+void _ecore_glib_init(void);
+void _ecore_glib_shutdown(void);
+
 extern int    _ecore_fps_debug;
 extern double _ecore_loop_time;



------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
enlightenment-svn mailing list
enlightenment-...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-svn



-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to