feat: generate code for openhome

This commit is contained in:
Cyrille Nofficial 2022-11-01 20:03:30 +01:00
parent 31f6bc38c2
commit 00a824fe48
33 changed files with 15297 additions and 106 deletions

View File

@ -78,7 +78,7 @@ func (dcp *DCP) processDeviceFile(file *zip.File) error {
}
})
device.VisitServices(func(s *goupnp.Service) {
u, err := extractURNParts(s.ServiceType, serviceURNPrefix)
u, err := extractURNParts(s.ServiceType, dcp.Metadata.ServiceURNPrefix)
if err != nil {
mainErr = err
}
@ -133,7 +133,7 @@ func (dcp *DCP) processSCPDFile(file *zip.File) error {
return fmt.Errorf("error decoding SCPD XML from file %q: %v", file.Name, err)
}
scpd.Clean()
urnParts, err := urnPartsFromSCPDFilename(file.Name)
urnParts, err := urnPartsFromSCPDFilename(file.Name, dcp.Metadata.ServiceURNPrefix)
if err != nil {
return fmt.Errorf("could not recognize SCPD filename %q: %v", file.Name, err)
}

View File

@ -80,14 +80,14 @@ func unmarshalXmlFile(file *zip.File, data interface{}) error {
var scpdFilenameRe = regexp.MustCompile(
`.*/([a-zA-Z0-9]+)([0-9]+)\.xml`)
func urnPartsFromSCPDFilename(filename string) (*URNParts, error) {
func urnPartsFromSCPDFilename(filename string, svcURNPrefix string) (*URNParts, error) {
parts := scpdFilenameRe.FindStringSubmatch(filename)
if len(parts) != 3 {
return nil, fmt.Errorf("SCPD filename %q does not have expected number of parts", filename)
}
name, version := parts[1], parts[2]
return &URNParts{
URN: serviceURNPrefix + name + ":" + version,
URN: svcURNPrefix + name + ":" + version,
Name: name,
Version: version,
}, nil

View File

@ -6,15 +6,54 @@ import (
// DCP contains extra metadata to use when generating DCP source files.
type DCPMetadata struct {
Name string // What to name the Go DCP package.
OfficialName string // Official name for the DCP.
Src dcpProvider
Name string // What to name the Go DCP package.
OfficialName string // Official name for the DCP.
Src dcpProvider
ServiceURNPrefix string
}
var dcpMetadata = []DCPMetadata{
{
Name: "internetgateway1",
OfficialName: "Internet Gateway Device v1",
Name: "openhome",
OfficialName: "OpenHome",
ServiceURNPrefix: "urn:av-openhome-org:service:",
Src: upnpdotorg{
DocURL: "http://wiki.openhome.org/wiki/Av:Developer",
XMLSpecURL: "https://github.com/openhome/ohNetGenerated/archive/refs/heads/master.zip",
Hacks: []DCPHackFn{
fixMissingURN(
"urn:av-openhome-org:service:Credentials:1",
"urn:av-openhome-org:service:Debug:1",
"urn:av-openhome-org:service:Exakt:1",
"urn:av-openhome-org:service:Exakt:2",
"urn:av-openhome-org:service:Exakt:3",
"urn:av-openhome-org:service:Info:1",
"urn:av-openhome-org:service:MediaServer:1",
"urn:av-openhome-org:service:NetworkMonitor:1",
"urn:av-openhome-org:service:Pins:1",
"urn:av-openhome-org:service:Playlist:1",
"urn:av-openhome-org:service:PlaylistManager:1",
"urn:av-openhome-org:service:Product:1",
"urn:av-openhome-org:service:Product:2",
"urn:av-openhome-org:service:Radio:1",
"urn:av-openhome-org:service:Receiver:1",
"urn:av-openhome-org:service:Sender:1",
"urn:av-openhome-org:service:Sender:2",
"urn:av-openhome-org:service:SubscriptionLongPoll:1",
"urn:av-openhome-org:service:Time:1",
"urn:av-openhome-org:service:Transport:1",
"urn:av-openhome-org:service:Volume:1",
"urn:av-openhome-org:service:Volume:2",
"urn:av-openhome-org:service:Volume:3",
),
},
},
},
{
Name: "internetgateway1",
OfficialName: "Internet Gateway Device v1",
ServiceURNPrefix: serviceURNPrefix,
Src: upnpdotorg{
DocURL: "http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v1-Device.pdf",
XMLSpecURL: "http://upnp.org/specs/gw/UPnP-gw-IGD-TestFiles-20010921.zip",
@ -24,8 +63,9 @@ var dcpMetadata = []DCPMetadata{
},
},
{
Name: "internetgateway2",
OfficialName: "Internet Gateway Device v2",
Name: "internetgateway2",
OfficialName: "Internet Gateway Device v2",
ServiceURNPrefix: serviceURNPrefix,
Src: upnpdotorg{
DocURL: "http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v2-Device.pdf",
XMLSpecURL: "http://upnp.org/specs/gw/UPnP-gw-IGD-Testfiles-20110224.zip",
@ -36,16 +76,18 @@ var dcpMetadata = []DCPMetadata{
},
},
{
Name: "av1",
OfficialName: "MediaServer v1 and MediaRenderer v1",
Name: "av1",
OfficialName: "MediaServer v1 and MediaRenderer v1",
ServiceURNPrefix: serviceURNPrefix,
Src: upnpdotorg{
DocURL: "http://upnp.org/specs/av/av1/",
XMLSpecURL: "http://upnp.org/specs/av/UPnP-av-TestFiles-20070927.zip",
},
},
{
Name: "ocf/internetgateway1",
OfficialName: "Internet Gateway Device v1 - Open Connectivity Foundation",
Name: "ocf/internetgateway1",
OfficialName: "Internet Gateway Device v1 - Open Connectivity Foundation",
ServiceURNPrefix: serviceURNPrefix,
Src: openconnectivitydotorg{
SpecsURL: ocfSpecsURL,
DocPath: "*/DeviceProtection_1/UPnP-gw-*v1*.pdf",
@ -60,8 +102,9 @@ var dcpMetadata = []DCPMetadata{
},
},
{
Name: "ocf/internetgateway2",
OfficialName: "Internet Gateway Device v2 - Open Connectivity Foundation",
Name: "ocf/internetgateway2",
OfficialName: "Internet Gateway Device v2 - Open Connectivity Foundation",
ServiceURNPrefix: serviceURNPrefix,
Src: openconnectivitydotorg{
SpecsURL: ocfSpecsURL,
DocPath: "*/Internet Gateway_2/UPnP-gw-*.pdf",
@ -114,7 +157,7 @@ func fixMissingURN(missingURNs ...string) func(dcp *DCP) error {
if _, ok := dcp.ServiceTypes[missingURN]; ok {
continue
}
urnParts, err := extractURNParts(missingURN, serviceURNPrefix)
urnParts, err := extractURNParts(missingURN, dcp.Metadata.ServiceURNPrefix)
if err != nil {
return err
}

View File

@ -204,7 +204,6 @@ func (client *AVTransport1) GetDeviceCapabilities(InstanceID uint32) (PlayMedia
)
}
//
// Return values:
//
// * NrTracks: allowed value range: minimum=0
@ -282,7 +281,6 @@ func (client *AVTransport1) GetMediaInfo(InstanceID uint32) (NrTracks uint32, Me
)
}
//
// Return values:
//
// * Track: allowed value range: minimum=0, step=1
@ -356,7 +354,6 @@ func (client *AVTransport1) GetPositionInfo(InstanceID uint32) (Track uint32, Tr
)
}
//
// Return values:
//
// * CurrentTransportState: allowed values: STOPPED, PLAYING
@ -414,7 +411,6 @@ func (client *AVTransport1) GetTransportInfo(InstanceID uint32) (CurrentTranspor
)
}
//
// Return values:
//
// * PlayMode: allowed values: NORMAL
@ -1054,7 +1050,6 @@ func (client *AVTransport2) GetCurrentTransportActions(InstanceID uint32) (Actio
)
}
//
// Return values:
//
// * CurrentDRMState: allowed values: OK
@ -1150,7 +1145,6 @@ func (client *AVTransport2) GetDeviceCapabilities(InstanceID uint32) (PlayMedia
)
}
//
// Return values:
//
// * NrTracks: allowed value range: minimum=0
@ -1228,7 +1222,6 @@ func (client *AVTransport2) GetMediaInfo(InstanceID uint32) (NrTracks uint32, Me
)
}
//
// Return values:
//
// * CurrentType: allowed values: NO_MEDIA, TRACK_AWARE, TRACK_UNAWARE
@ -1312,7 +1305,6 @@ func (client *AVTransport2) GetMediaInfo_Ext(InstanceID uint32) (CurrentType str
)
}
//
// Return values:
//
// * Track: allowed value range: minimum=0, step=1
@ -1434,7 +1426,6 @@ func (client *AVTransport2) GetStateVariables(InstanceID uint32, StateVariableLi
)
}
//
// Return values:
//
// * CurrentTransportState: allowed values: STOPPED, PLAYING
@ -1492,7 +1483,6 @@ func (client *AVTransport2) GetTransportInfo(InstanceID uint32) (CurrentTranspor
)
}
//
// Return values:
//
// * PlayMode: allowed values: NORMAL
@ -2227,7 +2217,6 @@ func (client *ConnectionManager1) GetCurrentConnectionIDs() (ConnectionIDs strin
return client.GetCurrentConnectionIDsCtx(context.Background())
}
//
// Return values:
//
// * Direction: allowed values: Input, Output
@ -2553,7 +2542,6 @@ func (client *ConnectionManager2) GetCurrentConnectionIDs() (ConnectionIDs strin
return client.GetCurrentConnectionIDsCtx(context.Background())
}
//
// Return values:
//
// * Direction: allowed values: Input, Output
@ -3221,7 +3209,6 @@ func (client *ContentDirectory1) GetSystemUpdateID() (Id uint32, err error) {
return client.GetSystemUpdateIDCtx(context.Background())
}
//
// Return values:
//
// * TransferStatus: allowed values: COMPLETED, ERROR, IN_PROGRESS, STOPPED
@ -4046,7 +4033,6 @@ func (client *ContentDirectory2) GetSystemUpdateID() (Id uint32, err error) {
return client.GetSystemUpdateIDCtx(context.Background())
}
//
// Return values:
//
// * TransferStatus: allowed values: COMPLETED, ERROR, IN_PROGRESS, STOPPED
@ -5045,7 +5031,6 @@ func (client *ContentDirectory3) GetSystemUpdateID() (Id uint32, err error) {
return client.GetSystemUpdateIDCtx(context.Background())
}
//
// Return values:
//
// * TransferStatus: allowed values: COMPLETED, ERROR, IN_PROGRESS, STOPPED
@ -5437,7 +5422,6 @@ func newRenderingControl1ClientsFromGenericClients(genericClients []goupnp.Servi
return clients
}
//
// Return values:
//
// * CurrentBlueVideoBlackLevel: allowed value range: minimum=0, step=1
@ -5483,7 +5467,6 @@ func (client *RenderingControl1) GetBlueVideoBlackLevel(InstanceID uint32) (Curr
)
}
//
// Return values:
//
// * CurrentBlueVideoGain: allowed value range: minimum=0, step=1
@ -5529,7 +5512,6 @@ func (client *RenderingControl1) GetBlueVideoGain(InstanceID uint32) (CurrentBlu
)
}
//
// Return values:
//
// * CurrentBrightness: allowed value range: minimum=0, step=1
@ -5575,7 +5557,6 @@ func (client *RenderingControl1) GetBrightness(InstanceID uint32) (CurrentBright
)
}
//
// Return values:
//
// * CurrentColorTemperature: allowed value range: minimum=0, step=1
@ -5621,7 +5602,6 @@ func (client *RenderingControl1) GetColorTemperature(InstanceID uint32) (Current
)
}
//
// Return values:
//
// * CurrentContrast: allowed value range: minimum=0, step=1
@ -5667,7 +5647,6 @@ func (client *RenderingControl1) GetContrast(InstanceID uint32) (CurrentContrast
)
}
//
// Return values:
//
// * CurrentGreenVideoBlackLevel: allowed value range: minimum=0, step=1
@ -5713,7 +5692,6 @@ func (client *RenderingControl1) GetGreenVideoBlackLevel(InstanceID uint32) (Cur
)
}
//
// Return values:
//
// * CurrentGreenVideoGain: allowed value range: minimum=0, step=1
@ -5759,7 +5737,6 @@ func (client *RenderingControl1) GetGreenVideoGain(InstanceID uint32) (CurrentGr
)
}
//
// Return values:
//
// * CurrentHorizontalKeystone: allowed value range: step=1
@ -5911,7 +5888,6 @@ func (client *RenderingControl1) GetMute(InstanceID uint32, Channel string) (Cur
)
}
//
// Return values:
//
// * CurrentRedVideoBlackLevel: allowed value range: minimum=0, step=1
@ -5999,7 +5975,6 @@ func (client *RenderingControl1) GetRedVideoGain(InstanceID uint32) (CurrentRedV
)
}
//
// Return values:
//
// * CurrentSharpness: allowed value range: minimum=0, step=1
@ -6045,7 +6020,6 @@ func (client *RenderingControl1) GetSharpness(InstanceID uint32) (CurrentSharpne
)
}
//
// Return values:
//
// * CurrentVerticalKeystone: allowed value range: step=1
@ -6096,7 +6070,6 @@ func (client *RenderingControl1) GetVerticalKeystone(InstanceID uint32) (Current
//
// * Channel: allowed values: Master
//
// Return values:
//
// * CurrentVolume: allowed value range: minimum=0, step=1
@ -7209,7 +7182,6 @@ func newRenderingControl2ClientsFromGenericClients(genericClients []goupnp.Servi
return clients
}
//
// Return values:
//
// * CurrentBlueVideoBlackLevel: allowed value range: minimum=0, step=1
@ -7255,7 +7227,6 @@ func (client *RenderingControl2) GetBlueVideoBlackLevel(InstanceID uint32) (Curr
)
}
//
// Return values:
//
// * CurrentBlueVideoGain: allowed value range: minimum=0, step=1
@ -7301,7 +7272,6 @@ func (client *RenderingControl2) GetBlueVideoGain(InstanceID uint32) (CurrentBlu
)
}
//
// Return values:
//
// * CurrentBrightness: allowed value range: minimum=0, step=1
@ -7347,7 +7317,6 @@ func (client *RenderingControl2) GetBrightness(InstanceID uint32) (CurrentBright
)
}
//
// Return values:
//
// * CurrentColorTemperature: allowed value range: minimum=0, step=1
@ -7393,7 +7362,6 @@ func (client *RenderingControl2) GetColorTemperature(InstanceID uint32) (Current
)
}
//
// Return values:
//
// * CurrentContrast: allowed value range: minimum=0, step=1
@ -7439,7 +7407,6 @@ func (client *RenderingControl2) GetContrast(InstanceID uint32) (CurrentContrast
)
}
//
// Return values:
//
// * CurrentGreenVideoBlackLevel: allowed value range: minimum=0, step=1
@ -7485,7 +7452,6 @@ func (client *RenderingControl2) GetGreenVideoBlackLevel(InstanceID uint32) (Cur
)
}
//
// Return values:
//
// * CurrentGreenVideoGain: allowed value range: minimum=0, step=1
@ -7531,7 +7497,6 @@ func (client *RenderingControl2) GetGreenVideoGain(InstanceID uint32) (CurrentGr
)
}
//
// Return values:
//
// * CurrentHorizontalKeystone: allowed value range: step=1
@ -7683,7 +7648,6 @@ func (client *RenderingControl2) GetMute(InstanceID uint32, Channel string) (Cur
)
}
//
// Return values:
//
// * CurrentRedVideoBlackLevel: allowed value range: minimum=0, step=1
@ -7729,7 +7693,6 @@ func (client *RenderingControl2) GetRedVideoBlackLevel(InstanceID uint32) (Curre
)
}
//
// Return values:
//
// * CurrentRedVideoGain: allowed value range: minimum=0, step=1
@ -7775,7 +7738,6 @@ func (client *RenderingControl2) GetRedVideoGain(InstanceID uint32) (CurrentRedV
)
}
//
// Return values:
//
// * CurrentSharpness: allowed value range: minimum=0, step=1
@ -7869,7 +7831,6 @@ func (client *RenderingControl2) GetStateVariables(InstanceID uint32, StateVaria
)
}
//
// Return values:
//
// * CurrentVerticalKeystone: allowed value range: step=1
@ -7920,7 +7881,6 @@ func (client *RenderingControl2) GetVerticalKeystone(InstanceID uint32) (Current
//
// * Channel: allowed values: Master
//
// Return values:
//
// * CurrentVolume: allowed value range: minimum=0, step=1

View File

@ -1052,7 +1052,6 @@ func (client *WANCableLinkConfig1) GetBPIEncryptionEnabled() (NewBPIEncryptionEn
return client.GetBPIEncryptionEnabledCtx(context.Background())
}
//
// Return values:
//
// * NewCableLinkConfigState: allowed values: notReady, dsSyncComplete, usParamAcquired, rangingComplete, ipComplete, todEstablished, paramTransferComplete, registrationComplete, operational, accessDenied
@ -1164,7 +1163,6 @@ func (client *WANCableLinkConfig1) GetDownstreamFrequency() (NewDownstreamFreque
return client.GetDownstreamFrequencyCtx(context.Background())
}
//
// Return values:
//
// * NewDownstreamModulation: allowed values: 64QAM, 256QAM
@ -1304,7 +1302,6 @@ func (client *WANCableLinkConfig1) GetUpstreamFrequency() (NewUpstreamFrequency
return client.GetUpstreamFrequencyCtx(context.Background())
}
//
// Return values:
//
// * NewUpstreamModulation: allowed values: QPSK, 16QAM
@ -1494,7 +1491,6 @@ func (client *WANCommonInterfaceConfig1) GetActiveConnection(NewActiveConnection
)
}
//
// Return values:
//
// * NewWANAccessType: allowed values: DSL, POTS, Cable, Ethernet
@ -1580,7 +1576,6 @@ func (client *WANCommonInterfaceConfig1) GetEnabledForInternet() (NewEnabledForI
return client.GetEnabledForInternetCtx(context.Background())
}
//
// Return values:
//
// * NewMaximumActiveConnections: allowed value range: minimum=1, step=1
@ -1965,7 +1960,6 @@ func (client *WANDSLLinkConfig1) GetAutoConfig() (NewAutoConfig bool, err error)
return client.GetAutoConfigCtx(context.Background())
}
//
// Return values:
//
// * NewLinkStatus: allowed values: Up, Down
@ -2329,7 +2323,6 @@ func newWANEthernetLinkConfig1ClientsFromGenericClients(genericClients []goupnp.
return clients
}
//
// Return values:
//
// * NewEthernetLinkStatus: allowed values: Up, Down
@ -2640,7 +2633,6 @@ func (client *WANIPConnection1) GetAutoDisconnectTime() (NewAutoDisconnectTime u
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, IP_Bridged
@ -2716,7 +2708,6 @@ func (client *WANIPConnection1) GetExternalIPAddress() (NewExternalIPAddress str
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -2937,7 +2928,6 @@ func (client *WANIPConnection1) GetSpecificPortMappingEntry(NewRemoteHost string
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected
@ -3471,7 +3461,6 @@ func (client *WANPOTSLinkConfig1) GetFclass() (NewFclass string, err error) {
return client.GetFclassCtx(context.Background())
}
//
// Return values:
//
// * NewLinkType: allowed values: PPP_Dialup
@ -3964,7 +3953,6 @@ func (client *WANPPPConnection1) GetAutoDisconnectTime() (NewAutoDisconnectTime
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, DHCP_Spoofed, PPPoE_Bridged, PPTP_Relay, L2TP_Relay, PPPoE_Relay
@ -4040,7 +4028,6 @@ func (client *WANPPPConnection1) GetExternalIPAddress() (NewExternalIPAddress st
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -4435,7 +4422,6 @@ func (client *WANPPPConnection1) GetSpecificPortMappingEntry(NewRemoteHost strin
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected

View File

@ -1687,7 +1687,6 @@ func (client *WANCableLinkConfig1) GetBPIEncryptionEnabled() (NewBPIEncryptionEn
return client.GetBPIEncryptionEnabledCtx(context.Background())
}
//
// Return values:
//
// * NewCableLinkConfigState: allowed values: notReady, dsSyncComplete, usParamAcquired, rangingComplete, ipComplete, todEstablished, paramTransferComplete, registrationComplete, operational, accessDenied
@ -1799,7 +1798,6 @@ func (client *WANCableLinkConfig1) GetDownstreamFrequency() (NewDownstreamFreque
return client.GetDownstreamFrequencyCtx(context.Background())
}
//
// Return values:
//
// * NewDownstreamModulation: allowed values: 64QAM, 256QAM
@ -1939,7 +1937,6 @@ func (client *WANCableLinkConfig1) GetUpstreamFrequency() (NewUpstreamFrequency
return client.GetUpstreamFrequencyCtx(context.Background())
}
//
// Return values:
//
// * NewUpstreamModulation: allowed values: QPSK, 16QAM
@ -2129,7 +2126,6 @@ func (client *WANCommonInterfaceConfig1) GetActiveConnection(NewActiveConnection
)
}
//
// Return values:
//
// * NewWANAccessType: allowed values: DSL, POTS, Cable, Ethernet
@ -2215,7 +2211,6 @@ func (client *WANCommonInterfaceConfig1) GetEnabledForInternet() (NewEnabledForI
return client.GetEnabledForInternetCtx(context.Background())
}
//
// Return values:
//
// * NewMaximumActiveConnections: allowed value range: minimum=1, step=1
@ -2600,7 +2595,6 @@ func (client *WANDSLLinkConfig1) GetAutoConfig() (NewAutoConfig bool, err error)
return client.GetAutoConfigCtx(context.Background())
}
//
// Return values:
//
// * NewLinkStatus: allowed values: Up, Down
@ -2964,7 +2958,6 @@ func newWANEthernetLinkConfig1ClientsFromGenericClients(genericClients []goupnp.
return clients
}
//
// Return values:
//
// * NewEthernetLinkStatus: allowed values: Up, Down
@ -3275,7 +3268,6 @@ func (client *WANIPConnection1) GetAutoDisconnectTime() (NewAutoDisconnectTime u
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, IP_Bridged
@ -3351,7 +3343,6 @@ func (client *WANIPConnection1) GetExternalIPAddress() (NewExternalIPAddress str
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -3572,7 +3563,6 @@ func (client *WANIPConnection1) GetSpecificPortMappingEntry(NewRemoteHost string
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected
@ -4354,7 +4344,6 @@ func (client *WANIPConnection2) GetExternalIPAddress() (NewExternalIPAddress str
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -4646,7 +4635,6 @@ func (client *WANIPConnection2) GetSpecificPortMappingEntry(NewRemoteHost string
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connecting, Connected, PendingDisconnect, Disconnecting, Disconnected
@ -5602,7 +5590,6 @@ func (client *WANPOTSLinkConfig1) GetFclass() (NewFclass string, err error) {
return client.GetFclassCtx(context.Background())
}
//
// Return values:
//
// * NewLinkType: allowed values: PPP_Dialup
@ -6095,7 +6082,6 @@ func (client *WANPPPConnection1) GetAutoDisconnectTime() (NewAutoDisconnectTime
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, DHCP_Spoofed, PPPoE_Bridged, PPTP_Relay, L2TP_Relay, PPPoE_Relay
@ -6171,7 +6157,6 @@ func (client *WANPPPConnection1) GetExternalIPAddress() (NewExternalIPAddress st
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -6566,7 +6551,6 @@ func (client *WANPPPConnection1) GetSpecificPortMappingEntry(NewRemoteHost strin
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected

View File

@ -1061,7 +1061,6 @@ func (client *WANCableLinkConfig1) GetBPIEncryptionEnabled() (NewBPIEncryptionEn
return client.GetBPIEncryptionEnabledCtx(context.Background())
}
//
// Return values:
//
// * NewCableLinkConfigState: allowed values: notReady, dsSyncComplete, usParamAcquired, rangingComplete, ipComplete, todEstablished, paramTransferComplete, registrationComplete, operational, accessDenied
@ -1173,7 +1172,6 @@ func (client *WANCableLinkConfig1) GetDownstreamFrequency() (NewDownstreamFreque
return client.GetDownstreamFrequencyCtx(context.Background())
}
//
// Return values:
//
// * NewDownstreamModulation: allowed values: 64QAM, 256QAM
@ -1313,7 +1311,6 @@ func (client *WANCableLinkConfig1) GetUpstreamFrequency() (NewUpstreamFrequency
return client.GetUpstreamFrequencyCtx(context.Background())
}
//
// Return values:
//
// * NewUpstreamModulation: allowed values: QPSK, 16QAM
@ -1503,7 +1500,6 @@ func (client *WANCommonInterfaceConfig1) GetActiveConnection(NewActiveConnection
)
}
//
// Return values:
//
// * NewWANAccessType: allowed values: DSL, POTS, Cable, Ethernet
@ -1589,7 +1585,6 @@ func (client *WANCommonInterfaceConfig1) GetEnabledForInternet() (NewEnabledForI
return client.GetEnabledForInternetCtx(context.Background())
}
//
// Return values:
//
// * NewMaximumActiveConnections: allowed value range: minimum=1, step=1
@ -1974,7 +1969,6 @@ func (client *WANDSLLinkConfig1) GetAutoConfig() (NewAutoConfig bool, err error)
return client.GetAutoConfigCtx(context.Background())
}
//
// Return values:
//
// * NewLinkStatus: allowed values: Up, Down
@ -2338,7 +2332,6 @@ func newWANEthernetLinkConfig1ClientsFromGenericClients(genericClients []goupnp.
return clients
}
//
// Return values:
//
// * NewEthernetLinkStatus: allowed values: Up, Down
@ -2649,7 +2642,6 @@ func (client *WANIPConnection1) GetAutoDisconnectTime() (NewAutoDisconnectTime u
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, IP_Bridged
@ -2725,7 +2717,6 @@ func (client *WANIPConnection1) GetExternalIPAddress() (NewExternalIPAddress str
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -2946,7 +2937,6 @@ func (client *WANIPConnection1) GetSpecificPortMappingEntry(NewRemoteHost string
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected
@ -3664,7 +3654,6 @@ func (client *WANIPConnection2) GetAutoDisconnectTime() (NewAutoDisconnectTime u
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewConnectionType: allowed values: Unconfigured, IP_Routed, IP_Bridged
@ -3740,7 +3729,6 @@ func (client *WANIPConnection2) GetExternalIPAddress() (NewExternalIPAddress str
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -3966,7 +3954,6 @@ func (client *WANIPConnection2) GetNATRSIPStatus() (NewRSIPAvailable bool, NewNA
//
// * NewProtocol: allowed values: TCP, UDP
//
// Return values:
//
// * NewInternalPort: allowed value range: minimum=1, maximum=65535
@ -4042,7 +4029,6 @@ func (client *WANIPConnection2) GetSpecificPortMappingEntry(NewRemoteHost string
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected
@ -5003,7 +4989,6 @@ func (client *WANPOTSLinkConfig1) GetFclass() (NewFclass string, err error) {
return client.GetFclassCtx(context.Background())
}
//
// Return values:
//
// * NewLinkType: allowed values: PPP_Dialup
@ -5496,7 +5481,6 @@ func (client *WANPPPConnection1) GetAutoDisconnectTime() (NewAutoDisconnectTime
return client.GetAutoDisconnectTimeCtx(context.Background())
}
//
// Return values:
//
// * NewPossibleConnectionTypes: allowed values: Unconfigured, IP_Routed, DHCP_Spoofed, PPPoE_Bridged, PPTP_Relay, L2TP_Relay, PPPoE_Relay
@ -5572,7 +5556,6 @@ func (client *WANPPPConnection1) GetExternalIPAddress() (NewExternalIPAddress st
return client.GetExternalIPAddressCtx(context.Background())
}
//
// Return values:
//
// * NewProtocol: allowed values: TCP, UDP
@ -5967,7 +5950,6 @@ func (client *WANPPPConnection1) GetSpecificPortMappingEntry(NewRemoteHost strin
)
}
//
// Return values:
//
// * NewConnectionStatus: allowed values: Unconfigured, Connected, Disconnected

2
dcps/openhome/gen.go Normal file
View File

@ -0,0 +1,2 @@
//go:generate goupnpdcpgen -dcp_name openhome -code_tmpl_file ../dcps.gotemplate
package openhome

10825
dcps/openhome/openhome.go Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Set</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>UserName</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Password</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Binary</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Clear</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetEnabled</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Enabled</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Get</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>UserName</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Password</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_Binary</relatedStateVariable>
</argument>
<argument>
<name>Enabled</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable>
</argument>
<argument>
<name>Status</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Data</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Login</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Token</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReLogin</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>CurrentToken</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>NewToken</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetIds</name>
<argumentList>
<argument>
<name>Ids</name>
<direction>out</direction>
<relatedStateVariable>Ids</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetPublicKey</name>
<argumentList>
<argument>
<name>PublicKey</name>
<direction>out</direction>
<relatedStateVariable>PublicKey</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetSequenceNumber</name>
<argumentList>
<argument>
<name>SequenceNumber</name>
<direction>out</direction>
<relatedStateVariable>SequenceNumber</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Ids</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>PublicKey</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SequenceNumber</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_String</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Binary</name>
<dataType>bin.base64</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Bool</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>GetLog</name>
<argumentList>
<argument>
<name>Log</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SendLog</name>
<argumentList>
<argument>
<name>Data</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_String</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

160
openhome/service/Exakt1.xml Normal file
View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>DeviceList</name>
<argumentList>
<argument>
<name>List</name>
<direction>out</direction>
<relatedStateVariable>DeviceList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeviceSettings</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>Settings</name>
<direction>out</direction>
<relatedStateVariable>DeviceSettings</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ConnectionStatus</name>
<argumentList>
<argument>
<name>ConnectionStatus</name>
<direction>out</direction>
<relatedStateVariable>ConnectionStatus</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Set</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>BankId</name>
<direction>in</direction>
<relatedStateVariable>BankId</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>FileUri</relatedStateVariable>
</argument>
<argument>
<name>Mute</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
<argument>
<name>Persist</name>
<direction>in</direction>
<relatedStateVariable>Persist</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Reprogram</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>FileUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReprogramFallback</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>FileUri</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>DeviceList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>DeviceSettings</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ConnectionStatus</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>DeviceId</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>BankId</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Persist</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Mute</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>FileUri</name>
<dataType>uri</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

176
openhome/service/Exakt2.xml Normal file
View File

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>DeviceList</name>
<argumentList>
<argument>
<name>List</name>
<direction>out</direction>
<relatedStateVariable>DeviceList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeviceSettings</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>Settings</name>
<direction>out</direction>
<relatedStateVariable>DeviceSettings</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ConnectionStatus</name>
<argumentList>
<argument>
<name>ConnectionStatus</name>
<direction>out</direction>
<relatedStateVariable>ConnectionStatus</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Set</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>BankId</name>
<direction>in</direction>
<relatedStateVariable>BankId</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>FileUri</relatedStateVariable>
</argument>
<argument>
<name>Mute</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
<argument>
<name>Persist</name>
<direction>in</direction>
<relatedStateVariable>Persist</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Reprogram</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>FileUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReprogramFallback</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>DeviceId</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>FileUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Version</name>
<argumentList>
<argument>
<name>Version</name>
<direction>out</direction>
<relatedStateVariable>Version</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>DeviceList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>DeviceSettings</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ConnectionStatus</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>DeviceId</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>BankId</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Persist</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Mute</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>FileUri</name>
<dataType>uri</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Version</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

208
openhome/service/Exakt3.xml Normal file
View File

@ -0,0 +1,208 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>DeviceList</name>
<argumentList>
<argument>
<name>List</name>
<direction>out</direction>
<relatedStateVariable>DeviceList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeviceSettings</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Settings</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ConnectionStatus</name>
<argumentList>
<argument>
<name>ConnectionStatus</name>
<direction>out</direction>
<relatedStateVariable>ConnectionStatus</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Set</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>BankId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uri</relatedStateVariable>
</argument>
<argument>
<name>Mute</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable>
</argument>
<argument>
<name>Persist</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Reprogram</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReprogramFallback</name>
<argumentList>
<argument>
<name>DeviceId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>FileUri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ChannelMap</name>
<argumentList>
<argument>
<name>ChannelMap</name>
<direction>out</direction>
<relatedStateVariable>ChannelMap</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetChannelMap</name>
<argumentList>
<argument>
<name>ChannelMap</name>
<direction>in</direction>
<relatedStateVariable>ChannelMap</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>AudioChannels</name>
<argumentList>
<argument>
<name>AudioChannels</name>
<direction>out</direction>
<relatedStateVariable>AudioChannels</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetAudioChannels</name>
<argumentList>
<argument>
<name>AudioChannels</name>
<direction>in</direction>
<relatedStateVariable>AudioChannels</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Version</name>
<argumentList>
<argument>
<name>Version</name>
<direction>out</direction>
<relatedStateVariable>Version</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>DeviceList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ConnectionStatus</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ChannelMap</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>AudioChannels</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Version</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_String</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Uint</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Bool</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Uri</name>
<dataType>uri</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

140
openhome/service/Info1.xml Normal file
View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Counters</name>
<argumentList>
<argument>
<name>TrackCount</name>
<direction>out</direction>
<relatedStateVariable>TrackCount</relatedStateVariable>
</argument>
<argument>
<name>DetailsCount</name>
<direction>out</direction>
<relatedStateVariable>DetailsCount</relatedStateVariable>
</argument>
<argument>
<name>MetatextCount</name>
<direction>out</direction>
<relatedStateVariable>MetatextCount</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Track</name>
<argumentList>
<argument>
<name>Uri</name>
<direction>out</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Details</name>
<argumentList>
<argument>
<name>Duration</name>
<direction>out</direction>
<relatedStateVariable>Duration</relatedStateVariable>
</argument>
<argument>
<name>BitRate</name>
<direction>out</direction>
<relatedStateVariable>BitRate</relatedStateVariable>
</argument>
<argument>
<name>BitDepth</name>
<direction>out</direction>
<relatedStateVariable>BitDepth</relatedStateVariable>
</argument>
<argument>
<name>SampleRate</name>
<direction>out</direction>
<relatedStateVariable>SampleRate</relatedStateVariable>
</argument>
<argument>
<name>Lossless</name>
<direction>out</direction>
<relatedStateVariable>Lossless</relatedStateVariable>
</argument>
<argument>
<name>CodecName</name>
<direction>out</direction>
<relatedStateVariable>CodecName</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Metatext</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Metatext</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>TrackCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>DetailsCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>MetatextCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Uri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Duration</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>BitRate</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>BitDepth</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SampleRate</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Lossless</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CodecName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Metatext</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Manufacturer</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Model</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ModelName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ModelInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ModelUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ModelImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Product</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ProductName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ProductInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ProductUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ProductImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Attributes</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Attributes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>QueryPort</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>QueryPort</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>BrowsePort</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>BrowsePort</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>UpdateCount</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>UpdateCount</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>ManufacturerName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Attributes</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>QueryPort</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>BrowsePort</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>UpdateCount</name>
<dataType>ui4</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Name</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>Name</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Ports</name>
<argumentList>
<argument>
<name>Sender</name>
<direction>out</direction>
<relatedStateVariable>Sender</relatedStateVariable>
</argument>
<argument>
<name>Receiver</name>
<direction>out</direction>
<relatedStateVariable>Receiver</relatedStateVariable>
</argument>
<argument>
<name>Results</name>
<direction>out</direction>
<relatedStateVariable>Results</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Name</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Sender</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Receiver</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Results</name>
<dataType>ui4</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

224
openhome/service/Pins1.xml Normal file
View File

@ -0,0 +1,224 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>GetDeviceAccountMax</name>
<argumentList>
<argument>
<name>DeviceMax</name>
<direction>out</direction>
<relatedStateVariable>DeviceMax</relatedStateVariable>
</argument>
<argument>
<name>AccountMax</name>
<direction>out</direction>
<relatedStateVariable>AccountMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetModes</name>
<argumentList>
<argument>
<name>Modes</name>
<direction>out</direction>
<relatedStateVariable>Modes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetIdArray</name>
<argumentList>
<argument>
<name>IdArray</name>
<direction>out</direction>
<relatedStateVariable>IdArray</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReadList</name>
<argumentList>
<argument>
<name>Ids</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>List</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>InvokeId</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>InvokeIndex</name>
<argumentList>
<argument>
<name>Index</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetDevice</name>
<argumentList>
<argument>
<name>Index</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
<argument>
<name>Mode</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Type</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Uri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Title</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Description</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>ArtworkUri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Shuffle</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetAccount</name>
<argumentList>
<argument>
<name>Index</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
<argument>
<name>Mode</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Type</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Uri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Title</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Description</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>ArtworkUri</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_String</relatedStateVariable>
</argument>
<argument>
<name>Shuffle</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Clear</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Swap</name>
<argumentList>
<argument>
<name>Index1</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
<argument>
<name>Index2</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Uint</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>DeviceMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>AccountMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Modes</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>IdArray</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_String</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Uint</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Bool</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Play</name>
</action>
<action>
<name>Pause</name>
</action>
<action>
<name>Stop</name>
</action>
<action>
<name>Next</name>
</action>
<action>
<name>Previous</name>
</action>
<action>
<name>SetRepeat</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Repeat</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Repeat</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Repeat</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetShuffle</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Shuffle</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Shuffle</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Shuffle</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekSecondAbsolute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Absolute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekSecondRelative</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Relative</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekId</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekIndex</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Index</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>TransportState</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>TransportState</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Id</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Read</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Uri</name>
<direction>out</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReadList</name>
<argumentList>
<argument>
<name>IdList</name>
<direction>in</direction>
<relatedStateVariable>IdList</relatedStateVariable>
</argument>
<argument>
<name>TrackList</name>
<direction>out</direction>
<relatedStateVariable>TrackList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Insert</name>
<argumentList>
<argument>
<name>AfterId</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Uri</name>
<direction>in</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>in</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
<argument>
<name>NewId</name>
<direction>out</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeleteId</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeleteAll</name>
</action>
<action>
<name>TracksMax</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>TracksMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>IdArray</name>
<argumentList>
<argument>
<name>Token</name>
<direction>out</direction>
<relatedStateVariable>IdArrayToken</relatedStateVariable>
</argument>
<argument>
<name>Array</name>
<direction>out</direction>
<relatedStateVariable>IdArray</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>IdArrayChanged</name>
<argumentList>
<argument>
<name>Token</name>
<direction>in</direction>
<relatedStateVariable>IdArrayToken</relatedStateVariable>
</argument>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>IdArrayChanged</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ProtocolInfo</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>ProtocolInfo</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>TransportState</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Playing</allowedValue>
<allowedValue>Paused</allowedValue>
<allowedValue>Stopped</allowedValue>
<allowedValue>Buffering</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Repeat</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Shuffle</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Id</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>IdArray</name>
<dataType>bin.base64</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>TracksMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProtocolInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Index</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Relative</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Absolute</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>TrackList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Uri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdArrayToken</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdArrayChanged</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,402 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Metadata</name>
<argumentList>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ImagesXml</name>
<argumentList>
<argument>
<name>ImagesXml</name>
<direction>out</direction>
<relatedStateVariable>ImagesXml</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistReadArray</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Array</name>
<direction>out</direction>
<relatedStateVariable>IdArray</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistReadList</name>
<argumentList>
<argument>
<name>IdList</name>
<direction>in</direction>
<relatedStateVariable>IdList</relatedStateVariable>
</argument>
<argument>
<name>PlaylistList</name>
<direction>out</direction>
<relatedStateVariable>PlaylistList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistRead</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>Name</relatedStateVariable>
</argument>
<argument>
<name>Description</name>
<direction>out</direction>
<relatedStateVariable>Description</relatedStateVariable>
</argument>
<argument>
<name>ImageId</name>
<direction>out</direction>
<relatedStateVariable>ImageId</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistSetName</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>in</direction>
<relatedStateVariable>Name</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistSetDescription</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Description</name>
<direction>in</direction>
<relatedStateVariable>Description</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistSetImageId</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>ImageId</name>
<direction>in</direction>
<relatedStateVariable>ImageId</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistInsert</name>
<argumentList>
<argument>
<name>AfterId</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>in</direction>
<relatedStateVariable>Name</relatedStateVariable>
</argument>
<argument>
<name>Description</name>
<direction>in</direction>
<relatedStateVariable>Description</relatedStateVariable>
</argument>
<argument>
<name>ImageId</name>
<direction>in</direction>
<relatedStateVariable>ImageId</relatedStateVariable>
</argument>
<argument>
<name>NewId</name>
<direction>out</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistDeleteId</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistMove</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>AfterId</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistsMax</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>PlaylistsMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>TracksMax</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>TracksMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistArrays</name>
<argumentList>
<argument>
<name>Token</name>
<direction>out</direction>
<relatedStateVariable>ArraysToken</relatedStateVariable>
</argument>
<argument>
<name>IdArray</name>
<direction>out</direction>
<relatedStateVariable>IdArray</relatedStateVariable>
</argument>
<argument>
<name>TokenArray</name>
<direction>out</direction>
<relatedStateVariable>TokenArray</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PlaylistArraysChanged</name>
<argumentList>
<argument>
<name>Token</name>
<direction>in</direction>
<relatedStateVariable>ArraysToken</relatedStateVariable>
</argument>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>IdArrayChanged</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Read</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>TrackId</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReadList</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>TrackIdList</name>
<direction>in</direction>
<relatedStateVariable>IdList</relatedStateVariable>
</argument>
<argument>
<name>TrackList</name>
<direction>out</direction>
<relatedStateVariable>TrackList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Insert</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>AfterTrackId</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>in</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
<argument>
<name>NewTrackId</name>
<direction>out</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeleteId</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>TrackId</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeleteAll</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ImagesXml</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>IdArray</name>
<dataType>bin.base64</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>TokenArray</name>
<dataType>bin.base64</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>PlaylistsMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>TracksMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>PlaylistList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Id</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Name</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Description</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>ImageId</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>TrackList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>ArraysToken</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdArrayChanged</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,31 @@
<ohs>
<domain>av</domain>
<version>1</version>
<group name="Manufacturer" count="1">
<property name="Name" type="String" access="ROC" />
<property name="Info" type="String" access="ROC" />
<property name="Url" type="Uri" access="ROC" />
<property name="ImageUri" type="Uri" access="ROC" />
</group>
<group name="Model" count="1">
<property name="Name" type="String" access="ROC" />
<property name="Info" type="String" access="ROC" />
<property name="Url" type="Uri" access="ROC" />
<property name="ImageUri" type="Uri" access="ROC" />
</group>
<group name="Product" count="1">
<property name="Room" type="String" access="ROC" />
<property name="Name" type="String" access="ROC" />
<property name="Info" type="String" access="ROC" />
<property name="Url" type="Uri" access="ROC" />
<property name="ImageUri" type="Uri" access="ROC" />
</group>
<group name="Source" count="C">
<property name="Name" type="String" access="RW" />
<property name="Type" type="String" access="ROC" />
<property name="Visible" type="Boolean" access="RW" />
</group>
<property name="Attributes" type="String" access="ROC" />
<property name="Standby" type="Boolean" access="RW" />
<property name="SourceIndex" type="Unsigned" access="RW" />
</ohs>

View File

@ -0,0 +1,299 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Manufacturer</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Model</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ModelName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ModelInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ModelUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ModelImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Product</name>
<argumentList>
<argument>
<name>Room</name>
<direction>out</direction>
<relatedStateVariable>ProductRoom</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ProductName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ProductInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ProductUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ProductImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Standby</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Standby</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetStandby</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Standby</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceCount</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceCount</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceXml</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceXml</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceIndex</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceIndex</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetSourceIndex</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>SourceIndex</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetSourceIndexByName</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>SourceName</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Source</name>
<argumentList>
<argument>
<name>Index</name>
<direction>in</direction>
<relatedStateVariable>SourceIndex</relatedStateVariable>
</argument>
<argument>
<name>SystemName</name>
<direction>out</direction>
<relatedStateVariable>SourceName</relatedStateVariable>
</argument>
<argument>
<name>Type</name>
<direction>out</direction>
<relatedStateVariable>SourceType</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>SourceName</relatedStateVariable>
</argument>
<argument>
<name>Visible</name>
<direction>out</direction>
<relatedStateVariable>SourceVisible</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Attributes</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Attributes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceXmlChangeCount</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceXmlChangeCount</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>ManufacturerName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductRoom</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Standby</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceIndex</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceXml</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Attributes</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceXmlChangeCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceType</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceVisible</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,313 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Manufacturer</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ManufacturerImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Model</name>
<argumentList>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ModelName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ModelInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ModelUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ModelImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Product</name>
<argumentList>
<argument>
<name>Room</name>
<direction>out</direction>
<relatedStateVariable>ProductRoom</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>ProductName</relatedStateVariable>
</argument>
<argument>
<name>Info</name>
<direction>out</direction>
<relatedStateVariable>ProductInfo</relatedStateVariable>
</argument>
<argument>
<name>Url</name>
<direction>out</direction>
<relatedStateVariable>ProductUrl</relatedStateVariable>
</argument>
<argument>
<name>ImageUri</name>
<direction>out</direction>
<relatedStateVariable>ProductImageUri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Standby</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Standby</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetStandby</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Standby</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceCount</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceCount</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceXml</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceXml</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceIndex</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceIndex</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetSourceIndex</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>SourceIndex</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetSourceIndexByName</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>SourceName</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetSourceBySystemName</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>SourceSystemName</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Source</name>
<argumentList>
<argument>
<name>Index</name>
<direction>in</direction>
<relatedStateVariable>SourceIndex</relatedStateVariable>
</argument>
<argument>
<name>SystemName</name>
<direction>out</direction>
<relatedStateVariable>SourceName</relatedStateVariable>
</argument>
<argument>
<name>Type</name>
<direction>out</direction>
<relatedStateVariable>SourceType</relatedStateVariable>
</argument>
<argument>
<name>Name</name>
<direction>out</direction>
<relatedStateVariable>SourceName</relatedStateVariable>
</argument>
<argument>
<name>Visible</name>
<direction>out</direction>
<relatedStateVariable>SourceVisible</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Attributes</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Attributes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SourceXmlChangeCount</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>SourceXmlChangeCount</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>ManufacturerName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ManufacturerImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ModelImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductRoom</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProductImageUri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Standby</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceIndex</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceXml</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Attributes</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceXmlChangeCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceType</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceSystemName</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>SourceVisible</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

244
openhome/service/Radio1.xml Normal file
View File

@ -0,0 +1,244 @@
<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Play</name>
</action>
<action>
<name>Pause</name>
</action>
<action>
<name>Stop</name>
</action>
<action>
<name>SeekSecondAbsolute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Absolute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekSecondRelative</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Relative</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Channel</name>
<argumentList>
<argument>
<name>Uri</name>
<direction>out</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetChannel</name>
<argumentList>
<argument>
<name>Uri</name>
<direction>in</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>in</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>TransportState</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>TransportState</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Id</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetId</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Uri</name>
<direction>in</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Read</name>
<argumentList>
<argument>
<name>Id</name>
<direction>in</direction>
<relatedStateVariable>Id</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ReadList</name>
<argumentList>
<argument>
<name>IdList</name>
<direction>in</direction>
<relatedStateVariable>IdList</relatedStateVariable>
</argument>
<argument>
<name>ChannelList</name>
<direction>out</direction>
<relatedStateVariable>ChannelList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>IdArray</name>
<argumentList>
<argument>
<name>Token</name>
<direction>out</direction>
<relatedStateVariable>IdArrayToken</relatedStateVariable>
</argument>
<argument>
<name>Array</name>
<direction>out</direction>
<relatedStateVariable>IdArray</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>IdArrayChanged</name>
<argumentList>
<argument>
<name>Token</name>
<direction>in</direction>
<relatedStateVariable>IdArrayToken</relatedStateVariable>
</argument>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>IdArrayChanged</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ChannelsMax</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>ChannelsMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ProtocolInfo</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>ProtocolInfo</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Uri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>TransportState</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Stopped</allowedValue>
<allowedValue>Playing</allowedValue>
<allowedValue>Paused</allowedValue>
<allowedValue>Buffering</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Id</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>IdArray</name>
<dataType>bin.base64</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ChannelsMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProtocolInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Relative</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Absolute</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdArrayToken</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdArrayChanged</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>IdList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>ChannelList</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,90 @@
<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Play</name>
</action>
<action>
<name>Stop</name>
</action>
<action>
<name>SetSender</name>
<argumentList>
<argument>
<name>Uri</name>
<direction>in</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>in</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Sender</name>
<argumentList>
<argument>
<name>Uri</name>
<direction>out</direction>
<relatedStateVariable>Uri</relatedStateVariable>
</argument>
<argument>
<name>Metadata</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ProtocolInfo</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>ProtocolInfo</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>TransportState</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>TransportState</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Uri</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>TransportState</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Stopped</allowedValue>
<allowedValue>Playing</allowedValue>
<allowedValue>Waiting</allowedValue>
<allowedValue>Buffering</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>ProtocolInfo</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,88 @@
<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>PresentationUrl</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>PresentationUrl</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Metadata</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Audio</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Audio</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Status</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Status</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Attributes</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Attributes</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>PresentationUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Audio</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Status</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Enabled</allowedValue>
<allowedValue>Disabled</allowedValue>
<allowedValue>Blocked</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Attributes</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,123 @@
<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>PresentationUrl</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>PresentationUrl</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Metadata</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Metadata</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Audio</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Audio</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Status</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Status</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Status2</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Status2</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Enabled</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Enabled</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Attributes</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Attributes</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>PresentationUrl</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Metadata</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Audio</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Status</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Enabled</allowedValue>
<allowedValue>Disabled</allowedValue>
<allowedValue>Blocked</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Status2</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Sending</allowedValue>
<allowedValue>Ready</allowedValue>
<allowedValue>Blocked</allowedValue>
<allowedValue>Inactive</allowedValue>
<allowedValue>Disabled</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Enabled</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Attributes</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Subscribe</name>
<argumentList>
<argument>
<name>ClientId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ClientId</relatedStateVariable>
</argument>
<argument>
<name>Udn</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Udn</relatedStateVariable>
</argument>
<argument>
<name>Service</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Service</relatedStateVariable>
</argument>
<argument>
<name>RequestedDuration</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_RequestedDuration</relatedStateVariable>
</argument>
<argument>
<name>Sid</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_Sid</relatedStateVariable>
</argument>
<argument>
<name>Duration</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_Duration</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Unsubscribe</name>
<argumentList>
<argument>
<name>Sid</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Sid</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Renew</name>
<argumentList>
<argument>
<name>Sid</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Sid</relatedStateVariable>
</argument>
<argument>
<name>RequestedDuration</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_RequestedDuration</relatedStateVariable>
</argument>
<argument>
<name>Duration</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_Duration</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetPropertyUpdates</name>
<argumentList>
<argument>
<name>ClientId</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ClientId</relatedStateVariable>
</argument>
<argument>
<name>Updates</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_PropertyUpdates</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_ClientId</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Udn</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Service</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_RequestedDuration</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Sid</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Duration</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_PropertyUpdates</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Time</name>
<argumentList>
<argument>
<name>TrackCount</name>
<direction>out</direction>
<relatedStateVariable>TrackCount</relatedStateVariable>
</argument>
<argument>
<name>Duration</name>
<direction>out</direction>
<relatedStateVariable>Duration</relatedStateVariable>
</argument>
<argument>
<name>Seconds</name>
<direction>out</direction>
<relatedStateVariable>Seconds</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>TrackCount</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Duration</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Seconds</name>
<dataType>ui4</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>PlayAs</name>
<argumentList>
<argument>
<name>Mode</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_string</relatedStateVariable>
</argument>
<argument>
<name>Command</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_string</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Play</name>
</action>
<action>
<name>Pause</name>
</action>
<action>
<name>Stop</name>
</action>
<action>
<name>SkipNext</name>
</action>
<action>
<name>SkipPrevious</name>
</action>
<action>
<name>SetRepeat</name>
<argumentList>
<argument>
<name>Repeat</name>
<direction>in</direction>
<relatedStateVariable>Repeat</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetShuffle</name>
<argumentList>
<argument>
<name>Shuffle</name>
<direction>in</direction>
<relatedStateVariable>Shuffle</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekSecondAbsolute</name>
<argumentList>
<argument>
<name>StreamId</name>
<direction>in</direction>
<relatedStateVariable>StreamId</relatedStateVariable>
</argument>
<argument>
<name>SecondAbsolute</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_uint</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SeekSecondRelative</name>
<argumentList>
<argument>
<name>StreamId</name>
<direction>in</direction>
<relatedStateVariable>StreamId</relatedStateVariable>
</argument>
<argument>
<name>SecondRelative</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_int</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>TransportState</name>
<argumentList>
<argument>
<name>State</name>
<direction>out</direction>
<relatedStateVariable>TransportState</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Modes</name>
<argumentList>
<argument>
<name>Modes</name>
<direction>out</direction>
<relatedStateVariable>Modes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ModeInfo</name>
<argumentList>
<argument>
<name>CanSkipNext</name>
<direction>out</direction>
<relatedStateVariable>CanSkipNext</relatedStateVariable>
</argument>
<argument>
<name>CanSkipPrevious</name>
<direction>out</direction>
<relatedStateVariable>CanSkipPrevious</relatedStateVariable>
</argument>
<argument>
<name>CanRepeat</name>
<direction>out</direction>
<relatedStateVariable>CanRepeat</relatedStateVariable>
</argument>
<argument>
<name>CanShuffle</name>
<direction>out</direction>
<relatedStateVariable>CanShuffle</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>StreamInfo</name>
<argumentList>
<argument>
<name>StreamId</name>
<direction>out</direction>
<relatedStateVariable>StreamId</relatedStateVariable>
</argument>
<argument>
<name>CanSeek</name>
<direction>out</direction>
<relatedStateVariable>CanSeek</relatedStateVariable>
</argument>
<argument>
<name>CanPause</name>
<direction>out</direction>
<relatedStateVariable>CanPause</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>StreamId</name>
<argumentList>
<argument>
<name>StreamId</name>
<direction>out</direction>
<relatedStateVariable>StreamId</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Repeat</name>
<argumentList>
<argument>
<name>Repeat</name>
<direction>out</direction>
<relatedStateVariable>Repeat</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Shuffle</name>
<argumentList>
<argument>
<name>Shuffle</name>
<direction>out</direction>
<relatedStateVariable>Shuffle</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Modes</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CanSkipNext</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CanSkipPrevious</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CanRepeat</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CanShuffle</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>StreamId</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CanSeek</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CanPause</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>TransportState</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Playing</allowedValue>
<allowedValue>Paused</allowedValue>
<allowedValue>Stopped</allowedValue>
<allowedValue>Buffering</allowedValue>
<allowedValue>Waiting</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Repeat</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Shuffle</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_uint</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_int</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_string</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Characteristics</name>
<argumentList>
<argument>
<name>VolumeMax</name>
<direction>out</direction>
<relatedStateVariable>VolumeMax</relatedStateVariable>
</argument>
<argument>
<name>VolumeUnity</name>
<direction>out</direction>
<relatedStateVariable>VolumeUnity</relatedStateVariable>
</argument>
<argument>
<name>VolumeSteps</name>
<direction>out</direction>
<relatedStateVariable>VolumeSteps</relatedStateVariable>
</argument>
<argument>
<name>VolumeMilliDbPerStep</name>
<direction>out</direction>
<relatedStateVariable>VolumeMilliDbPerStep</relatedStateVariable>
</argument>
<argument>
<name>BalanceMax</name>
<direction>out</direction>
<relatedStateVariable>BalanceMax</relatedStateVariable>
</argument>
<argument>
<name>FadeMax</name>
<direction>out</direction>
<relatedStateVariable>FadeMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetVolume</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeInc</name>
</action>
<action>
<name>VolumeDec</name>
</action>
<action>
<name>Volume</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetBalance</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Balance</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>BalanceInc</name>
</action>
<action>
<name>BalanceDec</name>
</action>
<action>
<name>Balance</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Balance</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetFade</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Fade</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>FadeInc</name>
</action>
<action>
<name>FadeDec</name>
</action>
<action>
<name>Fade</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Fade</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetMute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Mute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeLimit</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>VolumeLimit</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Volume</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Mute</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Balance</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Fade</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeLimit</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeUnity</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeSteps</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeMilliDbPerStep</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>BalanceMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>FadeMax</name>
<dataType>ui4</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,214 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Characteristics</name>
<argumentList>
<argument>
<name>VolumeMax</name>
<direction>out</direction>
<relatedStateVariable>VolumeMax</relatedStateVariable>
</argument>
<argument>
<name>VolumeUnity</name>
<direction>out</direction>
<relatedStateVariable>VolumeUnity</relatedStateVariable>
</argument>
<argument>
<name>VolumeSteps</name>
<direction>out</direction>
<relatedStateVariable>VolumeSteps</relatedStateVariable>
</argument>
<argument>
<name>VolumeMilliDbPerStep</name>
<direction>out</direction>
<relatedStateVariable>VolumeMilliDbPerStep</relatedStateVariable>
</argument>
<argument>
<name>BalanceMax</name>
<direction>out</direction>
<relatedStateVariable>BalanceMax</relatedStateVariable>
</argument>
<argument>
<name>FadeMax</name>
<direction>out</direction>
<relatedStateVariable>FadeMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetVolume</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeInc</name>
</action>
<action>
<name>VolumeDec</name>
</action>
<action>
<name>Volume</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetBalance</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Balance</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>BalanceInc</name>
</action>
<action>
<name>BalanceDec</name>
</action>
<action>
<name>Balance</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Balance</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetFade</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Fade</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>FadeInc</name>
</action>
<action>
<name>FadeDec</name>
</action>
<action>
<name>Fade</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Fade</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetMute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Mute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeLimit</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>VolumeLimit</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>UnityGain</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>UnityGain</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Volume</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Mute</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Balance</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Fade</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeLimit</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeUnity</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeSteps</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeMilliDbPerStep</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>BalanceMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>FadeMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>UnityGain</name>
<dataType>boolean</dataType>
</stateVariable>
</serviceStateTable>
</scpd>

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>Characteristics</name>
<argumentList>
<argument>
<name>VolumeMax</name>
<direction>out</direction>
<relatedStateVariable>VolumeMax</relatedStateVariable>
</argument>
<argument>
<name>VolumeUnity</name>
<direction>out</direction>
<relatedStateVariable>VolumeUnity</relatedStateVariable>
</argument>
<argument>
<name>VolumeSteps</name>
<direction>out</direction>
<relatedStateVariable>VolumeSteps</relatedStateVariable>
</argument>
<argument>
<name>VolumeMilliDbPerStep</name>
<direction>out</direction>
<relatedStateVariable>VolumeMilliDbPerStep</relatedStateVariable>
</argument>
<argument>
<name>BalanceMax</name>
<direction>out</direction>
<relatedStateVariable>BalanceMax</relatedStateVariable>
</argument>
<argument>
<name>FadeMax</name>
<direction>out</direction>
<relatedStateVariable>FadeMax</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetVolume</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeInc</name>
</action>
<action>
<name>VolumeDec</name>
</action>
<action>
<name>Volume</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetBalance</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Balance</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>BalanceInc</name>
</action>
<action>
<name>BalanceDec</name>
</action>
<action>
<name>Balance</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Balance</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetFade</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Fade</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>FadeInc</name>
</action>
<action>
<name>FadeDec</name>
</action>
<action>
<name>Fade</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Fade</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetMute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Mute</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeLimit</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>VolumeLimit</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>UnityGain</name>
<argumentList>
<argument>
<name>Value</name>
<direction>out</direction>
<relatedStateVariable>UnityGain</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>VolumeOffset</name>
<argumentList>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>Channel</relatedStateVariable>
</argument>
<argument>
<name>VolumeOffsetBinaryMilliDb</name>
<direction>out</direction>
<relatedStateVariable>VolumeOffsetBinaryMilliDb</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetVolumeOffset</name>
<argumentList>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>Channel</relatedStateVariable>
</argument>
<argument>
<name>VolumeOffsetBinaryMilliDb</name>
<direction>in</direction>
<relatedStateVariable>VolumeOffsetBinaryMilliDb</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Trim</name>
<argumentList>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>Channel</relatedStateVariable>
</argument>
<argument>
<name>TrimBinaryMilliDb</name>
<direction>out</direction>
<relatedStateVariable>TrimBinaryMilliDb</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetTrim</name>
<argumentList>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>Channel</relatedStateVariable>
</argument>
<argument>
<name>TrimBinaryMilliDb</name>
<direction>in</direction>
<relatedStateVariable>TrimBinaryMilliDb</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="yes">
<name>Volume</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Mute</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Balance</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Fade</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeLimit</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeUnity</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeSteps</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeMilliDbPerStep</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>BalanceMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>FadeMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>UnityGain</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Channel</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>VolumeOffsetBinaryMilliDb</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeOffsets</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>VolumeOffsetMax</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>TrimBinaryMilliDb</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>Trim</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>