On Mon, 2 Jan 2012 21:09:19 +1000 David Seikel <onef...@gmail.com> said:

how will the lua be able to detect the api call is there safely without totally
ceasing functioning.

> Now that my last lot of Lua work has been a run away success (works for
> me, still dunno if anyone else uses it), it's time for me to move to
> the next big Lua project of mine.  Actually, the second next one, but
> they are related.
> 
> What I would like to add to edje Lua is the ability for the host
> application to provide new functions for the Lua script to be able to
> call.  Also, for the host app to be able to directly call Lua script
> provided functions (like the current move, resize, signal. etc).  Yes we
> have signals and messages for communicating with the host app, but
> sometimes a direct function call makes much more sense.
> 
> We are actually half way there.  Anticipating that there would be way
> more edje and evas stuff to add to the edje Lua API in the future, I
> created generic wrapper functions to make that easier.  Implementing
> this would mean exposing those static functions, and writing more of
> these generic wrapper stuff.
> 
> Lua already provides a mechanism for this sort of thing, but we
> currently sandbox that out.  We can provide a very limited version of
> the package module, that only lets the Lua script load modules that the
> host app explicitly provides.  This keeps edje Lua in it's strictly
> sandboxed state.
> 
> Raster objected to this idea before, if I remember.  His argument was,
> I think,"what if someone loads a Lua script theme that uses one of these
> new APIs, but they are not there?".  We are gonna have that problem
> now, and with each subsequent release.  Anyone running a theme that
> expects images, text, maps, and other stuff that I added to the last
> release, but using the edje release before, is gonna be sorely
> disappointed.  It only had rectangles and timers.  For the next release
> I expect to add textblock and sound support at least.
> 
> Now that the edje Lua stuff is more fleshed out, it will be actually
> useful, I expect people to actually start using it.  No one bothered
> before, coz rectangles are very limited.  So definitely for the next
> release we will need a generic solution to that problem.  And probably
> backport it to the current release.  Not much harder to go from there
> to what I want.
> 
> One use of this is to let elementary add Lua support for it's widgets.
> At the moment, elementary is not a dependency of edje, so this sort of
> thing would be the way to do that.  After the big library merge, that
> might not be a problem.  Though I for one would still prefer to be able
> to use edje+lua+evas without elementary on embedded projects.
> 
> My next two big Lua projects are - server side and then client side Lua
> scripting support for Second Life (SL) style virtual worlds.  This will
> bring the same sort of thing that WoW has to more open virtual worlds -
> Lua client side scripting.  SL already has it's own server side
> scripting language, I'll be making a Lua based version of that which
> will need to be compatible at the function API level.  Then I'll want to
> make a completely new client side version, but it will have to be more
> or less compatible at the API level with the server API.  So client side
> Lua scripting will have to be a mixture of functions that match the
> server side functions, and edje Lua calls to drive the UI.  Messages and
> signals just wont cut it for that, it will have to be functions.  Coz
> the API functions is what existing server side scripters are used to.
> 
> Before anyone argues that SL client side functions would have to send
> messages to server side anyway, I'll point out that some of the server
> side functions have purely client side results, and not just the UI
> related ones.  These sort of functions, when implemented as client side
> scripting API, will not involve the server at all, just trigger
> existing client side functions.  Simple Lua wrappers around those
> existing functions will work the best.  Exactly in the same way that
> I've been adding simple Lua wrappers around edje and evas functions.
> 
> -- 
> A big old stinking pile of genius that no one wants
> coz there are too many silver coated monkeys in the world.


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to