<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/e/ecore</link><counters><counter name="forever" lastEventTime="1338085687" firstEventTime="1265415624">1962</counter><counter name="lastMonth" lastEventTime="1335365122" firstEventTime="1333414020">46</counter><counter name="thisMonth" lastEventTime="1338085687" firstEventTime="1335997018">48</counter><counter name="lastWeek" lastEventTime="1337534858" firstEventTime="1337098679">12</counter><counter name="yesterday" lastEventTime="1338006994" firstEventTime="1338006994">1</counter><counter name="thisWeek" lastEventTime="1338085687" firstEventTime="1337690462">23</counter><counter name="today" lastEventTime="1338085687" firstEventTime="1338085685">2</counter></counters><metadata><item name="subtitle"><value type="text/plain">Enlightenment's core event abstraction layer and OS abstraction layer</value></item><item name="description"><value type="text/plain">Ecore is a clean and tiny event loop library with many modules to do
lots of convenient things for a programmer, to save time and effort.

It's small and lean, designed to work on embedded systems all the way
to large and powerful multi-cpu workstations. It serialises all system
signals, events etc. into a single event queue, that is easily
processed without needing to worry about concurrency. A properly
written, event-driven program using this kind of programming doesn't
need threads, nor has to worry about concurrency. It turns a program
into a state machine, and makes it very robust and easy to follow.

Ecore gives you other handy primitives, such as timers to tick over
for you and call specified functions at particular times so the
programmer can use this to do things, like animate, or time out on
connections or tasks that take too long etc.

Idle handlers are provided too, as well as calls on entering an idle
state (often a very good time to update the state of the program). All
events that enter the system are passed to specific callback functions
that the program sets up to handle those events. Handling them is
simple and other Ecore modules produce more events on the queue,
coming from other sources such as file descriptors etc.

Ecore also lets you have functions called when file descriptors become
active for reading or writing, allowing for streamlined, non-blocking
IO.

Ecore may provide (if enabled) the following libraries:

 * ecore: main loop, signals, and base;

 * ecore_con: http/ftp (curl) access;

 * ecore_file: easy file manipulation (copy, move, symlink, remove),
   monitoring and directory (mkdir, mkdir -p, rm -fr);

 * ecore_txt: text charset conversion (iconv wrapper);

 * ecore_evas: integrates &lt;pkg&gt;media-libs/evas&lt;/pkg&gt; into different
   input and output systems, providing easy to use canvas;

 * ecore_x, ecore_sdl, ecore_quartz, ecore_directfb, ecore_win32,
   ecore_wince, ecore_fb: access to different input/output systems,
   mapping them to ecore main loop and events;

 * ecore_imf, ecore_imf_evas: input-method framework used to integrate
   with different input methods such as virtual keyboards;

 * ecore_input, ecore_input_evas: abstraction of input events.
</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Ecore</value></item><item name="url"><value type="text/plain">http://trac.enlightenment.org/e/wiki/Ecore</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71443</revision><author>stefan</author><log>ecore/tests: Remove unused var and mark unused parameter </log><diffLines>28</diffLines><url>http://trac.enlightenment.org/e/changeset/71443</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/tests/ecore_test_ecore.c">src/tests/ecore_test_ecore.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/tests/ecore_test_ecore_x.c">src/tests/ecore_test_ecore_x.c</file></files></commit></body><timestamp>1338085687</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71442</revision><author>stefan</author><log>ecore_imf_xim: Rename variable to avoid shadowing

index is already used in string.h, avoid it here.
src/modules/immodules/xim/ecore_imf_xim.c:116: warning: declaration of 'index' shadows a global declaration
/usr/include/string.h:487: warning: shadowed declaration is here

