import 'package:flutter/material.dart'; class Upnp { static const String upnpDeviceTypeMediaRenderer = 'urn:schemas-upnp-org:device:MediaRenderer:1'; static const String upnpServiceTypeConnectionManager = 'urn:schemas-upnp-org:service:ConnectionManager:1'; static String getProtocolInfoActionXml() { return ''' 0 '''; } } class UpnpProtocolInfo { late final Set entries; UpnpProtocolInfo(String text) { entries = text.split(',').where((v) => v.isNotEmpty).map(UpnpProtocolInfoEntry.new).toSet(); } } @immutable class UpnpProtocolInfoEntry { late final String protocol, network, contentFormat, additionalInfo; UpnpProtocolInfoEntry(String text) { final parts = text.split(':'); protocol = parts[0]; network = parts[1]; contentFormat = parts[2]; additionalInfo = parts[3]; } }