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.
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:1service, 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
Tin this device's subtree, or null if the subtree holds none.inherited -
findServices<
T extends Service> () → List< T> -
Every service of type
Tin 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