Help With The 'Blackwood' ProjectMonday September 20th, 1999Frank Mitchell of Sun has a request for any coders out there interested in helping with the Blackwood project - specifically the enabling of Java-based components in Mozilla. Frank writes: "If you've been reading netscape.public.mozilla.xpcom, you may notice my posting on the problems we -- or should I say 'I' -- are having on the XPCOM-Java Bridge part of Blackwood. Right now, we're severely understaffed. So, I'm asking for some volunteers to help finish implementing the bridge. The code is in mozilla/java/xpcom; it's available by checking out that directory (which is all you need if you have Mozilla already), or by checking out Blackwood (or SeaMonkeyBlackwood for SeaMonkey + Blackwood) to get all the Blackwood code. Remaining tasks include: - Generating a Java proxy class on-the-fly for each XPCOM interface. - Generating an instance of a Java proxy to wrap a C++ object, based on the interface being exposed. - Mapping a Java object back to the C++ object it proxies for, if any. - Building a subclass of nsXPTCStubBase to act as a proxy for Java XPCOM objects. - Detecting whether a Java object is a proxy to be unwrapped, or a real Java object to be wrapped. - Insuring that each Java object has at most one C++ proxy instance. (And vice versa, although that might require weak references, which are only available in Java 2 ...) - Completing the method dispatch code, which currently doesn't handle nsIDs and interfaces. (The former is a simple addition, the latter requires a small amount of work.) - Writing similar method dispatch code for C++ to Java, perhaps after abstracting out bits of the Java to C++ code. - Making method calls, particularly refcounting, thread-safe. - Fixing leaks, and debugging in general. If anyone is interested, please email frankm@eng.sun.com; tell me what you want to work on, and how much time you think you can afford to spend on it, so I know which areas are covered. Also send me any questions about the project or the code base; I realize that the website docs and READMEs are sketchy right now, and there's a lot of design assumptions that I haven't -- yet -- committed to HTML or code. Thanks, Frank" Frank- I'd highly recommend that you post this request to the JavaLobby site at http://www.javalobby.org . I'd wager there are more people there who might be available to help. |