davidedmundson requested changes to this revision.
davidedmundson added a comment.
This revision now requires changes to proceed.


  In future, it might be faster to put up just the interface xml for review 
first.
  
  ------
  
  In terms of wayland protocols this is non-standard.
  
  All clients get a list of available sources. On bind they get all all 
available sources via addSource. Additional sources are new events. 
  That part's fine.
  
  The part with nodeID is unusual. It's convention (though not technically the 
law) that globals broadcast the same thing to all bound resources.
  
  ClientA requests create.
  All clients get a created event
  There's no way to tie a created or failed to the original request 
  Client A and B can both connect to the same source, yet either can call close.
  
  If we're doing a waland protocol I would have expected:
  
    ScreenCastInterface - global
    event: source_added
    event: done
    request: get_stream (returns a ScreenStream object)
    
    ScreenStream - resource
    event: created
    event: failed
    event: closed (closed by external sources, clients should now release the 
stream resource)
    request: release   (closes the stream if applicable, is also of type 
destructor)

INLINE COMMENTS

> screencast.xml:16
> +        </enum>
> +        <event name="addSource">
> +            <description summary="Notifies about a feed being created"/>

Typically events are like signals, so would be called "source_added"

Convention is also lower_snake_case

> screencast.xml:31
> +            <description summary="Notifies about a source becoming 
> unavailable"/>
> +            <arg name="sourceId" type="uint" summary="the source 
> identifier"/>
> +        </event>

this is racey with create.

REPOSITORY
  R127 KWayland

REVISION DETAIL
  https://phabricator.kde.org/D28882

To: apol, #kwin, jgrulich, davidedmundson
Cc: davidedmundson, romangg, zzag, kde-frameworks-devel, LeGast00n, cblack, 
michaelh, ngraham, bruns

Reply via email to