YAACC - UPNP Client and Server
Loading...
Searching...
No Matches
de.yaacc.yxc.YxcDistributionInfo Class Reference

Answer of dist/getDistributionInfo: the state of a device in a group ("link"). More...

Collaboration diagram for de.yaacc.yxc.YxcDistributionInfo:
Collaboration graph

Classes

enum  Role
 

Public Member Functions

String getGroupId ()
 
boolean isNullGroup ()
 
String getGroupName ()
 
String getRoleWord ()
 
Role getRole ()
 
String getServerZone ()
 
List< String > getClients ()
 
List< YxcDistributionClient > getClientEntries ()
 
String getStatus ()
 
boolean hasMcSurround ()
 
String getMcSurroundRole ()
 

Static Public Member Functions

static boolean isNullGroupId (String groupId)
 True for no id, an empty id and an id of zeros only (the id of a device that is in no group).
 

Static Public Attributes

static final String NULL_GROUP_ID = "00000000000000000000000000000000"
 

Detailed Description

Answer of dist/getDistributionInfo: the state of a device in a group ("link").

Verified on three devices (2026-11-02): a device in no group says "role": "none" with a group id of 32 zeros and an empty client list; a server says "server", a status (working) and lists its clients with ip_address and data_type. The word of a client is not captured yet; client is what the open-source libraries use. The role is kept as the raw word and as Role; without a usable word, Role#NONE is derived from the null group id and an empty client list. The group_name of a device in no group is a name the device makes up, so it is never used for a decision. A device that is part of a surround set adds an mc_surround object; only its presence and its role word are kept.

Member Function Documentation

◆ getClientEntries()

List< YxcDistributionClient > de.yaacc.yxc.YxcDistributionInfo.getClientEntries ( )
Returns
the clients of a server with their data type; empty for other roles

◆ getClients()

List< String > de.yaacc.yxc.YxcDistributionInfo.getClients ( )
Returns
the IP addresses of the clients of a server; empty for other roles

Referenced by de.yaacc.yxc.YxcGroupOperations.applySelection(), de.yaacc.yxc.YxcGroupService.unlink(), and de.yaacc.yxc.YxcGroupOperations.unlinkGroup().

Here is the caller graph for this function:

◆ getGroupId()

String de.yaacc.yxc.YxcDistributionInfo.getGroupId ( )
Returns
the group id as reported, null if absent

Referenced by de.yaacc.yxc.YxcGroupOperations.applySelection(), and de.yaacc.yxc.YxcGroupService.rename().

Here is the caller graph for this function:

◆ getGroupName()

String de.yaacc.yxc.YxcDistributionInfo.getGroupName ( )
Returns
the name of the group, null if absent. A device in no group reports a name it makes up ((Linked) and its room name), so this is for display only and never for a decision.

Referenced by de.yaacc.yxc.YxcGroupService.rename().

Here is the caller graph for this function:

◆ getMcSurroundRole()

String de.yaacc.yxc.YxcDistributionInfo.getMcSurroundRole ( )
Returns
the role word inside mc_surround (seen: none), null if absent

◆ getRoleWord()

String de.yaacc.yxc.YxcDistributionInfo.getRoleWord ( )
Returns
the role word exactly as the device sent it, null if absent

◆ getServerZone()

String de.yaacc.yxc.YxcDistributionInfo.getServerZone ( )
Returns
the zone that serves the group, null or empty if the device does not serve one

◆ getStatus()

String de.yaacc.yxc.YxcDistributionInfo.getStatus ( )
Returns
the status word of a server (seen: working), null if absent (a device in no group has none)

◆ hasMcSurround()

boolean de.yaacc.yxc.YxcDistributionInfo.hasMcSurround ( )
Returns
true when the answer has an mc_surround object

The documentation for this class was generated from the following file: