Jan Jezabek | 19 Aug 19:08
Favicon

COM status report

Hi,

Here is the COM module status report for the last week. As always feel 
free to respond with any comments/suggestions that you have.

I have been somewhat busy with university work lately and therefore have 
not been able to do as much as I would like to. I have concentrated 
mostly on improving the test coverage and finishing the documentation. 
Below is a list of things I have been working on:
- Support for running the test suite under Cygwin has been added, using 
GCC (MinGW/Cygwin), MSVC or Digital Mars C++ (to ensure good 
compatibility of the generated code),
- The build system now supports run-tests written in VBScript in 
addition to C, which makes writing tests much easier. This requires that 
Windows Script Host is installed - it works out of the box on 
Windows/Cygwin and also on Linux/Wine with a lot of tweaking,
- I set up a Wiki page with instructions for testing, available here: 
http://www.dabeaz.com/cgi-bin/wiki.pl?DeveloperInfo/COMTesting
- I added two examples ('simple' and 'class') and 6 new VBScript run 
tests; this uncovered a regression in the class factory code and 
imperfect detection of non-instantiable classes - both issues have been 
fixed,
- I finished the module documentation with the exception of smart 
pointers; I haven't looked at them yet and don't know how they should work,
- Bug fixes and minor additions: added checking for NULL arguments where 
necessary, added typemaps for char *& and wchar_t *&, removed unused 
fragments of the code.

The overall state of my module is pretty good in my opinion - there is a 
reasonably small number of failing tests (29 out of 349 on Cygwin/MSVC), 
all major features except for smart pointers and directors are 
implemented, there are no known bugs where the generated code compiles 
but fails to work correctly. There are still some things that I would 
like to work on before I would like the module to be considered for 
inclusion in mainline SWIG - e.g. better handling of opaque types, more 
consistent naming of generated functions, preventing potential name 
clashes in the generated code, more complete INPUT, OUTPUT, INOUT 
typemaps, better error reporting using SetErrorInfo, support for DCOM (I 
am still not sure how much is needed for it to work), better 
compatibility with VB (e.g. using VT_BOOL for booleans).

Thanks,
Jan Jezabek

--

-- 
My GSoC 2008 development blog: http://jezabekgsoc.wordpress.com/

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

Gmane