Phil Thompson <[EMAIL PROTECTED]> wrote: >> - I was thinking of defining a common utility function with %TypeCode, and >> then calling it for each method. How can I define C++ code which is >> executed after the method invokation? I don't want to use %MethodCode >> because I don't want to rewrite the method invokation code itself, since >> the default is perfectly fine. > > You might be able to use the PostHook annotation. Generally though, SIP > wraps an API - if you don't like the API then change it.
I can't use PostHook as it can't get any argument. Maybe a %PostCode and a %PreCode (in which users might call sipCallHook, if they need) would be more powerful. >> - How can I make my module export a custom Python exception class (the >> equivalent of "class MyException(Exception): pass") which has no match in >> the C++ code? > > You just need to define a new type/class in C++ and add it to the module > dictionary - probably using %PostInitialisationCode. Would exec work for this? And once it's in the module dictionary, how do I access its type from a %MethodCode so to call PyErr_Format()? [sorry, I'm pretty newbie at Python API]. -- Giovanni Bajo _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde