[PyQt] SIP first use questions
phil at riverbankcomputing.com
Fri Jul 22 10:45:27 BST 2011
On Thu, 21 Jul 2011 13:41:32 +0200, Linos <info at linos.es> wrote:
> i am trying to do my first library wrapper to the libfprint c lib
> (http://www.freedesktop.org/wiki/Software/fprint/libfprint) using SIP, i
> any doubts, sorry if any or all of them are pretty obvious but i develop
> ever on python, a bit on Qt C++ so all of this it is a bit strange for
> 1- How should i wrap this function from fprint.h?
> struct fp_dscv_print **fp_discover_prints();
> I get this info from sip "sip: fp_discover_devs() unsupported
> return type - provide %MethodCode and a C signature" I have read in the
> documentation the examples about %AccessCode and %MethodCode but i don't
> understand how to use here.
First thing is to decide how you want to represent the returned value in
Python. Assuming you are wrapping struct fp_dscv_print then you will
probably want to return a list of them. In which case you are actually
returning a SIP_PYLIST and the %MethodCode you provide needs to do the
> 2- How should i wrap a static inline function defined in fprint.h like
> static inline int fp_enroll_finger(struct fp_dev *dev,
> struct fp_print_data **print_data)
> return fp_enroll_finger_img(dev, print_data, NULL);
There is nothing special about inline functions - that's an implementation
> 3- i had to define all the include dirs manually with:
> makefile.extra_include_dirs = ["/tmp/libfprint-0.4.0",
> "/tmp/libfprint-0.4.0/libfprint", "/usr/include/glib-1.2",
> "/usr/lib/glib/include", "/usr/include/libusb-1.0"]
> I am pretty sure that should be a much better way to do this but i can't
> find how.
I don't see how SIP can be expected to work those out for itself.
More information about the PyQt