I've been working on joscar a bit lately, and I thought I would write something up talking about what I've been doing.
I've been looking into adding iChat AV support, in the form of code to parse and send AV rendezvouses as well as recognizing/advertising the AV capability blocks. They added a lot of capability blocks for iChat AV, and I'm not sure what each one does yet.
I added a help system to JoscarTester. You can pick up a copy in CVS and type "help" in the JoscarTester console. You might need to delete part of the javac sourcepath in the Ant build.xml file (in the demo target) to get it to build from CVS; I'll fix this sometime soon.
I added a generic debug logging framework that allows you to plug in your own logging implementation. The JDK logging system (what I was using before) allows you to plug in your own logging implementation as well, but someone using joscar with JBoss said he was having trouble. The default logging implementation is the JDK logger, so logging in joscar should behave just like it did in 0.9.3.
I've made a bunch of minor improvements, bugfixes, and optimizations, due in part to Dave Griffith's InspectionGadgets plugin for IntelliJ IDEA.
As I said in my last post, I've also made the changes necessary for my friend Javier's ICQ addon to plug in easily. This involved changes to a few classes, including adding a clientid value to ClientVersionInfo, as well as adding ICQ availability status parsing in FullUserInfo.
My friend Sam and I are looking into designing jouscar, the second subproject of the Joust Project. jouscar will be a higher-level interface to OSCAR, with methods like "connect()" instead of "new ConnFlapSnacBlahBlah(BlahBlah.Verbose, Blah).blahBlah()" and the like. It won't be as powerful or customizable as joscar is, because it will be designed exclusively for client use, and exclusively for clients that want to use the protocol correctly.
Today I worked on something sort of related to joscar. It's an API compatibility testing tool. It takes a jar file and generates a Java source file that calls every public method, extends every non-final class, uses every public constructor, and much more, for every class in the jar file. The idea is that the generated file uses your jar file in every way an end user developer could possibly use it.
With it, you can generate the Java file using SomeLibrary 1.0, and then try to compile it against SomeLibrary 1.1. If it compiles, then it's guaranteed that any program using SomeLibrary 1.0 can upgrade to SomeLibrary 1.1 without modifying or recompiling any code. I plan to use this to erase or minimize incompatible API changes between joscar releases.
So that's what I've been doing lately. I'll post my API compatibility tool later on, when I feel like it's ready to be released as alpha or beta.
Posted by keith at January 4, 2004 04:23 AM | TrackBackGood stuff. I'd run across your project but had never used it before. But it appears to be more 'alive' than most projects out there :)
Posted by: Gregory Pierce at January 12, 2004 09:37 PMI have decoded the iChat AV 2.0 protocol, including the new capabilities and the TLV's associated with starting and ending AV sessions. (After that point, the iChat AV client uses SIP and RTP for the AV data transfer and session control)
I am debugging things now, but should have info for you in a day or two. Also, I will soon be decoding the protocol for iChat AV 2.1 and AIM 5.5 AV capabilities.
BTW, I am one of the developers of Fire - A multi protocol IM client for Mac OS X.
Posted by: Alan at February 21, 2004 11:45 AMCan you post or mail me what you have decoded? Very much interested; thanks! -Steve
Posted by: Steve Klingsporn at March 15, 2004 01:05 PMVery nice site. Keep up the good work.
free business grants
Posted by: free business grants at June 19, 2004 11:03 AMcongrats mate! Fine job and fine site!
online casinos
Posted by: online casinos at August 1, 2004 03:29 PMI have always looked for a possibility to find information as quick as I can. Now there is the internet. And I really appreciate people like you who take their chance in such an excellent way to give an impression on certain topics. Thanks for having me here.
online casinos
Posted by: online casinos at August 1, 2004 03:29 PMMy friend told me about your web site and I really enjoyed it. Very nicely done. Very interesting!
online casinos
Posted by: online casinos at August 6, 2004 01:42 AMExcellent, that was really well explained and helpful
best online casinos
Posted by: best online casinos at August 6, 2004 01:43 AMHI, Wow.. this is a very informative website! I enjoy your site very much! Keep up the good work!
online casinos
Posted by: online casinos at August 6, 2004 01:43 AMHello. I just wanted to give a quick greeting and tell you I enjoyed reading your material.
casino
Posted by: casino at August 13, 2004 09:49 PMNice site. You are doing a great service to the web.
internet casino
Posted by: internet casino at August 13, 2004 09:49 PM