<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-html" lang="x-western">
<div class="moz-text-html" lang="x-western">Hi,<br>
&nbsp;&nbsp; I was playing around with the extensions framework
(<a class="moz-txt-link-freetext"
 href="http://wiki.openmoko.org/wiki/Wishlist:Extension_Framework">http://wiki.openmoko.org/wiki/Wishlist:Extension_Framework</a>)
over the
weekend and have put together a proof of concept for the idea.&nbsp; 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).&nbsp; The distribution consists of three separate
packages:<br>
<ul>
  <li>openmoko-extensionhandler - receives extension requests and
passes them through the chain of extensions registered for that request</li>
  <li>openmoko-extension-sample - sample extension that changes the
parameters of an outgoing call</li>
  <li>fakegsmd - simple client that generates an extension request for
an outgoing call (as would be expected to be generated by gsmd)</li>
</ul>
To use this ./autogen.sh each directory and make it.&nbsp; 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).<br>
<br>
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.&nbsp; 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.<br>
<br>
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.&nbsp; 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.&nbsp; By
keeping this part simple it is hoped that extension developers can
focus on their extensions rather than the internals of openmoko.<br>
<br>
Anyway, if people would like to take a look at this it is available at
<a class="moz-txt-link-freetext"
 href="http://www.devzero.net/openmoko/dist/omext.tar.gz">http://www.devzero.net/openmoko/dist/omext.tar.gz</a>
- please give it a go
and let me know what you think.<br>
<br>
Cheers,<br>
Jim.<br>
</div>
</div>
</body>
</html>