Signed-off-by: Stefan Schmidt &lt;s.schmidt@samsung.com&gt; </log><diffLines>24</diffLines><url>http://trac.enlightenment.org/e/changeset/71442</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c">src/modules/immodules/xim/ecore_imf_xim.c</file></files></commit></body><timestamp>1338085683</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71434</revision><author>jihoon</author><log>ecore XIM module: fixformatting </log><diffLines>129</diffLines><url>http://trac.enlightenment.org/e/changeset/71434</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c">src/modules/immodules/xim/ecore_imf_xim.c</file></files></commit></body><timestamp>1338006994</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71421</revision><author>hermet</author><log>ecore/ecore_x - Changed ecore_x_error_get() return type to Ecore_X_Error_Code from int   </log><diffLines>78</diffLines><url>http://trac.enlightenment.org/e/changeset/71421</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/Ecore_X.h">src/lib/ecore_x/Ecore_X.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_error.c">src/lib/ecore_x/xcb/ecore_xcb_error.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xlib/ecore_x.c">src/lib/ecore_x/xlib/ecore_x.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xlib/ecore_x_error.c">src/lib/ecore_x/xlib/ecore_x_error.c</file></files></commit></body><timestamp>1337956850</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71419</revision><author>raster</author><log>fix mainloop begin/quit then begin again issue.   </log><diffLines>47</diffLines><url>http://trac.enlightenment.org/e/changeset/71419</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore/ecore_main.c">src/lib/ecore/ecore_main.c</file></files></commit></body><timestamp>1337953445</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71417</revision><author>jihoon</author><log>scim_immodule: fix some typos </log><diffLines>33</diffLines><url>http://trac.enlightenment.org/e/changeset/71417</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/modules/immodules/scim/scim_imcontext.cpp">src/modules/immodules/scim/scim_imcontext.cpp</file></files></commit></body><timestamp>1337948401</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71410</revision><author>devilhorns</author><log>Ecore_X(cb): Also fix send of new events here ... someone is slacking ;)   </log><diffLines>78</diffLines><url>http://trac.enlightenment.org/e/changeset/71410</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c">src/lib/ecore_x/xcb/ecore_xcb_e.c</file></files></commit></body><timestamp>1337870596</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71409</revision><author>raster</author><log>ok ok - doesnt make a difference.. but only limit if MORE than 16xcpu
count   </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/71409</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore/ecore_thread.c">src/lib/ecore/ecore_thread.c</file></files></commit></body><timestamp>1337870293</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71404</revision><author>raster</author><log>fix ecore-thread scheduler starvation issue.   </log><diffLines>220</diffLines><url>http://trac.enlightenment.org/e/changeset/71404</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore/Ecore.h">src/lib/ecore/Ecore.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore/ecore_thread.c">src/lib/ecore/ecore_thread.c</file></files></commit></body><timestamp>1337868960</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71402</revision><author>raster</author><log>fix send of new events alreayd added. oops. should test shouldnt i.   </log><diffLines>78</diffLines><url>http://trac.enlightenment.org/e/changeset/71402</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c">src/lib/ecore_x/xlib/ecore_x_e.c</file></files></commit></body><timestamp>1337865759</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71400</revision><author>raster</author><log>and no more segv's in ecore-con and ecore-ipc. see changelog.   </log><diffLines>181</diffLines><url>http://trac.enlightenment.org/e/changeset/71400</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_con/Ecore_Con.h">src/lib/ecore_con/Ecore_Con.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_con/ecore_con.c">src/lib/ecore_con/ecore_con.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_con/ecore_con_private.h">src/lib/ecore_con/ecore_con_private.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_ipc/ecore_ipc.c">src/lib/ecore_ipc/ecore_ipc.c</file></files></commit></body><timestamp>1337861652</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71393</revision><author>discomfitor</author><log>better fix for ecore-con client disconnecting maybe  </log><diffLines>44</diffLines><url>http://trac.enlightenment.org/e/changeset/71393</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_con/ecore_con.c">src/lib/ecore_con/ecore_con.c</file></files></commit></body><timestamp>1337857462</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71380</revision><author>raster</author><log>fix dates in chlog - it's 24th!   </log><diffLines>14</diffLines><url>http://trac.enlightenment.org/e/changeset/71380</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file></files></commit></body><timestamp>1337849855</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71379</revision><author>raster</author><log>From: Doyoun Kang &lt;doyoun.kang@samsung.com&gt;
Subject: Re: [E-devel] [Patch] Add Ecore_X_Error_Code enumeration

I added the Ecore_X_Error_Code enumeration which wraps X error codes.
I think this will be useful when the X error occurs.   </log><diffLines>87</diffLines><url>http://trac.enlightenment.org/e/changeset/71379</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/Ecore_X.h">src/lib/ecore_x/Ecore_X.h</file></files></commit></body><timestamp>1337849496</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71369</revision><author>caro</author><log>ecore_win32: fix doc  </log><diffLines>34</diffLines><url>http://trac.enlightenment.org/e/changeset/71369</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_win32/ecore_win32_cursor.c">src/lib/ecore_win32/ecore_win32_cursor.c</file></files></commit></body><timestamp>1337821876</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71352</revision><author>raster</author><log>before i changelog and backport this... discomfitor - look at this!
how the hell did we get ecore_con to the state of NEVER
closing/freeing clients?   </log><diffLines>27</diffLines><url>http://trac.enlightenment.org/e/changeset/71352</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_con/ecore_con.c">src/lib/ecore_con/ecore_con.c</file></files></commit></body><timestamp>1337779916</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71350</revision><author>devilhorns</author><log>Ecore_Wayland: Fix global interface name, thanks Alex ;)   </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/71350</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_wayland/ecore_wl.c">src/lib/ecore_wayland/ecore_wl.c</file></files></commit></body><timestamp>1337775932</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71328</revision><author>devilhorns</author><log>Ecore_X(cb): And memset the appropriate structure too.   </log><diffLines>24</diffLines><url>http://trac.enlightenment.org/e/changeset/71328</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb.c">src/lib/ecore_x/xcb/ecore_xcb.c</file></files></commit></body><timestamp>1337715576</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71327</revision><author>devilhorns</author><log>Ecore_X(cb): Fix ecore_x to build again with xcb.   </log><diffLines>50</diffLines><url>http://trac.enlightenment.org/e/changeset/71327</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb.c">src/lib/ecore_x/xcb/ecore_xcb.c</file></files></commit></body><timestamp>1337715384</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>ecore</module></source><body><commit><revision>71320</revision><author>raster</author><log>Add ecore_x_mouse_in_send() and ecore_x_mouse_out_send()
Add ecore_x illume access control/action atoms+api's                   </log><diffLines>464</diffLines><url>http://trac.enlightenment.org/e/changeset/71320</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/Ecore_X.h">src/lib/ecore_x/Ecore_X.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h">src/lib/ecore_x/Ecore_X_Atoms.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h">src/lib/ecore_x/ecore_x_atoms_decl.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb.c">src/lib/ecore_x/xcb/ecore_xcb.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c">src/lib/ecore_x/xcb/ecore_xcb_atoms.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c">src/lib/ecore_x/xcb/ecore_xcb_e.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xlib/ecore_x.c">src/lib/ecore_x/xlib/ecore_x.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c">src/lib/ecore_x/xlib/ecore_x_atoms.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c">src/lib/ecore_x/xlib/ecore_x_e.c</file></files></commit></body><timestamp>1337704365</timestamp></message></recentMessages></statsTarget>
