InternetGatewayDevice class

An UPnP InternetGatewayDevice, the root of a residential gateway. https://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v1-Device.pdf

IGD:1 §2.2 Table 1 fixes the shape of the tree beneath this device, and the classes here mirror it rather than searching for services by type:

InternetGatewayDevice:1          Layer3Forwarding:1
├── WANDevice:1                  WANCommonInterfaceConfig:1
│   └── WANConnectionDevice:1    WANIPConnection:1 / WANPPPConnection:1
└── LANDevice:1                  LANHostConfigManagement:1

One class per tier, one file per tier: WanDevice, then WanConnectionDevice. LANDevice is not modelled, so it parses as a plain Device and stays reachable through Device.devices.

The accessors are deliberately strict: they report what this gateway actually advertises at each tier, so a device that does not follow the template reads as empty rather than being papered over. Gateways do deviate; Device.findService searches the whole subtree regardless of shape when that is what you need.

Inheritance

Constructors

InternetGatewayDevice.fromXml(XmlElement xml, [String? url, String? urlBase])

Properties

allServices Iterable<Service>
Every service in this device's subtree, depth first: this device's own services, then those of each embedded device in turn.
no setterinherited
connections List<WanConnectionService>
Every WAN connection service beneath this gateway, in tree order.
no setter
description DeviceDescription?
The device description information
getter/setter pairinherited
devices List<Device>
The list of embedded devices
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
layer3Forwarding Service?
The Layer3Forwarding:1 service, if this gateway offers it (optional per IGD:1 §2.2).
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
services List<Service>
The list of provided services
getter/setter pairinherited
url String?
The location of the device
getter/setter pairinherited
urlBase String?
The base URL for resolving relative URLs in this device's description.
getter/setter pairinherited
wanDevices List<WanDevice>
The WAN tiers beneath this gateway. Required, and IGD:1 §2.2 allows more than one.
no setter
xml → XmlElement
The xml element the properties of this object were initialized from
finalinherited

Methods

avTransportService() AvTransportService?
The AVTransport service on this device, if it has exactly one.
inherited
connectionManagerService() ConnectionManagerService?
The ConnectionManager service on this device, if it has exactly one.
inherited
describeChildren() Map<String, List>
inherited
describeFields() Map<String, dynamic>
inherited
findService<T extends Service>() → T?
The first service of type T in this device's subtree, or null if the subtree holds none.
inherited
findServices<T extends Service>() List<T>
Every service of type T in this device's subtree, in allServices order.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
renderingControlService() RenderingControlService?
The RenderingControl service on this device, if it has exactly one.
inherited
serviceOfType(UpnpServiceType type) Service?
This device's own service of type, or null if it advertises none.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited