On Tue, Dec 1, 2009 at 9:03 AM, Enlightenment SVN
<[email protected]> wrote:
> Log:
>  use all dem cursor api's... and module it up bro

your choose to have all hooks provided as visible symbols such as
"obj_hook" and "obj_longpress" are solely base on be able to choose
which symbols to provide and not rely on structs that changes size?

I'm asking because I'm more more keen on evas-like modules where you
handle it with 2 public symbols (init/shutdown) and everything else is
called using that struct.

Not that we should be creating hundred thousand entries in a row
(maybe with genlist-like things?), but it will hurt object creation by
having to lookup module, even more if we have poorly done module with
hundreds of visible symbol, dlsym() has no cache AFAIK.

So my proposal is something like:

 - each type that wants to be extended provides it's own public struct
(maybe in Elementary_Hooks.h or Elementary_Modules.h to keep it away
from regular users)
 - each type extension struct has a magic/type number to keep it
"safe" and easier to debug later
 - each type extension struct has a version number to keep it safe
against ABI changes

This way we can dlopen() all .so just once on start and register all
apis that are filtered (or not filtered), runtime object creation can
be just a hash check that would return what is in wd->api today.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [email protected]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to