mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-30 16:34:16 +00:00
- Reworked UPnP code a little
This commit is contained in:
parent
a5ebc85bdb
commit
01dd57a5fb
37
src/UPnP.cpp
37
src/UPnP.cpp
@ -30,7 +30,7 @@
|
|||||||
#include "UPnP.h"
|
#include "UPnP.h"
|
||||||
|
|
||||||
#include <QMutexLocker>
|
#include <QMutexLocker>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
#include <dlfcn.h> // For dlopen(), dlsym(), dlclose()
|
#include <dlfcn.h> // For dlopen(), dlsym(), dlclose()
|
||||||
#include <algorithm> // For transform()
|
#include <algorithm> // For transform()
|
||||||
@ -46,20 +46,6 @@
|
|||||||
#define REINTERPRET_CAST(x) (x)
|
#define REINTERPRET_CAST(x) (x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Case insensitive std::string comparison
|
|
||||||
*/
|
|
||||||
bool stdStringIsEqualCI(const std::string &s1, const std::string &s2)
|
|
||||||
{
|
|
||||||
std::string ns1(s1);
|
|
||||||
std::string ns2(s2);
|
|
||||||
transform(ns1.begin(), ns1.end(), ns1.begin(), tolower);
|
|
||||||
transform(ns2.begin(), ns2.end(), ns2.begin(), tolower);
|
|
||||||
return ns1 == ns2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
CUPnPPortMapping::CUPnPPortMapping(
|
CUPnPPortMapping::CUPnPPortMapping(
|
||||||
int port,
|
int port,
|
||||||
const std::string &protocol,
|
const std::string &protocol,
|
||||||
@ -1336,7 +1322,7 @@ upnpDiscovery:
|
|||||||
std::string devType(upnpCP->m_upnpLib.
|
std::string devType(upnpCP->m_upnpLib.
|
||||||
Element_GetChildValueByTag(rootDevice, "deviceType"));
|
Element_GetChildValueByTag(rootDevice, "deviceType"));
|
||||||
// Only add device if it is an InternetGatewayDevice
|
// Only add device if it is an InternetGatewayDevice
|
||||||
if (stdStringIsEqualCI(devType, upnpCP->m_upnpLib.UPNP_DEVICE_IGW)) {
|
if(QString(devType.c_str()).toUpper() == QString(upnpCP->m_upnpLib.UPNP_DEVICE_IGW.c_str()).toUpper()){
|
||||||
// This condition can be used to auto-detect
|
// This condition can be used to auto-detect
|
||||||
// the UPnP device we are interested in.
|
// the UPnP device we are interested in.
|
||||||
// Obs.: Don't block the entry here on this
|
// Obs.: Don't block the entry here on this
|
||||||
@ -1384,7 +1370,7 @@ upnpDiscovery:
|
|||||||
std::string devType = dab_event->DeviceType;
|
std::string devType = dab_event->DeviceType;
|
||||||
// Check for an InternetGatewayDevice and removes it from the list
|
// Check for an InternetGatewayDevice and removes it from the list
|
||||||
transform(devType.begin(), devType.end(), devType.begin(), tolower);
|
transform(devType.begin(), devType.end(), devType.begin(), tolower);
|
||||||
if (stdStringIsEqualCI(devType, upnpCP->m_upnpLib.UPNP_DEVICE_IGW)) {
|
if (QString(devType.c_str()).toUpper() == QString(upnpCP->m_upnpLib.UPNP_DEVICE_IGW.c_str()).toUpper()) {
|
||||||
upnpCP->RemoveRootDevice(dab_event->DeviceId);
|
upnpCP->RemoveRootDevice(dab_event->DeviceId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1416,13 +1402,6 @@ upnpEventRenewalComplete:
|
|||||||
msg << "Error in Event Subscribe Callback";
|
msg << "Error in Event Subscribe Callback";
|
||||||
upnpCP->m_upnpLib.processUPnPErrorMessage(
|
upnpCP->m_upnpLib.processUPnPErrorMessage(
|
||||||
msg.str(), es_event->ErrCode, NULL, NULL);
|
msg.str(), es_event->ErrCode, NULL, NULL);
|
||||||
} else {
|
|
||||||
#if 0
|
|
||||||
TvCtrlPointHandleSubscribeUpdate(
|
|
||||||
es_event->PublisherUrl,
|
|
||||||
es_event->Sid,
|
|
||||||
es_event->TimeOut );
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -1503,16 +1482,6 @@ upnpEventSubscriptionExpired:
|
|||||||
msg << "m_UpnpGetServiceVarStatusAsync";
|
msg << "m_UpnpGetServiceVarStatusAsync";
|
||||||
upnpCP->m_upnpLib.processUPnPErrorMessage(
|
upnpCP->m_upnpLib.processUPnPErrorMessage(
|
||||||
msg.str(), sv_event->ErrCode, NULL, NULL);
|
msg.str(), sv_event->ErrCode, NULL, NULL);
|
||||||
} else {
|
|
||||||
#if 0
|
|
||||||
// Warning: The use of UpnpGetServiceVarStatus and
|
|
||||||
// UpnpGetServiceVarStatusAsync is deprecated by the
|
|
||||||
// UPnP forum.
|
|
||||||
TvCtrlPointHandleGetVar(
|
|
||||||
sv_event->CtrlUrl,
|
|
||||||
sv_event->StateVarName,
|
|
||||||
sv_event->CurrentVal );
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user