Re: [Embedlets-dev] Re: JAPL part of specification
Status: Alpha
Brought to you by:
tkosan
|
From: Brill P. <bri...@ro...> - 2003-03-31 05:10:51
|
> I thought that JAPL was going to be a separate specification, since it > would/might have applicability outside of an Embedlet container? So did I; I still do ;) > > So... what I need to understand is how Outpost would be setting and getting > > attributes of a peripheral? > > An Embedlet would have a reference to the JAPL device and would use whatever > API the JAPL device exposed to set/get any attributes the device had exposed. Thats exactly what I though should happen, but when I went to take a look at the Embedlet to extend it, there didn't seem to be any way for IO to happen. [...] > > What I don't understand is how the embeled talks to the JAPL device. > > What is looked like, extending Embedlet is that the embedlet receives events > > from the system... now I assumed that I would do something different depending > > on the event code. > > Assuming that the JAPL stuff is intended to be independent of the Embedlet > container (something we talked about a long time ago), here is the way I > think you should consider linking the two: > > 1) Create your JAPL drivers with an exposed API. The JAPL device should NOT > have a reference to any Embedlets, nor be dependent on ANYTHING in the > embedlet spec (eg. no imports of org.embedlet or org.outpost packages). Ok, good so far... done. [...] > 1) JAPL device gets an interrupt. > 2) JAPL device does a callback into the JAPL "Proxy" Wrapper. > 3) The wrapper takes the interrupt data, puts in in an Embedlet Event and > sends it (note: it does not know who the consumers are going to be). > 4) An Embedlet (registered as a consumer for that particular event type) > receives the event and then does something with it (possibly issuing JAPL API > calls against the originating device, setting/getting attributes). [...] Ok, so the IO does happen with events... How does the external caller request data from JAPL device? I assume that in that case the external "listener" would just have a proxy "event generator" that sent events out into the system... and the "JAPL control embedlet" would be registered as a listener? > Make sense? Do I need to write an example to show you how this is intended > to be implemented? Well, I'll eventually figure it out anyway (key factor is my time is taken with money making at the moment) ;) but I don't think a very simple example could go wrong especially as outside parties begin to take interest. Anyway, I've been using our Outhouse impl for the moment. - Brill Pappin |