8 Appendix C: A Full UPnP Service Description
The following is a sample service description of the Remote Experience Advertisement Protocol that the device is required to publish before the protocol takes action as a part of the prerequisite, as specified in section 1.5.
The default namespace "urn:schemas-upnp-org:service-1-0" is as specified in [UPNPARCH1] sections 2.3 and 2.7.
-
<?xml version='1.0'?> <scpd xmlns="urn:schemas-upnp-org:service-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <actionList> <action> <name>AcquireNonce</name> <argumentList> <argument> <name>HostId</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable> </argument> <argument> <name>Nonce</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable> </argument> <argument> <name>SupportedSignatureAlgorithms</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_SignAlgorithmList</relatedStateVariable> </argument> <argument> <name>AttachCertificate</name> <direction>out</direction> <relatedStateVariable>A_ARG_TYPE_Bool</relatedStateVariable> </argument> </argumentList> </action> <action> <name>Advertise</name> <argumentList> <argument> <name>Nonce</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable> </argument> <argument> <name>HostId</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable> </argument> <argument> <name>ApplicationId</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable> </argument> <argument> <name>ApplicationVersion</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Version</relatedStateVariable> </argument> <argument> <name>ApplicationData</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_AnyString</relatedStateVariable> </argument> <argument> <name>HostFriendlyName</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Name</relatedStateVariable> </argument> <argument> <name>ExperienceFriendlyName</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Name</relatedStateVariable> </argument> <argument> <name>ExperienceIconUri</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Uri</relatedStateVariable> </argument> <argument> <name>ExperienceEndpointUri</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Uri</relatedStateVariable> </argument> <argument> <name>ExperienceEndpointData</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_AnyString</relatedStateVariable> </argument> <argument> <name>SignatureAlgorithm</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_SignAlgorithm</relatedStateVariable> </argument> <argument> <name>Signature</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Signature</relatedStateVariable> </argument> <argument> <name>HostCertificate</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Certificate</relatedStateVariable> </argument> </argumentList> </action> <action> <name>Inhibit</name> <argumentList> <argument> <name>Nonce</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable> </argument> <argument> <name>HostId</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable> </argument> <argument> <name>ApplicationId</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable> </argument> <argument> <name>ApplicationVersion</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Version</relatedStateVariable> </argument> <argument> <name>ApplicationData</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_AnyString</relatedStateVariable> </argument> <argument> <name>ReasonCode</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_ReasonCode</relatedStateVariable> </argument> <argument> <name>ReasonMessage</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_AnyString</relatedStateVariable> </argument> <argument> <name>SignatureAlgorithm</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_SignAlgorithm</relatedStateVariable> </argument> <argument> <name>Signature</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Signature</relatedStateVariable> </argument> <argument> <name>HostCertificate</name> <direction>in</direction> <relatedStateVariable>A_ARG_TYPE_Certificate</relatedStateVariable> </argument> </argumentList> </action> </actionList> <serviceStateTable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_EndpointID</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Nonce</name> <dataType>ui4</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_SignAlgorithmList</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Bool</name> <dataType>boolean</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Version</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_AnyString</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Name</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Uri</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_SignAlgorithm</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Signature</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_Certificate</name> <dataType>string</dataType> </stateVariable> <stateVariable sendEvents='no'> <name>A_ARG_TYPE_ReasonCode</name> <dataType>ui4</dataType> </stateVariable> </serviceStateTable> </scpd>