wemo/wemodiscovery/device.go

43 lines
1.3 KiB
Go

package wemodiscovery
import (
"time"
"github.com/fromkeith/gossdp"
)
// Device contains information about a device that has been found on the network
type Device struct {
Scan gossdp.ResponseMessage
DeviceType string `xml:"deviceType"`
FriendlyName string `xml:"friendlyName"`
Manufacturer string `xml:"manufacturer"`
ManufacturerURL string `xml:"manufacturerURL"`
ModelDescription string `xml:"modelDescription"`
ModelName string `xml:"modelName"`
ModelNumber string `xml:"modelNumber"`
ModelURL string `xml:"modelURL"`
SerialNumber string `xml:"serialNumber"`
UDN string `xml:"UDN"`
UPC string `xml:"UPC"`
MACAddress string `xml:"macAddress"`
FirmwareVersion string `xml:"firmwareVersion"`
IconVersion string `xml:"iconVersion"`
BinaryState int `xml:"binaryState"`
ServiceList []Service `xml:"serviceList>service"`
Timeout time.Duration
}
// Service contains information about a service exposed by the Belkin device
type Service struct {
ServiceType string `xml:"serviceType"`
ServiceID string `xml:"serviceId"`
ControlURL string `xml:"controlURL"`
EventSubURL string `xml:"eventSubURL"`
SCPDURL string `xml:"SCPDURL"`
}
type root struct {
Device *Device `xml:"device"`
}