Well certainly the hydra VM work he should look at.
The browser plugin code at http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/npsq...
could be examined too, it was written mostly by Bert Freudenberg with changes by myself to let you start a netscape plugin os-x safari/ firefox which setups a shared memory area (non-trival because instructions how to do this are vague) and two pipes to let the plugin code stuff interact with a headless VM via execv(plugin->vmName, plugin->argv);
The pipes are used to pass control information between the plugin stub and the headless VM The shared memory area is the quartz window canvas, other operating such as windows and X11 let you deal with remote surface display in an easier manner.
There is a bunch of nasty semaphore logic to deal with preventing the VM from burying the browser with update requests, plus code to figure out if the browser has gone away.
Thus the headless VM is feed UI events and serves back UI images to the browser.
On Feb 22, 2008, at 6:55 PM, tim Rowledge wrote:
Gulik's reply reminds me that you might find the code that allows the VM to be a browser plugin instructive. Part of your interest will likely be that there is so little needing changing.
I'll leave it to John McI to explain the details since he's probably done most of the code fudging involved.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Never write software that patronizes the user.
-- = = = ======================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================