PM123 recursive playlist iteration and locations

Class Tree

Use cases

The following table shows the properties accessed per use case and the interface used for this purpuse in the coding. In the second section the table shows the supported properties and interfaces by class/interface.

R - read access
W - write access
O - observer
X - access
Italic indicates indirect usage through delegation.

Property →
↓ Task ↓
Root Current NavigateCallstackTime Thread Used class
Currently playing R R controller Location
View timers in Player R R controller Location
Advance to another song or navigate RW R XRW controller ListIterator
Iterate over a playlist for RPL calculation RW R X worker ListIterator
Show/edit a playlist item (start/stop) W RW RW GUI
Playlist item properties (start/stop) W RW RW GUI
Remote playlist manipulation (items) W RW RW pipe
Save a playlist (items) R R GUI
Drag & drop source R R GUI
Add a playlist item W RW RW GUI
Populating Playlist from decoder plug-in w rw rw worker
Compare Locations R R R *
Property →
↓ Class ↓
Root Current NavigateCallstackTime thread-safe Base class
RW RW RRW read  
ListIterator RW RW XRwRW - Location

Lowercase letters indicate protected access.
Bold indicates implementation/redefinition.