So we had a partly done move to efl_loop. it still was all built on top of the main loop globals. If this is all done right then we can have multiple loops (e.g. one per thread) and that is a good thing.
So I've been fixing that. I've done just about all the globals in ecore EXCEPT ecore events. I now have to think about how to do this in eo/interfaces with efl loop objects and so on. I'm mulling how to do it. We still have some need for a deferred event bus/queue. A lot of things that are ecore events should be callbacks on objects directly and that's being fixed, but an event queue + types is still needed. So there are a few aspects to this. 1. Creating of new event types at runtime (and allocating a unique identifier for them). 2. Being able to submit them to a queue to be "processed later" 3. Being able to call callbacks that are listening for that type of event and hand them the deferred event data. This is used as the backing for ecore_jobs and pretty much every i/o thing (input events, i/o and more) as well as in-process custom event bus+events. My current thought is this. 1. event types are still ints with a single global shared backing table of all event types (allocated once ever much like atoms in x). 2. event event is an eo object on the queue (of some type). 3. some event object "factory" on the loop that creates and "deletes" (caches then) these event objects for recycling. Does anyone have better ideas? I considered the event type being an object itself and also doubling as a factory per event type but due to multiple threads you'd probably be creating an object then per thread per event type and I do not like that. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - ras...@rasterman.com ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel