async def service_info( service: MutableService, devinfo: DeviceInfo, services: Mapping[Protocol, BaseService], ) -> None: """Update service with additional information.""" flags = int(service.properties.get("rpfl", "0x0"), 16) if flags & PAIRING_DISABLED_MASK: service.pairing = PairingRequirement.Disabled elif flags & PAIRING_WITH_PIN_SUPPORTED_MASK: service.pairing = PairingRequirement.Mandatory else: service.pairing = PairingRequirement.Unsupported
async def service_info( service: MutableService, devinfo: DeviceInfo, services: Mapping[Protocol, BaseService], ) -> None: """Update service with additional information.""" service.requires_password = is_password_required(service) if service.properties.get("acl", "0") == "1": # Access control might say that pairing is not possible, e.g. only devices # belonging to the same home (not supported by pyatv) service.pairing = PairingRequirement.Disabled else: service.pairing = get_pairing_requirement(service)
async def service_info( service: MutableService, devinfo: DeviceInfo, services: Mapping[Protocol, BaseService], ) -> None: """Update service with additional information. Pairing has never been enforced by MRP (maybe by design), but it is possible to pair if AllowPairing is YES. """ service.pairing = (PairingRequirement.Optional if service.properties.get( "allowpairing", "no").lower() == "yes" else PairingRequirement.Disabled)
async def service_info( service: MutableService, devinfo: DeviceInfo, services: Mapping[Protocol, BaseService], ) -> None: """Update service with additional information.""" airplay_service = services.get(Protocol.AirPlay) if airplay_service and airplay_service.properties.get("acl", "0") == "1": # Access control might say that pairing is not possible, e.g. only devices # belonging to the same home (not supported by pyatv) service.pairing = PairingRequirement.Disabled else: # Same behavior as for AirPlay expected, so re-using that here await airplay_service_info(service, devinfo, services)
async def service_info( service: MutableService, devinfo: DeviceInfo, services: Mapping[Protocol, BaseService], ) -> None: """Update service with additional information. If Home Sharing is enabled, then the "hG" property is present and can be used as credentials. If not enabled, then pairing must be performed. """ service.pairing = ( PairingRequirement.Optional if "hg" in service.properties else PairingRequirement.Mandatory )