[sane-devel] SANE_Handle question

Paul paul@all-the-johnsons.co.uk
Sat, 18 Sep 2004 21:26:43 +0100

Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


I'm trying to implement using SANE within Scribus and I'm hitting a
small snag. While the majority of the API is really simple to use, I'm
having a problem with what SANE_Handle is.

The sane.h header has it defined as=20

typedef void *SANE_Handle;

There are plenty of functions which require SANE_Handle, but nothing
which actually sets it!

According to the sane website, SANE does not require that a value of
this type be a legal pointer value and an application shouldn't attempt
to interpret the value of SANE_Handle.

This doesn't make sense - it looks like I can quite happily send
"flibble" as the handle and it makes no difference (okay, I know that's
not the case...).

How should I set the handle? For instance, when I obtain the device
list, I have two show for my USB webcam and one for my scanner. I have
to be able to set the handle to the scanner. Is it enough to set the
handle to the device name or should it be set to the physical /dev/sg0
value (which is not a good idea!)

Scribus is written in C++ and use the Qt widget set. I know I could use
the kscan library, but I'd rather not (for a couple of reasons).



Homer: Donut?=20
Lisa: No, thanks. Do you have any fruit?=20
Homer: This has purple stuff inside. Purple is a fruit.

Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

Version: GnuPG v1.2.6 (GNU/Linux)