[Development] Semi-private headers in Qt
drwho
drwho at infidigm.net
Thu May 21 13:47:44 CEST 2026
how about sapi? When I see spi I think of the 4-wire Serial Peripheral
Interface.
On 2026-05-21 07:45, Artem Dyomin via Development wrote:
>
> *
> c++ keywords (volatile, mutable), they might suggest that the
> folder has something to do with c++ mutables, volatiles, etc.
> *
> include <QtGui/6.12/qrhi.h> requires updates all usages in Qt code
> before each release, not sure that we want to handle this dogfood.
> *
> spi makes sense for me.
>
>
>
> Confidential
> ------------------------------------------------------------------------
> *From:* Tor Arne Vestbø <Tor.arne.Vestbo at qt.io>
> *Sent:* Thursday, May 21, 2026 1:41 PM
> *To:* Volker Hilsheimer <volker.hilsheimer at qt.io>
> *Cc:* Edward Welbourne <edward.welbourne at qt.io>;
> development at qt-project.org <development at qt-project.org>; Artem Dyomin
> <artem.dyomin at qt.io>
> *Subject:* Re: [Development] Semi-private headers in Qt
>
>> On 21 May 2026, at 13:30, Volker Hilsheimer via Development
>> <development at qt-project.org> wrote:
>>
>> One idea I just had was to use the major.minor version number of Qt.
>>
>> #include <QtGui/6.12/qrhi.h>
>>
>> The advantage is that you are clearly seeing that you are using an
>> API that is specific to that Qt version.
>> The disadvantage is that you have to change the include statement
>> when upgrading Qt version, but that might as much be an advantage
>> because it creates awareness - just because things still compile
>> doesn't necessary mean that they also still work the same way. And it
>> can be made very simple by having a single wrapper-header for a project.
>>
>> Failing that my preference would be either
>>
>> unstable, unsupported, or semiprivate
>
> I suggest we squash all these uses-cases into an opaque `spi` suffix,
> which can covers both semi-private (experimental), and
> service-provider (system integration) interfaces. It’s also short to
> write :)
>
> #include <QtGui/spi/qplatformwindow.h> // Technically both
> semi-private and service-provider interface
>
> #include <QtMultimedia/spi/qgstreamvervideosource.h> // Semi private API
>
> Tor Arne
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20260521/c17dec26/attachment-0001.htm>
More information about the Development
mailing list