|
YAACC - UPNP Client and Server
|
What yaacc knows about one device that speaks the protocol, for the receiver row: power, input, volume, group role and what plays. More...

Public Member Functions | |
| YxcDeviceState | unreachable () |
| The device did not answer; what it said before is dropped except the group, which is kept for the row. | |
| YxcDeviceState | withZone (YxcZoneStatus status) |
| YxcDeviceState | withDistribution (YxcDistributionInfo info) |
| YxcDeviceState | withPlayInfo (YxcPlayInfo info) |
| YxcDeviceState | withTunerInfo (YxcTunerInfo info) |
| YxcDeviceState | withEvent (YxcEvent event) |
| Applies what an event says directly (power, volume, mute, input of the zone). | |
| boolean | isReachable () |
| String | getPower () |
| boolean | isPowerOn () |
| String | getInput () |
| String | getInputText () |
| boolean | isLinkInput () |
| Integer | getVolume () |
| Integer | getMaxVolume () |
| Boolean | getMute () |
| boolean | isStuckClient () |
| True for a device that left its group but still reports the client role: the group id is zeros and the input is the link input. | |
| YxcDistributionInfo.Role | getRole () |
| String | getGroupName () |
| int | getClientCount () |
| String | getGroupId () |
| List< String > | getClientAddresses () |
| YxcPlayInfo | getPlayInfo () |
| YxcDeviceState | withCapabilities (YxcSourceCapabilities caps) |
| YxcSourceCapabilities | getCapabilities () |
| YxcTunerInfo | getTuner () |
| String | getPlayback () |
| String | getArtist () |
| String | getTrack () |
| boolean | sameForRow (YxcDeviceState other) |
| Whether the receiver row would look the same: power, input, group, reachability and the now playing line. | |
| boolean | equals (Object o) |
| int | hashCode () |
| String | toString () |
| Names and tracks are not part of the text, so a log line does not carry them. | |
Static Public Member Functions | |
| static YxcDeviceState | unknown () |
| Nothing known yet: not reachable, role unknown. | |
Static Public Attributes | |
| static final String | MAIN_ZONE = "main" |
| The zone the row shows; further zones come with the settings screen. | |
What yaacc knows about one device that speaks the protocol, for the receiver row: power, input, volume, group role and what plays.
Immutable; every with... method returns a new state, so a listener can compare two states with equals to see whether anything changed. Built from the answers of the device (withZone, withDistribution, withPlayInfo) and from events (withEvent).
| YxcSourceCapabilities de.yaacc.yxc.YxcDeviceState.getCapabilities | ( | ) |
null until the features were read Referenced by de.yaacc.yxc.YxcSourceControls.available().

| List< String > de.yaacc.yxc.YxcDeviceState.getClientAddresses | ( | ) |
Referenced by de.yaacc.yxc.YxcGroupDirectory.clientsOf(), and de.yaacc.yxc.YxcDeviceState.sameForRow().

| int de.yaacc.yxc.YxcDeviceState.getClientCount | ( | ) |
| String de.yaacc.yxc.YxcDeviceState.getGroupId | ( | ) |
null when it is in none. Used to find the other members; it is not shown. Referenced by de.yaacc.yxc.YxcGroupDirectory.clientsOf(), and de.yaacc.yxc.YxcGroupDirectory.serverOf().

| String de.yaacc.yxc.YxcDeviceState.getGroupName | ( | ) |
null when it is in none or the name is not known | String de.yaacc.yxc.YxcDeviceState.getInputText | ( | ) |
null when it did not (or the input changed by an event since) | String de.yaacc.yxc.YxcDeviceState.getPlayback | ( | ) |
play, pause, stop (the words of the device) or null 
| YxcPlayInfo de.yaacc.yxc.YxcDeviceState.getPlayInfo | ( | ) |
null if none was read Referenced by de.yaacc.yxc.YxcSourceControls.available(), and de.yaacc.yxc.YxcNowPlaying.describe().

| String de.yaacc.yxc.YxcDeviceState.getPower | ( | ) |
on, standby (the words of the device) or null when unknown | YxcTunerInfo de.yaacc.yxc.YxcDeviceState.getTuner | ( | ) |
null if none was read (only read while the input is the tuner) Referenced by de.yaacc.yxc.YxcSourceControls.available(), and de.yaacc.yxc.YxcNowPlaying.describe().

| boolean de.yaacc.yxc.YxcDeviceState.isStuckClient | ( | ) |
True for a device that left its group but still reports the client role: the group id is zeros and the input is the link input.
It stays so until the input is set to something else (docs/tech.md), so it needs a "leave".
Referenced by de.yaacc.yxc.YxcLinkCandidates.actionsFor(), and de.yaacc.yxc.YxcLinkCandidates.forServer().

| boolean de.yaacc.yxc.YxcDeviceState.sameForRow | ( | YxcDeviceState | other | ) |
Whether the receiver row would look the same: power, input, group, reachability and the now playing line.
Volume and mute are kept in the state but not shown, and the play time is not part of the line, so a change of those alone does not need a redraw.
Referenced by de.yaacc.yxc.YxcMonitor.refreshGroupInfoNow().


| YxcDeviceState de.yaacc.yxc.YxcDeviceState.withCapabilities | ( | YxcSourceCapabilities | caps | ) |
| caps | what the device says about its sources (read once), null to forget |
Referenced by de.yaacc.yxc.YxcSourceActions.perform().

| YxcDeviceState de.yaacc.yxc.YxcDeviceState.withEvent | ( | YxcEvent | event | ) |
Applies what an event says directly (power, volume, mute, input of the zone).
Flags that say "read again" are not applied here, see YxcEventPlan.
| YxcDeviceState de.yaacc.yxc.YxcDeviceState.withPlayInfo | ( | YxcPlayInfo | info | ) |
| info | the play info, or null when the device has none (the row then shows no title) |
Referenced by de.yaacc.yxc.YxcSourceActions.perform().

| YxcDeviceState de.yaacc.yxc.YxcDeviceState.withTunerInfo | ( | YxcTunerInfo | info | ) |
| info | the tuner play info, or null when the device has none or the input is not the tuner |
Referenced by de.yaacc.yxc.YxcSourceActions.perform().
