diff options
Diffstat (limited to 'httptnt')
-rw-r--r-- | httptnt/cds_scpd.ecpp | 152 | ||||
-rw-r--r-- | httptnt/cds_scpd.o | bin | 0 -> 206016 bytes | |||
-rw-r--r-- | httptnt/cms_scpd.ecpp | 140 | ||||
-rw-r--r-- | httptnt/cms_scpd.o | bin | 0 -> 207584 bytes | |||
-rw-r--r-- | httptnt/deviceDescription.ecpp | 88 | ||||
-rw-r--r-- | httptnt/deviceDescription.o | bin | 0 -> 295912 bytes |
6 files changed, 380 insertions, 0 deletions
diff --git a/httptnt/cds_scpd.ecpp b/httptnt/cds_scpd.ecpp new file mode 100644 index 0000000..73f0baf --- /dev/null +++ b/httptnt/cds_scpd.ecpp @@ -0,0 +1,152 @@ +<?xml version = "1.0" encoding = "utf-8"?> +<# + +This is the Connection Manager Service Description File + +It contains the service description for the connection manager of the media server. + +#> +<{ reply.setContentType("application/xml"); }> +<scpd xmlns="urn:schemas-upnp-org:service-1-0"> + <specVersion> + <major>1</major> + <minor>0</minor> + </specVersion> + <actionList> + <action> + <name>GetSearchCapabilities</name> + <argumentList> + <argument> + <name>SearchCaps</name> + <direction>out</direction> + <relatedStateVariable>SearchCapabilities</relatedStateVariable> + </argument> + </argumentList> + </action> + <action> + <name>GetSortCapabilities</name> + <argumentList> + <argument> + <name>SortCaps</name> + <direction>out</direction> + <relatedStateVariable>SortCapabilities</relatedStateVariable> + </argument> + </argumentList> + </action> + <action> + <name>GetSystemUpdateID</name> + <argumentList> + <argument> + <name>Id</name> + <direction>out</direction> + <relatedStateVariable>SystemUpdateID</relatedStateVariable> + </argument> + </argumentList> + </action> + <action> + <name>Browse</name> + <argumentList> + <argument> + <name>ObjectID</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> + </argument> + <argument> + <name>BrowseFlag</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_BrowseFlag</relatedStateVariable> + </argument> + <argument> + <name>Filter</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_Filter</relatedStateVariable> + </argument> + <argument> + <name>StartingIndex</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_Index</relatedStateVariable> + </argument> + <argument> + <name>RequestedCount</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> + </argument> + <argument> + <name>SortCriteria</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_SortCriteria</relatedStateVariable> + </argument> + <argument> + <name>Result</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_Result</relatedStateVariable> + </argument> + <argument> + <name>NumberReturned</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> + </argument> + <argument> + <name>TotalMatches</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_Count</relatedStateVariable> + </argument> + <argument> + <name>UpdateID</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_UpdateID</relatedStateVariable> + </argument> + </argumentList> + </action> + </actionList> + <serviceStateTable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_ObjectID</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_Result</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_BrowseFlag</name> + <dataType>string</dataType> + <allowedValueList> + <allowedValue>BrowseMetadata</allowedValue> + <allowedValue>BrowseDirectChildren</allowedValue> + </allowedValueList> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_Filter</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_SortCriteria</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_Index</name> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_Count</name> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_UpdateID</name> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>SearchCapabilities</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>SortCapabilities</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="yes"> + <name>SystemUpdateID</name> + <dataType>ui4</dataType> + </stateVariable> + </serviceStateTable> +</scpd> diff --git a/httptnt/cds_scpd.o b/httptnt/cds_scpd.o Binary files differnew file mode 100644 index 0000000..40f462c --- /dev/null +++ b/httptnt/cds_scpd.o diff --git a/httptnt/cms_scpd.ecpp b/httptnt/cms_scpd.ecpp new file mode 100644 index 0000000..766e0a6 --- /dev/null +++ b/httptnt/cms_scpd.ecpp @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<# + +This is the Connection Manager Service Description File + +It contains the service description for the connection manager of the media server. + +#> +<{ reply.setContentType("application/xml"); }> +<scpd xmlns="urn:schemas-upnp-org:service-1-0"> + <specVersion> + <major>1</major> + <minor>0</minor> + </specVersion> + <actionList> + <action> + <name>GetProtocolInfo</name> + <argumentList> + <argument> + <name>Source</name> + <direction>out</direction> + <relatedStateVariable>SourceProtocolInfo</relatedStateVariable> + </argument> + <argument> + <name>Sink</name> + <direction>out</direction> + <relatedStateVariable>SinkProtocolInfo</relatedStateVariable> + </argument> + </argumentList> + </action> + <action> + <name>GetCurrentConnectionIDs</name> + <argumentList> + <argument> + <name>ConnectionIDs</name> + <direction>out</direction> + <relatedStateVariable>CurrentConnectionIDs</relatedStateVariable> + </argument> + </argumentList> + </action> + <action> + <name>GetCurrentConnectionInfo</name> + <argumentList> + <argument> + <name>ConnectionID</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable> + </argument> + <argument> + <name>RcsID</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable> + </argument> + <argument> + <name>AVTransportID</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable> + </argument> + <argument> + <name>ProtocolInfo</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable> + </argument> + <argument> + <name>PeerConnectionManager</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable> + </argument> + <argument> + <name>PeerConnectionID</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable> + </argument> + <argument> + <name>Direction</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable> + </argument> + <argument> + <name>Status</name> + <direction>out</direction> + <relatedStateVariable>A_ARG_TYPE_ConnectionStatus</relatedStateVariable> + </argument> + </argumentList> + </action> + </actionList> + <serviceStateTable> + <stateVariable sendEvents="yes"> + <name>SourceProtocolInfo</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="yes"> + <name>SinkProtocolInfo</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="yes"> + <name>CurrentConnectionIDs</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_ConnectionStatus</name> + <dataType>string</dataType> + <allowedValueList> + <allowedValue>OK</allowedValue> + <allowedValue>ContentFormatMismatch</allowedValue> + <allowedValue>InsufficientBandwidth</allowedValue> + <allowedValue>UnreliableChannel</allowedValue> + <allowedValue>Unknown</allowedValue> + </allowedValueList> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_ConnectionManager</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_Direction</name> + <dataType>string</dataType> + <allowedValueList> + <allowedValue>Input</allowedValue> + <allowedValue>Output</allowedValue> + </allowedValueList> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_ProtocolInfo</name> + <dataType>string</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_ConnectionID</name> + <dataType>i4</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_AVTransportID</name> + <dataType>i4</dataType> + </stateVariable> + <stateVariable sendEvents="no"> + <name>A_ARG_TYPE_RcsID</name> + <dataType>i4</dataType> + </stateVariable> + </serviceStateTable> +</scpd> diff --git a/httptnt/cms_scpd.o b/httptnt/cms_scpd.o Binary files differnew file mode 100644 index 0000000..4110788 --- /dev/null +++ b/httptnt/cms_scpd.o diff --git a/httptnt/deviceDescription.ecpp b/httptnt/deviceDescription.ecpp new file mode 100644 index 0000000..f43ff8c --- /dev/null +++ b/httptnt/deviceDescription.ecpp @@ -0,0 +1,88 @@ +<?xml version = "1.0" encoding = "utf-8"?> +<# + +This is the Device Description File + +It contains the device and service descriptions of the media server. + +#> +<%pre> +#include <string> +#include <stdint.h> +#include "../include/tools.h" +#include "../include/server.h" +#include "../include/service.h" +#include "../include/webserver.h" +#include "../include/config.h" + +using namespace upnp; +</%pre> +<{ + upnp::cMediaServer* server = cMediaServer::GetInstance(); + const upnp::cWebserver& webserver = server->GetWebserver(); + + const upnp::cMediaServer::Description& serverDescription = server->GetServerDescription(); + std::string deviceUUID = server->GetDeviceUUID(); + std::string urlBase = webserver.GetBaseUrl(); + std::string presentationUrl = webserver.GetPresentationUrl(); + std::string staticContentUrl = webserver.GetStaticContentUrl(); + + std::string serviceUrl = webserver.GetServiceUrl(); + std::string controlUrl = webserver.GetControlUrl(); + + reply.setContentType("application/xml"); + +}> +<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:dlna="urn:schemas-dlna-org:device-1-0"> + <specVersion> + <major>1</major> + <minor>0</minor> + </specVersion> + <URLBase><$ urlBase $></URLBase> + <device> + <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType> + <friendlyName><$ serverDescription.friendlyName $></friendlyName> + <manufacturer><$ serverDescription.manufacturer $></manufacturer> + <manufacturerURL><$ serverDescription.manufacturerURL $></manufacturerURL> + <modelDescription><$ serverDescription.modelDescription $></modelDescription> + <modelName><$ serverDescription.modelName $></modelName> + <modelNumber><$ serverDescription.modelNumber $></modelNumber> + <modelURL><$ serverDescription.modelURL $></modelURL> + <serialNumber><$ serverDescription.serialNumber $></serialNumber> + <UDN><$ deviceUUID $></UDN> + <presentationURL><$ presentationUrl $></presentationURL> + <dlna:X_DLNADOC>DMS-1.50</dlna:X_DLNADOC> + <serviceList> +<{ + const cMediaServer::serviceMap& services = server->GetServices(); + + for(cMediaServer::serviceMap::const_iterator it = services.begin(); it != services.end(); ++it){ + const cUPnPService::Description& serviceDescription = (*it).second->GetServiceDescription(); +}> + + <service> + <serviceType><$ serviceDescription.serviceType $></serviceType> + <serviceId><$ serviceDescription.serviceID $></serviceId> + <SCPDURL><$ serviceUrl $><$ serviceDescription.SCPDXML $></SCPDURL> + <controlURL><$ controlUrl $><$ serviceDescription.controlDescriptor $></controlURL> + <eventSubURL><$ controlUrl $><$ serviceDescription.eventSubscriberDescriptor $></eventSubURL> + </service> +% }; + </serviceList> + <iconList> +<{ + const cMediaServer::iconList& icons = server->GetServerIcons(); + + for(cMediaServer::iconList::const_iterator it = icons.begin(); it != icons.end(); ++it){ +}> + <icon> + <mimetype><$ (*it).profile.mime $></mimetype> + <width><$ (*it).profile.width $></width> + <height><$ (*it).profile.height $></height> + <depth><$ (int)(*it).profile.bitDepth $></depth> + <url><$ staticContentUrl $><$ (*it).filename $></url> + </icon> +% }; + </iconList> + </device> +</root>
\ No newline at end of file diff --git a/httptnt/deviceDescription.o b/httptnt/deviceDescription.o Binary files differnew file mode 100644 index 0000000..b14f268 --- /dev/null +++ b/httptnt/deviceDescription.o |