[Orbit-python-list] Updates
Status: Inactive
Brought to you by:
tack
From: Jason T. <ta...@li...> - 2000-08-22 04:01:31
|
The latest batch of commits represent a pretty significant code overhaul. There's lots of old code still to remove, and some bugs/leaks to fix still. Here is the ChangeLog excerpt: * Completely rewrote the way IDL objects are handled internally to more closely comply with the spec. (IDL modules are Python modules, interfaces are classes, etc.) * inheritance is now supported, as well as delegation. Inheritance is preferred since the spec (while vague) seems to require it, whereas delegation is optional. * Complies with the mapping spec on mappings for module names. import Module for client side, import Module__POA for server side. * servants support implicit activation through _this() * deprecated POA::the_POAManager in favor of POA::_get_the_POAManager() * Uses _GlobalIDL and _GlobalIDL__POA modules for the global IDL scope, which is compatible with omniORBpy and Fnorb. * Implemented preprocessing of IDL files at runtime to determine which IDL files offer which modules. Implications on performance are yet to be determined. This approach may not scale very well at all for hundreds of IDL files. It also could be broken in some cases; the preprocessor is not a complete IDL parser, so it may not work 100%. Time shall tell. Uses the IDLPATH environment variable to get a list of paths to scan, otherwise defaults to the current directory. * hook __import__ to automagically load IDL files discovered by the processor that are required for the requested module * Pass -D__ORBIT_IDL__ -D__BONOBO_COMPILATION to libIDL so that we can load Bonobo IDLs * introduced more memory leaks, and probably more bugs. The IDL directory preprocessor is a particularly interesting addition, and it remains to be seen if this approach won't completely flop. For me, at least, it works pretty well, but my setup is somewhat limited (basically just GNOME with Bonobo). On my system it takes about 0.30 seconds to preprocess 3 directories with about 50 IDL files, and 0.04 seconds once cached. Please report bugs as I'm not aware of any. The leaks should be plugged in the next few days, however. Jason. |