[Pythonmac-SIG] ANN: pyobjc-1.2

Bob Ippolito bob at redivi.com
Sun Jan 2 04:00:54 CET 2005


On Jan 1, 2005, at 9:29 PM, Dethe Elza wrote:

> I have a couple of questions about pyobjc 1.2.  First, can Categories 
> extend classes which are defined in Python?

Only if they are a subclass of an Objective-C class.

> Second, what applications can be extended with plugins?  I realize a 
> complete list is unfeasible, but which Apple applications would be a 
> good start.  As far as I can tell, Safari requires Netscape-style 
> plugins to extend it, is that wrong?

Any application that expects its plugins to be written in Objective-C 
is fair game, anything else (such as Safari's Netscape-style plugins) 
is unsupported and probably won't work.

The reason for this is that applications that expect plugins to be 
written in C or C++ are probably going to expect that particular 
symbols are defined in the plugin, and that is basically impossible to 
do at runtime and would require some custom compiled C/C++ stub.  
Objective-C is dynamic enough that this may be done at runtime using a 
dyld bundle loader hook to define the class while the application is 
trying to look it up.

It is theoretically possible to make this work without requiring a 
custom stub (b/c macholib could rewrite the symbol table), but I'm not 
going to write such a monstrosity any time soon unless someone is 
willing to pay me a lot to do it.  I simply just don't have a need for 
it, and if I did, I would likely just write a custom C/C++ stub.

-bob



More information about the Pythonmac-SIG mailing list