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