[Differential] [Updated] D1231: Add Remote Access interface to KWayland
Kanedias (Oleg Chernovskiy)
noreply at phabricator.kde.org
Sat Jun 11 10:31:21 UTC 2016
Kanedias marked 8 inline comments as done.
Kanedias added inline comments.
INLINE COMMENTS
> graesslin wrote in remote-access.xml:19
> I noticed that standard Wayland protocols also have a destructor request for the manager interface. I'd suggest to also add it (it makes sense as then the server can destroy the resource).
Added destructor and release callback.
> graesslin wrote in remote-access.xml:33
> so the idea here would be that if in future we want to support other buffers (e.g. shared mem) we just add a new event?
Yes, with appropriate "since" clause
> graesslin wrote in remote-access.xml:41
> Just for thought: in other interfaces the destructor is mostly called "release"
Renamed
> graesslin wrote in registry.h:128
> please add as last interface otherwise it breaks API
Moved to last in enum. Or did you mean in forward references declaration too?..
> graesslin wrote in registry.h:379
> we moved to frameworks which means we are now at 5.23 - sorry about that. I also had to rename a bunch of @since 5.7 ;-)
Corrected
> graesslin wrote in remote_access_interface.cpp:146-149
> if really only one client should be allowed (why?) it would be better to send a dedicated error state to inform it instead of "abusing" no memory.
Added ability to have multiple clients in the same time
> graesslin wrote in remote_access_interface.cpp:158
> this allows to have only one client bind it. As soon as a second client binds the protocol it will get overwritten and breaks the existing one.
>
> I think you need a QVector<wl_resource*> here.
Reimplemented
> graesslin wrote in remote_access_interface.h:46
> For ABI compatibility it's better to only have d-ptr-ized classes/structs in the public header.
Implemented GbmBuffer with d-pointer
> graesslin wrote in remote_access_interface.h:49-50
> why do we need gbm_surface and gbm_bo? This looks like adding not needed details to the interface
Removed, reimplemented
> graesslin wrote in remote_access_interface.h:43
> for ABI compatibility we cannot have structs defined in the header. See https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B#The_Do.27s_and_Don.27ts for explanation. Especially the last point of the Donts is relevant as it means we are never able to change this again.
>
> Thus I think the proper way has to be:
>
> class Buffer
> {
> public:
> void setFd(int qint32);
> void setSize(const QSize &size);
> void setStride(qint32 stride);
> enum class Format {
> Format1,
> Format2
> };
> void setFormat(Format format);
>
> private:
> class Private;
> QScopedPointer<Private> d;
> };
>
> and then in the Implementation have the Private class which holds the data members.
Thanks for clarification.
Reimplemented.
REPOSITORY
rKWAYLAND KWayland
REVISION DETAIL
https://phabricator.kde.org/D1231
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: Kanedias, graesslin
Cc: plasma-devel, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160611/72cd25fb/attachment-0001.html>
More information about the Plasma-devel
mailing list