External Handler Proof of Concept
Jim at devzero.net
Wed Jul 25 15:38:46 CEST 2007
I was playing around with the extensions framework
(http://wiki.openmoko.org/wiki/Wishlist:Extension_Framework) over the
weekend and have put together a proof of concept for the idea. The
packages are not currently designed to run on the openmoko or integrate
with the build process but on a standard linux distribution (until I get
a 'phone, anyway). The distribution consists of three separate packages:
* openmoko-extensionhandler - receives extension requests and passes
them through the chain of extensions registered for that request
* openmoko-extension-sample - sample extension that changes the
parameters of an outgoing call
* fakegsmd - simple client that generates an extension request for
an outgoing call (as would be expected to be generated by gsmd)
To use this ./autogen.sh each directory and make it. Start the
extension handler and sample extension manually (in the 'real' world
we'll use services to start them) and then run fakegsmd as required to
see the sample extension in action (hint: the sample extension does
different things to the outgoing call each 15 seconds).
At current the extension handler is a simple beast in that it only knows
about the single 'OutgoingCall' method from gsmd and is hard-coded to
talk to the sample extension. In a final design all of the decisions
about which extensions to access, which functions they contain, etc.
would be dynamic to allow for easy insertion/update/removal of extensions.
I've tried to concentrate on the design of the extension so that it is
as simple as possible for people to start building their own
extensions. They don't need to do a lot more than lookup the piece of
openmoko they want to extend (which requires a list of supported
requests, either on the wiki or available fromt he extension handler),
create the function and change a couple of entries in a .h file. By
keeping this part simple it is hoped that extension developers can focus
on their extensions rather than the internals of openmoko.
Anyway, if people would like to take a look at this it is available at
http://www.devzero.net/openmoko/dist/omext.tar.gz - please give it a go
and let me know what you think.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the openmoko-devel