KSANECore in KDE review

Alexander Stippich a.stippich at gmx.net
Sat Apr 2 10:36:40 BST 2022


On Sunday, 27 March 2022 23:17:52 CEST Albert Astals Cid wrote:
> El diumenge, 27 de març de 2022, a les 18:29:18 (CEST), Alexander Stippich 
va escriure:
> > Hello everyone,
> > 
> > KSANECore is now in KDE review. Kåre and I mentioned it in previous emails
> > before, but as a short summary:
> > KSANECore is a Qt interface to the SANE scanner library. It is stripped 
out of
> > the KSaneWidget of libksane without any QWidget dependency. It is 
currently
> > located inside the libksane repository as KSaneCore and basically just 
copied
> > into the new repository.
> > 
> > Due to breaking API anyway, the code was cleaned up, better named as well 
as
> > smaller API fixes made on top. Also, KSANECore is fully REUSE compliant.
> > KSaneWidget of libksane will remain ABI compatible.
> > 
> > I don't know if it is strictly required to move the new repo with already
> > existing code through KDE review, but I guessed it is better to be on the 
safe
> > side :)
> 
> Ran it through clang-tidy + my preferred options, came with a few 
suggestions, nothing earth shattering but i think it makes sense, if you 
don't,
> that's fine, attached the file with the results, feel free to ask if you don't 
understand what some warnings say

Thanks, everything has been implemented.

> The only other question i have is if you think that it may make sense to 
hide the members of DeviceInfo behind a d-pointer in case it ever needs
> more and that would be an ABI change (not sure which kind of ABI promises 
you want to have for this library).

Haven't really thought about that. It is pretty much tied to the information 
provided by SANE. And the SANE API has not changed in decades, if it ever 
will. So it hasn't caused any issues during the last years for libksane 
either, I think. But it may be worthwhile to wrap it in a class so that it is 
possible to just switch to a new SANE API version in case there will be one.

I'm going to have a look, since I'm striving for ABI compatibility similar to 
libksane's widget interface.

> 
> Ok, I lied, I have another question, what's the goal for the library? 
independently released? KDE Gear? KDE Frameworks?

I would like to submit it to KDE Gear as soon as possible to get the 
transition to the new library done and such that it is released in conjunction 
with everything related to scanning (Skanlite, Skanpage, libksane). That said, 
I think it could become a KDE Framework in the future, but for example 
autotests are still missing.

Thanks and best regards,
Alex

> Cheers,
>   Albert
> 
> > The plan is to switch libksane and Skanpage over to the new library during 
the
> > KDE Gear 22.08 release cycle. The adaptions are located at
> > https://invent.kde.org/astippich/skanpage/-/commits/ksanecore
> > and
> > https://invent.kde.org/astippich/libksane/-/commits/ksanecoreSplit
> > 
> > Best regards,
> > Alex






More information about the kde-core-devel mailing list