diff options
-rw-r--r-- | httptnt/cds_scpd.ecpp | 382 | ||||
-rw-r--r-- | httptnt/cds_scpd.o | bin | 206016 -> 210528 bytes | |||
-rw-r--r-- | httptnt/deviceDescription.ecpp | 7 | ||||
-rw-r--r-- | httptnt/deviceDescription.o | bin | 295912 -> 295880 bytes | |||
-rw-r--r-- | include/plugin.h | 21 | ||||
-rw-r--r-- | include/service.h | 1 | ||||
-rwxr-xr-x | libvdr-upnp.so | bin | 1772649 -> 1810533 bytes | |||
-rwxr-xr-x | libvdr-upnp.so.1.7.27 | bin | 1772649 -> 1810533 bytes | |||
-rw-r--r-- | media/mediaManager.cpp | 32 | ||||
-rw-r--r-- | media/mediaManager.o | bin | 387416 -> 464328 bytes | |||
-rw-r--r-- | media/pluginManager.cpp | 6 | ||||
-rw-r--r-- | media/pluginManager.o | bin | 269696 -> 270936 bytes | |||
-rw-r--r-- | metadata.db | bin | 7168 -> 7168 bytes | |||
-rw-r--r-- | po/upnp.pot | 2 | ||||
-rw-r--r-- | server/connectionManager.cpp | 1 | ||||
-rw-r--r-- | server/connectionManager.o | bin | 313200 -> 313200 bytes | |||
-rw-r--r-- | server/contentDirectory.o | bin | 232952 -> 232960 bytes | |||
-rw-r--r-- | server/server.cpp | 4 | ||||
-rw-r--r-- | server/server.o | bin | 327792 -> 327800 bytes | |||
-rw-r--r-- | server/service.o | bin | 84424 -> 84424 bytes | |||
-rw-r--r-- | server/webserver.cpp | 7 | ||||
-rw-r--r-- | server/webserver.o | bin | 549288 -> 549144 bytes |
22 files changed, 306 insertions, 157 deletions
diff --git a/httptnt/cds_scpd.ecpp b/httptnt/cds_scpd.ecpp index 73f0baf..7a2c72f 100644 --- a/httptnt/cds_scpd.ecpp +++ b/httptnt/cds_scpd.ecpp @@ -8,145 +8,245 @@ It contains the service description for the connection manager of the media serv #> <{ 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> + <serviceStateTable> + <stateVariable> <Optional/> + <name>TransferIDs</name> + <sendEventsAttribute>yes</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_ObjectID</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_Result</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_SearchCriteria</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_BrowseFlag</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + <allowedValueList> + <allowedValue>BrowseMetadata</allowedValue> + <allowedValue>BrowseDirectChildren</allowedValue> + </allowedValueList> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_Filter</name> + <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_SortCriteria</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_Index</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_Count</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable> + <name>A_ARG_TYPE_UpdateID</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_TransferID</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_TransferStatus</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + <allowedValueList> + <allowedValue>COMPLETED</allowedValue> + <allowedValue>ERROR</allowedValue> + <allowedValue>IN_PROGRESS</allowedValue> + <allowedValue>STOPPED</allowedValue> + </allowedValueList> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_TransferLength</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_TransferTotal</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_TagValueList</name> <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>A_ARG_TYPE_URI</name> + <sendEventsAttribute>no</sendEventsAttribute> + <dataType>uri</dataType> + </stateVariable> + <stateVariable> + <name>SearchCapabilities</name> + <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>SortCapabilities</name> + <sendEventsAttribute>no</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + <stateVariable> + <name>SystemUpdateID</name> + <sendEventsAttribute>yes</sendEventsAttribute> + <dataType>ui4</dataType> + </stateVariable> + <stateVariable> <Optional/> + <name>ContainerUpdateIDs</name> +<sendEventsAttribute>yes</sendEventsAttribute> + <dataType>string</dataType> + </stateVariable> + </serviceStateTable> + <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> + <action> + <name>Search</name> + <argumentList> + <argument> + <name>ContainerID</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_ObjectID</relatedStateVariable> + </argument> + <argument> + <name>SearchCriteria</name> + <direction>in</direction> + <relatedStateVariable>A_ARG_TYPE_SearchCriteria </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> </scpd> diff --git a/httptnt/cds_scpd.o b/httptnt/cds_scpd.o Binary files differindex 40f462c..aa5d2d9 100644 --- a/httptnt/cds_scpd.o +++ b/httptnt/cds_scpd.o diff --git a/httptnt/deviceDescription.ecpp b/httptnt/deviceDescription.ecpp index f43ff8c..dfbe853 100644 --- a/httptnt/deviceDescription.ecpp +++ b/httptnt/deviceDescription.ecpp @@ -38,7 +38,6 @@ using namespace upnp; <major>1</major> <minor>0</minor> </specVersion> - <URLBase><$ urlBase $></URLBase> <device> <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType> <friendlyName><$ serverDescription.friendlyName $></friendlyName> @@ -50,7 +49,7 @@ using namespace upnp; <modelURL><$ serverDescription.modelURL $></modelURL> <serialNumber><$ serverDescription.serialNumber $></serialNumber> <UDN><$ deviceUUID $></UDN> - <presentationURL><$ presentationUrl $></presentationURL> + <presentationURL><$ urlBase $><$ presentationUrl $></presentationURL> <dlna:X_DLNADOC>DMS-1.50</dlna:X_DLNADOC> <serviceList> <{ @@ -63,7 +62,7 @@ using namespace upnp; <service> <serviceType><$ serviceDescription.serviceType $></serviceType> <serviceId><$ serviceDescription.serviceID $></serviceId> - <SCPDURL><$ serviceUrl $><$ serviceDescription.SCPDXML $></SCPDURL> + <SCPDURL><$ urlBase $><$ serviceUrl $><$ serviceDescription.SCPDXML $></SCPDURL> <controlURL><$ controlUrl $><$ serviceDescription.controlDescriptor $></controlURL> <eventSubURL><$ controlUrl $><$ serviceDescription.eventSubscriberDescriptor $></eventSubURL> </service> @@ -80,7 +79,7 @@ using namespace upnp; <width><$ (*it).profile.width $></width> <height><$ (*it).profile.height $></height> <depth><$ (int)(*it).profile.bitDepth $></depth> - <url><$ staticContentUrl $><$ (*it).filename $></url> + <url><$ urlBase $><$ staticContentUrl $><$ (*it).filename $></url> </icon> % }; </iconList> diff --git a/httptnt/deviceDescription.o b/httptnt/deviceDescription.o Binary files differindex b14f268..52c8b9f 100644 --- a/httptnt/deviceDescription.o +++ b/httptnt/deviceDescription.o diff --git a/include/plugin.h b/include/plugin.h index 94a60da..29803f5 100644 --- a/include/plugin.h +++ b/include/plugin.h @@ -144,6 +144,8 @@ public: string GetParentID() const { return parentID; } bool SetTitle(string title); string GetTitle() const { return title; } + bool SetCreator(string creator); + string GetCreator() const { return creator; } bool SetUpnpClass(string upnpClass); string GetUpnpClass() const { return upnpClass; } bool SetRestricted(bool restricted); @@ -173,6 +175,7 @@ private: string objectID; string parentID; string title; + string creator; string upnpClass; bool restricted; string description; @@ -368,6 +371,22 @@ public: virtual size_t Read(char* buf, size_t bufLen); /** + * Seeks in the stream + * + * This function sets the file curser to the specific byte position. + * + * The offset is added to the position relatively to "origin". + * This can be (from <cstdio>): + * + * - SEEK_SET + * - SEEK_CUR + * - SEEK_END + * + * Returns true, if seeking was successful, false otherwise. + */ + virtual bool Seek(size_t offset, int origin); + + /** * Closes the file * * This function closes the file opened by Open(). It MUST free all @@ -415,7 +434,7 @@ protected: * - change of the parent container, where the file or container * was moved to */ - void OnContainerUpdate(string uri, long containerUpdateId); + void OnContainerUpdate(string uri, long containerUpdateId, string changesUri = string()); }; diff --git a/include/service.h b/include/service.h index ddcf614..07d3551 100644 --- a/include/service.h +++ b/include/service.h @@ -9,6 +9,7 @@ #define SERVICE_H_ #include <upnp/upnp.h> +#include <vdr/thread.h> #include <string> namespace upnp { diff --git a/libvdr-upnp.so b/libvdr-upnp.so Binary files differindex da4f86a..131fa37 100755 --- a/libvdr-upnp.so +++ b/libvdr-upnp.so diff --git a/libvdr-upnp.so.1.7.27 b/libvdr-upnp.so.1.7.27 Binary files differindex da4f86a..131fa37 100755 --- a/libvdr-upnp.so.1.7.27 +++ b/libvdr-upnp.so.1.7.27 diff --git a/media/mediaManager.cpp b/media/mediaManager.cpp index 9740a0b..ed07da7 100644 --- a/media/mediaManager.cpp +++ b/media/mediaManager.cpp @@ -10,6 +10,7 @@ #include "../include/server.h" #include <upnp/upnp.h> #include <sstream> +#include <tntdb/statement.h> #include <tntdb/result.h> namespace upnp { @@ -43,23 +44,48 @@ void cMediaManager::OnContainerUpdate(string containerID, long updateID){ } StringList cMediaManager::GetSearchCapabilities() const { - // TODO: SearchCapabilities ermitteln und zurückgeben. StringList list; + list.push_back("dc:title"); + list.push_back("dc:creator"); + list.push_back("dc:description"); + list.push_back("upnp:longDescription"); + list.push_back("res@protocolInfo"); + list.push_back("upnp:class"); + list.push_back("dc:date"); + list.push_back("dc:language"); + return list; } StringList cMediaManager::GetSortCapabilities() const { - // TODO: SortCapabilities ermitteln und zurückgeben. StringList list; + list.push_back("dc:title"); + list.push_back("dc:creator"); + list.push_back("dc:description"); + list.push_back("upnp:longDescription"); + list.push_back("res@protocolInfo"); + list.push_back("upnp:class"); + list.push_back("dc:date"); + list.push_back("dc:language"); + return list; } StringList cMediaManager::GetSupportedProtocolInfos() const { - // TODO: ProtocolInfos ermitteln und zurückgeben. + tntdb::Connection conn = mConnection; + tntdb::Statement stmt = conn.prepare( + "SELECT DISTINCT protocolInfo FROM resources;" + ); + StringList list; + for(tntdb::Statement::const_iterator it = stmt.begin(); it != stmt.end(); ++it){ + tntdb::Row row = (*it); + list.push_back(row.getString("protocolInfo")); + } + return list; } diff --git a/media/mediaManager.o b/media/mediaManager.o Binary files differindex aae1479..171e839 100644 --- a/media/mediaManager.o +++ b/media/mediaManager.o diff --git a/media/pluginManager.cpp b/media/pluginManager.cpp index 232a9fe..e677d6a 100644 --- a/media/pluginManager.cpp +++ b/media/pluginManager.cpp @@ -182,8 +182,6 @@ bool cMetadata::Resource::SetResourceUri(string resourceUri){ } bool cMetadata::Resource::SetProtocolInfo(string protocolInfo){ - //TODO validiere protocolInfo. - this->protocolInfo = protocolInfo; return true; } @@ -254,6 +252,10 @@ size_t cUPnPResourceProvider::Read(char* buf, size_t bufLen){ return -1; } +bool cUPnPResourceProvider::Seek(size_t offset, int origin){ + return false; +} + void cUPnPResourceProvider::Close(){ } diff --git a/media/pluginManager.o b/media/pluginManager.o Binary files differindex ecfa185..3fb2f31 100644 --- a/media/pluginManager.o +++ b/media/pluginManager.o diff --git a/metadata.db b/metadata.db Binary files differindex 308999f..a215e1c 100644 --- a/metadata.db +++ b/metadata.db diff --git a/po/upnp.pot b/po/upnp.pot index 12fddb8..c84cb55 100644 --- a/po/upnp.pot +++ b/po/upnp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr-upnp 0.0.1\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2012-09-13 19:11+0200\n" +"POT-Creation-Date: 2012-09-15 23:24+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/server/connectionManager.cpp b/server/connectionManager.cpp index fd16d97..cea68bc 100644 --- a/server/connectionManager.cpp +++ b/server/connectionManager.cpp @@ -7,7 +7,6 @@ #include "../include/connectionManager.h" #include "../include/tools.h" -#include "../include/server.h" #include "../include/media/mediaManager.h" #include <vdr/i18n.h> #include <upnp/upnptools.h> diff --git a/server/connectionManager.o b/server/connectionManager.o Binary files differindex e3b3e75..1ec3f19 100644 --- a/server/connectionManager.o +++ b/server/connectionManager.o diff --git a/server/contentDirectory.o b/server/contentDirectory.o Binary files differindex 488881a..50d633d 100644 --- a/server/contentDirectory.o +++ b/server/contentDirectory.o diff --git a/server/server.cpp b/server/server.cpp index a211c1c..69c0a2c 100644 --- a/server/server.cpp +++ b/server/server.cpp @@ -114,6 +114,8 @@ bool cMediaServer::Start(){ return false; } + + mIsRunning = true; return IsRunning(); @@ -284,7 +286,7 @@ int cMediaServer::ActionCallback(Upnp_EventType eventtype, void *event, void *co case UPNP_EVENT_SUBSCRIPTION_REQUEST: eventRequest = (Upnp_Subscription_Request*) event; - dsyslog("UPnP\tSubscription request: %s", eventRequest->ServiceId); + dsyslog("UPnP\tSubscription request from: %s", eventRequest->ServiceId); if(!mediaServer->CheckDeviceUUID(eventRequest->UDN)){ esyslog("UPnP\tUPnP Callback - event request not for this device"); diff --git a/server/server.o b/server/server.o Binary files differindex f603bbb..bec8a88 100644 --- a/server/server.o +++ b/server/server.o diff --git a/server/service.o b/server/service.o Binary files differindex a130cda..fbfdbe6 100644 --- a/server/service.o +++ b/server/service.o diff --git a/server/webserver.cpp b/server/webserver.cpp index ce8acda..b67076b 100644 --- a/server/webserver.cpp +++ b/server/webserver.cpp @@ -17,7 +17,7 @@ cWebserver::cWebserver(std::string address) , mWebserverThread(*this) { SetWebserverRootDir(string(), string(), string()); - SetServiceUrl("services/", string()); + SetServiceUrl(string(), string()); } cWebserver::~cWebserver(){ @@ -109,14 +109,15 @@ void cWebserver::SetWebserverRootDir(std::string rootDirectory, std::string stat void cWebserver::SetServiceUrl(std::string descriptionUrl, std::string controlUrl){ if(mWebserverThread.Active()) return; - if(descriptionUrl.empty()) + if(descriptionUrl.empty()){ mServiceUrl = "services/"; + } else mServiceUrl = descriptionUrl; if(controlUrl.empty()){ stringstream s; - s << "http://" << UpnpGetServerIpAddress() << ":" << UpnpGetServerPort() << "/" << mServiceUrl; + s << "http://" << UpnpGetServerIpAddress() << ":" << UpnpGetServerPort() << "/" << "services/"; mControlUrl = s.str(); } else { diff --git a/server/webserver.o b/server/webserver.o Binary files differindex c6789ea..dc6db8b 100644 --- a/server/webserver.o +++ b/server/webserver.o |