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

Reply via email to